﻿:root{--ink:#172843;--muted:#748198;--line:#dce5f1;--blue:#2799e7;--purple:#7540dc;--bg:#eef3fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.logo-frame{position:relative;display:block;width:58px;height:58px;overflow:hidden;border:1px solid #dce5ef;border-radius:16px;background:#fff}.logo-frame img{position:absolute;width:234px;max-width:none;top:-26px;left:-88px}.brand strong{display:block;color:#2498e6;font-size:18px;letter-spacing:-1px;line-height:1}.brand strong span{color:#7540dc}.brand small{display:block;margin-top:5px;color:#7c899f;font-size:7px;font-weight:800;letter-spacing:1px}.registration-page{min-height:100vh;background:linear-gradient(132deg,#eaf5ff,#f8f4ff 55%,#edf4ff)}.register-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(470px,.95fr);min-height:100vh}.register-intro{display:flex;flex-direction:column;padding:48px clamp(34px,7vw,115px);color:#f9fbff;background:radial-gradient(circle at 10% 20%,rgba(78,184,242,.32),transparent 25rem),radial-gradient(circle at 80% 83%,rgba(170,97,249,.34),transparent 28rem),linear-gradient(136deg,#1456a7,#247ed3 48%,#6239bf)}.register-intro .brand strong{color:white}.register-intro .brand strong span{color:#d7c5ff}.register-intro .brand small{color:#c6dcf9}.intro-copy{max-width:555px;margin:auto 0 40px}.eyebrow{margin:0 0 12px;color:#b9e8ff;font-size:11px;font-weight:900;letter-spacing:1.3px}.intro-copy h1{max-width:510px;margin:0;font-size:clamp(35px,4vw,58px);letter-spacing:-2.3px;line-height:1.03}.intro-copy>p:last-child{max-width:470px;margin:19px 0 0;color:#e6f2ff;font-size:16px;line-height:1.65}.trial-card{display:flex;align-items:center;gap:15px;max-width:485px;padding:16px;border:1px solid rgba(255,255,255,.27);border-radius:17px;background:rgba(255,255,255,.13);backdrop-filter:blur(8px)}.trial-icon{width:47px;height:47px;display:grid;place-items:center;flex:none;border-radius:13px;color:#5c34b9;background:white;font-size:17px;font-weight:900}.trial-card strong,.trial-card small{display:block}.trial-card strong{font-size:14px}.trial-card small{margin-top:4px;color:#d7eaff;font-size:11px}.intro-points{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px;color:#dff1ff;font-size:11px;font-weight:700}.register-panel{align-self:center;width:min(100%,570px);margin:30px auto;padding:36px;border:1px solid #e0e7f3;border-radius:24px;background:#fff;box-shadow:0 22px 48px rgba(53,76,128,.13)}.form-heading{display:flex;align-items:flex-start;gap:12px}.form-heading .step{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#fff;background:linear-gradient(140deg,#279be7,#7440d8);font-size:14px;font-weight:900}.form-heading p{margin:1px 0 4px;color:#7540dc;font-size:9px;font-weight:900;letter-spacing:1px}.form-heading h2{margin:0;font-size:24px;letter-spacing:-1px}.form-heading small{display:block;margin-top:5px;color:#7a879d;font-size:12px}.register-form{margin-top:28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-grid label{display:grid;gap:6px;color:#5f6e86;font-size:11px;font-weight:800}.field-grid .full{grid-column:1/-1}.field-grid input,.field-grid select{width:100%;height:42px;padding:0 12px;outline:none;border:1px solid #d9e2ee;border-radius:10px;color:#344660;background:#fff;font-size:13px}.field-grid input:focus,.field-grid select:focus{border-color:#53a2e7;box-shadow:0 0 0 3px rgba(55,154,231,.12)}.field-grid span,.validation{color:#c34958;font-size:10px;font-weight:500}.validation ul{margin:0 0 13px;padding-left:15px}.email-note{display:flex;gap:9px;margin-top:20px;padding:12px;border-radius:10px;color:#66758c;background:#f5f8fc;font-size:11px;line-height:1.45}.email-note b{color:#6c40d6;font-size:15px}.create-account{width:100%;display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;padding:14px;border:0;border-radius:11px;color:white;background:linear-gradient(105deg,#2079d2,#2b9de9 52%,#7042d8);font-size:13px;font-weight:800;box-shadow:0 10px 20px rgba(38,121,210,.23)}.create-account span{font-size:18px;line-height:0}.terms{margin:15px 0 0;color:#8995a8;font-size:10px;text-align:center}.terms a{color:#6740ce;text-decoration:none}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:255px minmax(0,1fr);grid-template-rows:100px minmax(0,1fr);gap:16px;padding:16px;background:radial-gradient(circle at 82% 0,rgba(150,86,238,.1),transparent 26rem),var(--bg)}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:14px 20px;border:1px solid #e0e8f3;border-radius:23px;background:white;box-shadow:0 12px 28px rgba(37,64,103,.08)}.compact{width:175px;flex:none}.header-info{min-width:180px;flex:1;display:flex;flex-direction:column;justify-content:center;gap:3px;height:64px;padding:0 16px;border:1px solid var(--line);border-radius:15px;background:#fbfcff}.header-info small,.header-info em{color:#73819a;font-size:9px;font-weight:800;letter-spacing:.5px;font-style:normal}.header-info strong{font-size:13px}.header-info.trial{min-width:245px}.hotel-initials{width:64px;height:64px;display:grid;place-items:center;border:1px dashed #afbed5;border-radius:15px;color:#7040d8;background:#f7f4ff;font-size:20px;font-weight:900}.header-links{display:grid;gap:8px;min-width:82px}.header-links button,.header-links a{padding:0;border:0;color:#31425c;background:transparent;font-size:11px;font-weight:800;text-align:left;text-decoration:none}.header-links b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;color:white;background:var(--purple);font-size:9px}.dashboard-menu{grid-row:2;display:flex;flex-direction:column;min-height:0;padding:16px;border:1px solid #e0e8f3;border-radius:23px;background:#fff;box-shadow:0 12px 28px rgba(37,64,103,.08)}.new-reservation{padding:15px;border:0;border-radius:14px;color:#fff;background:linear-gradient(105deg,#1e6fc8,#2b9fe8 48%,#7944dd);font-size:14px;font-weight:800;text-align:left}.dashboard-menu nav{margin-top:15px;overflow:auto}.dashboard-menu nav p{margin:18px 8px 7px;color:#7c899f;font-size:9px;font-weight:900;letter-spacing:.9px}.dashboard-menu nav a{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;color:#2c3d57;font-size:13px;font-weight:700;text-decoration:none}.dashboard-menu nav a span{width:17px;color:#68758d;font-size:15px;text-align:center}.dashboard-menu nav a.active{color:white;background:linear-gradient(105deg,#1d70c8,#2f9ee6);box-shadow:0 6px 12px rgba(42,127,214,.18)}.dashboard-menu nav a.active span{color:white}.dashboard-support{margin-top:auto;padding:14px;border-radius:13px;color:#76849a;background:#f2f6fc;font-size:10px}.dashboard-support strong{display:block;margin-top:7px;color:#6e40d5;font-size:11px}.dashboard-main{grid-column:2;grid-row:2;min-width:0;padding:25px 28px 40px;overflow:auto;border:1px solid #e0e8f3;border-radius:23px;background:rgba(255,255,255,.98);box-shadow:0 12px 28px rgba(37,64,103,.08)}.success-message{display:flex;align-items:center;gap:9px;margin-bottom:19px;padding:12px 14px;border:1px solid #bde7d1;border-radius:12px;color:#197f55;background:#effcf5;font-size:12px;font-weight:700}.success-message>b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#fff;background:#2ba979}.success-message span{margin-left:auto;color:#668278;font-size:10px;font-weight:500}.dashboard-title{display:flex;align-items:end;justify-content:space-between;gap:15px}.dashboard-title p{margin:0 0 6px;color:#7442d9;font-size:9px;font-weight:900;letter-spacing:1px}.dashboard-title h1{margin:0;font-size:28px;letter-spacing:-1px}.dashboard-title small{display:block;margin-top:6px;color:#7b899e;font-size:13px}.counts{display:flex;gap:9px}.counts span{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #e3eaf3;border-radius:99px;color:#5c6b83;background:#fbfcff;font-size:11px;font-weight:700}.counts i{width:7px;height:7px;border-radius:50%}.green{background:#32ab79}.purple{background:#6645d7}.orange{background:#eea02d}.dashboard-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:23px;padding:15px;border:1px solid #dce6f3;border-radius:17px;background:linear-gradient(115deg,#f9fbff,#fff)}.operation-date{display:flex;align-items:center;gap:8px}.operation-date>button:not(.today-button){width:32px;height:32px;padding:0;border:1px solid #d8e1ee;border-radius:9px;color:#45627d;background:white;font-size:23px}.operation-date div{min-width:178px}.operation-date div small,.dashboard-filters small{display:block;margin-bottom:3px;color:#8190a7;font-size:8px;font-weight:900;letter-spacing:.8px}.operation-date div strong{font-size:13px;text-transform:capitalize}.operation-date input{width:36px;border:0;color:transparent;background:transparent}.today-button{padding:8px 10px;border:1px solid #cee0f5;border-radius:9px;color:#2872ca;background:#f2f7ff;font-size:11px;font-weight:800}.dashboard-filters{display:flex;gap:9px}.dashboard-filters label{min-width:113px}.dashboard-filters label:last-child{min-width:165px}.dashboard-filters select,.dashboard-filters input{width:100%;height:33px;padding:0 9px;border:1px solid #d9e2ef;border-radius:9px;color:#40526c;background:#fff;font-size:11px}.floor-tabs{display:flex;gap:11px;margin-top:16px;overflow:auto;padding:2px}.floor-tabs button{min-width:150px;display:grid;justify-items:start;gap:3px;padding:13px 15px;border:1px solid #dce5f1;border-radius:13px;color:#4c5d76;background:#fbfcff;text-align:left}.floor-tabs strong{font-size:13px}.floor-tabs span{font-size:11px;font-weight:700}.floor-tabs small{color:#7e8ba1;font-size:10px}.floor-tabs .selected{border-color:transparent;color:white;background:linear-gradient(115deg,#1f71c9,#2e9ee8 55%,#7043d8);box-shadow:0 9px 17px rgba(41,120,211,.22)}.floor-tabs .selected small{color:white}.floor-section{margin-top:22px}.floor-section+ .floor-section{margin-top:27px}.floor-section header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.floor-section h2{display:flex;align-items:center;gap:9px;margin:0;color:#1d3760;font-size:17px}.floor-section h2 i{width:4px;height:22px;border-radius:4px;background:linear-gradient(#2ba1e9,#7945dd)}.floor-section header small{color:#8995aa;font-size:11px}.hotel-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.hotel-room{min-height:136px;padding:14px;border:1px solid #dde6f1;border-radius:15px;color:#33445f;background:#fff;text-align:left;box-shadow:0 5px 12px rgba(47,69,104,.04);transition:.18s}.hotel-room:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(35,65,112,.13)}.hotel-room>div{display:flex;justify-content:space-between;gap:5px}.hotel-room>div b{font-size:20px}.hotel-room>div span{padding:4px 7px;border-radius:99px;color:#556f8e;background:#eef2f7;font-size:9px;font-weight:800}.hotel-room>strong{display:block;margin-top:18px;font-size:13px}.hotel-room em{display:block;margin-top:4px;color:#748199;font-size:10px;font-style:normal}.hotel-room>small{display:block;margin-top:8px;color:#62738c;font-size:10px}.hotel-room.available{border-color:#aae0c8;background:#f8fffb}.hotel-room.available>div span{color:#16855a;background:#ddf7ea}.hotel-room.occupied,.hotel-room.arrival{border-color:#cbbff4;background:#fcfaff}.hotel-room.occupied>div span,.hotel-room.arrival>div span{color:#5d3cc2;background:#ede8ff}.hotel-room.departure,.hotel-room.cleaning{border-color:#f1cb8b;background:#fffcf6}.hotel-room.departure>div span,.hotel-room.cleaning>div span{color:#bb7210;background:#fff0d7}.hotel-room.maintenance{border-color:#efa5af;background:#fff9fa}.hotel-room.maintenance>div span{color:#c54053;background:#ffe5e9}@media(max-width:1100px){.register-shell{grid-template-columns:1fr}.register-intro{min-height:410px}.register-panel{margin:-42px 20px 30px}.manager{display:none}.header-info{min-width:150px}.dashboard-controls{align-items:stretch;flex-direction:column}.dashboard-filters{justify-content:space-between}.dashboard-filters label{flex:1}}@media(max-width:760px){.register-intro{padding:28px}.intro-copy{margin:65px 0 25px}.register-panel{margin:-20px 10px 20px;padding:25px}.dashboard-shell{display:block;padding:10px}.topbar{min-height:80px;padding:11px}.header-info,.hotel-initials,.header-links,.dashboard-menu{display:none}.dashboard-main{margin-top:10px;padding:20px 16px}.dashboard-title{align-items:flex-start;flex-direction:column}.dashboard-filters{overflow:auto}.dashboard-filters label{min-width:125px}.dashboard-filters label:last-child{min-width:165px}.success-message{align-items:flex-start;flex-wrap:wrap}.success-message span{width:100%;margin-left:28px}}@media(max-width:510px){.field-grid{grid-template-columns:1fr}.field-grid .full{grid-column:auto}.intro-copy h1{font-size:36px}.trial-card{align-items:flex-start}.counts{flex-wrap:wrap}.operation-date{flex-wrap:wrap}.hotel-rooms{grid-template-columns:1fr 1fr}.hotel-room{min-height:125px;padding:11px}.hotel-room>div b{font-size:18px}}
.activation-page{min-height:100vh;background:linear-gradient(132deg,#eaf5ff,#f8f4ff 55%,#edf4ff)}.activation-shell{width:min(100% - 32px,600px);margin:0 auto;padding-top:70px}.activation-shell>.brand{justify-content:center}.activation-card{margin-top:30px;padding:42px;text-align:center;border:1px solid #e0e7f3;border-radius:24px;background:white;box-shadow:0 22px 48px rgba(53,76,128,.13)}.activation-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 18px;border-radius:18px;font-size:30px;font-weight:900}.activation-icon.success{color:#168459;background:#dcf7e9}.activation-icon.failed{color:#bc6f20;background:#fff0dc}.activation-card h1{margin:0;font-size:28px;letter-spacing:-1px}.activation-card>p:last-of-type{margin:13px 0 23px;color:#6f7e94;font-size:13px;line-height:1.6}.activation-button{display:inline-block;padding:13px 19px;border-radius:10px;color:white;background:linear-gradient(105deg,#2079d2,#7042d8);font-size:12px;font-weight:800;text-decoration:none}.activation-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:13px 14px;border:1px solid #f0d59a;border-radius:12px;color:#936015;background:#fffbf2}.activation-banner b,.activation-banner span{display:block}.activation-banner b{font-size:12px}.activation-banner span{margin-top:3px;color:#87775d;font-size:10px}.activation-banner button{flex:none;padding:9px 11px;border:1px solid #e5bf6d;border-radius:8px;color:#a06a16;background:white;font-size:10px;font-weight:800}@media(max-width:760px){.activation-banner{align-items:flex-start;flex-direction:column}.activation-banner button{width:100%}}
.login-page{min-height:100vh;background:radial-gradient(circle at 15% 5%,rgba(55,159,231,.18),transparent 30rem),radial-gradient(circle at 85% 90%,rgba(117,64,220,.17),transparent 27rem),#f2f6fc}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,440px);padding:38px;border:1px solid #e0e8f3;border-radius:25px;background:#fff;box-shadow:0 24px 54px rgba(44,67,111,.14)}.login-brand{justify-content:center}.login-heading{margin-top:32px;text-align:center}.login-heading h1{margin:0;font-size:28px;letter-spacing:-1px}.login-heading>span{display:block;margin-top:7px;color:#7a879d;font-size:12px}.login-message{margin-top:22px;padding:11px 12px;border:1px solid #bce7d2;border-radius:10px;color:#197f55;background:#effcf5;font-size:11px;line-height:1.45}.login-form{display:grid;gap:15px;margin-top:23px}.login-form label{display:grid;gap:6px;color:#5f6e86;font-size:11px;font-weight:800}.login-form input{height:43px;padding:0 12px;outline:none;border:1px solid #d9e2ee;border-radius:10px;color:#344660;font-size:13px}.login-form input:focus{border-color:#53a2e7;box-shadow:0 0 0 3px rgba(55,154,231,.12)}.login-form label span{color:#c34958;font-size:10px;font-weight:500}.login-form button{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:3px;padding:14px;border:0;border-radius:11px;color:white;background:linear-gradient(105deg,#2079d2,#2b9de9 52%,#7042d8);font-size:13px;font-weight:800}.login-form button span{font-size:18px;line-height:0}.login-footer{display:flex;justify-content:center;gap:8px;margin-top:21px;color:#9aa4b4;font-size:11px}.login-footer a{color:#6740ce;text-decoration:none}.header-links form{margin:0}.header-links form button{padding:0;border:0;color:#31425c;background:transparent;font-size:11px;font-weight:800;text-align:left}.new-reservation:disabled{opacity:.55;cursor:not-allowed}.empty-dashboard{display:flex;flex-direction:column}.empty-panel{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:550px;padding:45px 25px;text-align:center}.empty-visual{position:relative;width:148px;height:126px;margin-bottom:20px}.empty-visual span{position:absolute;bottom:0;width:41px;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,#4eb2ee,#287fd0)}.empty-visual span:nth-child(1){left:4px;height:75px}.empty-visual span:nth-child(2){left:54px;height:108px;background:linear-gradient(180deg,#9a64ec,#7042d8)}.empty-visual span:nth-child(3){right:4px;height:63px}.empty-visual b{position:absolute;z-index:1;left:50%;top:31px;transform:translateX(-50%);color:white;font-size:38px}.empty-panel h2{margin:0;font-size:25px;letter-spacing:-1px}.empty-copy{max-width:510px;margin:11px auto 21px;color:#6f7e94;font-size:13px;line-height:1.65}.setup-steps{width:min(100%,590px);display:grid;gap:9px;margin:0 auto 21px;text-align:left}.setup-steps>div{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid #e0e8f3;border-radius:12px;background:#fbfcff}.setup-steps b{display:grid;place-items:center;width:25px;height:25px;flex:none;border-radius:8px;color:#fff;background:linear-gradient(140deg,#279be7,#7440d8);font-size:11px}.setup-steps strong,.setup-steps small{display:block}.setup-steps strong{font-size:12px}.setup-steps small{margin-top:2px;color:#7c899f;font-size:10px}.setup-button{padding:13px 17px;border:0;border-radius:10px;color:#fff;background:linear-gradient(105deg,#2079d2,#7042d8);font-size:12px;font-weight:800}@media(max-width:760px){.empty-panel{min-height:500px;padding:35px 8px}.login-card{padding:28px 23px}}
.resend-form{margin-top:11px;text-align:center}.resend-form button{padding:0;border:0;color:#6840d4;background:transparent;font-size:11px;font-weight:800;text-decoration:underline}
.definitions-main{padding-bottom:32px}.definition-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.definition-heading p{margin:0 0 6px;color:#7442d9;font-size:9px;font-weight:900;letter-spacing:1px}.definition-heading h1{margin:0;font-size:28px;letter-spacing:-1px}.definition-heading small{display:block;margin-top:6px;color:#7b899e;font-size:13px}.definition-back{padding:9px 11px;border:1px solid #dce6f1;border-radius:9px;color:#52647e;background:#fbfcff;font-size:11px;font-weight:800;text-decoration:none}.definition-tabs{display:flex;gap:8px;margin-top:23px;padding:6px;border:1px solid #e1e8f3;border-radius:13px;background:#f8faff;overflow:auto}.definition-tabs a{min-width:max-content;padding:9px 12px;border-radius:8px;color:#63728a;font-size:11px;font-weight:800;text-decoration:none}.definition-tabs a.active{color:#fff;background:linear-gradient(105deg,#2079d2,#7042d8);box-shadow:0 5px 11px rgba(65,85,182,.2)}.definition-message{margin-top:15px;padding:11px 13px;border-radius:10px;font-size:11px;font-weight:700}.definition-message.success{border:1px solid #bde7d1;color:#197f55;background:#effcf5}.definition-message.error{border:1px solid #efd0ad;color:#a56215;background:#fffaf2}.definition-grid{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(390px,1.35fr);gap:16px;margin-top:16px}.definition-card{border:1px solid #e0e8f3;border-radius:18px;background:#fff}.form-card{align-self:start;padding:20px}.list-card{padding:20px}.card-title{display:flex;align-items:flex-start;gap:10px}.card-title>span{display:grid;place-items:center;width:33px;height:33px;flex:none;border-radius:10px;color:#fff;background:linear-gradient(140deg,#279be7,#7440d8);font-size:16px;font-weight:900}.card-title h2{margin:1px 0 0;font-size:16px;letter-spacing:-.4px}.card-title small{display:block;margin-top:4px;color:#7b899e;font-size:10px;line-height:1.45}.definition-form{display:grid;gap:13px;margin-top:20px}.definition-form label{display:grid;gap:6px;color:#5f6e86;font-size:11px;font-weight:800}.definition-form label em{color:#97a3b4;font-size:9px;font-style:normal;font-weight:600}.definition-form input,.definition-form select,.definition-form textarea{width:100%;min-height:42px;padding:0 11px;outline:none;border:1px solid #d9e2ee;border-radius:10px;color:#344660;background:#fff;font-size:12px}.definition-form textarea{min-height:82px;padding:10px 11px;resize:vertical}.definition-form input:focus,.definition-form select:focus,.definition-form textarea:focus{border-color:#53a2e7;box-shadow:0 0 0 3px rgba(55,154,231,.12)}.definition-form label span{color:#c34958;font-size:10px;font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;align-items:center;gap:13px;margin-top:3px}.primary-action{padding:12px 14px;border:0;border-radius:10px;color:#fff;background:linear-gradient(105deg,#2079d2,#2b9de9 52%,#7042d8);font-size:11px;font-weight:800}.text-action{color:#6942d2;font-size:11px;font-weight:800;text-decoration:none}.definition-empty{display:grid;justify-items:center;gap:7px;padding:62px 18px 52px;color:#7b899e;text-align:center}.definition-empty b{display:grid;place-items:center;width:40px;height:40px;margin-bottom:3px;border-radius:12px;color:#7244d7;background:#f0eaff;font-size:18px}.definition-empty strong{color:#40516b;font-size:13px}.definition-empty span{font-size:11px}.definition-list{margin-top:18px;border-top:1px solid #edf1f6}.definition-list article{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #edf1f6}.list-symbol,.price-symbol{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;color:#286fc8;background:#edf6ff;font-size:12px;font-weight:900;text-align:center}.list-symbol span{display:block;color:#6f819a;font-size:7px}.room-number{color:#6e41d8;background:#f1edff;font-size:13px}.definition-list article>div:nth-child(2){min-width:0;flex:1}.definition-list strong,.definition-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.definition-list strong{font-size:12px}.definition-list small{margin-top:3px;color:#7b899e;font-size:10px}.row-actions{display:flex;align-items:center;gap:8px}.row-actions a,.row-actions button{padding:0;border:0;color:#6840d4;background:transparent;font-size:10px;font-weight:800;text-decoration:none}.row-actions button{color:#c34e5d}.row-actions form{margin:0}.price-symbol{width:54px;color:#6740d2;background:#f1edff}.price-symbol b,.price-symbol span{display:block}.price-symbol b{font-size:10px}.price-symbol span{margin-top:2px;font-size:8px}.definition-prerequisite{display:grid;gap:7px;margin-top:20px;padding:16px;border:1px dashed #c9d6e7;border-radius:13px;color:#64748b;background:#f9fbfe}.definition-prerequisite strong{color:#40516b;font-size:12px}.definition-prerequisite span{font-size:10px;line-height:1.45}.definition-prerequisite div{display:flex;gap:8px;margin-top:3px}.definition-prerequisite a{padding:7px 9px;border:1px solid #d5e1f0;border-radius:8px;color:#6840d4;background:#fff;font-size:10px;font-weight:800;text-decoration:none}@media(max-width:980px){.definition-grid{grid-template-columns:1fr}.definition-heading{align-items:flex-start;flex-direction:column}.definition-back{display:none}}@media(max-width:510px){.definition-tabs{margin-left:-5px;margin-right:-5px}.form-row{grid-template-columns:1fr}.definition-list article{align-items:flex-start;flex-wrap:wrap}.definition-list article>div:nth-child(2){min-width:calc(100% - 50px)}.row-actions{width:100%;margin-left:49px}.price-list .row-actions{margin-left:65px}}.rooms-dashboard{padding-bottom:45px}.room-filter-form{align-items:center}.operation-date input[type=date]{width:178px;height:33px;padding:0 8px;border:1px solid #d9e2ef;border-radius:9px;color:#40526c;background:#fff;font-size:11px}.operation-date div{min-width:178px}.dashboard-filters{align-items:end}.apply-filter{height:33px;padding:0 12px;border:0;border-radius:9px;color:#fff;background:linear-gradient(105deg,#2079d2,#7042d8);font-size:11px;font-weight:800}.floor-tabs a{min-width:150px;display:grid;justify-items:start;gap:3px;padding:13px 15px;border:1px solid #dce5f1;border-radius:13px;color:#4c5d76;background:#fbfcff;text-align:left;text-decoration:none}.floor-tabs a strong{font-size:13px}.floor-tabs a span{font-size:11px;font-weight:700}.floor-tabs a small{color:#7e8ba1;font-size:10px}.floor-tabs a.selected{border-color:transparent;color:#fff;background:linear-gradient(115deg,#1f71c9,#2e9ee8 55%,#7043d8);box-shadow:0 9px 17px rgba(41,120,211,.22)}.floor-tabs a.selected small{color:#fff}.room-empty{min-height:430px}.hotel-room{cursor:default}.hotel-room.available:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(35,65,112,.13)}@media(max-width:760px){.room-filter-form{align-items:stretch}.room-filter-form .operation-date{width:100%}.room-filter-form .operation-date div{width:100%}.room-filter-form .operation-date input[type=date]{width:100%}.apply-filter{min-width:102px}.floor-tabs a{min-width:140px}}.reset-filter{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.floor-tabs a{min-height:88px}.floor-tabs .area-summary{margin-top:1px;line-height:1.35;white-space:normal}.floor-tabs a.selected .area-summary{color:rgba(255,255,255,.93)}@media(max-width:760px){.floor-tabs a{min-width:174px}.reset-filter{min-width:90px}}.floor-tabs .area-summary{display:flex;flex-wrap:wrap;gap:3px 7px}.floor-tabs .area-summary b{font-size:9px;font-weight:900}.status-available{color:#16855a}.status-occupied{color:#6340c2}.status-dirty{color:#b86d0c}.status-maintenance{color:#c54053}.status-reserved{color:#1f70c8}.floor-tabs a.selected .status-available,.floor-tabs a.selected .status-occupied,.floor-tabs a.selected .status-dirty,.floor-tabs a.selected .status-maintenance,.floor-tabs a.selected .status-reserved{color:#fff}.blue-dot{background:#2878cf}.hotel-room{display:block;text-decoration:none}.hotel-room.reserved{border-color:#a9c8f3;background:#f7fbff}.hotel-room.reserved>div span{color:#2367b2;background:#e3efff}.reservation-modal-backdrop{position:fixed;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(23,40,67,.46);backdrop-filter:blur(4px)}.reservation-modal{width:min(100%,820px);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #dce6f3;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(12,27,57,.28)}.reservation-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:23px 25px 18px;border-bottom:1px solid #e8eef6}.reservation-modal>header p{margin:0 0 5px;color:#7442d9;font-size:9px;font-weight:900;letter-spacing:1px}.reservation-modal>header h2{margin:0;font-size:21px;letter-spacing:-.7px}.reservation-modal>header small{display:block;margin-top:5px;color:#7b899e;font-size:11px}.modal-close{display:grid;place-items:center;width:31px;height:31px;border:1px solid #d9e3f0;border-radius:9px;color:#65758c;background:#fbfcff;font-size:23px;line-height:1;text-decoration:none}.reservation-form,.reservation-existing,.reservation-prerequisite{padding:22px 25px 25px}.reservation-section{padding:0 0 19px}.reservation-section+.reservation-section{padding-top:19px;border-top:1px solid #ebf0f6}.section-label{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#40516b;font-size:12px;font-weight:900}.section-label>b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;color:#fff;background:linear-gradient(140deg,#279be7,#7440d8);font-size:10px}.add-guest{margin-left:auto;padding:6px 8px;border:1px solid #d6e3f3;border-radius:7px;color:#6840d4;background:#fff;font-size:10px;font-weight:900}.reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.reservation-grid .full{grid-column:1/-1}.reservation-form label,.checkin-form label,.price-summary label,.guest-picker{display:grid;gap:5px;color:#5f6e86;font-size:10px;font-weight:900}.reservation-form label em,.checkin-form label em{color:#9a7c31;font-size:9px;font-style:normal;font-weight:700}.reservation-form input,.reservation-form select,.reservation-form textarea,.checkin-form input{width:100%;min-height:39px;padding:0 10px;outline:none;border:1px solid #d9e2ee;border-radius:9px;color:#344660;background:#fff;font-size:12px}.reservation-form textarea{min-height:74px;padding:9px 10px;resize:vertical}.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus,.checkin-form input:focus{border-color:#53a2e7;box-shadow:0 0 0 3px rgba(55,154,231,.12)}.reservation-form label span,.checkin-form label span{color:#c34958;font-size:9px}.price-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;padding:12px;border-radius:12px;background:#f7faff}.price-summary input[readonly]{color:#445773;background:#eef4fb}.guest-picker{margin-bottom:11px}.additional-guest{position:relative;margin-top:9px;padding:12px;border:1px solid #dfe8f3;border-radius:12px;background:#fbfcff}.remove-guest{position:absolute;top:7px;right:7px;width:21px;height:21px;padding:0;border:0;border-radius:6px;color:#b55764;background:#fff0f2;font-size:16px;line-height:1}.reservation-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:19px;border-top:1px solid #ebf0f6}.reserve-action,.checkin-action{padding:12px 14px;border:0;border-radius:10px;color:#fff;font-size:11px;font-weight:900}.reserve-action{background:linear-gradient(105deg,#2079d2,#7042d8)}.checkin-action{background:linear-gradient(105deg,#14895d,#35ad7b)}.reservation-existing h3{margin:16px 0 5px;font-size:18px}.reservation-existing>p{margin:0;color:#748199;font-size:12px}.reservation-state{display:inline-flex;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:900}.reservation-state.reserved{color:#2367b2;background:#e3efff}.reservation-state.occupied{color:#5c3bc1;background:#eee8ff}.guest-note{margin-top:17px;padding:12px;border-radius:10px;color:#64748b;background:#f5f8fc;font-size:11px;line-height:1.55}.guest-note b{display:block;margin-bottom:3px;color:#40516b}.checkin-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:18px}.occupied-note{margin-top:17px;padding:11px 12px;border-radius:9px;color:#5d3cc2;background:#eee9ff;font-size:11px;font-weight:800}.reservation-prerequisite h3{margin:0;font-size:16px}.reservation-prerequisite p{margin:8px 0 16px;color:#748199;font-size:12px}.reservation-prerequisite a{display:inline-block;padding:10px 12px;border-radius:9px;color:#fff;background:linear-gradient(105deg,#2079d2,#7042d8);font-size:11px;font-weight:900;text-decoration:none}@media(max-width:680px){.reservation-modal-backdrop{padding:10px}.reservation-modal{max-height:calc(100vh - 20px);border-radius:17px}.reservation-modal>header,.reservation-form,.reservation-existing,.reservation-prerequisite{padding-left:17px;padding-right:17px}.reservation-grid,.price-summary{grid-template-columns:1fr}.checkin-form{grid-template-columns:1fr}.checkin-action{width:100%}.reservation-actions{flex-direction:column-reverse}.reservation-actions button{width:100%}}
.reservation-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.reservation-meta span{padding:6px 8px;border-radius:8px;color:#52647e;background:#f3f7fc;font-size:10px;font-weight:800}.reservation-links{display:flex;align-items:center;gap:10px;margin-top:17px}.reservation-links form{margin:0}.edit-reservation,.cancel-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:9px;font-size:10px;font-weight:900;text-decoration:none}.edit-reservation{border:1px solid #ccd9ee;color:#6840d4;background:#f8f6ff}.cancel-action{border:1px solid #f0cbd0;color:#ba4658;background:#fff5f6}.checkin-intro{margin:18px 0 10px;color:#607089;font-size:11px;line-height:1.5}.checkin-guest-list{display:grid;gap:9px}.checkin-guest{padding:12px;border:1px solid #dfe8f3;border-radius:12px;background:#fbfcff}.checkin-guest>b{display:block;margin-bottom:9px;color:#40516b;font-size:11px}.checkin-form{display:block}.checkin-form>.checkin-action{margin-top:14px}.additional-guest-note{margin:-4px 0 11px;color:#748199;font-size:10px;line-height:1.5}.guest-count-help{display:block;color:#748199;font-size:9px;font-weight:600;line-height:1.35}.reservation-actions .text-action{align-self:center;margin-right:auto}.reservation-form .text-action{font-size:11px}@media(max-width:680px){.reservation-links{align-items:stretch;flex-direction:column}.reservation-links a,.reservation-links form,.reservation-links button{width:100%}.reservation-actions .text-action{margin:0;text-align:center}}
.hotel-required-host{position:relative}.hotel-required-invalid{border-color:#d54d5f!important;box-shadow:0 0 0 3px rgba(213,77,95,.13)!important}.hotel-required-bubble{position:absolute;z-index:12;top:calc(100% + 6px);left:0;max-width:min(280px,calc(100vw - 50px));padding:7px 9px;border-radius:8px;color:#fff;background:#c44355;box-shadow:0 6px 14px rgba(135,35,48,.2);font-size:10px;font-style:normal;font-weight:800;line-height:1.25}.hotel-required-bubble:before{position:absolute;top:-4px;left:12px;width:8px;height:8px;background:#c44355;content:"";transform:rotate(45deg)}
.hotel-required-bubble,.reservation-form label .hotel-required-bubble,.checkin-form label .hotel-required-bubble,.definition-form label .hotel-required-bubble{color:#fff!important}.transfer-reservation,.transfer-submit{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border:1px solid #bfe2d1;border-radius:9px;color:#16845a;background:#effbf5;font-size:10px;font-weight:900;text-decoration:none}.transfer-submit{border:0;color:#fff;background:linear-gradient(105deg,#14895d,#35ad7b)}.transfer-panel>p{margin:7px 0 18px;color:#748199;font-size:12px}.transfer-form{padding:0;margin:0}.transfer-form>label{display:grid;gap:6px;color:#5f6e86;font-size:10px;font-weight:900}.transfer-form select{width:100%;min-height:40px;padding:0 10px;outline:none;border:1px solid #d9e2ee;border-radius:9px;color:#344660;background:#fff;font-size:12px}.transfer-help{margin:11px 0 0;color:#748199;font-size:10px;line-height:1.45}.transfer-form .reservation-actions{margin-top:17px}
.hotel-room.occupied{border:2px solid #5d3dc0;background:#ede8ff;box-shadow:0 8px 18px rgba(84,57,180,.13)}.hotel-room.occupied>div span{color:#fff;background:#5d3dc0}.hotel-room.reserved{border:2px solid #216bbd;background:#eaf4ff;box-shadow:0 8px 18px rgba(32,105,187,.12)}.hotel-room.reserved>div span{color:#fff;background:#216bbd}.hotel-room.dirty{border:2px solid #bd710d;background:#fff3df;box-shadow:0 8px 18px rgba(184,109,12,.11)}.hotel-room.dirty>div span{color:#fff;background:#bd710d}.hotel-room.maintenance{border:2px solid #bc4052;background:#fff0f2;box-shadow:0 8px 18px rgba(188,64,82,.11)}.hotel-room.maintenance>div span{color:#fff;background:#bc4052}
.future-checkin-note{margin-top:17px;padding:12px 13px;border:1px solid #f0d292;border-radius:10px;color:#8a5a12;background:#fff9ec;font-size:11px;font-weight:700;line-height:1.5}.future-checkin-note strong{color:#7040d8}
.hotel-room.cleaning{border:2px solid #c98213;background:#fff6e6;box-shadow:0 8px 18px rgba(184,109,12,.11)}.hotel-room.cleaning>div span{color:#fff;background:#c98213}.cancel-reservation-form,.checkout-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:14px;padding:13px;border:1px solid #e3eaf3;border-radius:12px;background:#fbfcff}.cancel-reservation-form label,.checkout-form label{display:grid;gap:5px;color:#5f6e86;font-size:10px;font-weight:900}.cancel-reservation-form input,.checkout-form input{width:100%;min-height:39px;padding:0 10px;border:1px solid #d9e2ee;border-radius:9px;color:#344660;background:#fff}.folio-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.folio-summary span{display:grid;gap:4px;padding:10px;border-radius:10px;color:#748199;background:#f5f8fc;font-size:9px}.folio-summary b{color:#40516b;font-size:11px}.checkout-action,.cleaning-action,.ready-action{min-height:39px;padding:0 13px;border:0;border-radius:9px;color:#fff;background:linear-gradient(105deg,#14895d,#35ad7b);font-size:10px;font-weight:900}.cleaning-action{background:linear-gradient(105deg,#bd710d,#e3a035)}.room-operation-panel form{margin-top:16px}.room-operation-panel h3{margin-top:14px}@media(max-width:680px){.cancel-reservation-form,.checkout-form,.folio-summary{grid-template-columns:1fr}.cancel-reservation-form button,.checkout-form button{width:100%}}
.room-maintenance-form{display:flex;justify-content:flex-end;margin:0 0 12px}.room-maintenance-form button{padding:9px 12px;border:1px solid #e9a6af;border-radius:9px;color:#b63246;background:#fff5f7;font-size:10px;font-weight:900}.room-maintenance-form button:hover{color:#fff;background:#c54053}

/* Reservation calendar */
.reservation-calendar-main{padding-bottom:36px}.calendar-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.calendar-rooms-link{padding:10px 13px;border:1px solid #d8e4f2;border-radius:10px;color:#2b72c7;background:#f7fbff;font-size:11px;font-weight:900;text-decoration:none}.calendar-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-top:20px}.calendar-kpis article{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid #e0e8f3;border-radius:14px;background:#fff;box-shadow:0 5px 12px rgba(42,64,98,.04)}.calendar-kpis small,.calendar-kpis strong{display:block}.calendar-kpis small{color:#7d8aa0;font-size:8px;font-weight:900;letter-spacing:.7px}.calendar-kpis strong{margin-top:3px;color:#273d5e;font-size:19px}.calendar-kpi-icon{width:35px;height:35px;display:grid;place-items:center;flex:none;border-radius:10px;font-size:13px;font-weight:900}.calendar-kpi-icon.blue{color:#2373c9;background:#e9f4ff}.calendar-kpi-icon.cyan{color:#168cb8;background:#e7f9ff}.calendar-kpi-icon.purple{color:#6940cd;background:#f0ebff}.calendar-kpi-icon.green{color:#14875a;background:#e5f8ef}.calendar-toolbar{display:flex;align-items:flex-end;gap:12px;margin-top:14px;padding:13px;border:1px solid #dce6f3;border-radius:16px;background:linear-gradient(115deg,#f9fbff,#fff)}.calendar-range-nav{display:flex;gap:5px;flex:none}.calendar-range-nav a{height:34px;min-width:34px;display:grid;place-items:center;padding:0 9px;border:1px solid #d6e2f0;border-radius:9px;color:#526780;background:#fff;font-size:13px;font-weight:900;text-decoration:none}.calendar-range-nav .today-range{color:#fff;border-color:transparent;background:linear-gradient(105deg,#237dce,#7143d8);font-size:10px}.calendar-filter-form{display:flex;align-items:flex-end;gap:8px;flex:1;min-width:0}.calendar-filter-form>label{display:grid;gap:4px;min-width:104px}.calendar-filter-form>label>small{color:#8090a7;font-size:8px;font-weight:900;letter-spacing:.7px}.calendar-filter-form input,.calendar-filter-form select{width:100%;height:34px;padding:0 9px;border:1px solid #d7e2ef;border-radius:9px;outline:none;color:#40526c;background:#fff;font-size:10px}.calendar-filter-form input:focus,.calendar-filter-form select:focus{border-color:#4d9ce1;box-shadow:0 0 0 3px rgba(54,148,224,.1)}.calendar-status-filter{min-width:142px!important}.calendar-search{min-width:190px!important;flex:1}.calendar-search>span{display:flex}.calendar-search input{border-radius:9px 0 0 9px}.calendar-search button{width:35px;border:0;border-radius:0 9px 9px 0;color:#fff;background:#7042d5;font-size:15px}.calendar-clear{height:34px;display:grid;place-items:center;padding:0 10px;border:1px solid #d7e2ef;border-radius:9px;color:#64768e;background:#fff;font-size:10px;font-weight:900;text-decoration:none}.calendar-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:13px 1px 10px;color:#62728a;font-size:9px;font-weight:800}.calendar-legend>span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:9px;height:9px;border-radius:3px}.calendar-legend i.reserved{background:#2775c9}.calendar-legend i.occupied{background:#6c43cc}.calendar-legend i.checked-out{background:#25956b}.calendar-legend i.cancelled{background:#a1aabd}.calendar-legend i.no-show{background:#d27320}.calendar-legend>small{margin-left:auto;color:#8491a4;font-size:9px}.calendar-viewport{overflow:auto;border:1px solid #d9e4f1;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(37,64,103,.06);scrollbar-color:#bdc9d9 #f2f5f9}.calendar-board{min-width:calc(180px + (var(--calendar-days) * 92px));background:#fff}.calendar-header-row,.calendar-room-row{display:grid;grid-template-columns:180px minmax(0,1fr)}.calendar-header-row{position:sticky;top:0;z-index:9;border-bottom:1px solid #dfe7f1;background:#f7f9fd}.calendar-corner{position:sticky;left:0;z-index:11;display:flex;flex-direction:column;justify-content:center;padding:12px 14px;border-right:1px solid #dfe7f1;background:#f7f9fd}.calendar-corner small{color:#7442d9;font-size:8px;font-weight:900;letter-spacing:.8px}.calendar-corner strong{margin-top:3px;font-size:12px}.calendar-date-track,.calendar-room-track{display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(92px,1fr))}.calendar-date{display:grid;grid-template-columns:auto auto;justify-content:center;align-content:center;gap:0 5px;min-height:62px;border-right:1px solid #e4eaf2;text-align:center}.calendar-date small{grid-column:1/-1;color:#7a899f;font-size:8px;font-weight:900;text-transform:uppercase}.calendar-date strong{font-size:17px}.calendar-date span{align-self:end;margin-bottom:2px;color:#8693a6;font-size:8px;font-weight:800;text-transform:uppercase}.calendar-date.weekend{background:#fbf9ff}.calendar-date.past{color:#9ba5b5;background:#f8fafc}.calendar-date.today{color:#fff;background:linear-gradient(145deg,#278fdc,#7042d8)}.calendar-date.today small,.calendar-date.today span{color:#e9e1ff}.calendar-area-divider{position:relative;z-index:7;display:flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-top:1px solid #e3eaf3;border-bottom:1px solid #e3eaf3;color:#2d4a70;background:#edf4fc}.calendar-area-divider strong{font-size:11px}.calendar-area-divider span{padding:3px 6px;border-radius:99px;color:#6f7e93;background:#fff;font-size:8px;font-weight:800}.calendar-room-row{border-bottom:1px solid #e8edf4}.calendar-room-label{position:sticky;left:0;z-index:6;display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:9px 13px;border-right:1px solid #dde6f1;color:#273d5e;background:#fff;text-decoration:none;box-shadow:5px 0 9px rgba(57,78,111,.025)}.calendar-room-label:hover{background:#f7fbff}.calendar-room-label strong{font-size:14px}.calendar-room-label span{margin-top:2px;overflow:hidden;color:#5e7089;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.calendar-room-label small{margin-top:3px;color:#8a96a8;font-size:8px}.calendar-room-track{position:relative;isolation:isolate}.calendar-day-cell{grid-row:1;min-height:100%;border-right:1px solid #e7ecf3;background:#fff}.calendar-day-cell:hover{background:#edf8ff;box-shadow:inset 0 0 0 1px #9fcdf0}.calendar-day-cell.weekend{background:#fcfaff}.calendar-day-cell.past{background:#fafbfc}.calendar-day-cell.today{background:linear-gradient(rgba(59,144,221,.075),rgba(112,66,216,.055));box-shadow:inset 1px 0 #88b8e3,inset -1px 0 #b4a1e8}.calendar-booking{grid-row:1;z-index:3;align-self:start;height:30px;min-width:0;margin:calc(7px + (var(--calendar-lane) * 36px)) 4px 0;padding:5px 8px;overflow:hidden;border:1px solid transparent;border-radius:8px;color:#fff;text-decoration:none;box-shadow:0 4px 9px rgba(32,57,94,.13)}.calendar-booking:hover{z-index:5;filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 7px 13px rgba(32,57,94,.2)}.calendar-booking strong,.calendar-booking span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-booking strong{font-size:9px}.calendar-booking span{margin-top:1px;color:rgba(255,255,255,.84);font-size:7px;font-weight:700}.calendar-booking.reserved{border-color:#2169b6;background:linear-gradient(105deg,#2478c9,#319be4)}.calendar-booking.occupied{border-color:#6034b7;background:linear-gradient(105deg,#6740c5,#8a5be3)}.calendar-booking.checked-out{border-color:#17815a;background:linear-gradient(105deg,#1f9167,#3ab785)}.calendar-booking.cancelled{border-color:#929bae;background:repeating-linear-gradient(135deg,#9da6b7,#9da6b7 8px,#adb5c3 8px,#adb5c3 16px);opacity:.78}.calendar-booking.no-show{border-color:#b95f14;background:linear-gradient(105deg,#c96b1e,#e69a3d)}.calendar-booking.clipped-start{margin-left:0;border-left:0;border-radius:0 8px 8px 0}.calendar-booking.clipped-end{margin-right:0;border-right:0;border-radius:8px 0 0 8px}.calendar-booking.clipped-start.clipped-end{border-radius:0}.calendar-empty{min-height:460px}.calendar-detail-modal{width:min(100%,720px)}.calendar-detail-body{padding:22px 25px 25px}.calendar-detail-body>.reservation-state.checked-out{color:#137650;background:#def5ea}.calendar-detail-body>.reservation-state.cancelled{color:#697589;background:#edf0f4}.calendar-detail-body>.reservation-state.no-show{color:#a95815;background:#fff0df}.calendar-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.calendar-detail-grid article{min-width:0;padding:11px;border:1px solid #e1e8f2;border-radius:11px;background:#fbfcff}.calendar-detail-grid small,.calendar-detail-grid strong,.calendar-detail-grid span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-detail-grid small,.calendar-payment-summary small,.calendar-guest-summary>small{color:#8290a5;font-size:7px;font-weight:900;letter-spacing:.7px}.calendar-detail-grid strong{margin-top:5px;font-size:11px}.calendar-detail-grid span{margin-top:4px;color:#718097;font-size:8px}.calendar-payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;padding:11px;border-radius:12px;background:#f4f7fb}.calendar-payment-summary>div{padding:3px 8px;border-right:1px solid #dce4ef}.calendar-payment-summary>div:last-child{border-right:0}.calendar-payment-summary strong{display:block;margin-top:4px;color:#334b6c;font-size:12px}.calendar-payment-summary .balance strong{color:#6d40d1}.calendar-guest-summary{margin-top:12px;padding:11px;border:1px solid #e1e8f2;border-radius:11px}.calendar-guest-summary>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.calendar-guest-summary span{padding:5px 7px;border-radius:7px;color:#52647d;background:#f2f6fb;font-size:8px;font-weight:800}.calendar-cancellation-note{margin-top:12px;padding:11px;border:1px solid #efc8cd;border-radius:10px;color:#9a4653;background:#fff5f6;font-size:10px;line-height:1.5}.calendar-cancellation-note b{display:block;margin-bottom:3px}.calendar-detail-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #e7edf4}.calendar-operation-action{padding:11px 13px;border-radius:9px;color:#fff;background:linear-gradient(105deg,#2179cf,#7042d8);font-size:10px;font-weight:900;text-decoration:none}
@media(max-width:1260px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-filter-form{flex-wrap:wrap}.calendar-filter-form>label{flex:1}.calendar-search{flex-basis:190px}.calendar-clear{align-self:flex-end}.calendar-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.reservation-calendar-main{padding-left:12px;padding-right:12px}.calendar-title-row{align-items:flex-start;flex-direction:column}.calendar-rooms-link{width:100%;text-align:center}.calendar-kpis{grid-template-columns:1fr 1fr}.calendar-filter-form>label{min-width:calc(50% - 5px)}.calendar-status-filter,.calendar-search{min-width:100%!important}.calendar-clear{width:100%}.calendar-legend>small{width:100%;margin-left:0}.calendar-board{min-width:calc(142px + (var(--calendar-days) * 78px))}.calendar-header-row,.calendar-room-row{grid-template-columns:142px minmax(0,1fr)}.calendar-date-track,.calendar-room-track{grid-template-columns:repeat(var(--calendar-days),minmax(78px,1fr))}.calendar-detail-grid{grid-template-columns:1fr 1fr}.calendar-room-label{padding:8px 9px}.calendar-room-label span{max-width:122px}}
@media(max-width:480px){.calendar-kpis{grid-template-columns:1fr}.calendar-filter-form>label{min-width:100%}.calendar-detail-grid,.calendar-payment-summary{grid-template-columns:1fr}.calendar-payment-summary>div{padding:7px 4px;border-right:0;border-bottom:1px solid #dce4ef}.calendar-payment-summary>div:last-child{border-bottom:0}.calendar-detail-actions{align-items:stretch;flex-direction:column}.calendar-detail-actions a{width:100%;text-align:center}}.dashboard-menu>a.new-reservation{display:block;text-decoration:none}
/* Front desk: Check-in / Check-out */
.front-desk-main{padding-bottom:38px}.front-desk-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.front-desk-live{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #dce6f2;border-radius:11px;color:#738199;background:#fbfcff;font-size:9px}.front-desk-live i{width:7px;height:7px;border-radius:50%;background:#26a672;box-shadow:0 0 0 4px rgba(38,166,114,.11)}.front-desk-live strong{color:#344b6b;font-size:11px}.front-desk-kpis{display:grid;grid-template-columns:repeat(5,minmax(128px,1fr));gap:9px;margin-top:20px}.front-desk-kpis article{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e0e8f2;border-radius:14px;background:#fff;box-shadow:0 5px 12px rgba(42,64,98,.035)}.front-desk-kpis article>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;font-size:13px;font-weight:900}.front-desk-kpis small,.front-desk-kpis strong,.front-desk-kpis em{display:block}.front-desk-kpis small{color:#7f8da2;font-size:7px;font-weight:900;letter-spacing:.65px}.front-desk-kpis strong{margin-top:2px;color:#263d5f;font-size:18px}.front-desk-kpis em{margin-top:1px;color:#8b97a8;font-size:7px;font-style:normal}.front-desk-kpis .arrivals>span{color:#1979c7;background:#e8f5ff}.front-desk-kpis .inhouse>span{color:#6b40cb;background:#f0ebff}.front-desk-kpis .departures>span{color:#c56d18;background:#fff1df}.front-desk-kpis .payments>span{color:#c03f53;background:#fff0f2}.front-desk-kpis .completed>span{color:#16865a;background:#e4f8ee}.front-desk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding:7px;border:1px solid #dee7f2;border-radius:14px;background:#f8faff}.front-desk-tabs{display:flex;gap:4px;min-width:0;overflow:auto}.front-desk-tabs a{display:flex;align-items:center;gap:7px;min-width:max-content;padding:9px 10px;border-radius:9px;color:#66768e;font-size:9px;font-weight:900;text-decoration:none}.front-desk-tabs a b{min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px;border-radius:99px;color:#718097;background:#e8edf4;font-size:8px}.front-desk-tabs a.active{color:#fff;background:linear-gradient(105deg,#237bd0,#7043d8);box-shadow:0 6px 13px rgba(48,101,190,.18)}.front-desk-tabs a.active b{color:#6036bb;background:#fff}.front-desk-search{display:flex;align-items:center;flex:none;width:min(100%,315px);height:34px;padding-left:9px;border:1px solid #d6e1ee;border-radius:9px;background:#fff}.front-desk-search>span{color:#8190a5;font-size:14px}.front-desk-search input{min-width:0;flex:1;height:32px;padding:0 7px;border:0;outline:none;color:#3e526e;background:transparent;font-size:9px}.front-desk-search button{align-self:stretch;padding:0 10px;border:0;color:#fff;background:#6f42d3;font-size:9px;font-weight:900}.front-desk-search a{padding:0 8px;color:#7b899e;font-size:8px;font-weight:800;text-decoration:none}.front-desk-list{display:grid;gap:9px;margin-top:12px}.front-desk-record{display:grid;grid-template-columns:88px minmax(175px,1.3fr) minmax(190px,1.2fr) minmax(145px,1fr) minmax(125px,.8fr) 160px;align-items:stretch;min-height:118px;border:1px solid #dfe7f1;border-radius:15px;background:#fff;box-shadow:0 5px 13px rgba(40,62,96,.04);overflow:visible}.front-desk-record.overdue{border:2px solid #d9623d;background:#fffaf8;box-shadow:0 7px 17px rgba(194,75,42,.08)}.front-desk-room,.front-desk-guest,.front-desk-stay,.front-desk-readiness,.front-desk-balance,.front-desk-actions{min-width:0;padding:14px 12px;border-right:1px solid #e8edf4}.front-desk-room{display:flex;align-items:center;flex-direction:column;justify-content:center;border-radius:14px 0 0 14px;background:linear-gradient(155deg,#f3f8ff,#f8f4ff)}.front-desk-room>span{color:#7c8ba0;font-size:7px;font-weight:900;letter-spacing:.8px}.front-desk-room strong{margin-top:3px;color:#244d7d;font-size:23px}.front-desk-room small,.front-desk-room em{max-width:72px;display:block;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.front-desk-room small{margin-top:3px;color:#6f7f95;font-size:8px;font-weight:800}.front-desk-room em{margin-top:2px;color:#929cad;font-size:7px;font-style:normal}.front-desk-guest{position:relative;display:flex;align-items:center;gap:9px}.guest-avatar{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:11px;color:#fff;background:linear-gradient(145deg,#2c98e2,#7043d7);font-size:13px;font-weight:900}.front-desk-guest strong,.front-desk-guest span,.front-desk-guest small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.front-desk-guest strong{color:#304765;font-size:11px}.front-desk-guest span{margin-top:4px;color:#5f7189;font-size:9px}.front-desk-guest small{margin-top:3px;color:#8a96a7;font-size:8px}.record-note{position:absolute;top:10px;right:9px;width:19px;height:19px;display:grid;place-items:center;border-radius:6px;color:#a36b16;background:#fff0d8;font-size:10px}.front-desk-stay,.front-desk-readiness,.front-desk-balance{display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.front-desk-stay>small,.front-desk-readiness>small,.front-desk-balance>small{margin-bottom:7px;color:#8491a5;font-size:7px;font-weight:900;letter-spacing:.7px}.front-desk-stay strong{color:#3d526e;font-size:9px}.front-desk-stay strong i{margin:0 3px;color:#7847d4;font-style:normal}.front-desk-stay>span{margin-top:5px;color:#7d899b;font-size:8px}.overdue-label,.today-departure-label{margin-top:7px;padding:4px 6px;border-radius:6px;font-size:7px;font-style:normal;font-weight:900}.overdue-label{color:#b73e28;background:#ffe9e4}.today-departure-label{color:#ad6712;background:#fff0d8}.front-desk-readiness>span{display:flex;align-items:center;gap:5px;margin-top:5px;padding:4px 6px;border-radius:7px;font-size:7px;font-weight:900}.front-desk-readiness>span i{width:6px;height:6px;border-radius:50%}.room-condition.ready,.registration-ready{color:#16764f;background:#e5f8ee}.room-condition.ready i,.registration-ready i{background:#269d6d}.room-condition.blocked,.registration-missing{color:#a95719;background:#fff0df}.room-condition.blocked i,.registration-missing i{background:#d87a25}.front-desk-balance>strong{font-size:12px}.front-desk-balance>span{margin-top:4px;color:#75839a;font-size:8px}.front-desk-balance>em{margin-top:7px;padding:4px 6px;border-radius:6px;font-size:7px;font-style:normal;font-weight:900}.front-desk-balance .has-balance{color:#b63d50;background:#fff0f2}.front-desk-balance .paid{color:#16764f;background:#e5f8ee}.front-desk-actions{display:flex;align-items:stretch;flex-direction:column;justify-content:center;gap:7px;border-right:0}.front-desk-primary,.front-desk-secondary{display:grid;place-items:center;min-height:32px;padding:7px;border-radius:8px;font-size:8px;font-weight:900;text-align:center;text-decoration:none}.front-desk-primary{color:#fff;background:linear-gradient(105deg,#237bcf,#7043d7)}.front-desk-primary.ready{background:linear-gradient(105deg,#16875b,#35ad7b)}.front-desk-primary.attention{background:linear-gradient(105deg,#c47615,#e6a238)}.front-desk-primary.checkout{background:linear-gradient(105deg,#d06024,#e89337)}.front-desk-secondary{border:1px solid #d6e1ef;color:#546980;background:#f9fbfe}.record-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}.record-inline-actions>a,.record-inline-actions summary{color:#6340c1;font-size:7px;font-weight:900;text-decoration:none;cursor:pointer}.record-inline-actions details{position:relative}.record-inline-actions details[open] summary{color:#a36216}.record-inline-actions details form{position:absolute;z-index:20;right:0;top:20px;width:225px;padding:12px;border:1px solid #d9e3ef;border-radius:11px;background:#fff;box-shadow:0 14px 30px rgba(28,49,81,.18)}.record-inline-actions details label{display:grid;gap:5px;color:#64758c;font-size:8px;font-weight:900}.record-inline-actions details input{width:100%;height:34px;padding:0 8px;border:1px solid #d5e1ee;border-radius:8px;color:#3e526d;background:#fff;font-size:9px}.record-inline-actions details button{width:100%;margin-top:8px;padding:9px;border:0;border-radius:8px;color:#fff;background:linear-gradient(105deg,#247ccf,#7043d7);font-size:8px;font-weight:900}.front-desk-empty{display:grid;justify-items:center;min-height:360px;align-content:center;margin-top:12px;padding:35px;border:1px dashed #ccd9e8;border-radius:16px;text-align:center;background:#fbfcff}.front-desk-empty>span{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#6940cb;background:#f0ebff;font-size:18px;font-weight:900}.front-desk-empty h2{margin:13px 0 0;font-size:18px}.front-desk-empty p{max-width:430px;margin:7px 0 0;color:#7d8a9e;font-size:10px;line-height:1.5}.front-desk-empty a{margin-top:12px;color:#6741ca;font-size:9px;font-weight:900;text-decoration:none}.front-desk-activity-list{position:relative;display:grid;gap:8px;margin-top:12px}.front-desk-activity-list:before{content:"";position:absolute;left:58px;top:24px;bottom:24px;width:1px;background:#dfe6f0}.front-desk-activity{position:relative;display:grid;grid-template-columns:48px 18px minmax(180px,1.2fr) minmax(190px,1fr) 55px;align-items:center;gap:8px;min-height:65px;padding:9px 13px;border:1px solid #e0e7f1;border-radius:13px;background:#fff}.front-desk-activity time{color:#405875;font-size:10px;font-weight:900;text-align:center}.front-desk-activity>i{z-index:1;width:11px;height:11px;margin:auto;border:3px solid #fff;border-radius:50%;background:#7043d4;box-shadow:0 0 0 1px #cfc4ef}.front-desk-activity.checkout>i{background:#249669;box-shadow:0 0 0 1px #a9dfc9}.front-desk-activity.cancelled>i{background:#9aa5b7;box-shadow:0 0 0 1px #d5dbe4}.front-desk-activity.noshow>i{background:#d37823;box-shadow:0 0 0 1px #f0c79f}.activity-copy strong,.activity-copy span,.activity-stay span,.activity-stay small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-copy strong{font-size:10px}.activity-copy span,.activity-stay span{margin-top:3px;color:#687991;font-size:8px}.activity-stay small{margin-top:3px;color:#8a96a7;font-size:7px}.front-desk-activity>a{padding:7px;border:1px solid #d8e2ee;border-radius:7px;color:#6841c9;background:#fbfcff;font-size:8px;font-weight:900;text-align:center;text-decoration:none}
@media(max-width:1320px){.front-desk-kpis{grid-template-columns:repeat(3,1fr)}.front-desk-record{grid-template-columns:82px minmax(165px,1.2fr) minmax(170px,1fr) minmax(135px,.9fr) 145px}.front-desk-balance{grid-column:3/5;border-top:1px solid #e8edf4}.front-desk-actions{grid-column:5;grid-row:1/3}}
@media(max-width:1050px){.front-desk-toolbar{align-items:stretch;flex-direction:column}.front-desk-search{width:100%}.front-desk-record{grid-template-columns:82px 1fr 1fr}.front-desk-guest{grid-column:2/4}.front-desk-stay{grid-column:1/3;border-top:1px solid #e8edf4}.front-desk-readiness{grid-column:3;border-top:1px solid #e8edf4}.front-desk-balance{grid-column:1/3;border-top:1px solid #e8edf4}.front-desk-actions{grid-column:3;grid-row:3;border-top:1px solid #e8edf4}.front-desk-activity{grid-template-columns:42px 18px 1fr 55px}.activity-stay{grid-column:3}.front-desk-activity>a{grid-column:4;grid-row:1/3}}
@media(max-width:760px){.front-desk-main{padding-left:12px;padding-right:12px}.front-desk-heading{align-items:flex-start;flex-direction:column}.front-desk-live{width:100%;justify-content:center}.front-desk-kpis{grid-template-columns:1fr 1fr}.front-desk-tabs{width:100%}.front-desk-record{grid-template-columns:72px 1fr}.front-desk-room{grid-row:1}.front-desk-guest{grid-column:2}.front-desk-stay,.front-desk-readiness,.front-desk-balance,.front-desk-actions{grid-column:1/3;grid-row:auto;border-top:1px solid #e8edf4;border-right:0}.front-desk-stay,.front-desk-readiness,.front-desk-balance{padding-top:11px;padding-bottom:11px}.front-desk-actions{padding:11px}.record-inline-actions{justify-content:flex-start;gap:18px}.record-inline-actions details form{left:0;right:auto}.front-desk-activity{grid-template-columns:38px 16px 1fr 48px;padding-left:8px;padding-right:8px}.front-desk-activity-list:before{left:52px}.activity-stay{display:none}}
@media(max-width:460px){.front-desk-kpis{grid-template-columns:1fr}.front-desk-tabs a{padding:8px}.front-desk-activity{grid-template-columns:35px 14px 1fr}.front-desk-activity>a{grid-column:3;grid-row:2;justify-self:start;width:60px}.front-desk-activity-list:before{left:46px}}.room-prep-action{margin-top:6px}.room-prep-action button{padding:5px 7px;border:1px solid #d5e2ef;border-radius:7px;color:#5e42bd;background:#fff;font-size:7px;font-weight:900}.maintenance-wait{margin-top:6px;padding:4px 6px;border-radius:6px;color:#b43d4e;background:#fff0f2;font-size:7px;font-style:normal;font-weight:900}
/* Front desk typography correction */
body{font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.front-desk-record{min-height:146px;grid-template-columns:96px minmax(195px,1.35fr) minmax(215px,1.2fr) minmax(170px,1fr) minmax(145px,.85fr) 178px}.front-desk-room,.front-desk-guest,.front-desk-stay,.front-desk-readiness,.front-desk-balance,.front-desk-actions{padding:17px 14px}.front-desk-room>span,.front-desk-stay>small,.front-desk-readiness>small,.front-desk-balance>small{font-size:9px;letter-spacing:.75px}.front-desk-room strong{font-size:27px;line-height:1}.front-desk-room small{margin-top:7px;font-size:10px}.front-desk-room em{margin-top:4px;font-size:9px}.guest-avatar{width:42px;height:42px;border-radius:12px;font-size:16px}.front-desk-guest{gap:11px}.front-desk-guest strong{font-size:13px;line-height:1.25}.front-desk-guest span{margin-top:6px;font-size:11px}.front-desk-guest small{margin-top:5px;font-size:9px}.record-note{width:22px;height:22px;font-size:11px}.front-desk-stay strong{font-size:11px;line-height:1.35}.front-desk-stay>span{margin-top:7px;font-size:10px;line-height:1.35}.overdue-label,.today-departure-label{font-size:9px}.front-desk-readiness>span{margin-top:7px;padding:5px 7px;font-size:9px;line-height:1.25}.front-desk-balance>strong{font-size:14px;line-height:1.25}.front-desk-balance>span{margin-top:6px;font-size:10px}.front-desk-balance>em{margin-top:9px;padding:5px 7px;font-size:9px}.front-desk-primary,.front-desk-secondary{min-height:39px;padding:9px;font-size:10px;line-height:1.25}.record-inline-actions>a,.record-inline-actions summary{font-size:9px;line-height:1.25}.room-prep-action button,.maintenance-wait{font-size:9px}.front-desk-kpis small{font-size:9px}.front-desk-kpis em{font-size:9px}.front-desk-tabs a{font-size:10px}.front-desk-search input,.front-desk-search button{font-size:10px}
@media(max-width:1320px){.front-desk-record{grid-template-columns:88px minmax(180px,1.2fr) minmax(185px,1fr) minmax(150px,.9fr) 165px}}
@media(max-width:1050px){.front-desk-record{grid-template-columns:88px 1fr 1fr}}
@media(max-width:760px){.front-desk-record{grid-template-columns:78px 1fr}.front-desk-room,.front-desk-guest,.front-desk-stay,.front-desk-readiness,.front-desk-balance,.front-desk-actions{padding:14px 12px}}
/* Front desk secondary action buttons */
.record-inline-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 6px;
    width: 100%;
}

.record-inline-actions > a,
.record-inline-actions > details {
    min-width: 0;
    width: 100%;
}

.record-inline-actions > a,
.record-inline-actions > details > summary {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    width: 100%;
    padding: 6px 5px;
    overflow-wrap: anywhere;
    border: 1px solid #d6e1ef;
    border-radius: 8px;
    background: #f8f6ff;
    color: #5f42bd;
    font-size: 8.5px;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.record-inline-actions > details > summary {
    list-style: none;
}

.record-inline-actions > details > summary::-webkit-details-marker {
    display: none;
}

.record-inline-actions > a:hover,
.record-inline-actions > details > summary:hover,
.record-inline-actions > details[open] > summary {
    border-color: #7043d7;
    background: #7043d7;
    color: #fff;
    transform: translateY(-1px);
}

.record-inline-actions > details > form {
    top: calc(100% + 7px);
    right: 0;
}

@media (max-width: 760px) {
    .record-inline-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .record-inline-actions > details > form {
        right: 0;
        left: auto;
    }
}
/* Reservation payment policy */
.reservation-policy-card{margin-top:16px;padding:20px;border:1px solid #dbe5f1;border-radius:18px;background:linear-gradient(120deg,#fbfdff,#f9f6ff);box-shadow:0 6px 16px rgba(44,69,106,.04)}.policy-card-heading{display:flex;align-items:flex-start;gap:12px}.policy-card-heading>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;color:#fff;background:linear-gradient(140deg,#258fd9,#7042d8);font-size:17px;font-weight:900}.policy-card-heading p{margin:1px 0 4px;color:#7042d8;font-size:9px;font-weight:900;letter-spacing:.9px}.policy-card-heading h2{margin:0;font-size:18px}.policy-card-heading small{display:block;max-width:760px;margin-top:5px;color:#74839a;font-size:11px;line-height:1.5}.reservation-policy-form{margin-top:16px}.reservation-policy-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reservation-policy-options label{cursor:pointer}.reservation-policy-options input{position:absolute;opacity:0;pointer-events:none}.reservation-policy-options label>span{display:block;height:100%;min-height:125px;padding:15px;border:2px solid #dfe7f2;border-radius:14px;color:#52647e;background:#fff;transition:.18s}.reservation-policy-options b,.reservation-policy-options small,.reservation-policy-options em{display:block}.reservation-policy-options b{color:#2e4565;font-size:13px}.reservation-policy-options small{margin-top:8px;font-size:10px;line-height:1.5}.reservation-policy-options em{width:max-content;margin-top:10px;padding:5px 7px;border-radius:7px;color:#6541bf;background:#f0ebff;font-size:8px;font-style:normal;font-weight:900}.reservation-policy-options input:checked+span{border-color:#7042d8;background:#f9f6ff;box-shadow:0 8px 18px rgba(87,62,169,.12)}.reservation-policy-options label:first-child input:checked+span{border-color:#237bcf;background:#f1f8ff}.reservation-policy-options label:first-child em{color:#176cac;background:#e5f2ff}.reservation-policy-options label:nth-child(2) input:checked+span{border-color:#c07a18;background:#fffaf1}.reservation-policy-options label:nth-child(2) em{color:#a66312;background:#fff0d8}.reservation-policy-form>span{display:block;margin-top:7px;color:#c34958;font-size:10px}.reservation-policy-form>button{margin-top:13px;padding:12px 15px;border:0;border-radius:10px;color:#fff;background:linear-gradient(105deg,#237bcf,#7042d8);font-size:11px;font-weight:900}.reservation-payment-policy{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid #dce6f2;border-radius:11px;background:#f7faff}.reservation-payment-policy>span{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:9px;color:#fff;background:#7042d8;font-size:13px;font-weight:900}.reservation-payment-policy b,.reservation-payment-policy small{display:block}.reservation-payment-policy b{font-size:11px}.reservation-payment-policy small{margin-top:3px;color:#74839a;font-size:9px}.reservation-payment-policy.policy-prepaid{border-color:#bcd8f2;background:#f4f9ff}.reservation-payment-policy.policy-prepaid>span{background:#237bcf}.reservation-payment-policy.policy-semiflexible{border-color:#efd8ad;background:#fffaf2}.reservation-payment-policy.policy-semiflexible>span{background:#c07a18}.reservation-form .price-summary{grid-template-columns:repeat(5,1fr)}.price-summary label>span{color:#5f6e86;font-size:10px;font-weight:900}.reservation-folio{margin-bottom:4px}.cancellation-refund-form{display:block}.cancellation-refund-form>label{margin-bottom:11px}.cancellation-refund-form>.cancel-action{width:100%;min-height:40px;margin-top:12px}.refund-warning{display:grid;gap:4px;margin:12px 0;padding:12px;border:1px solid #efc98d;border-radius:10px;color:#8d5b14;background:#fff9ef}.refund-warning b{font-size:11px}.refund-warning span{font-size:9px;line-height:1.5}.refund-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.refund-options label{cursor:pointer}.refund-options input{position:absolute;opacity:0;pointer-events:none}.refund-options label>span{display:block;height:100%;padding:10px;border:2px solid #e0e7f1;border-radius:10px;background:#fff}.refund-options b,.refund-options small{display:block}.refund-options b{color:#40516b;font-size:10px}.refund-options small{margin-top:4px;color:#7c899c;font-size:8px;line-height:1.4}.refund-options input:checked+span{border-color:#c44859;background:#fff3f5;box-shadow:0 5px 12px rgba(180,56,73,.1)}.refund-options label:first-child input:checked+span{border-color:#788699;background:#f4f6f8}.refund-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}.refund-fields label{display:grid;gap:5px;color:#5f6e86;font-size:9px;font-weight:900}.refund-fields input,.refund-fields select{width:100%;height:38px;padding:0 9px;border:1px solid #d8e2ee;border-radius:8px;color:#344660;background:#fff}.refund-fields em{color:#8e99a9;font-size:8px;font-style:normal}.refund-fields input:disabled,.refund-fields select:disabled{color:#98a3b2;background:#edf1f5}.cancellation-refund-form .validation{margin-bottom:8px}
@media(max-width:900px){.reservation-policy-options{grid-template-columns:1fr}.reservation-policy-options label>span{min-height:0}.reservation-form .price-summary{grid-template-columns:1fr 1fr}.refund-fields{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.reservation-policy-card{padding:16px}.reservation-form .price-summary,.refund-options,.refund-fields{grid-template-columns:1fr}.reservation-policy-form>button{width:100%}}
/* Reservation payment confirmations */
.prepaid-payment-confirmation{position:relative;display:flex!important;align-items:flex-start;gap:11px;margin-top:12px;padding:13px 14px;border:1px solid #e2a72e!important;border-radius:12px;background:#fff8e7;color:#704a08!important;cursor:pointer}.prepaid-payment-confirmation>input{width:20px!important;height:20px!important;min-height:20px!important;flex:none;margin:1px 0 0;accent-color:#6b42d4}.prepaid-payment-confirmation>span{display:grid;gap:4px}.prepaid-payment-confirmation b{color:#704a08;font-size:11px}.prepaid-payment-confirmation small{color:#846323;font-size:9px;line-height:1.45}.checkout-payment-warning{grid-column:1/-1;display:grid;gap:5px;padding:12px 13px;border:1px solid #e2a72e;border-left:4px solid #d88b15;border-radius:11px;background:#fff8e7}.checkout-payment-warning strong{color:#8a5710;font-size:10px}.checkout-payment-warning span{color:#765d2e;font-size:9px;line-height:1.5}.checkout-payment-warning span b{color:#b05f0d}.checkout-form .checkout-action{min-height:40px}.checkout-form input[readonly]{color:#344b6b;background:#f2f5f9;cursor:not-allowed}
@media(max-width:760px){.prepaid-payment-confirmation{padding:12px}.checkout-payment-warning{padding:11px}}
/* Tabbed occupied-room operations */
.room-operation-tabs{margin-top:18px;border:1px solid #dce5f1;border-radius:15px;background:#fff;overflow:hidden}.room-operation-tab-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:7px;border-bottom:1px solid #e2e9f2;background:#f5f8fc}.room-operation-tab{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 13px;border:1px solid transparent;border-radius:10px;color:#66768d;background:transparent;text-align:left;cursor:pointer}.room-operation-tab:hover{color:#4f3db0;background:#fff}.room-operation-tab.active{border-color:#d7cdf8;color:#5d3ac2;background:#fff;box-shadow:0 4px 12px rgba(61,52,123,.08)}.room-operation-tab.checkout.active{border-color:#bfe5d3;color:#147d55}.room-operation-tab>span:last-child{min-width:0;display:grid;gap:2px}.room-operation-tab b{font-size:11px}.room-operation-tab small{overflow:hidden;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.room-tab-icon{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:9px;color:#fff;background:linear-gradient(140deg,#2c94df,#7042d6);font-size:13px;font-weight:900}.room-operation-tab.checkout .room-tab-icon{background:linear-gradient(140deg,#168a5d,#35ad7b)}.room-operation-panel{display:none;padding:17px}.room-operation-panel.active{display:block}.room-tab-validation:empty{display:none}.room-tab-validation:not(:empty){margin:12px 17px 0}.stay-status-banner{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:10px;color:#593bb8;background:#f0ebff}.stay-status-banner>span{width:8px;height:8px;flex:none;border-radius:50%;background:#6b43d1;box-shadow:0 0 0 4px rgba(107,67,209,.11)}.stay-status-banner b,.stay-status-banner small{display:block}.stay-status-banner b{font-size:11px}.stay-status-banner small{margin-top:2px;color:#7765ae;font-size:8px}.room-panel-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:18px 1px 9px}.room-panel-section-heading small{display:block;color:#7a45d0;font-size:7px;font-weight:900;letter-spacing:.8px}.room-panel-section-heading h4{margin:3px 0 0;color:#2d405d;font-size:13px}.room-panel-section-heading>span{padding:4px 7px;border-radius:99px;color:#5d6f88;background:#eef3f9;font-size:8px;font-weight:900}.stay-date-grid{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:7px;padding:11px;border:1px solid #e1e8f1;border-radius:12px;background:#fbfcff}.stay-date-grid article{padding:4px 7px}.stay-date-grid small,.stay-date-grid strong,.stay-date-grid span{display:block}.stay-date-grid small{color:#8491a4;font-size:7px;font-weight:900;letter-spacing:.7px}.stay-date-grid strong{margin-top:4px;color:#304762;font-size:13px}.stay-date-grid span{margin-top:3px;color:#7a879a;font-size:8px}.stay-date-grid>i{color:#7445d2;font-size:16px;font-style:normal;text-align:center}.stay-guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stay-guest-grid article{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:11px;border:1px solid #e0e8f2;border-radius:11px;background:#fff}.stay-guest-avatar{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:9px;color:#fff;background:linear-gradient(145deg,#2c94df,#7042d6);font-size:10px;font-weight:900}.stay-guest-grid article>div{min-width:0}.stay-guest-grid small,.stay-guest-grid strong,.stay-guest-grid p,.stay-guest-grid em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-guest-grid small{color:#7d8ca1;font-size:7px;font-weight:900;letter-spacing:.6px}.stay-guest-grid strong{margin-top:3px;color:#304661;font-size:11px}.stay-guest-grid p,.stay-guest-grid em{margin:3px 0 0;color:#738198;font-size:8px;font-style:normal}.stay-finance-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.stay-finance-grid article,.checkout-finance-summary article{min-width:0;padding:10px;border:1px solid #e1e8f1;border-radius:10px;background:#f7f9fc}.stay-finance-grid small,.stay-finance-grid strong,.stay-finance-grid span,.checkout-finance-summary small,.checkout-finance-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-finance-grid small,.checkout-finance-summary small{color:#8190a5;font-size:7px;font-weight:900;letter-spacing:.55px}.stay-finance-grid strong,.checkout-finance-summary strong{margin-top:5px;color:#344b68;font-size:12px}.stay-finance-grid span{margin-top:3px;color:#8491a4;font-size:7px}.stay-finance-grid .balance,.checkout-finance-summary .balance{border-color:#d7caf5;background:#f5f1ff}.stay-finance-grid .balance strong,.checkout-finance-summary .balance strong{color:#663bc4}.stay-operation-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9px;margin-top:17px}.stay-extension-form,.stay-transfer-card{display:grid;align-content:start;gap:9px;margin:0;padding:12px;border:1px solid #dce5f0;border-radius:12px;background:#fbfcff}.stay-extension-form>div small,.stay-transfer-card>div small{color:#7041cd;font-size:7px;font-weight:900;letter-spacing:.7px}.stay-extension-form>div strong,.stay-transfer-card>div strong{display:block;margin-top:3px;color:#30455f;font-size:11px}.stay-extension-form>div p,.stay-transfer-card>div p{margin:4px 0 0;color:#78869b;font-size:8px;line-height:1.45}.stay-extension-form label{display:grid;gap:5px;color:#5f7088;font-size:8px;font-weight:900}.stay-extension-form input{width:100%;height:36px;padding:0 9px;border:1px solid #d4e0ed;border-radius:8px;color:#344b67;background:#fff}.stay-extension-form label>span{color:#c34958;font-size:8px}.stay-extension-form button,.stay-transfer-card a{display:grid;place-items:center;min-height:36px;padding:0 11px;border:0;border-radius:8px;color:#fff;background:linear-gradient(105deg,#247dce,#7042d7);font-size:9px;font-weight:900;text-decoration:none}.stay-transfer-card a{margin-top:auto;background:linear-gradient(105deg,#168a5d,#35ad7b)}.checkout-finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tabbed-checkout-form{grid-template-columns:1fr 1fr;margin-top:12px}.tabbed-checkout-form>.validation,.tabbed-checkout-form>.checkout-payment-warning,.tabbed-checkout-form>.checkout-reference,.tabbed-checkout-form>.checkout-action{grid-column:1/-1}.tabbed-checkout-form select{width:100%;min-height:39px;padding:0 10px;border:1px solid #d9e2ee;border-radius:9px;color:#344660;background:#fff}.tabbed-checkout-form .checkout-action{width:100%}
@media(max-width:760px){.stay-finance-grid{grid-template-columns:repeat(2,1fr)}.stay-finance-grid .balance{grid-column:1/-1}.stay-operation-grid{grid-template-columns:1fr}}
@media(max-width:560px){.room-operation-tab-list{grid-template-columns:1fr}.room-operation-panel{padding:13px}.stay-date-grid{grid-template-columns:1fr}.stay-date-grid>i{transform:rotate(90deg)}.stay-guest-grid,.checkout-finance-summary,.tabbed-checkout-form{grid-template-columns:1fr}.tabbed-checkout-form>*{grid-column:1!important}.room-operation-tab small{white-space:normal}}
/* In-house payment collection */
.room-collection-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;padding:13px;border:1px solid #bdddf2;border-radius:12px;background:linear-gradient(135deg,#f5fbff,#fbf9ff)}.room-collection-heading{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:9px;padding-bottom:10px;border-bottom:1px solid #dce9f4}.room-collection-heading>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(140deg,#237bcd,#7042d7);font-size:13px;font-weight:900}.room-collection-heading small,.room-collection-heading strong,.room-collection-heading p{display:block}.room-collection-heading small{color:#397cb6;font-size:7px;font-weight:900;letter-spacing:.7px}.room-collection-heading strong{margin-top:3px;color:#304862;font-size:11px}.room-collection-heading p{margin:3px 0 0;color:#718298;font-size:8px;line-height:1.45}.room-collection-heading em{padding:5px 7px;border-radius:99px;color:#5d3bc3;background:#eee9ff;font-size:8px;font-style:normal;font-weight:900;white-space:nowrap}.room-collection-form label{position:relative;display:grid;gap:5px;color:#5f7088;font-size:9px;font-weight:900}.room-collection-form input,.room-collection-form select{width:100%;min-height:39px;padding:0 10px;border:1px solid #d3e0ed;border-radius:9px;color:#344660;background:#fff}.room-collection-form label>span{color:#c34958;font-size:8px}.room-collection-form .room-collection-reference,.room-collection-form .room-collection-action{grid-column:1/-1}.room-collection-form .room-collection-reference em{color:#8694a7;font-size:8px;font-style:normal}.room-collection-action{width:100%;min-height:40px;border:0;border-radius:9px;color:#fff;background:linear-gradient(105deg,#2179cd,#7042d5);font-size:10px;font-weight:900}.room-collection-complete{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid #bde5d1;border-radius:10px;color:#197c55;background:#effbf5;font-size:9px;font-weight:800}.room-collection-complete b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#22a36d;font-size:10px}
@media(max-width:560px){.room-collection-form{grid-template-columns:1fr}.room-collection-form>*{grid-column:1!important}.room-collection-heading{grid-template-columns:auto 1fr}.room-collection-heading em{grid-column:1/-1;width:max-content}.room-collection-form .room-collection-reference,.room-collection-form .room-collection-action{grid-column:1!important}}
/* Calendar direct operations */
.calendar-message{margin:0 0 13px}.calendar-dynamic-operation-token{display:none}.calendar-booking[data-calendar-movable="true"]{cursor:grab}.calendar-booking[data-calendar-movable="true"]:after{position:absolute;top:4px;right:3px;bottom:4px;width:8px;border-radius:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.62),rgba(255,255,255,.62) 1px,transparent 1px,transparent 3px);content:"";cursor:ew-resize;opacity:.78}.calendar-booking.dragging{opacity:.45;cursor:grabbing}.calendar-booking.resizing{z-index:8;box-shadow:0 7px 17px rgba(56,42,117,.28)}.calendar-day-cell.drag-over{z-index:5;background:#e9f7ff!important;box-shadow:inset 0 0 0 2px #258ed8!important}.calendar-modal-operations{margin-top:15px;padding-top:14px;border-top:1px solid #e1e8f1}.calendar-operation-heading{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #dce6f1;border-radius:11px;background:linear-gradient(120deg,#f8fbff,#faf8ff)}.calendar-operation-heading>span{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:8px;color:#fff;background:linear-gradient(140deg,#278bd8,#7042d7);font-size:13px}.calendar-operation-heading small,.calendar-operation-heading strong,.calendar-operation-heading p{display:block}.calendar-operation-heading small{color:#7042d0;font-size:7px;font-weight:900;letter-spacing:.7px}.calendar-operation-heading strong{margin-top:3px;color:#314861;font-size:11px}.calendar-operation-heading p{margin:3px 0 0;color:#738399;font-size:8px;line-height:1.45}.calendar-operation-validation:empty{display:none}.calendar-operation-validation:not(:empty){margin-top:9px}.calendar-operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.calendar-operation-card{display:grid;gap:8px;margin:0;padding:11px;border:1px solid #dce5f0;border-radius:11px;background:#fbfcff}.calendar-operation-card>div small{color:#7041cd;font-size:7px;font-weight:900;letter-spacing:.7px}.calendar-operation-card>div strong{display:block;margin-top:3px;color:#30455f;font-size:10px}.calendar-operation-card>div p{margin:4px 0 0;color:#78869b;font-size:8px;line-height:1.45}.calendar-operation-card label,.calendar-operation-form>label{position:relative;display:grid;gap:5px;color:#5f7088;font-size:8px;font-weight:900}.calendar-operation-card input,.calendar-operation-card select,.calendar-operation-form input,.calendar-operation-form select{width:100%;min-height:36px;padding:0 9px;border:1px solid #d5e0ec;border-radius:8px;color:#344b67;background:#fff}.calendar-operation-card button,.calendar-operation-form>button{min-height:36px;border:0;border-radius:8px;color:#fff;background:linear-gradient(105deg,#247dce,#7042d7);font-size:9px;font-weight:900}.transfer-operation-card button{background:linear-gradient(105deg,#15885e,#34ac79)}.calendar-operation-disclosure{margin-top:10px;border:1px solid #dfe7f1;border-radius:11px;background:#fff;overflow:hidden}.calendar-operation-disclosure>summary{display:flex;align-items:center;gap:9px;padding:10px 11px;cursor:pointer;list-style:none}.calendar-operation-disclosure>summary::-webkit-details-marker{display:none}.calendar-operation-disclosure>summary>span{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;color:#fff;background:#6e43d1;font-size:12px;font-weight:900}.calendar-operation-disclosure>summary strong,.calendar-operation-disclosure>summary small{display:block}.calendar-operation-disclosure>summary strong{color:#354a66;font-size:10px}.calendar-operation-disclosure>summary small{margin-top:2px;color:#78879a;font-size:8px}.calendar-operation-disclosure[open]>summary{border-bottom:1px solid #e6ebf3;background:#f8faff}.calendar-operation-form{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:11px;background:#fbfcff}.calendar-operation-form>button{grid-column:1/-1;width:100%}.calendar-checkin-guest-list{grid-column:1/-1;display:grid;gap:7px}.calendar-checkin-guest-list article{padding:9px;border:1px solid #e1e8f1;border-radius:9px;background:#fff}.calendar-checkin-guest-list article>b{display:block;margin-bottom:7px;color:#5e3bc1;font-size:9px}.calendar-checkin-guest-list article>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.calendar-checkin-guest-list label{position:relative;display:grid;gap:4px;color:#61718a;font-size:8px;font-weight:900}.calendar-checkin-action{background:linear-gradient(105deg,#16895e,#36ad7a)!important}.calendar-operation-note{margin-top:10px;padding:10px 11px;border:1px solid #d8e1ec;border-radius:9px;color:#64758d;background:#f5f8fc;font-size:9px}.calendar-operation-note.success{border-color:#bee5d1;color:#187e56;background:#effbf5}.cancellation-operation>summary>span{background:#c34a5b}.cancellation-operation .calendar-operation-form{grid-template-columns:1fr}.calendar-refund-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.calendar-refund-options label{cursor:pointer}.calendar-refund-options input{position:absolute;opacity:0;pointer-events:none}.calendar-refund-options span{display:block;padding:8px;border:1px solid #dce5ef;border-radius:8px;color:#5e6e85;background:#fff;font-size:8px;font-weight:800;text-align:center}.calendar-refund-options input:checked+span{border-color:#c44859;color:#9f3f50;background:#fff3f5}.calendar-refund-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.calendar-refund-fields label{position:relative;display:grid;gap:4px;color:#60708a;font-size:8px;font-weight:900}.calendar-refund-fields em{color:#8794a6;font-size:7px;font-style:normal}.calendar-cancel-action{background:linear-gradient(105deg,#b74354,#db6575)!important}.collection-operation>summary>span{background:#267fd0}.checkout-operation>summary>span{background:#198b60}.calendar-collection-form,.calendar-checkout-form{grid-template-columns:repeat(3,1fr)}.calendar-collection-form>button{background:linear-gradient(105deg,#2179cd,#7042d5)}.calendar-checkout-form>button{background:linear-gradient(105deg,#168a5d,#35ad7b)}
@media(max-width:760px){.calendar-operation-grid,.calendar-checkin-guest-list article>div,.calendar-operation-form,.calendar-refund-fields{grid-template-columns:1fr 1fr}.calendar-operation-form>button,.calendar-checkin-guest-list,.calendar-operation-form>label:first-of-type{grid-column:1/-1}}
@media(max-width:520px){.calendar-operation-grid,.calendar-checkin-guest-list article>div,.calendar-operation-form,.calendar-refund-options,.calendar-refund-fields{grid-template-columns:1fr}.calendar-operation-form>*{grid-column:1!important}}
/* Calendar booking handle anchor */
.calendar-booking[data-calendar-movable=true]{position:relative}

/* Calendar resize visibility */
.calendar-booking[data-calendar-movable=true][data-calendar-adjustable=false]:after{display:none}

/* Income expense result scrolling */
.finance-report-content{min-width:0}#income-expense-results.report-ledger{max-height:clamp(340px,58vh,620px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}#income-expense-results.report-ledger .finance-ledger-header{position:sticky;top:0;z-index:3}@media(max-width:760px){#income-expense-results.report-ledger{max-height:58vh}}
/* HotelYo global interface scale */
:root{--hotelyo-interface-scale:1.1}body{zoom:var(--hotelyo-interface-scale)}@supports not (zoom:1){body{font-size:110%}}
/* Hotel user management */
.users-heading,.service-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.users-new{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 14px;border-radius:10px;color:#fff;background:linear-gradient(105deg,#247dce,#7042d7);font-size:10px;font-weight:900;text-decoration:none}.users-kpis,.service-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.users-kpis article,.service-kpis article{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #dfe8f2;border-radius:13px;background:#fff}.users-kpis article>span,.service-kpis article>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;color:#fff;background:linear-gradient(140deg,#247ed0,#7042d8);font-size:13px}.users-kpis article.active>span{background:linear-gradient(140deg,#159062,#38b27f)}.users-kpis article.reception>span{background:linear-gradient(140deg,#6d43ce,#9c70e9)}.users-kpis article.service>span,.service-kpis article.cleaning>span{background:linear-gradient(140deg,#e09018,#f0b33e)}.service-kpis{grid-template-columns:repeat(2,minmax(0,260px))}.service-kpis article.dirty>span,.service-kpis article.maintenance>span{background:linear-gradient(140deg,#cb4d57,#e17a6f)}.users-kpis small,.users-kpis strong,.users-kpis em,.service-kpis small,.service-kpis strong,.service-kpis em{display:block}.users-kpis small,.service-kpis small{color:#8390a4;font-size:7px;font-weight:900;letter-spacing:.7px}.users-kpis strong,.service-kpis strong{margin-top:3px;color:#304862;font-size:17px}.users-kpis em,.service-kpis em{margin-top:2px;color:#7b899d;font-size:8px;font-style:normal}.users-workspace{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(430px,1.22fr);gap:15px;margin-top:16px;min-height:0}.user-form-card,.users-directory{min-width:0;border:1px solid #dfe7f1;border-radius:16px;background:#fff;box-shadow:0 7px 18px rgba(45,69,109,.05)}.user-form-card{padding:17px}.user-form-heading{display:flex;align-items:flex-start;gap:10px;padding-bottom:13px;border-bottom:1px solid #e5ebf3}.user-form-heading>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;color:#fff;background:linear-gradient(140deg,#247ed0,#7042d8);font-size:15px;font-weight:900}.user-form-heading small{color:#7542d3;font-size:7px;font-weight:900;letter-spacing:.8px}.user-form-heading h2{margin:3px 0 0;color:#304761;font-size:15px}.user-form-heading p{margin:4px 0 0;color:#7c8b9f;font-size:9px;line-height:1.45}.user-entry-form{display:grid;gap:10px;margin-top:13px}.user-entry-form>label,.user-entry-form .user-form-row>label{display:grid;gap:5px;color:#5f7088;font-size:9px;font-weight:900}.user-entry-form input:not([type=checkbox]),.user-entry-form select,.user-entry-form textarea{width:100%;min-height:37px;padding:0 9px;border:1px solid #d5e1ee;border-radius:8px;outline:none;color:#344b67;background:#fff;font-size:10px}.user-entry-form textarea{min-height:56px;padding-top:9px;resize:vertical}.user-entry-form input:focus,.user-entry-form select:focus,.user-entry-form textarea:focus{border-color:#4d9ce1;box-shadow:0 0 0 3px rgba(54,148,224,.1)}.user-entry-form label>span{color:#c34958;font-size:8px}.user-entry-form label em{color:#8996a8;font-size:8px;font-style:normal;font-weight:700}.user-form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.user-permissions{margin:0;padding:11px;border:1px solid #dce6f1;border-radius:11px;background:#f9fbfe}.user-permissions legend{padding:0 4px;color:#6540c5;font-size:9px;font-weight:900}.user-permissions p{margin:0 0 9px;color:#718198;font-size:8px;line-height:1.45}.user-permissions>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.user-permissions label{display:flex!important;align-items:center;gap:6px;padding:7px;border:1px solid #e0e7f1;border-radius:7px;color:#52657e!important;background:#fff;font-size:8px!important}.user-permissions input{width:13px;height:13px;margin:0;accent-color:#6941cc}.user-active-toggle{display:flex!important;align-items:flex-start;gap:8px;padding:10px;border:1px solid #cfe7da;border-radius:10px;color:#35725a!important;background:#f1fbf5;cursor:pointer}.user-active-toggle input{width:16px;height:16px;margin:1px 0 0;accent-color:#1e9867}.user-active-toggle b,.user-active-toggle small{display:block}.user-active-toggle b{font-size:9px}.user-active-toggle small{margin-top:2px;color:#69887a;font-size:8px;font-weight:700}.user-entry-form footer{display:flex;justify-content:space-between;gap:8px;margin-top:2px}.user-entry-form footer a,.user-entry-form footer button{display:grid;place-items:center;min-height:38px;padding:0 11px;border-radius:8px;font-size:9px;font-weight:900;text-decoration:none}.user-entry-form footer a{border:1px solid #d5e0ee;color:#5d718b;background:#fff}.user-entry-form footer button{border:0;color:#fff;background:linear-gradient(105deg,#247dce,#7042d7)}.users-directory{display:flex;flex-direction:column;min-height:0}.users-directory-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid #e4eaf2}.users-directory-head small{color:#7542d3;font-size:7px;font-weight:900;letter-spacing:.8px}.users-directory-head h2{margin:3px 0 0;color:#304762;font-size:15px}.users-search{display:flex;align-items:center;min-width:250px;height:35px;border:1px solid #d7e2ef;border-radius:9px;color:#7e8fa4;background:#fff}.users-search>span{padding-left:9px;font-size:12px}.users-search input{min-width:0;flex:1;height:100%;padding:0 7px;border:0;outline:0;color:#40536d;background:transparent;font-size:9px}.users-search button{height:100%;padding:0 9px;border:0;border-left:1px solid #e1e8f1;border-radius:0 8px 8px 0;color:#6642c4;background:#f6f3ff;font-size:8px;font-weight:900}.users-list{max-height:620px;overflow:auto;padding:10px}.user-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid #e1e8f2;border-radius:12px;background:#fff}.user-card+.user-card{margin-top:8px}.user-card.passive{opacity:.7;background:#fafbfc}.user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(140deg,#278fdc,#7042d8);font-size:10px;font-weight:900}.user-card-main{min-width:0}.user-card-main>div:first-child{display:flex;gap:5px;flex-wrap:wrap}.user-role,.user-status,.user-access-tags span{display:inline-block;padding:4px 6px;border-radius:99px;font-size:7px;font-weight:900}.user-role.reception{color:#2e78bd;background:#e6f4ff}.user-role.housekeeping{color:#a5650f;background:#fff1db}.user-role.technicalservice{color:#bb4653;background:#ffe9eb}.user-role.manager{color:#6340c1;background:#eee9ff}.user-status{color:#168158;background:#e3f7ed}.passive .user-status{color:#788699;background:#edf1f5}.user-card h3{margin:6px 0 0;color:#304761;font-size:12px}.user-card p,.user-card small{display:block;margin:3px 0 0;overflow:hidden;color:#718198;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.user-access-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.user-access-tags span{color:#60728a;background:#f0f4f9}.user-card-actions{display:grid;gap:5px;min-width:70px}.user-card-actions a,.user-card-actions button{display:grid;place-items:center;min-height:28px;padding:0 7px;border:1px solid #d9e3ef;border-radius:7px;color:#536a85;background:#fff;font-size:8px;font-weight:900;text-decoration:none}.user-card-actions form{margin:0}.user-card-actions button{width:100%;color:#9a525d;border-color:#efc9ce;background:#fff8f8}.users-empty,.service-empty{display:grid;place-items:center;min-height:230px;padding:30px;text-align:center}.users-empty span,.service-empty span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#6540c5;background:#eee9ff;font-size:18px}.users-empty h2,.service-empty h2{margin:12px 0 0;color:#334b68;font-size:14px}.users-empty p,.service-empty p{margin:6px 0 0;color:#77869a;font-size:9px}.service-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:16px}.service-room{padding:13px;border:1px solid #dfe7f1;border-radius:13px;background:#fff}.service-room.dirty{border-color:#efc8a5;background:#fffaf3}.service-room.cleaning{border-color:#f1d68a;background:#fffcf2}.service-room.maintenance{border-color:#ebbbc1;background:#fff8f9}.service-room>div{display:flex;align-items:center;justify-content:space-between;gap:7px}.service-room>div span{color:#304a69;font-size:17px;font-weight:900}.service-room>div b{padding:4px 6px;border-radius:99px;color:#a46711;background:#fff0d9;font-size:7px}.service-room.maintenance>div b{color:#b34755;background:#ffe7e9}.service-room.ready>div b{color:#17825a;background:#e1f6eb}.service-room h2{margin:13px 0 0;color:#344b67;font-size:11px}.service-room p{margin:4px 0 0;color:#78879b;font-size:8px}.service-room form{margin:12px 0 0}.service-room button{width:100%;min-height:33px;border:0;border-radius:8px;color:#fff;background:linear-gradient(105deg,#e18d1a,#c77010);font-size:8px;font-weight:900}.service-room.cleaning button,.service-room.ready button{background:linear-gradient(105deg,#168a5d,#35ad7b)}.service-room.maintenance button{background:linear-gradient(105deg,#c44956,#dc7470)}@media(max-width:900px){.users-workspace{grid-template-columns:1fr}.users-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.users-heading,.service-heading,.users-directory-head{align-items:stretch;flex-direction:column}.users-new{width:100%}.users-kpis{grid-template-columns:1fr}.service-kpis{grid-template-columns:1fr}.user-form-row,.user-permissions>div{grid-template-columns:1fr}.users-search{min-width:0;width:100%}.user-card{grid-template-columns:32px minmax(0,1fr)}.user-card-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.users-list{max-height:none;padding:8px}}
.users-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.staff-code-card { display: grid; gap: 2px; padding: 9px 13px; border: 1px solid #cbd8f2; border-radius: 12px; background: #f7f9ff; color: #203d72; min-width: 190px; }
.staff-code-card small { color: #66799f; font-size: 0.61rem; font-weight: 800; letter-spacing: .07em; }
.staff-code-card b { color: #4836c8; font-size: 1.04rem; letter-spacing: .06em; }
.staff-code-card span { color: #6b7893; font-size: .69rem; }
.maintenance-form { display: grid; gap: 9px; margin-top: 12px; }
.maintenance-form textarea { min-height: 68px; resize: vertical; }
.maintenance-detail { display: grid; gap: 5px; margin-top: 12px; padding: 10px; border-radius: 10px; background: #fff4e8; color: #8b4c08; font-size: .79rem; }
.maintenance-detail span { line-height: 1.4; }
.service-action-form { margin-top: 12px; }
.staff-login-note { margin-top: 14px; color: #687898; font-size: .78rem; text-align: center; }
@media (max-width: 700px) { .users-header-actions { justify-content: stretch; } .staff-code-card { width: 100%; } }
/* Technical service workflow */
.technical-service-main{min-width:0}.technical-heading{align-items:center}.technical-count{display:grid;place-items:center;min-width:88px;min-height:62px;padding:8px 14px;border:1px solid #ebbbc1;border-radius:14px;background:#fff8f9}.technical-count span{color:#bb4653;font-size:24px;font-weight:900;line-height:1}.technical-count small{margin-top:5px;color:#9a6570;font-size:8px;font-weight:900}.technical-job-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}.technical-job-card{display:grid;align-content:start;gap:0;min-height:290px;border-width:2px}.technical-job-card.resolved{border-color:#d9c5a2;background:#fffdf8}.technical-job-card>div:first-child b{max-width:142px;text-align:center}.technical-job-card.resolved>div:first-child b{color:#8d681f;background:#fff0cf}.technical-detail-block,.technical-resolution-block{display:grid;gap:5px;margin-top:12px;padding:10px;border-radius:10px}.technical-detail-block{border:1px solid #f0d5d8;background:#fff5f6}.technical-resolution-block{border:1px solid #cce7d9;background:#f2fbf6}.technical-detail-block small,.technical-resolution-block small{color:#8b6670;font-size:7px;font-weight:900;letter-spacing:.7px}.technical-resolution-block small{color:#27815d}.technical-detail-block strong,.technical-resolution-block strong{color:#4b4350;font-size:10px;line-height:1.45}.technical-detail-block em,.technical-resolution-block em{color:#8791a0;font-size:8px;font-style:normal}.technical-resolution-form{display:grid;gap:8px;margin-top:12px!important}.technical-resolution-form label{display:grid;gap:5px;color:#5b6f88;font-size:8px;font-weight:900}.technical-resolution-form textarea{width:100%;min-height:74px;padding:9px;border:1px solid #d5e0ed;border-radius:8px;color:#344b68;resize:vertical}.technical-resolution-form label>span{color:#c34958;font-size:8px}.technical-resolution-form button{margin-top:1px;background:linear-gradient(105deg,#178b60,#38ad7d)!important}.technical-awaiting-note{margin-top:12px;padding:10px;border-radius:9px;color:#8b6470;background:#fff0f2;font-size:9px;line-height:1.45}.maintenance-resolution-note,.maintenance-open-note{display:grid;gap:5px;margin:12px 0;padding:11px 12px;border:1px solid #d6e4f1;border-radius:10px;background:#f8fbff}.maintenance-resolution-note{border-color:#bde4d0;background:#f1faf5}.maintenance-resolution-note b{color:#178157;font-size:10px}.maintenance-open-note b{color:#b64955;font-size:10px}.maintenance-resolution-note p,.maintenance-open-note p{margin:0;color:#596a82;font-size:9px;line-height:1.45}.maintenance-resolution-note small,.maintenance-open-note small{color:#7e8ea2;font-size:8px}.room-maintenance-form{display:grid;gap:8px}.room-maintenance-form label{display:grid;gap:5px;color:#5d708a;font-size:9px;font-weight:900}.room-maintenance-form textarea{width:100%;min-height:70px;padding:9px;border:1px solid #d6e1ed;border-radius:8px;resize:vertical}.room-maintenance-form label>span{color:#c34958;font-size:8px}@media(max-width:620px){.technical-heading{align-items:stretch}.technical-count{grid-template-columns:auto 1fr;justify-content:start}.technical-count small{margin:0}}
/* Room quick actions */
.hotel-room{position:relative;overflow:visible}.hotel-room-open{display:block;min-height:106px;color:inherit;text-decoration:none}.hotel-room-open>div{display:flex;justify-content:space-between;gap:5px;padding-right:34px}.hotel-room-open>div b{font-size:20px}.hotel-room-open>div span{padding:4px 7px;border-radius:99px;color:#556f8e;background:#eef2f7;font-size:9px;font-weight:800}.hotel-room-open>strong{display:block;margin-top:18px;font-size:13px}.hotel-room-open>em{display:block;margin-top:4px;color:#748199;font-size:10px;font-style:normal}.hotel-room-open>small{display:block;margin-top:8px;color:#62738c;font-size:10px}.hotel-room.available .hotel-room-open>div span{color:#16855a;background:#ddf7ea}.hotel-room.occupied .hotel-room-open>div span,.hotel-room.arrival .hotel-room-open>div span{color:#5d3cc2;background:#ede8ff}.hotel-room.reserved .hotel-room-open>div span{color:#2367b2;background:#e3efff}.hotel-room.dirty .hotel-room-open>div span,.hotel-room.departure .hotel-room-open>div span,.hotel-room.cleaning .hotel-room-open>div span{color:#a35e08;background:#fff0d5}.hotel-room.maintenance .hotel-room-open>div span{color:#a73445;background:#ffe0e5}.room-quick-actions{position:absolute;z-index:5;top:11px;right:11px}.room-quick-actions[open]{z-index:12}.room-quick-actions>summary{display:grid;place-items:center;width:29px;height:29px;list-style:none;border:1px solid #d6e1ee;border-radius:8px;color:#5a6d88;background:rgba(255,255,255,.94);box-shadow:0 3px 8px rgba(45,67,102,.08);cursor:pointer}.room-quick-actions>summary::-webkit-details-marker{display:none}.room-quick-actions>summary:hover,.room-quick-actions[open]>summary{border-color:#9c83e8;color:#fff;background:linear-gradient(135deg,#297fd2,#7042d8)}.room-quick-actions>summary span{font-size:17px;font-weight:900;line-height:1}.room-quick-menu{position:absolute;top:35px;right:0;width:min(260px,calc(100vw - 54px));padding:10px;border:1px solid #d7e3f1;border-radius:11px;color:#50627c;background:#fff;box-shadow:0 15px 30px rgba(30,52,86,.2)}.room-quick-menu form{display:grid;gap:8px;margin:0}.room-quick-menu label{display:grid;gap:5px;color:#52667f;font-size:9px;font-weight:900}.room-quick-menu textarea{width:100%;min-height:68px;padding:8px;border:1px solid #d5e0ed;border-radius:8px;color:#344b68;resize:vertical;font:inherit;font-size:10px}.room-quick-menu textarea:focus{outline:none;border-color:#55a1e4;box-shadow:0 0 0 3px rgba(55,154,231,.12)}.quick-info{margin:0;color:#65758c;font-size:9px;font-weight:700;line-height:1.45}.quick-resolved{padding:8px;border-radius:8px;color:#197e58;background:#effaf4}.quick-maintenance-note{padding:8px;border-radius:8px;color:#a23d4e;background:#fff1f3}.quick-action{width:100%;min-height:32px;padding:0 9px;border:0;border-radius:8px;color:#fff;background:linear-gradient(105deg,#2079d2,#7042d8);font-size:9px;font-weight:900}.quick-action:hover{filter:brightness(1.04)}.quick-maintenance{background:linear-gradient(105deg,#b43c4e,#d55b6c)}.quick-cleaning{background:linear-gradient(105deg,#b8700b,#df9c33)}.quick-ready{background:linear-gradient(105deg,#13875d,#35ad7b)}@media(max-width:620px){.room-quick-menu{right:-3px;width:min(245px,calc(100vw - 42px))}.hotel-room-open{min-height:102px}}
/* Room quick action usability */
.hotel-room:has(.room-quick-actions[open]){z-index:25;transform:none!important}.hotel-room.has-maintenance:not(.maintenance){box-shadow:inset 0 0 0 2px rgba(190,62,79,.22),0 8px 18px rgba(84,57,180,.13)}.room-quick-actions.has-maintenance>summary{border-color:#d77a87;color:#b73c4e;background:#fff3f5}.room-quick-actions.has-maintenance[open]>summary,.room-quick-actions.has-maintenance>summary:hover{border-color:#b83c4e;color:#fff;background:linear-gradient(135deg,#b83c4e,#d86172)}.room-quick-menu{overflow-y:auto;overscroll-behavior:contain}.quick-info b,.quick-info span{display:block}.quick-info b{margin-bottom:3px;font-size:9px}.quick-info span{font-size:8px;line-height:1.45}.quick-action{display:grid;place-items:center;text-align:center;text-decoration:none}.quick-open{margin-top:8px;border:1px solid #d1ddec;color:#526983;background:#f7faff}.technical-occupancy-warning{display:grid;gap:3px;margin-top:10px;padding:9px 10px;border:1px solid #efc77f;border-radius:9px;color:#8e5811;background:#fff8e9}.technical-occupancy-warning b{font-size:9px}.technical-occupancy-warning span{font-size:8px;line-height:1.4}
/* Maintenance approval alert */
@keyframes maintenanceApprovalGlow{0%,100%{border-color:#0a5a3d;box-shadow:0 0 0 0 rgba(10,101,68,.14),0 8px 18px rgba(7,82,55,.2)}50%{border-color:#16885e;box-shadow:0 0 0 4px rgba(15,122,80,.25),0 0 25px rgba(8,103,68,.55),0 10px 22px rgba(5,73,49,.25)}}.hotel-room.maintenance-awaiting-approval{border-width:2px!important;border-style:solid!important;animation:maintenanceApprovalGlow 1.25s ease-in-out infinite}.hotel-room.maintenance-awaiting-approval .hotel-room-open{min-height:127px}.maintenance-approval-badge{display:flex;align-items:center;gap:5px;margin-top:9px;padding:6px 8px;border:1px solid #4a9677;border-radius:8px;color:#084c35;background:linear-gradient(105deg,#eaf8f1,#d5f0e3);font-style:normal;line-height:1}.maintenance-approval-badge i{width:16px;height:16px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:#0c6646;font-size:9px;font-style:normal;font-weight:900}.maintenance-approval-badge b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.maintenance-approval-badge em{margin-left:auto;color:#07553a;font-size:8px;font-style:normal;font-weight:900;white-space:nowrap}.maintenance-awaiting-approval .room-quick-actions.has-maintenance>summary{border-color:#368969;color:#07583d;background:#e7f7ef}.maintenance-awaiting-approval .room-quick-actions.has-maintenance[open]>summary,.maintenance-awaiting-approval .room-quick-actions.has-maintenance>summary:hover{border-color:#07583d;color:#fff;background:linear-gradient(135deg,#07583d,#16885e)}@media(prefers-reduced-motion:reduce){.hotel-room.maintenance-awaiting-approval{animation:none;box-shadow:0 0 0 3px rgba(15,122,80,.25),0 0 18px rgba(8,103,68,.38)}}@media(max-width:620px){.maintenance-approval-badge{align-items:flex-start;flex-wrap:wrap}.maintenance-approval-badge em{width:100%;margin-left:21px}}
/* Staff authentication redesign */
body.staff-auth-body{min-width:320px;overflow-x:hidden;background:#eef4fb}.staff-auth-shell{min-height:calc(100vh / var(--hotelyo-interface-scale));display:grid;grid-template-columns:minmax(360px,.88fr) minmax(560px,1.12fr);background:linear-gradient(135deg,#eaf4ff,#f7f3ff 58%,#edf8f4)}.staff-auth-showcase{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:42px clamp(32px,5vw,78px);color:#fff;background:radial-gradient(circle at 15% 18%,rgba(77,187,241,.35),transparent 23rem),radial-gradient(circle at 85% 82%,rgba(161,91,238,.34),transparent 25rem),linear-gradient(145deg,#124d98,#227ed0 48%,#5d38b5)}.staff-auth-showcase:after{position:absolute;right:-95px;bottom:-115px;width:330px;height:330px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025);content:""}.staff-auth-brand{position:relative;z-index:1;width:max-content}.staff-auth-brand strong{color:#fff}.staff-auth-brand strong span{color:#d8c7ff}.staff-auth-brand small{color:#cee8ff}.staff-auth-copy{position:relative;z-index:1;max-width:520px;margin:auto 0 30px}.staff-auth-copy>p{margin:0 0 13px;color:#bde9ff;font-size:9px;font-weight:900;letter-spacing:1.35px}.staff-auth-copy h1{margin:0;font-size:clamp(35px,4vw,54px);letter-spacing:-2px;line-height:1.03}.staff-auth-copy>span{display:block;max-width:475px;margin-top:18px;color:#e4f1ff;font-size:14px;line-height:1.65}.staff-auth-features{position:relative;z-index:1;display:grid;gap:9px;max-width:490px}.staff-auth-features article{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.staff-auth-features article>b{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:8px;color:#5832ad;background:#fff;font-size:11px}.staff-auth-features strong,.staff-auth-features small{display:block}.staff-auth-features strong{font-size:10px}.staff-auth-features small{margin-top:3px;color:#d4eaff;font-size:8px}.staff-auth-showcase-note{position:relative;z-index:1;margin-top:28px;color:#bcd9f4;font-size:8px;font-weight:700}.staff-auth-panel{display:grid;align-content:center;justify-items:center;padding:34px clamp(24px,5vw,72px)}.staff-auth-card{width:min(100%,610px);padding:31px;border:1px solid #dce6f2;border-radius:23px;background:rgba(255,255,255,.98);box-shadow:0 22px 48px rgba(45,70,113,.14)}.staff-auth-card>header{display:flex;align-items:flex-start;gap:12px}.staff-auth-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:11px;color:#fff;background:linear-gradient(140deg,#2493df,#7041d3);font-size:15px;font-weight:900;box-shadow:0 7px 14px rgba(72,77,190,.22)}.staff-auth-card>header p{margin:1px 0 4px;color:#7041d4;font-size:8px;font-weight:900;letter-spacing:1px}.staff-auth-card>header h2{margin:0;color:#223a5d;font-size:24px;letter-spacing:-.8px}.staff-auth-card>header small{display:block;margin-top:5px;color:#7b899e;font-size:10px}.staff-auth-form{margin-top:25px}.staff-auth-validation:empty{display:none}.staff-auth-validation:not(:empty){margin-bottom:13px;padding:10px 11px;border:1px solid #efcbd0;border-radius:9px;background:#fff5f6}.staff-auth-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.staff-auth-fields>label{display:grid;gap:6px;color:#5c6e88;font-size:10px;font-weight:900}.staff-field-label{display:block}.staff-auth-fields input,.staff-auth-fields select{width:100%;height:43px;padding:0 11px;outline:none;border:1px solid #d6e1ee;border-radius:10px;color:#304761;background:#fff;font-size:12px}.staff-auth-fields input:focus,.staff-auth-fields select:focus{border-color:#4b9cdf;box-shadow:0 0 0 3px rgba(49,148,222,.12)}.staff-auth-fields label>span:last-child{color:#c34958;font-size:8px;font-weight:700}.staff-password-control{position:relative;display:block}.staff-password-control input{padding-right:57px}.staff-password-control button{position:absolute;top:6px;right:6px;height:31px;padding:0 8px;border:0;border-radius:7px;color:#6641c5;background:#f0ebff;font-size:8px;font-weight:900}.staff-remember-row{display:grid;grid-template-columns:auto auto 1fr;align-items:start;gap:9px;margin-top:15px;padding:11px 12px;border:1px solid #dce6f1;border-radius:11px;color:#566983;background:#f8fbff;cursor:pointer}.staff-remember-row>input{position:absolute;opacity:0;pointer-events:none}.staff-checkbox-visual{width:19px;height:19px;display:grid;place-items:center;border:1px solid #c9d7e7;border-radius:6px;color:transparent;background:#fff;font-size:10px;font-weight:900;transition:.15s}.staff-remember-row>input:checked+.staff-checkbox-visual{border-color:#7041d3;color:#fff;background:linear-gradient(140deg,#278fdc,#7041d3)}.staff-remember-row>input:focus-visible+.staff-checkbox-visual{box-shadow:0 0 0 3px rgba(91,68,201,.2)}.staff-remember-row b,.staff-remember-row small{display:block}.staff-remember-row b{color:#3d526f;font-size:10px}.staff-remember-row small{margin-top:3px;color:#7b899d;font-size:8px;line-height:1.45}.staff-auth-submit{width:100%;height:45px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:15px;border:0;border-radius:11px;color:#fff;background:linear-gradient(105deg,#2079d2,#2b9de9 52%,#7042d8);box-shadow:0 9px 18px rgba(45,104,193,.22);font-size:11px;font-weight:900}.staff-auth-submit b{font-size:16px}.staff-auth-card>footer{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:19px;padding-top:16px;border-top:1px solid #e7edf4;color:#8995a7;font-size:9px}.staff-auth-card>footer a{color:#6540c9;font-weight:900;text-decoration:none}.staff-auth-security{margin-top:13px;color:#7c8ca2;font-size:8px}.staff-auth-mobile-brand{display:none}@media(max-width:980px){.staff-auth-shell{grid-template-columns:minmax(300px,.72fr) minmax(460px,1.28fr)}.staff-auth-showcase{padding:34px 28px}.staff-auth-copy h1{font-size:36px}.staff-auth-features article:nth-child(2){display:none}}@media(max-width:760px){.staff-auth-shell{display:block;min-height:calc(100vh / var(--hotelyo-interface-scale));padding:0 0 24px;background:linear-gradient(155deg,#eaf5ff,#f7f2ff 58%,#edf8f4)}.staff-auth-showcase{min-height:145px;padding:22px 20px 45px;border-radius:0 0 28px 28px}.staff-auth-showcase>.staff-auth-brand,.staff-auth-features,.staff-auth-showcase-note{display:none}.staff-auth-copy{max-width:520px;margin:0 auto;text-align:center}.staff-auth-copy>p{margin-bottom:8px}.staff-auth-copy h1{font-size:27px;letter-spacing:-1px}.staff-auth-copy>span{margin-top:10px;font-size:10px;line-height:1.5}.staff-auth-panel{display:block;margin-top:-27px;padding:0 14px}.staff-auth-mobile-brand{position:relative;z-index:2;display:flex;justify-content:center;margin-bottom:12px}.staff-auth-mobile-brand>a{padding:7px 10px;border:1px solid #dbe5f1;border-radius:13px;background:#fff;box-shadow:0 7px 16px rgba(47,70,108,.1)}.staff-auth-mobile-brand .logo-frame{width:43px;height:43px;border-radius:12px}.staff-auth-mobile-brand .logo-frame img{width:174px;top:-20px;left:-65px}.staff-auth-mobile-brand .brand strong{font-size:15px}.staff-auth-card{padding:23px 18px;border-radius:19px}.staff-auth-card>header h2{font-size:21px}.staff-auth-fields{grid-template-columns:1fr}.staff-auth-card>footer{align-items:flex-start;flex-direction:column;gap:4px;text-align:center}.staff-auth-card>footer span,.staff-auth-card>footer a{width:100%}.staff-auth-security{display:block;text-align:center}}@media(max-width:390px){.staff-auth-showcase{padding-left:15px;padding-right:15px}.staff-auth-copy h1{font-size:24px}.staff-auth-panel{padding:0 9px}.staff-auth-card{padding:20px 14px}.staff-remember-row{padding:10px}.staff-auth-submit{height:43px}}
/* Technical service expandable cards */
@keyframes technicalOccupiedPulse{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(188,31,48,.12)}50%{opacity:.48;transform:scale(1.045);box-shadow:0 0 0 5px rgba(188,31,48,.18)}}
.technical-job-grid{align-items:start}.technical-job-card{display:block;min-height:0;padding:0;overflow:hidden;border-width:2px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.technical-job-card[open]{border-color:#d78b94;box-shadow:0 12px 28px rgba(79,55,94,.12)}.technical-job-card.occupied{border-color:#d54b5a;background:#fff9fa}.technical-job-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:12px 14px;list-style:none;cursor:pointer;user-select:none}.technical-job-summary::-webkit-details-marker{display:none}.technical-job-summary:focus-visible{outline:3px solid rgba(57,137,211,.28);outline-offset:-3px}.technical-summary-room{display:grid;gap:2px;min-width:64px}.technical-summary-room small{color:#8b99ac;font-size:7px;font-weight:900;letter-spacing:1px}.technical-summary-room strong{color:#263f60;font-size:21px;font-weight:950;line-height:1}.technical-summary-signals{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.technical-summary-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:99px;color:#b34755;background:#ffe7e9;font-size:7px;font-style:normal;font-weight:950;letter-spacing:.2px;white-space:nowrap}.technical-summary-status.resolved{color:#7b5c1d;background:#fff0cf}.technical-occupied-alert{display:inline-flex;align-items:center;gap:6px;min-height:29px;padding:0 10px;border:1px solid #b82032;border-radius:8px;color:#fff;background:linear-gradient(120deg,#9f1728,#dc4052);font-size:13px;font-weight:950;letter-spacing:1.15px;animation:technicalOccupiedPulse 1.05s ease-in-out infinite}.technical-occupied-alert i{width:7px;height:7px;border-radius:50%;background:#fff}.technical-summary-chevron{width:27px;height:27px;display:grid;place-items:center;flex:none;border:1px solid #e0c9cd;border-radius:8px;color:#b24856;background:#fff;font-size:15px;font-style:normal;font-weight:900;transition:transform .18s ease,background .18s ease}.technical-job-card[open] .technical-summary-chevron{transform:rotate(180deg);color:#fff;background:#b94756}.technical-job-card>.technical-job-content{display:block;padding:0 14px 14px;border-top:1px solid #f0d9dd;animation:technicalDetailReveal .18s ease-out}@keyframes technicalDetailReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.technical-room-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.technical-room-context>div{min-width:0;padding:8px;border:1px solid #e4eaf2;border-radius:8px;background:#fff}.technical-room-context small,.technical-room-context strong{display:block}.technical-room-context small{color:#8795a8;font-size:6px;font-weight:900;letter-spacing:.55px}.technical-room-context strong{margin-top:3px;overflow:hidden;color:#405570;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.technical-job-card .technical-occupancy-warning{border-color:#d54a5a;color:#821e2b;background:#fff0f2}.technical-job-card .technical-occupancy-warning b{font-size:9px;letter-spacing:.35px}.technical-job-card .technical-occupancy-warning span{color:#8d4b55}.technical-job-card .technical-detail-block,.technical-job-card .technical-resolution-block{margin-top:10px}.technical-job-card .technical-resolution-form{margin-top:10px!important}
@media(prefers-reduced-motion:reduce){.technical-occupied-alert{animation:none}.technical-job-card>.technical-job-content{animation:none}.technical-summary-chevron{transition:none}}
@media(max-width:620px){.technical-job-summary{align-items:flex-start;min-height:74px;padding:12px}.technical-summary-signals{align-items:flex-end;flex-wrap:wrap}.technical-occupied-alert{order:-1;font-size:12px}.technical-summary-status{font-size:6px}.technical-room-context{grid-template-columns:1fr 1fr}.technical-room-context>div:last-child{grid-column:1/-1}.technical-job-card>.technical-job-content{padding:0 12px 12px}}
/* Technical service compact cleaning refinement */
.technical-job-summary{min-height:58px;padding:9px 11px}.technical-summary-room strong{font-size:19px}.technical-summary-status{min-height:22px;padding:0 7px;font-size:7px}.technical-occupied-alert{min-height:26px;padding:0 8px;font-size:12px}.technical-summary-chevron{width:25px;height:25px}.technical-job-card>.technical-job-content{padding:0 11px 11px}.technical-job-card .technical-occupancy-warning{display:flex;align-items:center;gap:7px;margin-top:9px;padding:7px 8px}.technical-job-card .technical-occupancy-warning b{flex:none;font-size:8px}.technical-job-card .technical-occupancy-warning span{font-size:7px;line-height:1.35}.technical-job-card .technical-detail-block,.technical-job-card .technical-resolution-block{gap:3px;margin-top:8px;padding:8px}.technical-job-card .technical-detail-block strong,.technical-job-card .technical-resolution-block strong{font-size:9px}.technical-job-card .technical-resolution-form{gap:7px;margin-top:8px!important}.technical-job-card .technical-resolution-form textarea{min-height:58px;padding:8px}.technical-job-card .technical-resolution-form button{min-height:32px}.technical-cleaning-toggle{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:8px!important;border:1px solid #b9ddce;border-radius:9px;color:#286f55!important;background:#f0faf5;cursor:pointer}.technical-cleaning-toggle>input{position:absolute;opacity:0;pointer-events:none}.technical-cleaning-toggle>i{width:19px;height:19px;display:grid;place-items:center;border:1px solid #a9cebe;border-radius:6px;color:transparent;background:#fff;font-size:9px;font-style:normal;transition:.15s}.technical-cleaning-toggle>input:checked+i{border-color:#16845b;color:#fff;background:#16845b}.technical-cleaning-toggle>input:focus-visible+i{box-shadow:0 0 0 3px rgba(22,132,91,.18)}.technical-cleaning-toggle b,.technical-cleaning-toggle small{display:block}.technical-cleaning-toggle b{color:#276a52;font-size:8px}.technical-cleaning-toggle small{margin-top:2px;color:#6d897d;font-size:7px;font-weight:700;line-height:1.35}.technical-cleaning-requested{display:inline-flex!important;align-items:center;width:max-content;margin-top:3px;padding:5px 7px;border-radius:7px;color:#126444!important;background:#dcf4e8;font-size:7px!important;letter-spacing:.35px}.housekeeping-kpis{grid-template-columns:repeat(3,minmax(0,260px))}.service-kpis article.requested>span{background:linear-gradient(140deg,#14845a,#35ad7b)}.service-room.requested{border-color:#9fd5bb;background:#f4fcf8}.service-room.requested>div b{color:#14714e;background:#ddf5e9}.housekeeping-request-note{display:grid;gap:4px;margin-top:10px;padding:9px;border:1px solid #b9decb;border-radius:9px;background:#edf9f3}.housekeeping-request-note b{color:#176c4c;font-size:8px}.housekeeping-request-note span{color:#5d796d;font-size:7px;line-height:1.4}
@media(max-width:760px){.housekeeping-kpis{grid-template-columns:1fr}.technical-job-card .technical-occupancy-warning{align-items:flex-start;flex-direction:column;gap:3px}}
/* Persistent occupied-room cleaning request */
.hotel-room.cleaning-request-pending{box-shadow:inset 0 0 0 2px rgba(18,124,83,.2),0 8px 18px rgba(45,85,72,.12)}.maintenance-cleaning-pending-badge{display:flex;align-items:center;gap:5px;margin-top:9px;padding:6px 8px;border:1px solid #80bea2;border-radius:8px;color:#0b5c3e;background:linear-gradient(105deg,#ecfaf3,#d8f1e5);font-style:normal;line-height:1}.maintenance-cleaning-pending-badge i{width:16px;height:16px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:#148159;font-size:8px;font-style:normal}.maintenance-cleaning-pending-badge b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.maintenance-cleaning-pending-badge em{margin-left:auto;color:#116747;font-size:7px;font-style:normal;font-weight:900;white-space:nowrap}.quick-cleaning-pending{border-color:#b8dfcc!important;color:#176647!important;background:#eefaf4!important}
@media(max-width:620px){.maintenance-cleaning-pending-badge{align-items:flex-start;flex-wrap:wrap}.maintenance-cleaning-pending-badge em{width:100%;margin-left:21px}}
/* Cleaning request source workflow */
.quick-guest-cleaning{margin-bottom:7px;color:#fff;background:linear-gradient(105deg,#168a5d,#35ad7b)}.service-room.requested.guest-request{border-color:#9fcbe7;background:#f4fbff}.service-room.requested.guest-request>div b{color:#246e9d;background:#e2f3ff}.service-room.requested.technical-request{border-color:#9fd5bb;background:#f4fcf8}.housekeeping-request-note{display:flex;align-items:center;min-height:38px;margin-top:9px;padding:8px 9px}.housekeeping-request-note b{color:#176c4c;font-size:8px;line-height:1.45}.guest-request .housekeeping-request-note{border-color:#b8d9ec;background:#edf8ff}.guest-request .housekeeping-request-note b{color:#246b97}.service-room.requested form{margin-top:8px}.service-room.requested form button{background:linear-gradient(105deg,#168a5d,#35ad7b)}

/* Compact room cards and sales closure workflow */
.hotel-rooms{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:9px}.hotel-room{min-height:0;padding:0;border-radius:13px}.hotel-room-open{min-height:102px;padding:11px 42px 11px 12px}.room-card-heading{display:flex!important;align-items:flex-start;justify-content:space-between;gap:7px;padding:0!important}.room-card-number{display:grid;gap:3px;min-width:0}.room-card-number b{color:#203b60;font-size:18px!important;line-height:1}.room-card-number small{color:#78899f;font-size:7px;font-weight:900}.room-card-status{align-self:flex-start;max-width:88px;padding:4px 7px!important;overflow:hidden;border-radius:99px;color:#556f8e;background:#eef2f7;font-size:7px!important;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.room-card-feature{display:block;margin-top:10px!important;overflow:hidden;color:#29425f;font-size:10px!important;text-overflow:ellipsis;white-space:nowrap}.room-card-guest,.room-card-area{display:block;margin-top:4px!important;overflow:hidden;color:#506683!important;font-size:8px!important;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.room-card-occupancy{display:block;margin-top:3px!important;color:#78879a!important;font-size:7px!important;font-weight:700}.hotel-room.available .room-card-status{color:#16855a;background:#ddf7ea}.hotel-room.occupied .room-card-status,.hotel-room.arrival .room-card-status{color:#5d3cc2;background:#ede8ff}.hotel-room.reserved .room-card-status{color:#2367b2;background:#e3efff}.hotel-room.dirty .room-card-status,.hotel-room.departure .room-card-status,.hotel-room.cleaning .room-card-status{color:#a35e08;background:#fff0d5}.hotel-room.maintenance .room-card-status{color:#a73445;background:#ffe0e5}.hotel-room.sales-closed{border:2px solid #68758a;background:#f1f3f6;box-shadow:0 7px 15px rgba(43,54,72,.14)}.hotel-room.sales-closed .room-card-status{color:#fff;background:#4f5c70}.hotel-room.sales-closed .room-card-feature,.hotel-room.sales-closed .room-card-area{color:#46556a!important}.room-quick-actions{top:9px;right:9px}.room-quick-actions>summary{width:30px;height:30px;border-radius:10px;transition:transform .16s ease,box-shadow .16s ease}.room-quick-actions>summary svg{width:15px;height:15px;fill:currentColor}.room-quick-actions>summary:hover{transform:translateY(-1px);box-shadow:0 6px 13px rgba(53,69,101,.18)}.room-quick-actions>summary span{display:none}.room-quick-menu form+form{margin-top:8px}.quick-close-sale{background:linear-gradient(105deg,#4f5d72,#303b4d)}.quick-reopen-sale{background:linear-gradient(105deg,#137f58,#2fa574)}.quick-sales-closed,.sales-closed-note{padding:8px;border:1px solid #c8ced8;border-radius:8px;color:#465468;background:#f1f3f6}.sales-closed-note{display:grid;gap:5px;margin:12px 0;padding:11px 12px}.sales-closed-note b{font-size:10px}.sales-closed-note p{margin:0;font-size:9px;line-height:1.45}.sales-closed-note small{color:#748096;font-size:8px}.status-sales-closed{color:#4f5c70!important}.service-room.requested.reception-request{border-color:#cab9eb;background:#faf7ff}.service-room.requested.reception-request>div b{color:#6540b9;background:#eee7fb}.reception-request .housekeeping-request-note{border-color:#d1c3ec;background:#f5f0ff}.reception-request .housekeeping-request-note b{color:#6241a7}@media(max-width:620px){.hotel-rooms{grid-template-columns:1fr 1fr;gap:8px}.hotel-room-open{min-height:98px;padding:10px 39px 10px 10px}.room-card-status{max-width:73px;font-size:6px!important}}