/* KleenzHub workspace design. Loaded last so all modules share the same controls. */
:root{--ink:#302744;--muted:#756b84;--purple:#7353b5;--purple-dark:#30214f;--line:#e9e4ef;--canvas:#f7f6fa;--radius:18px;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;font-synthesis:none}
body{line-height:1.5}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{transition:background .15s,border-color .15s,box-shadow .15s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba9ee8;outline-offset:3px}h1,h2,h3,h4{letter-spacing:-.025em;line-height:1.25}h2{font-size:28px;margin:0 0 8px}h3{font-size:18px;margin:0 0 10px}p{line-height:1.6}a{color:#6947a5}.ui-icon{width:20px;height:20px;flex:0 0 20px;vertical-align:middle}.app{grid-template-columns:244px minmax(0,1fr)}#workspaceApp>aside{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;overflow-y:auto;background:var(--purple-dark);padding:30px 18px 20px}aside h1{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.8px;margin:0 8px 24px}.brand-mark{display:inline-flex;position:relative;justify-content:center;align-items:center;flex:0 0 38px;width:38px;height:42px;background:#c5aceb;border-radius:12px;color:#352450;font-size:31px;font-weight:850;line-height:1;font-style:normal}.brand-mark>span{position:absolute;top:4px;right:4px;font-size:12px;color:#fff}.brand-caption{display:block;font-size:10px;letter-spacing:.015em;font-weight:450;color:#d2c4e8;margin-top:5px}.workspace-badge{display:block;padding:12px 14px;border:1px solid #ffffff20;background:#ffffff08;border-radius:12px;font-size:12px;color:#e4d9f2!important}.workspace-badge:before{content:'';display:inline-block;width:7px;height:7px;background:#b6dfc7;border-radius:50%;margin-right:9px}.nav{margin-top:26px;display:grid;gap:22px}.workspace-nav-group{display:grid;gap:4px}.nav-group-label{font-size:10px;color:#bcb0d0;letter-spacing:.13em;text-transform:uppercase;margin:0 12px 7px;font-weight:650}.nav button{display:flex;align-items:center;gap:12px;padding:11px 13px;min-height:43px;font-size:13px;color:#ded5ed;border-radius:10px;font-weight:500;width:100%}.nav button .ui-icon{opacity:.75;width:18px;height:18px;flex-basis:18px}.nav button:hover{background:#ffffff0f}.nav button.active{background:#b89bdc25;color:#fff;box-shadow:inset 3px 0 #c8aceb}.nav button.active .ui-icon{color:#d9c0ff;opacity:1}.sidebar-footer{display:flex;gap:11px;align-items:center;border-top:1px solid #ffffff18;margin-top:auto;padding:28px 8px 0;color:#eee6f8;font-size:12px}.sidebar-footer>div{display:grid;gap:4px}.sidebar-footer>div>span{font-size:10px;color:#bfb1d0}.workspace-avatar{width:33px;height:33px;border-radius:50%;background:#f0cfba;color:#594335;display:grid;place-items:center;font-size:11px;font-weight:750}main{padding:32px 36px 50px;max-width:none;min-width:0}.top{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:26px;gap:18px}.page-eyebrow{font-size:10px;letter-spacing:.13em;font-weight:650;color:#92859f;margin-bottom:10px}.top h2{font-size:29px}.sub{font-size:13px;color:var(--muted)}.top>.row{gap:8px}.top .action{font-size:11px;padding:9px 12px;min-height:36px}.pill{display:inline-flex;align-items:center;background:#f1ecf8;color:#694d98;font-size:11px;border-radius:30px;padding:6px 11px;font-weight:600}#cloudstatus{max-width:230px;overflow-wrap:anywhere;background:#eaf5ee;color:#377552}#cloudstatus:before{content:'';background:currentColor;width:6px;height:6px;flex:0 0 6px;border-radius:50%;margin-right:7px}.action,.tabs button{font-size:12px;font-weight:650;min-height:40px;border-radius:10px;padding:10px 15px;line-height:1.3;color:#625171;border:1px solid #e4ddeb;background:#fff}.action:hover{background:#f6f2fc;border-color:#cabbdf}.action.primary{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 3px 7px #65459815}.action.primary:hover{background:#6543a4;border-color:#6543a4}.action .ui-icon{width:16px;height:16px;flex-basis:16px;margin-left:8px}.tabs{display:inline-flex;gap:3px;padding:4px;background:#f2eff6;border-radius:11px}.tabs button{border:0;min-height:33px;background:transparent;padding:8px 13px;white-space:nowrap}.tabs button.selected{background:#fff;color:#66449c;box-shadow:0 2px 5px #30214f10}.panel,.card{border:1px solid var(--line);box-shadow:0 3px 12px #39236a03;border-radius:var(--radius);padding:24px}.panel{margin:20px 0}.panel>.row:first-child{padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid #f0ecf5}.panel>.row:first-child h3{margin:0}.cards{gap:16px;margin:24px 0}.card{position:relative;min-width:0;padding:20px;overflow:hidden}.card .label{font-size:12px;color:#776c86}.card strong{font-size:32px;letter-spacing:-1px;font-weight:700;margin:12px 0 6px}.card .muted{font-size:11px}.metric-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f0e9fa;color:#8563b9;float:right;margin-left:6px}.metric-icon .ui-icon{width:17px;height:17px}.metric-1 .metric-icon{background:#e8f4ed;color:#4c9270}.metric-2 .metric-icon{background:#fff2df;color:#b18a41}.metric-3 .metric-icon{background:#fcece8;color:#bd7865}.workspace-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 36px;border:1px solid #e4d8f3;border-radius:22px;background:#eee6f7;position:relative;overflow:hidden}.section-eyebrow{display:block;color:#886da5;font-size:9px;letter-spacing:.17em;font-weight:750;margin-bottom:13px}.workspace-welcome h2{font-size:31px;letter-spacing:-1px;color:#493560}.workspace-welcome p{color:#86728f;font-size:12px;margin:12px 0 22px}.welcome-actions{display:flex;gap:9px;flex-wrap:wrap}.welcome-actions .action{font-size:11px}.welcome-actions .action:not(.primary){background:transparent;border-color:#d5c6e4}.welcome-art{position:relative;width:235px;height:160px;flex:0 0 235px}.art-calendar{position:absolute;top:10px;left:10px;width:184px;height:142px;border-radius:13px;background:#fff;box-shadow:0 12px 30px #533a7b16;transform:rotate(-7deg);padding:17px}.art-calendar>span{font-size:7px;color:#a295ae;letter-spacing:.13em}.art-days{display:flex;gap:7px;margin:12px 0}.art-days i{width:22px;height:5px;background:#eee8f5;border-radius:2px}.art-shift{height:14px;border-radius:4px;margin-top:6px;border-left:3px solid}.art-shift.green{background:#e5f3ea;border-color:#78b898;width:70%}.art-shift.coral{background:#fbe3e0;border-color:#d88f86;width:55%;margin-left:30%}.art-shift.gold{background:#fcf1d8;border-color:#d8b66c;width:55%;margin-left:8%}.art-spark{position:absolute;right:0;top:0;color:#b699d7;font-size:40px}.art-check{position:absolute;bottom:0;right:16px;background:#a7c9b4;border:5px solid #eee6f7;border-radius:50%;width:53px;height:53px;color:white;display:grid;place-items:center;font-size:24px;transform:rotate(9deg)}.field{font-size:12px;font-weight:600;color:#655574;gap:7px;margin:13px 0}.field input,.field select,.field textarea{background:#fff;border:1px solid #dfd7e8;border-radius:10px;padding:11px 12px;font-size:14px;color:var(--ink);min-height:43px;max-width:100%}.field input::placeholder,.field textarea::placeholder{color:#a69aaf;font-weight:400}.field input:hover,.field select:hover,.field textarea:hover{border-color:#bcaacc}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a88bcf}.formgrid{gap:6px 18px}input[type=checkbox]{accent-color:var(--purple)}.checks{gap:8px}.checks label{background:#f7f4fb;border:1px solid #ebe4f3;padding:8px 10px;border-radius:8px;font-size:12px}.checks label:has(input:checked){border-color:#bfa8de;background:#f0e8fa}.notice{background:#f2edf8;color:#78658c;border:1px solid #e5dcef;padding:14px 18px;font-size:12px;line-height:1.65}.muted{color:var(--muted);line-height:1.6}.empty{border:1px dashed #ded6e8;border-radius:12px;padding:30px 20px;background:#fbf9fd;font-size:13px}.list{gap:12px}.listitem{border:1px solid #ebe5f1;border-radius:13px;background:#fff;padding:17px}.listitem b{color:#51405f}.property-card{border-left:3px solid #bca4d7;background:#fff;box-shadow:none}.property-card:hover{border-color:#c7b4e0;background:#fcfaff}.property-summary{gap:8px 18px;font-size:12px}.property-group-button{padding:17px;border-radius:14px;border-color:#e5deee;color:#796887}.property-group-button.selected{box-shadow:inset 0 0 0 1px #c4abdf;background:#f4eefb;border-color:#c4abdf}.property-group-button strong{font-size:26px;color:#57406d}.property-group-button small{font-size:10px}.property-tabs button{background:#f5f1f9}.property-tabs button[aria-selected=true]{background:#7151a8}.property-editor{padding:0}.property-header{padding:24px}.property-footer{gap:8px}.calendarbar{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:18px;gap:7px}.calendarbar strong{font-size:13px;min-width:170px}.calendarbar .action{padding:8px 12px;min-height:35px}.legend{font-size:11px;gap:18px;margin:14px 0;color:#86778f}.dot{width:8px;height:8px;border-radius:50%;margin-right:6px}.staffgrid{border:1px solid #e9e2f0;border-radius:12px;overflow:clip;border-collapse:separate;border-spacing:0}.staffgrid th,.staffgrid td{padding:10px;border-color:#eee8f4}.staffgrid thead th{background:#f8f5fc;font-size:11px;color:#7f6d91;padding:15px 10px}.staffgrid .staffname{background:#fcfaff!important;color:#5d496f;min-width:155px;font-size:12px}.staffgrid .staffcell{min-width:132px}.staffgrid .staffcell:hover{background:#fcf9ff}.employee-hours{font-size:10px;color:#9a86ab;margin-top:8px}.job{border-radius:8px!important;border-left-width:3px;padding:10px 11px;margin:6px 0;color:#4b3b56;line-height:1.55}.staffgrid .staffcell .job{padding:9px;font-size:11px}.job .shift-time{font-size:10px;letter-spacing:.025em;opacity:.8}.job .shift-property{font-size:13px;margin:4px 0}.staffgrid .staffcell .job .shift-property{font-size:12px}.domestic{background:#edf7f0;border-color:#78b993}.holiday{background:#fff0ed;border-color:#db8e88}.commercial{background:#fff8e4;border-color:#d6b462}.construction{background:#edf3ff;border-color:#83a7df}.deep{background:#f3ecfb;border-color:#ae8dd4}.job.shift-draft{border-style:dashed!important}.rota-pack{border-radius:6px;border-color:#d2bce7;background:#f5effb;color:#80649a}.calday{background:#fdfbff;border-radius:12px}.calday h4{color:#806d91}.claimable-table{padding:14px;border-color:#e8ddf1;background:#fbf8fe;border-radius:12px;font-size:12px}.modalback{background:#21133380;backdrop-filter:blur(4px)}.modal{border:1px solid #e8e0f0;border-radius:22px;box-shadow:0 24px 80px #23143830;padding:28px;max-height:90dvh}.modal>.row:first-child{padding-bottom:16px;border-bottom:1px solid #eee6f5;margin-bottom:16px}.modal>.row:first-child h3{margin:0}.recurrence-settings,.address-lookup,.price-preview,.time-total{background:#f7f3fc;border:1px solid #ece3f5}.time-live{background:#edf7f0;border-color:#7fb798}.staff-editor-actions{padding-top:16px;border-top:1px solid var(--line);margin-top:18px}.staff-editor-actions .action{flex:0 1 auto}#staffaccess{max-width:1000px}.cloudmessage{border:1px solid #ead1a2;font-size:13px;margin-bottom:16px}.error{font-size:12px;line-height:1.6}.authscreen{background:#f4f0f9;position:relative;padding:40px 20px}.authscreen:before{content:'KLEENZHUB / MANAGEMENT';position:absolute;top:28px;left:34px;color:#806994;font-size:10px;letter-spacing:.16em;font-weight:650}.authscreen[data-audience=staff]{background:#edf5f1}.authscreen[data-audience=staff]:before{content:'KLEENZHUB / STAFF';color:#658873}.authbox{max-width:460px;border:1px solid #e6dced;border-radius:24px;padding:36px;box-shadow:0 16px 50px #48315b0a}.auth-brand-mark{display:flex;width:46px;height:48px;margin-bottom:22px}.authbox h1{font-size:25px;letter-spacing:-.8px;color:#49345f;margin:14px 0 6px}.authbox h2{font-size:18px;margin:22px 0 10px}.authbox p{font-size:12px;color:#8b7995}.auth-audience{border-radius:7px;font-size:10px;letter-spacing:.04em;padding:5px 9px;background:#f1eaf8}.authscreen[data-audience=staff] .auth-audience{background:#e8f3ed;color:#4f7e63}.authscreen[data-audience=staff] .auth-brand-mark{background:#b7d8c5}.auth-tabs{display:flex;background:#f5f1f9;padding:4px;border-radius:10px;gap:3px;margin:22px 0}.auth-tabs .action{flex:1;border:0;background:transparent;font-size:12px;min-height:37px}.auth-tabs [aria-current=page]{background:#fff;color:#69479f;box-shadow:0 2px 6px #38244510}.authbox form>button[type=submit]{width:100%;margin-top:12px;min-height:44px}.auth-link{font-size:12px;color:#816695;padding:13px 0;text-underline-offset:3px}.auth-entry-switch{margin-top:20px;padding-top:18px;text-align:center}.auth-entry-switch a{font-size:12px}#confirmationhelp{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;font-size:11px;color:#8b7995}#confirmationhelp summary{cursor:pointer}#authmessage:not(:empty){padding:12px 14px;background:#f5f0fa;border-radius:10px;color:#6c4c86}#staff-shell{background:#f7f6fa;color:var(--ink);padding-bottom:calc(95px + env(safe-area-inset-bottom))}.staff-topbar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);padding:calc(15px + env(safe-area-inset-top)) max(20px,calc((100% - 680px)/2)) 15px}.staff-brand{display:flex;gap:10px;align-items:center;color:#4a345e;font-size:21px;letter-spacing:-.6px}.staff-brand .brand-mark{margin:0;color:#493560;font-size:29px}.staff-wordmark{margin:0!important;color:#493560!important;font-size:21px!important}.staff-wordmark small{display:block;font-size:8px;letter-spacing:.14em;color:#947da4;font-weight:600;margin-top:3px}.staff-app-body{max-width:720px;padding:22px}.staff-greeting{padding:24px 0 14px}.staff-greeting h1{font-size:32px;color:#49345f;margin:10px 0 18px}.staff-greeting>p:first-child{font-size:11px;color:#9984a9}.staff-greeting .row .muted{font-size:10px}.staff-week-controls{background:#fff;border:1px solid var(--line);padding:12px;border-radius:14px;gap:6px}.staff-week-controls .field{font-size:10px}.staff-week-controls .field input{border:0;background:#f8f5fb;padding:7px 9px;min-height:36px}.staff-week-controls .action{font-size:11px;padding:9px;min-height:36px}.staff-week-controls .field{min-width:0}#staff-week-label{font-size:11px;margin:12px 4px}.staff-stats{gap:10px;margin:18px 0 30px}.staff-stats div{border:1px solid var(--line);border-radius:14px;padding:17px 8px;box-shadow:none;text-align:left}.staff-stats strong{font-size:25px;letter-spacing:-1px;color:#77539e;padding-left:10px}.staff-stats span{font-size:10px;padding-left:10px;color:#a08ba9}.staff-stats div:nth-child(2) strong{color:#5a9476}.staff-stats div:nth-child(3) strong{color:#c09062}#staff-shell h2{font-size:20px;margin-bottom:18px}.staff-day{margin-bottom:24px}.staff-day>.row{margin-bottom:8px}.staff-day h3{font-size:13px;letter-spacing:0;color:#7f6b91}.staff-day>.row>small{font-size:11px;color:#a18cac}.staff-day.is-today>.row h3{color:#684a8e}.staff-visit{border:1px solid #e4dce9;border-left:4px solid;border-radius:15px;padding:18px 20px;gap:7px;box-shadow:0 3px 10px #37234503;margin:10px 0}.staff-visit.domestic{border-left-color:#78b993}.staff-visit.holiday{border-left-color:#db8e88}.staff-visit.commercial{border-left-color:#d6b462}.staff-visit.construction{border-left-color:#83a7df}.staff-visit.deep{border-left-color:#ae8dd4}.staff-visit strong{font-size:20px;letter-spacing:-.5px;color:#4e3c5b}.staff-visit-time{font-size:11px;letter-spacing:.025em;color:#8b7498}.staff-visit>span:not(.staff-visit-time){font-size:12px;color:#8d7899}.staff-visit small{font-size:11px;color:#9c87a5}.staff-visit .staff-card-link{font-size:11px!important;border-top:1px solid #00000008;padding-top:11px;margin-top:6px;color:#78598d!important}.staff-rest-day{padding:12px 15px;background:#f0edf4;color:#a393af;font-size:11px;border-radius:10px}.staff-pack{border-color:var(--line);border-radius:15px}.staff-team-card{padding:20px;border:1px solid #e8deed;border-left:4px solid;border-radius:14px;margin:10px 0}.staff-team-card h4{font-size:18px;margin:12px 0 8px}.staff-team-card p{font-size:12px;margin:6px 0}.staff-team-card .row{font-size:11px}.staff-team-card .pill{font-size:9px}.staff-preview{background:#f3edf9;border-color:#e1d4ed;border-radius:14px;padding:18px}.staff-preview b{font-size:12px}.staff-preview p{font-size:11px}.staff-bottom-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;max-width:720px;left:50%;right:auto;transform:translateX(-50%);width:100%;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffffa;border:1px solid #e5dcec;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -5px 24px #39236a06;overflow:visible}.staff-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:55px;max-width:none;padding:8px 2px;font-size:9px;color:#9a86a7;border-radius:11px;font-weight:600;white-space:nowrap}.staff-bottom-nav button.selected{background:#f0e8fa;color:#77539e}.staff-bottom-nav button .ui-icon{width:19px;height:19px}.staff-install{font-size:11px;color:#a18bac}.staff-detail-time{background:#f1eaf8;color:#77588d;font-size:13px}.time-entry p,.mileage-entry p{font-size:13px}.time-total{box-shadow:none}.staff-mode .time-total strong{font-size:25px}
@media(min-width:1600px){main{padding-left:48px;padding-right:48px}.workspace-welcome{padding:36px 44px}.workspace-welcome h2{font-size:36px}.welcome-art{margin-right:5%}}
@media(max-width:1100px){.app{grid-template-columns:210px minmax(0,1fr)}#workspaceApp>aside{padding:26px 12px}main{padding:26px 24px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-welcome{padding:26px}.welcome-art{width:180px;flex-basis:180px}.art-calendar{width:150px}.art-spark{right:-10px}.workspace-welcome h2{font-size:27px}.calendarbar .tabs{margin-left:0}.top>.row{width:100%}}
@media(max-width:850px){.app{grid-template-columns:minmax(0,1fr)}#workspaceApp>aside{position:static;height:auto;overflow:visible;padding:18px 20px 8px}aside h1{font-size:22px;margin:0 0 15px}.brand-caption{display:none}.workspace-badge,.sidebar-footer,.nav-group-label{display:none!important}.nav{display:flex;gap:4px;overflow-x:auto;margin:0;padding:0 0 10px}.workspace-nav-group{display:contents}.nav button{width:auto;flex:0 0 auto;min-height:37px;padding:8px 12px;font-size:11px;gap:7px;white-space:nowrap}.nav button .ui-icon{width:15px;height:15px;flex-basis:15px}.nav button.active{box-shadow:none;background:#b89bdc35}.top{margin-bottom:20px;padding-bottom:20px}.top h2{font-size:25px}.page-eyebrow{font-size:8px}main{padding:24px 20px}.workspace-welcome h2{font-size:25px}.welcome-art{transform:scale(.9);transform-origin:right center}.panel{padding:20px}.staffgrid{min-width:980px}.legend{gap:12px}.modal{padding:22px}.property-editor{padding:0}}
@media(max-width:560px){main{padding:20px 14px 36px}.top>.row{gap:6px}.top .action{padding:8px 10px;font-size:10px}.top #cloudstatus{font-size:9px;padding:7px 9px}.workspace-welcome{padding:24px;gap:0}.workspace-welcome h2{font-size:26px;max-width:235px}.workspace-welcome p{max-width:240px}.welcome-art{display:none}.section-eyebrow{font-size:8px}.cards{gap:10px;margin:16px 0}.card{padding:16px;min-height:133px}.card .label{display:block;max-width:90px;font-size:10px}.card strong{font-size:28px;margin:14px 0 4px}.card .muted{font-size:9px}.metric-icon{width:25px;height:25px;border-radius:8px;position:absolute;right:12px;top:12px}.metric-icon .ui-icon{width:14px;height:14px}.panel{padding:16px;border-radius:15px}.panel>.row:first-child{gap:12px}.panel h3{font-size:16px}.panel .tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.panel .tabs button{font-size:10px;padding:8px 10px}.calendarbar strong{min-width:140px;font-size:11px}.calendarbar .tabs{width:100%;justify-content:center;margin-top:4px}.calendarbar .tabs button{flex:1}.calendarbar .action{padding:7px 10px;min-height:34px}.legend{font-size:9px;gap:10px}.formgrid{grid-template-columns:minmax(0,1fr)}.formgrid .full{grid-column:auto}.modalback{padding:10px}.modal{padding:20px;max-height:94dvh;border-radius:18px}.property-editor{padding:0}.field input,.field select,.field textarea{font-size:16px}.property-summary{font-size:11px}.property-group-tabs{gap:8px}.property-group-button{padding:13px}.staff-app-body{padding:18px 16px}.staff-greeting h1{font-size:30px}.staff-topbar{padding-left:18px;padding-right:18px}.staff-week-controls{padding:10px}.staff-stats strong{font-size:23px}.staff-stats span{font-size:9px}.authscreen{padding:72px 16px 28px;align-items:start}.authscreen:before{top:28px;left:22px;font-size:9px}.authbox{padding:28px 24px;border-radius:20px}.authbox h1{font-size:24px}.authbox .field input{font-size:16px}.property-facts{grid-template-columns:minmax(0,1fr)}.staff-facts dd{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.account-identity{display:block;font-size:10px;color:#86718e;overflow-wrap:anywhere}.staff-account-identity{max-width:680px;margin:12px auto 0;padding:0 20px;font-size:10px}.rota-context{padding:8px 0 16px;font-size:12px;color:#887393}.rota-context .auth-link{padding:2px 4px}.company-settings-panel{max-width:780px}.company-logo-editor{display:flex;align-items:center;gap:24px;margin:22px 0}.company-logo-frame{width:120px;height:120px;flex:0 0 120px;border:1px dashed #d9cce7;border-radius:18px;background:#faf7fd;display:grid;place-items:center;padding:12px}.company-logo-frame img{max-width:96px;max-height:96px;object-fit:contain}.company-logo-frame span{font-size:12px;color:#ad96b8}.company-logo{width:40px;height:42px;flex:0 0 40px;border-radius:10px;object-fit:contain;background:#fff;padding:3px}.staff-brand .company-logo{width:38px;height:40px}.company-settings-panel input[type=file]{width:100%;font-size:12px}.company-settings-panel #company-settings-message{font-size:12px;color:#7d5e92}.account-identity[hidden]{display:none!important}@media(max-width:560px){.company-logo-editor{gap:14px;align-items:flex-start}.company-logo-frame{width:80px;height:80px;flex-basis:80px;padding:8px}.company-logo-frame img{max-width:64px;max-height:64px}.company-logo-editor>div:last-child{min-width:0}.top>.row>.account-identity{width:100%;font-size:10px}}
.staff-home-clock{margin:0 0 24px}.staff-home-clock>.panel{margin:0;border:1px solid #d9c8ed;background:#fff;box-shadow:0 5px 20px #66449809;padding:22px}.clock-eyebrow{display:block;font-size:9px;letter-spacing:.13em;color:#9a7bb5;font-weight:750;margin-bottom:9px}#time-clock h3{font-size:24px;margin:4px 0 10px}#time-clock .muted{font-size:12px;margin:8px 0 16px}.clock-main-button{width:100%;min-height:48px;font-size:15px!important;margin-top:8px}#time-clock .time-live{border:0;padding:4px;background:transparent}#time-clock .time-live .clock-eyebrow{color:#4b936d}#time-clock .time-live .clock-main-button{background:#4d8a68;border-color:#4d8a68}#time-clock-error:empty{display:none}#time-clock .field{font-size:12px}#time-clock .auth-link{font-size:11px}#time-clock input,#time-clock select{width:100%}@media(max-width:560px){.staff-home-clock>.panel{padding:20px}.staff-greeting{padding-bottom:8px}.staff-home-clock{margin-bottom:20px}}
.cleaning-overview{border-collapse:separate;border-spacing:0;font-size:11px;min-width:100%;border:1px solid #e8e0ef;border-radius:12px;background:white}.cleaning-overview caption{text-align:left;color:#8f7a9c;font-size:11px;padding:0 0 14px;line-height:1.6}.cleaning-overview th,.cleaning-overview td{border-right:1px solid #f0eaf5;border-bottom:1px solid #eee7f3;padding:7px 4px;text-align:center;min-width:48px;vertical-align:top}.cleaning-overview thead th{background:#f8f4fc;color:#8e779f;font-size:11px;font-weight:600;padding:13px 5px;position:sticky;top:0;z-index:2}.cleaning-overview th small{display:block;font-size:9px;color:#b09abc;margin-top:4px;font-weight:400}.cleaning-overview .overview-property{position:sticky;left:0;background:#fcf9ff;min-width:180px;max-width:210px;text-align:left;z-index:3;padding:14px;font-weight:650;color:#6b507d}.cleaning-overview thead .overview-property{z-index:4}.cleaning-overview .overview-today{background:#f7f0ff}.cleaning-overview .overview-clean{min-width:40px;width:100%;padding:6px 3px;margin:3px 0;font-size:9px;line-height:1.35;border:1px solid #0000000a;border-left:2px solid;border-radius:5px!important;cursor:pointer;text-align:center}.overview-clean strong{font-size:9px;font-weight:600}.overview-clean small{font-size:8px}.overview-empty{display:block;padding:8px;color:#d3c5df}#cleaning-overview-tools{display:flex;align-items:center;gap:20px;justify-content:space-between}#cleaning-overview-tools .field{min-width:220px;max-width:350px;flex:1}#cleaning-overview-tools p{max-width:440px;font-size:11px}@media(max-width:560px){.cleaning-overview .overview-property{min-width:135px;padding:12px 9px}.cleaning-overview th,.cleaning-overview td{min-width:44px}#cleaning-overview-tools{display:block}}
.guest-toolbar{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.guest-toolbar .calendarbar{border:0;margin:0;flex:1}.guest-toolbar .field{min-width:150px}.guest-toolbar .field:last-child{flex:1;min-width:210px}.guest-legend{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0;font-size:11px;color:#887194}.guest-legend span{display:flex;align-items:center;gap:7px}.guest-legend i{width:12px;height:12px;display:inline-block;border-radius:4px}.guest-calendar{border-collapse:separate;border-spacing:0;border:1px solid #e9e1ee;border-radius:12px;font-size:11px;min-width:100%}.guest-calendar caption{text-align:left;font-size:11px;color:#957e9e;padding-bottom:14px;line-height:1.6}.guest-calendar th,.guest-calendar td{border-right:1px solid #eee7f3;border-bottom:1px solid #eee7f3;padding:5px 2px;text-align:center;min-width:43px;height:54px}.guest-calendar thead th{position:sticky;top:0;z-index:2;background:#f8f4fc;color:#8c749b;font-weight:600;padding:12px 4px}.guest-calendar th small{display:block;font-weight:400;font-size:9px;color:#ae98ba;margin-top:4px}.guest-calendar .guest-property{position:sticky;left:0;z-index:3;min-width:190px;max-width:220px;background:#fcf9ff;text-align:left;padding:14px;font-weight:650;color:#684c7c}.guest-calendar thead .guest-property{z-index:4}.guest-cell{min-height:36px;width:100%;border:1px solid transparent;border-radius:5px;font-size:9px;padding:7px 2px;cursor:pointer;white-space:nowrap}.guest-arrival{background:#bfe4d0;color:#32694c}.guest-occupied{background:#e2eafa;color:#7588aa}.guest-departure{background:#f4cac3;color:#9a5b54}.guest-changeover{background:#e4d0f4;color:#7a4e9f;font-weight:700}.guest-vacant{background:white;color:#d3c3dd}.guest-cell:hover{outline:2px solid #af8ace;outline-offset:-1px}.guest-today{background:#fbf4ff}.guest-record{padding:20px}.guest-record>.row b{font-size:16px}.guest-record>.row .muted{font-size:11px}.guest-dates{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0;color:#9a84a6;font-size:10px}.guest-dates strong{display:block;color:#6c517c;font-size:12px;font-weight:600;margin-top:5px}.guest-review{background:#fff7df;border:1px solid #ecdaa3;border-radius:10px;color:#987329;padding:12px;font-size:12px;line-height:1.6}.guest-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.guest-editor-dialog{width:min(660px,100%)}.guest-clean-option{display:block;font-size:13px;margin:18px 0 8px}.guest-editor-dialog #guest-save{width:100%;min-height:44px;margin-top:16px}.guest-editor-dialog .notice{font-size:11px}#guest-message:not(:empty){background:#f4eefb;border-radius:10px;padding:14px;font-size:12px;color:#7f5c96}#guest-message:empty{display:none}@media(max-width:560px){.guest-calendar .guest-property{min-width:140px;padding:12px 8px}.guest-calendar th,.guest-calendar td{min-width:39px}.guest-cell{font-size:8px}.guest-toolbar .calendarbar{width:100%;flex:auto}.guest-dates{gap:12px}.guest-legend{gap:12px;font-size:10px}.guest-record{padding:16px}}
.live-elapsed{display:grid;gap:4px;margin:18px 0 20px}.live-elapsed>span{font-size:11px;color:#7d9a87}.live-elapsed output{font-size:42px;font-weight:700;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;color:#4d8a68;line-height:1.2}.live-elapsed small{font-size:9px;letter-spacing:.04em;color:#9cad9f}.booking-property-field{position:relative}.booking-property-picker{position:relative;min-width:0}.property-picker-toggle{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;min-height:44px;border:1px solid #dfd3eb;border-radius:10px;background:#fff;padding:12px 14px;font:inherit;font-size:14px;color:#5d446f;cursor:pointer}.property-picker-toggle:after{content:'⌄';color:#a48bb6}.property-picker-toggle[aria-expanded=true]{border-color:#a98ac8;border-radius:10px 10px 0 0;background:#fdfbff}.property-picker-panel{border:1px solid #ccb8de;border-top:0;background:#fff;border-radius:0 0 12px 12px;padding:12px;box-shadow:0 8px 18px #54356e0a}.property-picker-panel .field{margin:0 0 10px;font-size:11px}.property-picker-options{max-height:220px;overflow:auto;overscroll-behavior:contain}.property-picker-options>button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #f0e9f5;background:white;padding:12px 10px;cursor:pointer;border-radius:7px;color:#725385}.property-picker-options>button strong{display:block;font-size:13px;font-weight:600}.property-picker-options>button small{display:block;font-size:10px;color:#a08aab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.property-picker-options>button:hover,.property-picker-options>button.picker-focused{background:#f4edfb}.property-picker-options>button[aria-selected=true]{background:#eee4f8;color:#67408d}.property-picker-count{display:block;margin:10px 4px 0;font-size:10px;color:#a38bae}.guest-bulk-dialog{width:min(980px,100%)}#guest-bulk-fields{border:0;padding:0;min-width:0}.guest-bulk-row{display:grid;grid-template-columns:25px minmax(130px,1fr) minmax(130px,1fr) minmax(130px,1.2fr) auto;align-items:end;gap:10px;padding:12px 0;border-bottom:1px solid #eee6f4}.guest-bulk-row .field{margin:0;font-size:11px}.guest-bulk-row .action{min-height:43px;font-size:10px}.bulk-row-number{align-self:center;margin-top:18px;font-size:11px;color:#b098bb}#guest-bulk-rows{margin:16px 0}#guest-bulk-save{width:100%;margin-top:14px;min-height:46px}#guest-bulk-open{margin-left:auto}#guest-bulk-error{white-space:pre-wrap;line-height:1.6}@media(max-width:650px){.guest-bulk-row{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr)}.guest-bulk-row .bulk-reference{grid-column:2/4}.guest-bulk-row>[data-bulk-remove]{grid-column:3;justify-self:end;min-height:32px}.guest-bulk-row .field input{min-width:0;width:100%;padding:10px 7px}.bulk-row-number{grid-row:1/3;margin:0}.property-picker-panel input{font-size:16px}.live-elapsed output{font-size:40px}}
/* Staff workspace: compact summaries, calm calendars and dedicated time off. */
.staff-period-switch{display:flex;align-items:center;justify-content:space-between;margin:8px 0 14px;padding:4px}.staff-period-switch>span{font-size:11px;color:#a28bae}.staff-period-switch .tabs{padding:4px}.staff-period-switch button{min-width:72px;min-height:33px;font-size:11px}.staff-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:13px;background:#fff;border:1px solid #ebe1f3;border-radius:18px;margin:18px 0 10px}.staff-month-heading{text-align:center;font-size:10px;color:#b5a0c1;padding:8px 0 11px}.staff-month-day{border:2px solid transparent;border-radius:11px;padding:10px 2px;background:#faf7fd;min-height:78px;color:#8d729d;cursor:pointer;display:grid;gap:7px;justify-items:center;align-content:center;font:inherit}.staff-month-day strong{font-size:13px;font-weight:600}.staff-month-day.selected{border-color:#b795d4;background:#f1e8fa;color:#785092}.staff-month-day.today strong{background:#9c76bd;color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.staff-month-count{font-size:9px;color:#c5b2ce}.staff-month-count.has-work{font-weight:600;color:#a17bb7}.staff-month-dots{display:flex;gap:3px;height:5px}.staff-month-dots i{width:5px;height:5px;border-radius:50%;border:0}.staff-month-dots .holiday{background:#d98d85}.staff-month-dots .domestic{background:#85b699}.staff-month-dots .commercial{background:#d7b460}.staff-month-dots .construction{background:#8caadc}.staff-month-dots .deep{background:#b491d2}.staff-month-outside{display:grid;place-items:center;color:#dbcedf;font-size:12px;min-height:78px}.month-help{text-align:center;font-size:10px;color:#ae96b9;margin:9px 0 22px}#staff-shell:not([data-staff-page="rota"]) .staff-greeting{padding-top:12px;padding-bottom:7px}#staff-shell:not([data-staff-page="rota"]) .staff-greeting h1,#staff-shell:not([data-staff-page="rota"]) #staff-person-note{display:none}#staff-shell:not([data-staff-page="rota"]) .staff-account-identity{font-size:9px}#staff-view-timesheets #time-summary-panel{background:#fff;border-color:#e8ddf0}#time-total{background:none;border:0;padding:0;margin:18px 0 9px;display:block}.timesheet-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.timesheet-metrics>div{border:1px solid #eae0f2;background:#faf7fd;border-radius:13px;padding:16px 12px;min-width:0}.timesheet-metrics>div>span{font-size:10px;color:#ae97b8;display:block;line-height:1.5;min-height:30px}#time-total .timesheet-metrics strong{display:block;font-size:22px;color:#886397;font-weight:650;letter-spacing:-.6px;margin:6px 0 0;font-variant-numeric:tabular-nums}#time-total .timesheet-metrics strong small{font-size:10px;font-weight:400;color:#b19aba}.timesheet-hint{font-size:10px!important;line-height:1.7!important;color:#af99b9!important;margin:14px 0 4px}#time-period{font-size:12px;font-weight:500;letter-spacing:0;color:#a286b2;margin:18px 0 10px}.staff-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.staff-section-heading h3{font-size:16px;color:#8d6a9c;margin:0}.staff-section-heading .muted{font-size:10px}.daily-hours-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.daily-hours-heading{text-align:center;color:#bda7c7;font-size:9px;padding:6px 0 10px}.daily-hours-day{min-height:55px;border-radius:10px;padding:10px 2px;background:#fcfaff;display:grid;align-content:center;justify-items:center;gap:6px}.daily-hours-day>span{font-size:10px;color:#baa1c4}.daily-hours-day strong{font-size:10px;font-weight:600;color:#aa86bb;font-variant-numeric:tabular-nums}.daily-hours-day.has-hours{background:#f0e9f8}.daily-hours-day.has-hours strong{color:#8c63a0}.daily-hours-day.is-running{box-shadow:inset 0 0 0 1px #dfc69a}.daily-hours-day.is-running strong{color:#b29459}#staff-view-timesheets #time-clock .live-elapsed output{font-size:32px}#staff-view-timesheets #time-clock h3{font-size:20px}#staff-view-timesheets .time-entry{padding:17px 0}#staff-view-timesheets .time-entry>.row>b{font-size:13px;font-weight:600;color:#8d6a9c}#staff-view-timesheets .time-entry p{font-size:11px;color:#ab90b7;line-height:1.7}#staff-view-timesheets .time-entry>small{font-size:10px;color:#b59cc1}#staff-view-timesheets .time-entry .pill{font-size:9px;background:#f3edf9;color:#a284b3}#time-review-note:empty{display:none}.timeoff-intro{background:#efe8f6;border:1px solid #e8dbf0;padding:24px;border-radius:18px;margin:12px 0 28px}.timeoff-intro h2{font-size:26px!important;color:#755584;margin:12px 0}.timeoff-intro .section-eyebrow{font-size:9px;color:#ad93bd}.timeoff-intro .muted{font-size:12px;line-height:1.8}.timeoff-intro .action{margin-top:9px;min-height:44px}.holiday-card{background:white;border:1px solid #ebe1f2;border-radius:15px;padding:20px;margin:12px 0}.holiday-card strong{font-size:13px;font-weight:600;color:#866394}.holiday-card p{font-size:12px;color:#ab8fb8;line-height:1.7;margin:10px 0}.holiday-card .field textarea{min-height:66px;font-size:13px}.holiday-status{display:inline-block;padding:6px 10px;font-size:10px;font-weight:600;border-radius:8px;background:#f1eaf7;color:#a38aae;text-transform:capitalize}.holiday-status.status-pending{background:#fff5df;color:#b49a61}.holiday-status.status-approved{background:#e9f4ee;color:#7ca58a}.holiday-status.status-rejected,.holiday-status.status-cancelled{background:#fcefe9;color:#c49282}.holiday-review-note{border-left:2px solid #dbc5e9;padding-left:12px}.holiday-actions{display:flex;gap:9px;margin-top:14px}.holiday-staff-section{margin-bottom:28px}.nav-count{margin-left:auto;background:#b497d4;color:#fff;border-radius:6px;padding:2px 6px;font-size:9px}.holiday-card .auth-link{font-size:11px;color:#b097bf}#holiday-request-form>button{width:100%;min-height:44px;margin-top:16px}#holiday-request-modal .muted{font-size:12px}#holiday-staff-message:empty{display:none}.staff-bottom-nav button{font-size:9px}
@media(max-width:560px){.staff-month-grid{padding:8px;gap:3px}.staff-month-day,.staff-month-outside{min-height:66px}.staff-month-day{padding:8px 1px;gap:6px}.staff-month-count{font-size:8px}.staff-month-heading{font-size:9px}.staff-period-switch button{min-width:66px}.timesheet-metrics{gap:7px}.timesheet-metrics>div{padding:13px 9px}.timesheet-metrics>div>span{font-size:9px;min-height:27px}#time-total .timesheet-metrics strong{font-size:19px}.daily-hours-day{min-height:49px;padding:8px 1px}.daily-hours-day strong{font-size:9px}.timeoff-intro{padding:21px}.holiday-card{padding:18px}.holiday-card>.row{align-items:start}.holiday-card>.row .holiday-status{font-size:9px}.staff-section-heading h3{font-size:15px}}
/* Keep the soft palette readable on small screens. */
.holiday-card p,.timeoff-intro .muted{color:#887093}.holiday-card strong{color:#785582}.timesheet-hint{color:#8c7498!important}.timesheet-metrics>div>span{color:#8f729d}#time-total .timesheet-metrics strong{color:#7b548c}.daily-hours-day.has-hours strong{color:#81588f}.staff-month-count.has-work{color:#8f67a2}#staff-view-timesheets .time-entry p{color:#8c729a}.staff-month-count{font-size:9px}
/* Recorded-work browser */
#staff-view-timesheets #time-clock{display:none!important}#time-clock[hidden]{display:none!important}
#staff-view-timesheets #time-summary-panel h3{font-size:24px;color:#51356f;margin:5px 0 0}#staff-view-timesheets #time-summary-panel .formgrid{margin-top:17px}#staff-view-timesheets #time-summary-panel .field{font-size:11px;color:#746480}.timesheet-pay-label{font-size:11px;color:#766983;margin:12px 0}.timesheet-view-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.timesheet-range-nav{display:flex;align-items:center;gap:10px}.timesheet-range-nav strong{font-size:13px;color:#604476}.timesheet-range-nav .action{min-width:36px}.timesheet-browser{padding:16px!important}.worked-day{margin:20px 0 26px}.worked-day-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #eee7f3}.worked-day-heading h4{font-size:12px;color:#776780;font-weight:600;margin:0}.worked-day-heading>span{font-size:12px;color:#71518c;font-weight:650}.worked-shift{display:flex;align-items:center;gap:12px;width:100%;padding:17px 0;text-align:left;border:0;border-bottom:1px solid #f0eaf5;background:transparent;cursor:pointer}.worked-shift:hover{background:#faf7fd}.worked-shift-icon{display:grid;place-items:center;background:#f0e9f7;color:#8156a2;width:36px;height:40px;border-radius:10px;flex-shrink:0}.worked-shift-copy{display:grid;gap:6px;min-width:0;flex:1}.worked-shift-copy strong{font-size:14px;color:#563c6c;font-weight:650;overflow-wrap:anywhere}.worked-shift-copy>span{font-size:11px;color:#81718c}.worked-shift-hours{text-align:right;font-size:15px;font-weight:650;color:#6e4790;font-variant-numeric:tabular-nums}.worked-shift-hours small{display:block;font-size:9px;font-weight:500;color:#8c769e;margin-top:5px}.timesheet-empty{padding:35px 15px;text-align:center;color:#766383}.timesheet-empty strong{font-size:14px}.timesheet-empty p{font-size:12px;max-width:320px;margin:10px auto}.daily-hours-day{cursor:pointer;border:1px solid transparent;width:100%;font:inherit}.daily-hours-day:hover{border-color:#bea2d1}.daily-hours-day>span{color:#8c739c}.daily-hours-day strong{color:#8b749a}#time-total .timesheet-metrics strong{font-size:22px;color:#67447f}.timesheet-metrics>div>span{color:#7b658d}.timesheet-detail details{margin:18px 0}.timesheet-detail p{font-size:13px;color:#796488}.action.danger{color:#a3465c;background:#fcf1f3;border-color:#f1d8df}#guest-message .action{margin:8px}.timesheet-range-nav .auth-link{font-size:11px}@media(max-width:560px){.timesheet-view-controls{display:grid}.timesheet-range-nav{justify-content:space-between;gap:7px}.timesheet-range-nav strong{font-size:12px}.worked-shift-copy strong{font-size:13px}.worked-shift-copy>span{font-size:10px}.worked-shift-hours{font-size:14px}.worked-shift{gap:9px}.worked-shift-icon{width:30px;height:36px}}
.timesheet-view-controls .staff-period-switch{display:flex;gap:3px;background:#f0eaf7;padding:4px;border-radius:11px}.timesheet-view-controls [data-time-view]{border:0;background:transparent;padding:9px 18px;border-radius:8px;color:#937da3;font-size:12px;cursor:pointer}.timesheet-view-controls [data-time-view][aria-pressed="true"]{background:#fff;color:#68437e;box-shadow:0 1px 4px #49316b10}
