/* Cleaning company, the manager's desktop at 5 h 42: cool white, navy ink, one blue for what can be acted on. Three state colours carry the planning: green covered, orange at risk, red without agent. A light status line, a compact page switch, then the planning board. */

:root{--ink:#0e1c2c;--bl:#1450b8;--bll:#e3ecfb;--mut:#4d5b6b;--ln:#b7c1cd;--bg:#e7ecf1;--soft:#f3f5f8;--red:#b3261e;--rl:#fbe9e7;--g:#12703f;--gl:#dff1e6;--or:#a8480a;--orl:#fde6d3;--mono:"Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box;margin:0;padding:0}
body.pro{background:var(--bg);color:var(--ink);font:14.5px/1.4 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit}
button,input{font:inherit;color:inherit}
ul,ol{list-style:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--bl);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* STATUS LINE: the hour, the firm, the three counts of the day */
.bar{display:flex;align-items:center;gap:16px;min-height:54px;padding:8px 20px;background:#fff;border-bottom:2px solid var(--ink)}
.clock{font:600 21px/1 var(--mono);letter-spacing:-.03em;background:var(--ink);color:#fff;padding:8px 12px;border-radius:6px;white-space:nowrap}
.firm b{font-size:17px;font-weight:800}
.firm span{font-size:13.5px;color:var(--mut);margin-left:12px}
.tally{margin-left:auto;display:flex;gap:8px}
.tally li{display:flex;align-items:center;gap:7px;padding:5px 11px;border:2px solid;border-radius:6px;font-size:13.5px;font-weight:600;white-space:nowrap}
.tally i{width:10px;height:10px;border-radius:2px;background:currentColor}
.tally b{font:600 15px/1 var(--mono)}
.t-ok{color:var(--g);background:var(--gl)}
.t-risk{color:var(--or);background:var(--orl)}
.t-open{color:#fff;background:var(--red);border-color:var(--red)!important}
.tally .zero{color:var(--mut);background:#fff;border-color:var(--ln)!important}
.demo{font-size:12.5px;color:var(--mut);border:1px dashed var(--ln);border-radius:5px;padding:4px 8px;white-space:nowrap}

/* PAGE SWITCH: joined cells, the open page in ink */
.switch{display:flex;padding:12px 20px 0}
.switch a{display:flex;align-items:center;gap:8px;height:36px;padding:0 16px;margin-left:-2px;background:#fff;border:2px solid var(--ink);font-size:14.5px;font-weight:600;text-decoration:none;white-space:nowrap}
.switch a:first-child{margin-left:0;border-radius:7px 0 0 7px}
.switch a:last-child{border-radius:0 7px 7px 0}
.switch a[aria-current]{background:var(--ink);color:#fff;font-weight:800}
.switch b{min-width:19px;padding:2px 5px;border-radius:10px;background:var(--red);color:#fff;font:600 12px/1.25 var(--mono);text-align:center}
.switch b[hidden]{display:none}

.page{padding:12px 20px 20px}
.page>noscript p{background:#fff;border:2px solid var(--ink);border-radius:8px;padding:14px 16px}

/* SHARED: page head, panels, tables, chips, buttons */
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.ph h1{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.ph p{font-size:14px;color:var(--mut);margin-top:2px}
.panel{background:#fff;border:2px solid var(--ink);border-radius:10px}
.scroll{overflow-x:auto}
.tb{width:100%;border-collapse:collapse;font-size:13.5px}
.tb th,.tb td{padding:6px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--ln)}
.tb thead th{font-size:12.5px;font-weight:600;color:var(--mut);background:var(--soft);border-bottom:2px solid var(--ink);white-space:nowrap}
.tb thead th:first-child{border-top-left-radius:8px}
.tb thead th:last-child{border-top-right-radius:8px}
.tb tbody th{font-weight:600}
.tb tbody th a,.tb td>a{font-weight:800;text-decoration:underline;text-decoration-color:var(--ln);text-underline-offset:3px}
.tb a:hover{text-decoration-color:var(--ink)}
.tb small{display:block;font-size:12px;font-weight:400;color:var(--mut)}
.tb tbody th{white-space:nowrap}
.tb tbody th small{display:inline;margin-left:8px}
.tb thead .num{font-family:inherit;font-size:12.5px;word-spacing:normal}
.clock,.tb .num,.hrs strong,.axis div,.figs b,.hist b,.check-s,.week td span b,.tally b,.todo-i>b{word-spacing:-.28em}
.tb .num{text-align:right;font-family:var(--mono);font-size:13px;white-space:nowrap}
.tb tbody tr:last-child>*{border-bottom:0}
.tb tr.on>*{background:var(--bll)}
.tb tfoot>tr>*{border-top:2px solid var(--ink);border-bottom:0;background:var(--soft);font-weight:800}
.tb s{color:var(--mut)}
.t-act{text-align:right!important;white-space:nowrap}
.chip{display:inline-block;padding:2px 8px;border:1.5px solid;border-radius:4px;font-size:12.5px;font-weight:600;white-space:nowrap}
.c-ok{color:var(--g);background:var(--gl)}
.c-risk{color:var(--or);background:var(--orl)}
.c-open{color:var(--red);background:var(--rl)}
.c-mut{color:var(--mut);background:var(--soft);border-color:var(--ln)}
.legend{display:flex;gap:14px;font-size:12.5px;font-weight:600}
.legend li{display:flex;align-items:center;gap:6px}
.legend li::before{content:"";width:12px;height:12px;border-radius:3px;border:2px solid}
.l-ok::before{background:var(--g);border-color:var(--g)}
.l-risk::before{background:var(--or);border-color:var(--or)}
.l-open::before{background:var(--red);border-color:var(--red)}
.btn{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;background:#fff;border:2px solid var(--ink);border-radius:6px;font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer}
.b-main{background:var(--bl);border-color:var(--bl);color:#fff}
.main,.alt{min-height:48px;padding:0 18px;border:0;border-radius:8px;font-size:15.5px;font-weight:800;cursor:pointer}
.main{background:var(--bl);color:#fff}
.alt{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.main:disabled{background:#c5ccd5;color:#3b4654;cursor:default}
.seg{display:flex}
.seg a{padding:6px 14px;margin-left:-2px;background:#fff;border:2px solid var(--ink);font-size:13.5px;font-weight:600;text-decoration:none}
.seg a:first-child{margin-left:0;border-radius:6px 0 0 6px}
.seg a:last-child{border-radius:0 6px 6px 0}
.seg a[aria-current]{background:var(--bll);color:var(--bl);font-weight:800}
.find input{width:250px;height:36px;padding:0 10px;background:#fff;border:2px solid var(--ink);border-radius:6px}
.foot-note{font-size:12.5px;color:var(--mut);margin-top:8px}
.w-swap{color:var(--bl);font-weight:800}
.w-open{color:var(--red);font-weight:800}
.w-over{color:var(--or)!important;font-weight:600}

/* CE MATIN: the sentence of the day, the board, what else waits, the absence */
.brief{background:#fff;border:2px solid var(--ink);border-radius:8px;padding:9px 14px;font-size:15px;line-height:1.45}
.brief b{font-weight:800;margin-right:4px}
.desk{display:grid;grid-template-columns:minmax(0,1fr) 608px;gap:14px;margin-top:12px;align-items:start}
.left{display:flex;flex-direction:column;gap:12px;min-width:0}

.board{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:12px 16px 10px}
.b-h{display:flex;align-items:baseline;gap:12px}
.b-h h2{font-size:18px;font-weight:800}
.b-h p{font-size:13.5px;color:var(--mut)}
.b-h .legend{margin-left:auto}
.axis{display:grid;grid-template-columns:186px 1fr;margin-top:10px}
.axis div{position:relative;height:24px}
.axis div span{position:absolute;top:3px;transform:translateX(-50%);font:400 12.5px/1.4 var(--mono);color:var(--mut);white-space:nowrap}
.axis div span:first-of-type{transform:none}
.axis div span:last-of-type{transform:translateX(-100%)}
.axis em{position:absolute;top:1px;transform:translateX(-50%);z-index:1;font:600 12px/1.4 var(--mono);font-style:normal;background:var(--ink);color:#fff;padding:1px 6px;border-radius:4px;white-space:nowrap}
.row{display:grid;grid-template-columns:186px 1fr;align-items:stretch;height:43px;border-top:1px solid var(--ln)}
.r-site{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-right:10px;text-decoration:none;line-height:1.25}
.r-site b{font-size:14.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-site span{font-size:12.5px;color:var(--mut)}
.r-site:hover b{text-decoration:underline}
.track{position:relative;background:linear-gradient(to right,var(--ln) 1px,transparent 1px) 0 0/25% 100%;border-right:1px solid var(--ln)}
.slot{position:absolute;top:6px;bottom:6px;display:flex;align-items:center;padding:0 8px;border:2px solid;border-radius:5px;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden}
.s-ok{background:var(--gl);border-color:var(--g);color:#0b4a2a}
.s-ok.live{background:var(--g);color:#fff}
.s-risk{background:var(--or);border-color:var(--or);color:#fff}
.s-open{background:var(--red);border-color:var(--red);color:#fff;font-weight:800}
.now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ink);z-index:1}
.later{border-top:1px solid var(--ln);padding-top:8px;font-size:13.5px}
.later b{font-weight:800;margin-right:6px}
.later a{color:var(--bl);font-weight:600}

.todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.todo-i{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;background:#fff;border:2px solid var(--ln);border-radius:8px;text-decoration:none}
.todo-i:hover{border-color:var(--ink)}
.todo-i>b{font:600 24px/1.1 var(--mono);color:var(--bl)}
.todo-i strong{display:block;font-size:14px;font-weight:800;line-height:1.25}
.todo-i small{display:block;font-size:12.5px;color:var(--mut);line-height:1.3;margin-top:2px}
.todo-none{background:#fff;border:2px solid var(--ln);border-radius:8px;padding:10px 12px;font-size:13.5px}

.cover{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:12px 16px 14px;min-width:0}
.c-h{padding-bottom:9px;border-bottom:2px solid var(--ink)}
.c-flag{font-size:13px;font-weight:800;color:var(--red)}
.cover[data-state="covered"] .c-flag{color:var(--g)}
.cover h2{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-top:1px}
.c-s{font-size:13.5px;color:var(--mut);margin-top:3px}
.cands{display:flex;flex-direction:column;gap:5px;margin:9px 0 7px}
.cand{display:grid;grid-template-columns:18px minmax(0,1fr) 96px 142px;align-items:center;gap:10px;width:100%;padding:5px 10px;background:#fff;border:2px solid var(--ln);border-radius:8px;text-align:left}
button.cand{cursor:pointer}
button.cand:hover{border-color:var(--ink)}
.dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink)}
.cand.on{border-color:var(--bl);background:var(--bll)}
.cand.on .dot{border-color:var(--bl);background:radial-gradient(var(--bl) 0 45%,#fff 50%)}
.who b{display:block;font-size:15px;font-weight:800;line-height:1.2}
.who small,.hrs small{display:block;font-size:12px;color:var(--mut);line-height:1.3;white-space:nowrap}
.who small{overflow:hidden;text-overflow:ellipsis}
.hrs strong{display:block;font:600 13px/1.3 var(--mono);white-space:nowrap}
.cand em{font-style:normal;font-size:12.5px;font-weight:800;line-height:1.25;padding:5px 8px;border-radius:5px;background:var(--gl);color:var(--g)}
.f-maybe em{background:var(--orl);color:var(--or)}
.f-no{background:var(--soft);border-style:dashed}
.f-no .dot{border-color:var(--ln)}
.f-no .who b{color:var(--mut)}
.f-no em{background:var(--rl);color:var(--red)}
.c-rest{font-size:12.5px;color:var(--mut)}
.sms{margin-top:8px;padding:7px 12px 8px;background:var(--soft);border:1px solid var(--ln);border-radius:8px}
.sms b{display:block;font-size:12.5px;font-weight:800;color:var(--bl)}
.sms p{font-size:13px;line-height:1.4}
.send{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin-top:9px;padding-top:9px;border-top:2px solid var(--ink)}
.send p{font-size:13px;font-weight:600;line-height:1.35}
.btns{display:flex;gap:8px}
.cover[data-state="covered"] .c-h{border-bottom-color:var(--g)}
.changes li{display:grid;grid-template-columns:132px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--ln);font-size:14px}
.changes b{font-weight:800}
.mini{display:grid;grid-template-columns:64px 1fr;gap:4px 10px;margin-top:12px;padding:10px 12px;background:var(--soft);border:1px solid var(--ln);border-radius:8px;font-size:13.5px}
.mini dt{font-weight:800;color:var(--bl)}
.c-links{display:flex;gap:8px;margin-top:12px}

/* SEMAINE: one grid, by site or by agent, today's column tinted */
.week td,.week thead th{min-width:98px}
.week th,.week td{padding:5px 6px}
.week .num small{font-family:Inter,system-ui,sans-serif;word-spacing:normal}
.week td{font-size:12px;line-height:1.4}
.week .today{background:var(--bll)}
.week thead .today{color:var(--bl);font-weight:800}
.week td span{display:block;white-space:nowrap}
.week td span b{font:600 12px/1 var(--mono)}
.off{font-style:normal;color:var(--ln)}

/* TWO COLUMNS: the list, and the sheet or the things to settle */
.split{display:grid;grid-template-columns:minmax(0,1fr) 404px;gap:14px;align-items:start}
.split>*{min-width:0}
.side{padding:13px 16px 15px}
.side h2{font-size:19px;font-weight:800;line-height:1.2}
.side h3{font-size:14.5px;font-weight:800;margin-top:13px}
.side-s{font-size:13px;color:var(--mut);margin-top:2px}
.issues{display:flex;flex-direction:column;gap:9px;margin-top:10px}
.issue{padding:9px 12px 10px;border:2px solid var(--ln);border-radius:8px;font-size:13.5px}
.i-h{margin-bottom:3px}
.i-h b{display:block;font-size:14.5px;font-weight:800}
.i-h span{font-size:12.5px;color:var(--mut)}
.i-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.done{margin-top:8px;padding:6px 9px;background:var(--gl);color:var(--g);border-radius:5px;font-weight:600}
.risk-l{margin-top:10px;padding:8px 10px;background:var(--rl);border:2px solid var(--red);border-radius:6px;font-size:13px}
.sheet{display:grid;grid-template-columns:104px 1fr;margin-top:10px}
.sheet dt,.sheet dd{padding:6px 0;border-top:1px solid var(--ln)}
.sheet dt{font-size:12.5px;font-weight:800;color:var(--bl);padding-top:7px}
.sheet dd{font-size:13.5px;line-height:1.4}
.sheet dd b{font-weight:800}
.rule{margin-top:10px;padding:8px 10px;background:var(--soft);border:1px solid var(--ln);border-radius:6px;font-size:12.5px;line-height:1.45;color:var(--mut)}
.wb{display:block;position:relative;width:104px;height:6px;margin:4px 0 1px auto;background:#dfe5ec;border-radius:3px}
.wb i{position:absolute;left:0;top:0;bottom:0;background:var(--g);border-radius:3px}
.wb i.over{background:var(--or)}
.wb u{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink)}

/* SITES: check history and the check of the day */
.hist li{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--ln);font-size:13px}
.hist{margin-top:6px}
.hist b{font:600 12.5px/1 var(--mono)}
.check{margin-top:8px;padding:10px 12px 12px;border:2px solid var(--ink);border-radius:8px}
.check-h{display:flex;align-items:baseline;justify-content:space-between;font-weight:800}
.check-s{font:600 20px/1 var(--mono);color:var(--g)}
.check-s.low{color:var(--red)}
.pts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 10px}
.pt{padding:5px 8px 6px;background:#fff;border:2px solid var(--ln);border-radius:6px;text-align:left;font-size:13px;font-weight:600;cursor:pointer}
.pt b{display:block;font-size:12px;font-weight:600;color:var(--g)}
.pt.ko{background:var(--rl);border-color:var(--red)}
.pt.ko b{color:var(--red)}
.check .main{width:100%;min-height:42px;font-size:14.5px}

/* FACTURATION: four figures above the table */
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}
.figs p{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:9px 14px 10px}
.figs b{display:block;font:600 23px/1.2 var(--mono);letter-spacing:-.03em;white-space:nowrap}
.figs span{font-size:13px;color:var(--mut)}

/* PHONE AND NARROW WINDOWS: one column, tables scroll inside their panel */
@media (max-width:1100px){
.desk,.split{grid-template-columns:minmax(0,1fr)}
.split>.side{order:-1}
}
@media (max-width:700px){
.bar{flex-wrap:wrap;gap:8px 12px;padding:8px 12px}
.firm span,.demo{display:none}
.tally{margin-left:0;flex-wrap:wrap;gap:6px;width:100%}
.tally li{padding:4px 8px;font-size:12.5px}
.switch{display:grid;grid-template-columns:repeat(3,1fr);padding:10px 12px 0}
.switch a{justify-content:center;padding:0 4px;margin:0 0 -2px -2px;font-size:13.5px;border-radius:0!important}
.switch a:nth-child(3n+1){margin-left:0}
.page{padding:12px 12px 20px}
.ph{flex-direction:column;align-items:stretch}
.find input{width:100%}
.b-h{flex-wrap:wrap;gap:2px 12px}
.b-h .legend{margin-left:0;width:100%;margin-top:4px}
.axis{grid-template-columns:1fr}
.axis>span{display:none}
.row{grid-template-columns:1fr;height:auto;padding:6px 0 0}
.r-site{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:8px}
.track{height:40px}
.slot{font-size:12.5px;padding:0 5px;min-width:max-content}
.axis div span:nth-of-type(2){display:none}
.who small{white-space:normal}
.todo{grid-template-columns:1fr}
.cover h2{font-size:22px}
.cand{grid-template-columns:18px minmax(0,1fr) auto}
.cand em{grid-column:2/4}
.send{grid-template-columns:1fr}
.btns{flex-wrap:wrap}
.btns>*{flex:1}
.main,.alt{white-space:normal;padding:8px 14px}
.changes li{grid-template-columns:1fr;gap:0}
.tb{width:max-content;min-width:100%}
.tb td{white-space:nowrap}
.figs{grid-template-columns:1fr 1fr;gap:8px}
.figs b{font-size:19px}
.c-links{flex-wrap:wrap}
}
