.sec-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.sec-top h1{margin-bottom:.2rem}.demo-note{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.85rem}.sec-actions{display:flex;flex-wrap:wrap;gap:.6rem}.sec-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem;margin-bottom:1rem}.tabs{display:flex;gap:.25rem;padding:.25rem;border-radius:12px;background:var(--bg)}.tabs button{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .9rem;border:0;border-radius:9px;background:none;font:500 .92rem var(--font-body);color:var(--muted);cursor:pointer}.tabs button.active{background:var(--white);color:var(--teal);font-weight:600;box-shadow:0 1px 3px #0b3b4a1f}.date-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.date-nav input{padding:.45rem .6rem;border:1.5px solid var(--line);border-radius:10px;font:400 .9rem var(--font-body);color:var(--ink)}#date-titre{margin-left:.4rem;font-family:var(--font-display);color:var(--navy)}#date-titre:first-letter{text-transform:uppercase}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-bottom:1rem}.kpi{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem}.kpi-ico{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;background:var(--mint);color:var(--teal)}.kpi span:not(.kpi-ico){display:block;font-size:.78rem;color:var(--muted)}.kpi strong{display:block;font:800 1.35rem/1.2 var(--font-display);color:var(--navy)}.kpi small{font-size:.75rem;color:var(--muted)}.day-layout{display:grid;grid-template-columns:1fr 320px;gap:1rem;align-items:start}.agenda-card{padding:.9rem;min-width:0}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1.5px solid var(--line);background:var(--white);font:500 .83rem var(--font-body);color:var(--ink);cursor:pointer}.chip.active{border-color:var(--teal);background:var(--mint);color:var(--teal);font-weight:600}.dot{width:9px;height:9px;border-radius:50%}.agenda-scroll{max-height:72vh;overflow:auto;border-radius:12px;border:1px solid var(--line)}.agenda{--px: 1.8;position:relative;display:grid;grid-template-columns:54px 1fr;min-width:max-content}.times{position:sticky;left:0;z-index:7;background:var(--white);border-right:1px solid var(--line)}.corner{position:sticky;top:0;z-index:1;height:48px;background:var(--white)}.times span{display:block;height:calc(30px * var(--px));padding-right:6px;font-size:.72rem;color:var(--muted);text-align:right;transform:translateY(-.5em)}.cols{display:flex}.col{flex:1 0 165px;border-right:1px solid var(--line)}.col-head{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:.5rem;height:56px;padding:0 .6rem;background:var(--white);border-bottom:1px solid var(--line)}.col-head>div{min-width:0}.col-head strong,.col-head small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-head strong{font-size:.82rem;color:var(--navy);line-height:1.25}.col-head small{font-size:.72rem;color:var(--muted)}.avatar{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;color:var(--white);font:700 1rem var(--font-display)}.avatar.sm{width:32px;height:32px;font-size:.75rem}.col-body{position:relative;height:var(--h);background:repeating-linear-gradient(-45deg,#f3f6f6 0 6px,#eef2f2 6px 12px);background-image:repeating-linear-gradient(to bottom,transparent 0 calc(60px * var(--px) - 1px),#e4ecea calc(60px * var(--px) - 1px) calc(60px * var(--px))),repeating-linear-gradient(-45deg,#f3f6f6 0 6px,#eef2f2 6px 12px)}.open{position:absolute;left:0;right:0;background:var(--white)}.blk{position:absolute;left:0;right:0;z-index:1;background:repeating-linear-gradient(-45deg,#fde4dd 0 6px,#fbd3c8 6px 12px);display:flex;align-items:flex-start;justify-content:center;padding-top:6px}.blk span{font-size:.75rem;font-weight:600;color:var(--coral-dark);background:#fffc;padding:.1rem .5rem;border-radius:6px}.free-slot{position:absolute;left:4px;right:4px;z-index:1;border:1px dashed var(--mint-dark);border-radius:7px;background:transparent;color:#9cbfb6;font:500 .72rem var(--font-body);text-align:left;padding:0 6px;cursor:pointer}.free-slot:hover{border-color:var(--teal);background:var(--mint);color:var(--teal)}.appt{position:absolute;left:4px;right:4px;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:0;padding:0 7px;overflow:hidden;border:0;border-left:4px solid var(--c);border-radius:7px;font:inherit;text-align:left;cursor:pointer;box-shadow:0 1px 2px #0b3b4a1f}.appt:hover{filter:brightness(.97);box-shadow:0 4px 10px -4px #0b3b4a59}.appt.st-confirme{background:#eaf6f2;color:var(--navy)}.appt.st-arrive{background:#fff3dc;color:#7a4f12}.appt.st-termine{background:#eef1f3;color:#607d8b}.appt.st-absent{background:#fdecea;color:var(--red)}.appt-time{font-size:.68rem;font-weight:600;opacity:.85;line-height:1.2}.appt-name{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.appt.st-absent .appt-name{text-decoration:line-through}.now-line{position:absolute;left:54px;right:0;z-index:4;height:2px;background:var(--coral);pointer-events:none}.now-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--coral)}.closed{padding:2rem;color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;list-style:none;padding:0;margin:.8rem 0 0;font-size:.78rem;color:var(--muted)}.legend li{display:inline-flex;align-items:center;gap:.35rem}.lg{width:14px;height:14px;border-radius:4px}.lg.st-confirme{background:#eaf6f2;border-left:3px solid var(--teal)}.lg.st-arrive{background:#fff3dc;border-left:3px solid var(--amber)}.lg.st-termine{background:#eef1f3;border-left:3px solid #607d8b}.lg.st-absent{background:#fdecea;border-left:3px solid var(--red)}.lg.free{border:1px dashed #9cbfb6}.lg.blocked{background:repeating-linear-gradient(-45deg,#fde4dd 0 3px,#fbd3c8 3px 6px)}.side{display:grid;gap:1rem}.side-card{padding:1.1rem}.side-card h2{display:flex;align-items:center;gap:.45rem;font-size:1.02rem}.side-card>p{font-size:.84rem}.rem-list,.blk-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;max-height:340px;overflow:auto}.rem-list li,.blk-list li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:10px;background:var(--bg)}.rem-list li.sent{opacity:.65}.rem-list strong,.blk-list strong{display:block;font-size:.85rem}.rem-list small,.blk-list small{font-size:.76rem;color:var(--muted)}.rem-ok{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--teal);white-space:nowrap}.rem-list .empty,.blk-list .empty{background:none;color:var(--muted);font-size:.85rem}.icon-btn{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:8px;border:0;background:var(--white);color:var(--muted);cursor:pointer}.icon-btn:hover{color:var(--red)}.week-card,.patients-card{padding:1rem}.week-scroll{overflow-x:auto}.week{width:100%;border-collapse:collapse;min-width:760px}.week th,.week td{padding:.5rem;border-bottom:1px solid var(--line);text-align:center;font-size:.85rem}.week thead th{font-weight:600;color:var(--muted);text-transform:capitalize}.week thead th.today{color:var(--teal)}.week tbody th{display:flex;align-items:center;gap:.5rem;text-align:left;min-width:220px}.week tbody th strong{display:block;font-size:.85rem;color:var(--navy)}.week tbody th small{font-weight:400;color:var(--muted)}.wcell{display:grid;gap:.3rem;width:100%;padding:.5rem;border-radius:10px;border:0;background:rgba(14,107,107,calc(.06 + var(--r) * .22));font:inherit;color:var(--navy);cursor:pointer}.wcell:hover{outline:2px solid var(--teal)}.wbar{display:block;height:5px;border-radius:3px;background:#ffffffb3;overflow:hidden}.wbar span{display:block;height:100%;background:var(--teal)}.off{color:#b0bcc0}.blocked-cell{background:repeating-linear-gradient(-45deg,#fde4dd 0 5px,#fbd3c8 5px 10px);color:var(--coral-dark);font-weight:600;font-size:.78rem!important}.week tfoot th,.week tfoot td{font-weight:700;color:var(--navy);border-bottom:0}.week tfoot th{text-align:left}.week-note{margin:.8rem 0 0;font-size:.85rem}.search{display:flex;align-items:center;gap:.6rem;padding:0 1rem;border:1.5px solid var(--line);border-radius:12px;color:var(--muted);margin-bottom:1rem}.search:focus-within{border-color:var(--teal)}.search input{flex:1;min-width:0;padding:.8rem 0;border:0;outline:none;font:400 1rem var(--font-body);color:var(--ink)}.results{overflow-x:auto}.ptable{width:100%;border-collapse:collapse;font-size:.88rem;min-width:720px}.ptable th{text-align:left;font-weight:600;color:var(--muted);padding:.5rem;border-bottom:1px solid var(--line)}.ptable td{padding:.6rem .5rem;border-bottom:1px solid var(--line)}.ptable tbody tr{cursor:pointer}.ptable tbody tr:hover,.ptable tbody tr:focus{background:var(--bg);outline:none}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem;color:var(--teal)}.det-top{display:flex;justify-content:space-between;align-items:center}.det{display:grid;gap:.6rem;margin:0}.det>div{display:grid;grid-template-columns:110px 1fr;gap:.6rem}.det dt{color:var(--muted);font-size:.88rem}.det dd{margin:0;font-weight:500}.det dd:first-letter{text-transform:uppercase}.det-status,.det-actions{display:flex;flex-wrap:wrap;gap:.45rem}.det-actions{padding-top:.9rem;border-top:1px solid var(--line)}.info{margin:0;padding:.8rem 1rem;border-radius:12px;background:var(--bg)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.patient-fields{display:grid;gap:.8rem;padding-top:1rem;border-top:1px solid var(--line)}.warn{display:flex;gap:.5rem;margin:0;padding:.8rem 1rem;border-radius:12px;background:#fff3dc;color:#7a4f12;font-size:.9rem}@media(max-width:1180px){.kpis{grid-template-columns:repeat(3,1fr)}.day-layout{grid-template-columns:1fr}.side{grid-template-columns:1fr 1fr}}@media(max-width:720px){.kpis{grid-template-columns:1fr 1fr}.kpi:last-child{grid-column:1 / -1}.kpi strong{font-size:1.15rem}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.chip{flex:none}.side,.row2{grid-template-columns:1fr}.col{flex-basis:150px}#date-titre{width:100%;margin:.3rem 0 0}}
