:root,[data-theme=particulier]{--ink: #0f2b46;--ink-soft: #475569;--paper: #f5f7fa;--paper-2: #ffffff;--line: #e2e8f0;--white: #ffffff;--danger: #8c2f2f;--warn: #8a5a12;--ok: #22c55e;--mark: #64748b;--primary: #1d72e8;--primary-hover: #165fc8;--primary-subtle: #e8f2fd;--on-primary: #ffffff;--link: #165fc8;--accent: #64748b;--shadow: 0 18px 50px rgba(15, 43, 70, .08);--shadow-sm: 0 4px 16px rgba(15, 43, 70, .06);--serif: "Fraunces", "Iowan Old Style", Palatino, "Palatino Linotype", serif;--sans: Inter, "Segoe UI", sans-serif}[data-theme=entreprise]{--primary: #1b5e3b;--primary-hover: #145230;--primary-subtle: #f3faf6;--link: #1b5e3b}[data-theme=professionnel]{--primary: #4f46e5;--primary-hover: #4338ca;--primary-subtle: #f5f7ff;--link: #4338ca}[data-theme=admin]{--primary: #0f2b46;--primary-hover: #0a2034;--primary-subtle: #e8eef4;--link: #0f2b46;--accent: #64748b}:root{--pine: var(--primary);--pine-2: var(--primary-hover);--brass: var(--accent);--brass-deep: var(--link)}:root{color:var(--ink);background:var(--paper);font-family:"Source Sans 3",Segoe UI,sans-serif}body{margin:0;background:var(--paper);color:var(--ink)}a{color:var(--link)}.panel{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0}label{display:grid;gap:4px;font-size:14px;font-weight:600}input,select,textarea{font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--white);color:var(--ink)}button.action{background:var(--primary);color:var(--on-primary);border:0;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer;min-height:44px}button.action:hover{background:var(--primary-hover)}.row{display:grid;gap:12px}@media(min-width:800px){.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}}.error{color:var(--danger)}.hint{background:var(--primary-subtle);border-radius:12px;padding:10px 12px;font-size:14px;color:var(--ink)}.bo-home{padding:8px 8px 32px;color:var(--ink)}.bo-home h1{font-family:Fraunces,Georgia,serif;font-weight:560;font-size:28px;margin:0}.bo-home h2{font-family:Fraunces,Georgia,serif;font-weight:560;font-size:20px;margin:0}.bo-overline{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--link);margin:0 0 8px}.bo-sub{margin:8px 0 16px!important}.bo-head,.bo-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.bo-nav{display:flex;gap:8px;align-items:center}.bo-icon,.bo-chip,.bo-home .ghost{min-height:40px;border-radius:999px;border:1px solid var(--line);background:var(--white);padding:0 14px;font-weight:700;color:var(--link);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.bo-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.bo-quick a{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;background:var(--white);border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);font-weight:700}.bo-quick a:hover{border-color:var(--primary)}.bo-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.week-scroll{overflow-x:auto}.week{display:grid;grid-template-columns:56px repeat(5,minmax(0,1fr));background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:720px}.week .dh{padding:12px 8px;text-align:center;border-bottom:1px solid var(--line);border-left:1px solid var(--line);font-size:14px}.week .dh.today{background:var(--primary-subtle);color:var(--link)}.week .dh b{display:block;font:600 22px Fraunces,Georgia,serif}.week .hours{display:grid;grid-template-rows:repeat(10,64px)}.week .hours div{font-size:12px;color:var(--ink-soft);text-align:right;padding:4px 8px 0 0;border-top:1px solid var(--line)}.week .col{position:relative;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 64px);height:640px}.week .col.today{background-color:var(--primary-subtle)}.ev{position:absolute;left:4px;right:4px;border-radius:8px;padding:6px 8px;font-size:13px;line-height:1.3;overflow:hidden;background:var(--primary-subtle);border-left:4px solid var(--primary);color:var(--ink);text-decoration:none}.ev b,.ev .xs{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev.visio{border-left-color:var(--mark)}.ev.req{background:var(--white);border:1px dashed var(--warn);border-left:4px solid var(--warn)}.ev.block{background:repeating-linear-gradient(45deg,var(--paper),var(--paper) 6px,var(--paper-2) 6px,var(--paper-2) 12px);border-left-color:var(--ink-soft);color:var(--ink-soft)}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin-top:8px}.legend i{width:12px;height:12px;border-radius:3px;background:var(--primary-subtle);border-left:4px solid var(--primary);display:inline-block}.legend i.visio{border-left-color:var(--mark)}.legend i.req{background:var(--white);border:1px dashed var(--warn);border-left:4px solid var(--warn)}.legend i.block{border-left-color:var(--ink-soft)}.bo-home .card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.bo-home .card.soft{background:var(--paper)}.bo-home .stack{display:flex;flex-direction:column;gap:16px}.bo-home .muted{color:var(--ink-soft);font-size:13px}.bo-home .count,.bo-home .pill{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:2px 8px;font-size:13px}.bo-home .pill{background:var(--primary-subtle);color:var(--link)}.bo-home .line{align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.bo-actions{display:flex;gap:8px;align-items:center}.bo-actions .action{flex:1}.bo-actions .action:disabled{background:var(--paper);color:var(--ink-soft);cursor:not-allowed}.RaAppBar-root,.MuiAppBar-colorPrimary{background-color:var(--primary)!important;color:var(--on-primary)!important}.RaMenuItemLink-active{color:var(--link)!important}.MuiButton-containedPrimary{background-color:var(--primary)!important}.MuiButton-containedPrimary:hover{background-color:var(--primary-hover)!important}@media(max-width:1100px){.bo-grid,.bo-quick{grid-template-columns:1fr 1fr}.bo-grid>aside{order:-1}}@media(max-width:700px){.bo-quick{grid-template-columns:1fr}}
