/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.uppercase{text-transform:uppercase}}:root{color-scheme:light;--bg:#f6f7f9;--surface:#fff;--border:#e3e6eb;--border-strong:#cfd4dc;--text:#1d2330;--muted:#6b7280;--accent:#4f46e5;--accent-soft:#eef0fd;--danger:#c0392b;--danger-soft:#fdecea;--warn-bg:#fff7e6;--warn-border:#f5c26b;--radius:8px;--sidebar:228px}body,html{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{flex-direction:column;min-height:100vh;display:flex}.sidebar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);gap:16px;height:56px;padding:0 20px;position:sticky;top:0}.brand,.sidebar{align-items:center;display:flex}.brand{flex-shrink:0;gap:10px}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.brand-name{font-size:16px;font-weight:700;line-height:1.1}.brand-org{color:var(--muted);font-size:12px;line-height:1.1}.sidebar nav{scrollbar-width:none;flex:1;gap:2px;min-width:0;overflow-x:auto}.nav-link,.sidebar nav{align-items:center;display:flex}.nav-link{color:var(--text);white-space:nowrap;border-radius:6px;gap:7px;padding:7px 10px;font-weight:500}.nav-link:hover{background:var(--bg);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link svg{color:var(--muted)}.nav-link.active svg{color:var(--accent)}.sidebar-footer{flex-shrink:0;align-items:center;gap:8px;display:flex}.sidebar-footer .user{white-space:nowrap;text-overflow:ellipsis;max-width:160px;color:var(--muted);font-size:13px;overflow:hidden}.main{flex:1;min-width:0;padding:24px 32px 48px}@media (max-width:1150px){.nav-link span,.sidebar-footer .user{display:none}}@media (max-width:800px){.sidebar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 16px}.sidebar nav{flex-basis:100%;order:3}.sidebar-footer{margin-left:auto}.main{padding:20px 16px 40px}}.page{max-width:1280px;margin:0 auto}.page-header{margin-bottom:18px}.page-header h1{margin:0;font-size:22px;font-weight:650}.page-meta{color:var(--muted);gap:4px 16px;margin:4px 0 0;font-size:13px}.page-meta,.toolbar{flex-wrap:wrap;display:flex}.toolbar{align-items:center;gap:8px;margin-bottom:16px}fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;margin:0 0 16px;padding:16px}legend{float:left;width:100%;margin:0 0 12px;padding:0;font-size:15px;font-weight:600}legend+*{clear:both}a.button,button{border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}a.button:hover,button:hover{background:var(--bg);text-decoration:none}button:disabled{opacity:.55;cursor:default}button[type=submit]:not(.danger):not(.icon-button){background:var(--accent);border-color:var(--accent);color:#fff}button[type=submit]:not(.danger):not(.icon-button):hover{filter:brightness(1.08)}.toolbar>a.button:first-child{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:#efc2bd}button.danger:hover{background:var(--danger-soft)}td a.button,td button{height:28px;padding:0 10px;font-size:13px}.icon-button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;font-size:22px;line-height:1;display:inline-grid}.icon-button:hover{background:var(--bg);color:var(--text);text-decoration:none}input,select,textarea{border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);font:inherit;border-radius:6px;padding:0 10px}textarea{resize:vertical;height:auto;padding:8px 10px}input[type=color]{width:56px;padding:2px 4px}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.form-grid{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px 14px;display:grid}.form-grid>label,.form-grid>span:nth-child(odd){color:var(--muted)}.form-grid input:not([type=color]):not([type=hidden]),.form-grid select,.form-grid textarea{width:100%}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:14px;display:flex}.field-row-stacked{flex-direction:column;gap:4px;display:flex}.field-row-stacked label{color:var(--muted);font-size:12px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:12px;font-weight:600}.table td,.table th{border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fafbfc}.table .empty td{text-align:center;color:var(--muted);padding:28px}fieldset .table-wrap{border-radius:6px}.badge{color:#475063;background:#eef0f3;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-block}.badge.option{color:#8a5a00;background:#fff4dc}.badge.confirme,.badge.signe{color:#1e7a43;background:#e3f6ea}.badge.annule{color:#8a8f98;background:#f0f0f0;text-decoration:line-through}.badge.envoye{color:#2556b8;background:#e6effd}.swatch{vertical-align:-1px;border-radius:3px;width:12px;height:12px;display:inline-block}.warning-box{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);color:#6b4500;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.warning-box svg{color:#c27c00;flex-shrink:0}.warning-box summary{cursor:pointer}[role=tablist]{border-bottom:1px solid var(--border);gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}[role=tab] a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-weight:500;display:block}[role=tab] a:hover{color:var(--text);text-decoration:none}[role=tab][aria-selected=true] a{color:var(--accent);border-bottom-color:var(--accent)}[role=tabpanel]{padding-top:16px}.dialog-backdrop{z-index:100;background:#11182759;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.dialog-dismiss{position:absolute;inset:0}.dialog{background:var(--surface);border-radius:12px;max-width:100%;position:relative;box-shadow:0 20px 50px #0003}.dialog-header{justify-content:space-between;align-items:center;padding:16px 16px 0 22px;display:flex}.dialog-header h2{margin:0;font-size:17px;font-weight:600}.dialog-body{padding:16px 22px 22px}.calendar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.fc{--fc-border-color:var(--border);--fc-today-bg-color:var(--accent-soft);--fc-neutral-bg-color:var(--bg);--fc-page-bg-color:var(--surface);--fc-event-border-color:transparent;--fc-list-event-hover-bg-color:var(--bg);font-size:13px}.fc .fc-toolbar-title{text-transform:capitalize;font-size:18px;font-weight:600}.fc .fc-button,.fc .fc-button-primary{background:var(--surface);border:1px solid var(--border-strong);height:32px;color:var(--text);text-transform:none;box-shadow:none;border-radius:6px;padding:0 12px;font-weight:500}.fc .fc-button-primary:hover{background:var(--bg);color:var(--text);border-color:var(--border-strong)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.fc .fc-button-primary:focus,.fc .fc-button-primary:not(:disabled).fc-button-active:focus{box-shadow:none}.fc .fc-button-primary:disabled{background:var(--surface);color:var(--muted);border-color:var(--border)}.fc .fc-button-group>.fc-button{margin-left:4px;border-radius:6px!important}.fc .fc-col-header-cell-cushion{color:var(--muted);text-transform:uppercase;padding:8px 4px;font-size:12px;font-weight:600}.fc .fc-daygrid-day-number,.fc .fc-list-day-side-text,.fc .fc-list-day-text{color:var(--text)}.fc a:hover{text-decoration:none}.fc .fc-event{cursor:pointer;border-radius:4px;padding:1px 3px}.fc .fc-daygrid-event{white-space:normal}.fc .fc-event.status-option{background-image:repeating-linear-gradient(45deg,#0000 0 5px,#ffffff4d 5px 10px)}.fc .fc-event.status-annule{opacity:.5;text-decoration:line-through}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:380px;max-width:100%;padding:28px;box-shadow:0 8px 30px #0000000f}.auth-card h1{margin:14px 0 4px;font-size:20px}.auth-card .form-grid{grid-template-columns:1fr;gap:6px}.auth-card .form-grid>label{margin-top:6px;font-size:13px}@media print{body{background:#fff}.no-print,.page-header,.sidebar{display:none!important}.main{padding:0}.roadsheet-frame{background:0 0!important;border:0!important;padding:0!important}.roadsheet-frame article{box-shadow:none!important;padding:0!important}}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;padding:14px 16px;display:flex}.kpi:hover{border-color:var(--border-strong);text-decoration:none}.kpi-value{font-size:28px;font-weight:700;line-height:1.1}.kpi-label{color:var(--muted);font-size:13px}.kpi.warn .kpi-value{color:#b7791f}.kpi.danger .kpi-value{color:var(--danger)}.countdowns{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.countdown{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);color:var(--text);align-items:center;gap:14px;padding:10px 16px;display:flex}.countdown:hover{text-decoration:none}.countdown-days{color:var(--accent);font-size:22px;font-weight:700}.agenda-item small,.countdown small,.muted,.todo-list small{color:var(--muted)}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-bottom:14px;display:grid}.dash-grid>fieldset{min-width:0;margin:0}.agenda-day+.agenda-day{margin-top:10px}.agenda-day-title{text-transform:capitalize;margin-bottom:4px;font-weight:600;display:block}.agenda-item{border-left:3px solid var(--accent);background:var(--bg);color:var(--text);border-radius:4px;align-items:center;gap:10px;margin-bottom:4px;padding:6px 10px;display:flex}.agenda-item:hover{background:var(--accent-soft);text-decoration:none}.agenda-item>span:nth-child(2){flex:1;min-width:0}.agenda-time{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.todo-list{margin:0;padding:0;list-style:none}.todo-list a{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:8px 6px;display:flex}.todo-list li:last-child a{border-bottom:0}.todo-list a:hover{background:var(--bg);text-decoration:none}.todo-count{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:15px;place-items:center;min-width:30px;height:30px;font-weight:700;display:grid}.load-table td{padding-top:5px;padding-bottom:5px}.load-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bar{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.bar>div{background:var(--accent);height:100%}.day-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}@media (max-width:1000px){.day-layout{grid-template-columns:1fr}}.day-event{border-left:5px solid var(--accent)}.day-event-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.day-event h2{margin:0;font-size:18px}.day-event h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 4px;font-size:12px}.day-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 24px;display:grid}.day-notes{white-space:pre-wrap;background:var(--bg);border-radius:6px;padding:10px 12px}.services{gap:6px;margin-top:10px;display:flex}.service{border:1px dashed var(--border-strong);color:var(--muted);border-radius:999px;padding:3px 12px;font-size:13px}.service.on{border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{padding:2px 0}.day-side{position:sticky;top:72px}@media print{.no-print{display:none!important}}.general-table td{vertical-align:top}.general-date{white-space:nowrap;text-transform:capitalize;font-weight:600}.general-table tr.weekend td:first-child{background:var(--bg)}.general-table tr.today td{background:var(--accent-soft)}.general-table tr.off-row td{color:var(--muted);background:repeating-linear-gradient(-45deg,transparent 0 6px,var(--bg) 6px 12px);padding-top:3px;padding-bottom:3px;font-size:12px}.general-table tr.month-row td{background:var(--bg);text-transform:capitalize;padding-top:10px;font-weight:700}.general-notes{white-space:pre-wrap;color:var(--text);font-size:13px}.services-text{flex-direction:column;gap:2px;display:flex}.services-text span{background:var(--accent-soft);width:fit-content;color:var(--accent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.date-cell{background:var(--surface)}.general-table tr.same-day td{border-top:1px dashed var(--border)}.inline-edit{resize:none;width:100%;font:inherit;color:var(--text);white-space:pre-wrap;background:0 0;border:1px solid #0000;border-radius:4px;margin:0 0 2px -6px;padding:3px 6px;font-size:13px;display:block;overflow:hidden}.inline-edit:hover{border-color:var(--border)}.inline-edit:focus{border-color:var(--accent);background:var(--surface);outline:none}.inline-edit::placeholder{color:var(--muted)}.inline-title{font-size:14px;font-weight:650}.saving{opacity:.5}.inline-select{width:100%;font:inherit;background:0 0;border:1px solid #0000;padding:3px 4px;font-size:13px}.inline-select:focus,.inline-select:hover{border-color:var(--border);background:var(--surface)}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:1px 4px 1px 8px;font-size:12px;display:inline-flex}.chip button{cursor:pointer;min-height:0;color:var(--muted);background:0 0;border:0;padding:0 3px;font-size:13px;line-height:1}.chip button:hover{color:var(--danger)}.chip-add{border:1px dashed var(--border-strong);border-radius:999px;padding:1px 6px}.chip-add,.link-button{color:var(--accent);cursor:pointer;background:0 0;font-size:12px}.link-button{min-height:0;border:0;padding:0}.link-button:hover{text-decoration:underline}@media print{.chip button,.chip-add{display:none}.inline-edit,.inline-select{appearance:none;border:0}}.schedule-cell{flex-direction:column;gap:4px;display:flex}.inline-input{font:inherit;color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 3px;font-size:12px}.inline-input:focus,.inline-input:hover{border-color:var(--border);background:var(--surface);outline:none}.time-range{color:var(--muted);align-items:center;gap:2px;display:flex}.service-toggles{flex-wrap:wrap;gap:3px;display:flex}.service-toggles button{border:1px dashed var(--border-strong);min-height:0;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:1px 7px;font-size:11px}.service-toggles button.on{border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.drawer-backdrop{z-index:50;background:#14182140;position:fixed;inset:0}.drawer-dismiss{position:absolute;inset:0}.drawer{background:var(--surface);width:min(560px,100vw);padding:20px 22px 32px;animation:drawer-in .15s ease-out;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 30px #00000026}@keyframes drawer-in{0%{opacity:0;transform:translate(30px)}}.drawer-close{font-size:20px;position:absolute;top:12px;right:12px}.drawer-head{align-items:center;gap:14px;margin-bottom:16px;padding-right:30px;display:flex}.drawer-head h2{margin:0;font-size:20px}.avatar{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:17px;font-weight:700;display:grid}.drawer-section{border-top:1px solid var(--border);padding:12px 0}.drawer-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:12px}.drawer-grid{grid-template-columns:90px 1fr;align-items:center;gap:2px 10px;display:grid}.drawer-grid>span{color:var(--muted);font-size:13px}.drawer-field{width:100%;padding:3px 6px;font-size:14px}.drawer-field::placeholder{color:var(--accent)}.field-with-action{align-items:center;gap:6px;display:flex}.field-with-action a:hover{text-decoration:none}.drawer-actions{flex-wrap:wrap;gap:6px;display:flex}.drawer-dates{margin:0;padding:0;list-style:none}.drawer-dates li{border-left:3px solid var(--accent);background:var(--bg);border-radius:4px;margin-bottom:6px;padding:6px 10px;font-size:13px}.drawer-dates li.conflict{background:var(--danger-soft)}.drawer-date-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.drawer-date-actions{gap:8px;margin-left:auto;font-size:15px;display:flex}.drawer-date-actions a:hover{text-decoration:none}.person-link{color:inherit}.person-link:hover{color:var(--accent);text-decoration:underline}.group-send-mini{gap:8px;margin-top:2px;font-size:14px;display:flex}.group-send-mini a:hover{text-decoration:none}.status-icon{color:#2e9d5b;background:0 0;flex-shrink:0;font-size:14px;font-weight:700;line-height:1.2;display:inline-block}.status-icon.option{color:#d08a10}.status-icon.annule{color:var(--danger)}.status-picker{cursor:pointer;margin-top:3px;padding:0 2px;position:relative}.status-picker select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.tag{white-space:nowrap;color:hsl(var(--tag-hue) 55% 32%);background:hsl(var(--tag-hue) 70% 92%);border-radius:999px;margin:0 1px;padding:0 7px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}a.tag:hover{filter:brightness(.95);text-decoration:none}.tag-bar{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.tag-add{border:1px dashed var(--border-strong);color:var(--muted);cursor:pointer;opacity:0;background:0 0;border-radius:999px;padding:0 6px;font-size:11px;transition:opacity .1s}.tag-add:focus,tr:hover .tag-add{opacity:1}button.danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}.tag-input{width:110px;border:1px solid var(--accent)!important;background:var(--surface)!important}.tag-with-remove{align-items:center;display:inline-flex}.tag-remove{min-height:0;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;padding:0 2px;font-size:12px}.tag-with-remove:hover .tag-remove{opacity:1}.tag-remove:hover{color:var(--danger)}a.button.primary-link{background:var(--accent);border-color:var(--accent);color:#fff}.day-side{min-width:0;overflow:hidden}.day-side .table{table-layout:fixed;width:100%}.day-side .table td,.day-side .table th{text-overflow:ellipsis;padding-left:4px;padding-right:4px;overflow:hidden}.day-side .table td:first-child,.day-side .table th:first-child{width:40%;padding-left:8px}.day-side .table th{white-space:nowrap;font-size:11px}.drop-zone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:90px;color:var(--muted);text-align:center;cursor:pointer;place-items:center;padding:16px;display:grid}.drop-zone.over,.drop-zone:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;gap:4px;min-width:0;padding:8px;display:flex}.doc-card:hover{border-color:var(--accent);text-decoration:none}.doc-thumb{background:var(--bg);border-radius:6px;place-items:center;height:120px;font-size:44px;display:grid;overflow:hidden}.doc-thumb img{object-fit:cover;width:100%;height:100%}.doc-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.doc-bar{flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;display:flex}.doc-chip{border:1px solid var(--border);background:var(--surface);max-width:180px;color:var(--text);border-radius:6px;align-items:center;gap:3px;padding:1px 8px;font-size:12px;display:inline-flex}.doc-chip span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-chip:hover{border-color:var(--accent);text-decoration:none}.doc-add{opacity:0}.day-event .doc-add,.doc-add.over,.doc-add:focus,tr:hover .doc-add{opacity:1}.viewer-backdrop{z-index:60;background:#0f1219d9;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-dismiss{z-index:0;position:absolute;inset:0}.viewer-bar{z-index:1;background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex;position:relative}.viewer-title{white-space:nowrap;text-overflow:ellipsis;max-width:45vw;font-weight:600;overflow:hidden}.viewer-body{z-index:1;pointer-events:none;flex:1;place-items:center;min-height:0;padding:16px;display:grid;position:relative}.viewer-body>*{pointer-events:auto}.viewer-img{object-fit:contain;background:#fff;border-radius:4px;max-width:100%;max-height:100%}.viewer-frame{background:#fff;border:0;border-radius:4px;width:min(1100px,100%);height:100%}.viewer-none{border-radius:var(--radius);background:var(--surface);text-align:center;padding:32px}.icon-picker{cursor:pointer;flex-shrink:0;line-height:1.6;position:relative}.icon-picker select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.type-picker{text-align:center;border-radius:4px;width:22px;font-size:14px}.type-picker:hover{background:var(--bg)}.general-table tr .inline-title,.type-title{color:var(--type-color,var(--text))}.status-icon.acompleter{color:#2563eb}.badge.acompleter{color:#1d4ed8;background:#e0ecff}.general-table tr.status-annule td:not(.date-cell):not(:first-child){opacity:.5}.general-table tr.status-annule .inline-title{text-decoration:line-through}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;display:flex}.filter-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.filter-label{width:80px}.filter-box,.filter-label{color:var(--muted);font-size:13px}.filter-box{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.filter-box.on{border-color:var(--border-strong);color:var(--text);background:var(--bg)}.filter-box input{margin:0}.quick-add{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:10px;font-size:13px;display:flex}.quick-type{font-size:13px;font-weight:600}.quick-type.on{text-decoration:underline}.link-select{color:var(--accent);background:0 0;border:0;max-width:100%;padding:0;font-size:12px}.link-select,.row-check{cursor:pointer}.row-actions{opacity:0;justify-content:flex-end;gap:2px;display:flex}.row-actions:focus-within,tr:hover .row-actions{opacity:1}.icon-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;min-height:0;padding:2px 5px;font-size:13px;line-height:1.2}.icon-btn:hover{background:var(--bg);border-color:var(--border)}.icon-btn.danger.armed{background:var(--danger);color:#fff}.dup-form{gap:2px}.bulk-bar,.dup-form{align-items:center;display:flex}.bulk-bar{z-index:30;background:var(--text);color:#fff;border-radius:var(--radius);flex-wrap:wrap;gap:8px;margin-top:12px;padding:10px 14px;position:sticky;bottom:12px;box-shadow:0 6px 24px #0003}.bulk-bar input,.bulk-bar select{font-size:13px}.general-table tr:has(.row-check:checked) td{background:var(--accent-soft)}.general-table.compact{table-layout:fixed;font-size:13px}.general-table.compact th{padding:6px;font-size:12px}.general-table.compact td{padding:4px 6px}.general-table.compact .general-date{font-size:12px}.general-table.compact .inline-edit{margin-left:-4px;padding:1px 4px;font-size:12.5px;line-height:1.4}.general-table.compact .inline-title{font-size:13px}.general-table.compact .schedule-cell{gap:2px}.general-table.compact .inline-input{max-width:100%;padding:0 2px;font-size:11.5px}.general-table.compact .service-toggles{gap:2px}.general-table.compact .service-toggles button{padding:0 5px;font-size:10.5px;line-height:1.5}.general-table.compact .chips{gap:2px}.general-table.compact .chip{padding:0 2px 0 6px;font-size:11.5px;line-height:1.5}.general-table.compact .chip-add,.general-table.compact .link-select,.general-table.compact .tag-add{font-size:11px}.general-table.compact .tag{padding:0 5px;font-size:11px}.general-table.compact .inline-select{text-overflow:ellipsis;padding:1px 2px;font-size:12px}.general-table.compact .doc-bar{margin-top:1px}.general-table.compact .doc-chip{padding:0 6px;font-size:11px}.general-table.compact .group-send-mini{gap:6px;font-size:12px}.general-table.compact .month-row td{padding-top:6px;padding-bottom:4px}.general-table.compact tr.off-row td{padding-top:1px;padding-bottom:1px}.general-table.compact .row-actions{flex-direction:column;align-items:flex-end}.filters{gap:3px;margin-bottom:8px;padding:6px 10px}.filter-label{width:64px;font-size:12px}.filter-box{padding:0 6px;font-size:12px}.quick-add{gap:2px 10px;margin-bottom:6px}.quick-type{font-size:12px}.general-table.compact td{overflow:hidden}.general-table.compact .time-range{flex-wrap:wrap;gap:0 2px}.general-table.compact .time-range input[type=time]{width:100%;min-width:0}.general-table.compact .time-sep{display:none}.general-table.compact .schedule-cell input[type=date]{width:100%;min-width:0}