.ncm-overlay{position:fixed;inset:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.ncm-modal{background:#fff;border-radius:14px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.ncm-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid #e2e8f0;background:#1e293b;color:#fff}.ncm-title{margin:0;font-size:1.1rem;font-weight:700}.ncm-close{background:#ffffff26;border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.ncm-close:hover{background:#ffffff4d}.ncm-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;flex:1}.ncm-section-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:#94a3b8;text-transform:uppercase;margin-top:6px;border-bottom:1px solid #f1f5f9;padding-bottom:4px}.ncm-label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:#475569;flex:1}.ncm-input{padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem;background:#f8fafc;width:100%;box-sizing:border-box;transition:border-color .15s}.ncm-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.ncm-row2,.ncm-row3{display:flex;gap:12px}.ncm-row2>*,.ncm-row3>*{flex:1;min-width:0}.ncm-veh-toggle{margin-top:4px;padding:10px 14px;background:#f1f5f9;border-radius:8px}.ncm-checkbox-label{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;color:#334155;cursor:pointer}.ncm-checkbox-label input{width:16px;height:16px;cursor:pointer}.ncm-veh-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.ncm-error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;border-radius:6px;padding:10px 14px;font-size:.85rem}.ncm-footer{padding:14px 22px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:10px;background:#f8fafc}.ncm-btn-primary{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:9px 22px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s}.ncm-btn-primary:hover:not(:disabled){background:#2563eb}.ncm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ncm-btn-secondary{background:#e2e8f0;color:#475569;border:none;border-radius:8px;padding:9px 18px;font-size:.9rem;font-weight:600;cursor:pointer}.ncm-btn-secondary:hover:not(:disabled){background:#cbd5e1}[data-theme=dark] .ncm-modal{background:#1e293b}[data-theme=dark] .ncm-body{color:#e2e8f0}[data-theme=dark] .ncm-input{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .ncm-input:focus{background:#1e293b;border-color:#3b82f6}[data-theme=dark] .ncm-label{color:#94a3b8}[data-theme=dark] .ncm-section-title{color:#64748b;border-color:#1e293b}[data-theme=dark] .ncm-veh-toggle{background:#0f172a}[data-theme=dark] .ncm-checkbox-label{color:#cbd5e1}[data-theme=dark] .ncm-veh-block,[data-theme=dark] .ncm-footer{background:#0f172a;border-color:#334155}[data-theme=dark] .ncm-btn-secondary{background:#334155;color:#cbd5e1}.ncm-credit-toggle{display:flex;align-items:center;gap:8px;min-height:38px;font-weight:700}.ncm-credit-risk{display:flex;gap:10px;padding:12px 14px;margin:8px 0 14px;border:2px solid #f59e0b;border-radius:9px;background:#fffbeb;color:#92400e;font-size:.84rem;line-height:1.4}.ncm-credit-risk input{margin-top:3px;flex:0 0 auto}[data-theme=dark] .ncm-credit-risk,.dark .ncm-credit-risk{background:#451a03;color:#fde68a;border-color:#f59e0b}.voice-wrapper{display:inline-flex;align-items:center;gap:8px}.voice-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid #334155;background:#1e293b;color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.voice-btn:hover:not(:disabled){background:#334155;border-color:#6366f1;color:#e2e8f0}.voice-btn--recording{background:#ef44441f;border-color:#ef444480;color:#f87171;animation:voice-record-glow 1.4s ease-in-out infinite}.voice-btn--recording:hover{background:#ef444438;border-color:#ef4444;color:#fca5a5}@keyframes voice-record-glow{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 4px #ef444440}}.voice-pulse{width:10px;height:10px;border-radius:50%;background:#ef4444;display:inline-block;flex-shrink:0;animation:voice-pulse-dot .8s ease-in-out infinite alternate}@keyframes voice-pulse-dot{0%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.7)}}.voice-btn--processing{background:#6366f11f;border-color:#6366f166;color:#a5b4fc;cursor:not-allowed}.voice-spinner{width:14px;height:14px;border:2px solid rgba(165,180,252,.3);border-top-color:#a5b4fc;border-radius:50%;display:inline-block;flex-shrink:0;animation:voice-spin .7s linear infinite}@keyframes voice-spin{to{transform:rotate(360deg)}}.voice-icon{font-size:14px}.voice-label{font-size:12px}.voice-error{font-size:11px;color:#f87171;max-width:220px}@media(prefers-color-scheme:light){.voice-btn{border-color:#cbd5e1;background:#f8fafc;color:#64748b}.voice-btn:hover:not(:disabled){background:#f1f5f9;border-color:#6366f1;color:#1e293b}}[data-theme=light] .voice-btn{border-color:#cbd5e1;background:#f8fafc;color:#64748b}[data-theme=light] .voice-btn:hover:not(:disabled){background:#f1f5f9;border-color:#6366f1;color:#1e293b}.tpm-backdrop{position:fixed;inset:0;background:#0000008c;z-index:1100}.tpm-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1101;width:min(88vw,960px);height:min(85vh,720px);background:#1e2130;border:1px solid #2d3348;border-radius:14px;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000080;overflow:hidden}.tpm-header{display:flex;align-items:center;gap:10px;padding:16px 20px;background:linear-gradient(135deg,#2563eb,#1d4ed8);flex-shrink:0}.tpm-header-icon{font-size:1.2rem}.tpm-title{margin:0;font-size:1.1rem;font-weight:700;color:#fff;flex:1}.tpm-close{background:#ffffff26;border:none;color:#fff;font-size:1rem;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.tpm-close:hover{background:#ffffff4d}.tpm-search-row{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #2d3348;background:#252839;flex-shrink:0}.tpm-search-icon{font-size:1rem;opacity:.6}.tpm-search{flex:1;background:#1a1d2e;border:1px solid #3d4468;border-radius:8px;padding:8px 12px;color:#e2e8f0;font-size:.95rem;outline:none;transition:border-color .15s}.tpm-search:focus{border-color:#2563eb}.tpm-search::-moz-placeholder{color:#6b7a99}.tpm-search::placeholder{color:#6b7a99}.tpm-clear-search{background:none;border:none;color:#6b7a99;font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .15s,background .15s}.tpm-clear-search:hover{color:#e2e8f0;background:#2d3348}.tpm-body{display:flex;flex:1;overflow:hidden}.tpm-sidebar{width:210px;flex-shrink:0;overflow-y:auto;border-right:1px solid #2d3348;background:#1a1d2e;padding:8px 0}.tpm-sidebar::-webkit-scrollbar{width:4px}.tpm-sidebar::-webkit-scrollbar-thumb{background:#3d4468;border-radius:4px}.tpm-cat-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 14px;background:none;border:none;color:#94a3b8;font-size:.85rem;cursor:pointer;text-align:left;border-left:3px solid transparent;transition:all .15s}.tpm-cat-btn:hover{background:#252839;color:#e2e8f0}.tpm-cat-btn--active{background:#1e3a8a22;color:#60a5fa;border-left-color:#2563eb;font-weight:600}.tpm-cat-name{flex:1}.tpm-cat-count{flex-shrink:0}.tpm-cat-total{font-size:.75rem;color:#4b5680}.tpm-cat-badge{background:#2563eb;color:#fff;font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:10px}.tpm-content{flex:1;overflow-y:auto;padding:8px 0}.tpm-content::-webkit-scrollbar{width:5px}.tpm-content::-webkit-scrollbar-thumb{background:#3d4468;border-radius:4px}.tpm-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px 6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2563eb;border-bottom:1px solid #2d3348;margin-bottom:2px;margin-top:8px}.tpm-group-header:first-child{margin-top:0}.tpm-cat-actions{display:flex;justify-content:flex-end;padding:6px 14px 4px}.tpm-toggle-all{background:none;border:1px solid #3d4468;color:#94a3b8;font-size:.75rem;padding:3px 10px;border-radius:6px;cursor:pointer;transition:all .15s}.tpm-toggle-all:hover{background:#2d3348;color:#e2e8f0;border-color:#2563eb}.tpm-item{display:flex;align-items:center;gap:10px;padding:9px 18px;cursor:pointer;border-radius:0;transition:background .1s;border-bottom:1px solid #1e2130}.tpm-item:hover{background:#252839}.tpm-item--checked{background:#1e3a8a18}.tpm-item--checked:hover{background:#1e3a8a28}.tpm-checkbox{width:16px;height:16px;flex-shrink:0;accent-color:#2563eb;cursor:pointer}.tpm-item-text{flex:1;font-size:.9rem;color:#cbd5e1;line-height:1.4}.tpm-item--checked .tpm-item-text{color:#93c5fd}.tpm-delete-btn{background:none;border:none;color:#4b5680;font-size:.75rem;cursor:pointer;padding:2px 5px;border-radius:4px;opacity:0;transition:all .15s}.tpm-item:hover .tpm-delete-btn{opacity:1}.tpm-delete-btn:hover{color:#ef4444;background:#ef444420}.tpm-empty{padding:40px 24px;text-align:center;color:#4b5680;font-size:.9rem}.tpm-add-form{padding:14px 18px;border-top:1px solid #2d3348;background:#252839;flex-shrink:0}.tpm-add-title{margin:0 0 10px;font-size:.85rem;color:#60a5fa;font-weight:600}.tpm-add-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.tpm-add-field{display:flex;flex-direction:column;gap:4px}.tpm-add-field--wide{flex:1;min-width:200px}.tpm-add-label{font-size:.75rem;color:#94a3b8;font-weight:500}.tpm-add-input{background:#1a1d2e;border:1px solid #3d4468;border-radius:7px;padding:7px 11px;color:#e2e8f0;font-size:.88rem;outline:none;transition:border-color .15s;width:160px}.tpm-add-field--wide .tpm-add-input{width:100%}.tpm-add-input:focus{border-color:#2563eb}.tpm-add-actions{display:flex;gap:8px;align-items:center}.tpm-btn-save{padding:7px 16px;background:#2563eb;color:#fff;border:none;border-radius:7px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.tpm-btn-save:hover:not(:disabled){background:#1d4ed8}.tpm-btn-save:disabled{opacity:.5;cursor:not-allowed}.tpm-btn-cancel-add{padding:7px 12px;background:none;color:#94a3b8;border:1px solid #3d4468;border-radius:7px;font-size:.85rem;cursor:pointer;transition:all .15s;white-space:nowrap}.tpm-btn-cancel-add:hover{background:#2d3348;color:#e2e8f0}.tpm-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid #2d3348;background:#1a1d2e;flex-shrink:0;flex-wrap:wrap}.tpm-footer-left,.tpm-footer-right{display:flex;align-items:center;gap:10px}.tpm-selected-info{font-size:.85rem;color:#94a3b8}.tpm-selected-info--empty{color:#4b5680}.tpm-clear-btn{background:none;border:none;color:#6b7a99;font-size:.8rem;cursor:pointer;padding:3px 8px;border-radius:5px;transition:all .15s}.tpm-clear-btn:hover{color:#ef4444;background:#ef444418}.tpm-btn-add-new{padding:8px 14px;background:none;border:1px solid #3d4468;color:#94a3b8;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .15s}.tpm-btn-add-new:hover,.tpm-btn-add-new--active{background:#252839;color:#60a5fa;border-color:#2563eb}.tpm-btn-insert{padding:9px 20px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap}.tpm-btn-insert:hover:not(:disabled){background:#1d4ed8}.tpm-btn-insert:disabled{opacity:.45;cursor:not-allowed}@media(prefers-color-scheme:light){.tpm-modal{background:#f8fafc;border-color:#e2e8f0}.tpm-search-row{background:#f1f5f9;border-color:#e2e8f0}.tpm-search{background:#fff;border-color:#cbd5e1;color:#1e293b}.tpm-search::-moz-placeholder{color:#94a3b8}.tpm-search::placeholder{color:#94a3b8}.tpm-sidebar{background:#f1f5f9;border-color:#e2e8f0}.tpm-cat-btn{color:#475569}.tpm-cat-btn:hover{background:#e2e8f0;color:#1e293b}.tpm-cat-btn--active{background:#dbeafe;color:#2563eb;border-left-color:#2563eb}.tpm-cat-total{color:#94a3b8}.tpm-content{background:#fff}.tpm-item{border-color:#f1f5f9}.tpm-item:hover{background:#f8fafc}.tpm-item--checked{background:#eff6ff}.tpm-item-text{color:#334155}.tpm-item--checked .tpm-item-text{color:#1d4ed8}.tpm-group-header{color:#2563eb;border-color:#e2e8f0}.tpm-add-form{background:#f1f5f9;border-color:#e2e8f0}.tpm-add-input{background:#fff;border-color:#cbd5e1;color:#1e293b}.tpm-footer{background:#f1f5f9;border-color:#e2e8f0}.tpm-selected-info{color:#475569}.tpm-selected-info--empty{color:#94a3b8}}.dark .tpm-modal,.dark .tpm-search-row{background:#1e293b;border-color:#334155}.dark .tpm-search{background:#0f172a;border-color:#334155;color:#e2e8f0}.dark .tpm-search::-moz-placeholder{color:#64748b}.dark .tpm-search::placeholder{color:#64748b}.dark .tpm-sidebar{background:#0f172a;border-color:#334155}.dark .tpm-cat-btn{color:#94a3b8}.dark .tpm-cat-btn:hover{background:#1e293b;color:#e2e8f0}.dark .tpm-cat-btn--active{background:#2563eb26;color:#60a5fa;border-left-color:#2563eb}.dark .tpm-cat-total{color:#64748b}.dark .tpm-content{background:#1e293b}.dark .tpm-item{border-color:#334155}.dark .tpm-item:hover{background:#0f172a}.dark .tpm-item--checked{background:#2563eb26}.dark .tpm-item-text{color:#e2e8f0}.dark .tpm-item--checked .tpm-item-text{color:#93c5fd}.dark .tpm-group-header{color:#60a5fa;border-color:#334155}.dark .tpm-add-form{background:#1e293b;border-color:#334155}.dark .tpm-add-input{background:#0f172a;border-color:#334155;color:#e2e8f0}.dark .tpm-footer{background:#0f172a;border-color:#334155}.dark .tpm-selected-info{color:#94a3b8}.dark .tpm-selected-info--empty{color:#64748b}.rec{max-width:860px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:20px}.rec-header{margin-bottom:4px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rec-title{margin:0 0 4px;font-size:22px;font-weight:700;color:#0f172a}.rec-subtitle{margin:0;font-size:13px;color:#94a3b8}.rec-header-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.rec-btn-secondary{padding:7px 14px;border-radius:8px;border:1px solid #7c3aed;background:transparent;color:#7c3aed;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.rec-btn-secondary:hover{background:#7c3aed;color:#fff}.rec-btn-primary{padding:7px 14px;border-radius:8px;border:none;background:#2563eb;color:#fff;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.rec-btn-primary:hover{background:#1d4ed8}.rec-link-btn{background:none;border:none;color:#2563eb;font-size:inherit;cursor:pointer;padding:0;text-decoration:underline}.rec-link-btn:hover{color:#1d4ed8}.dark .rec-header-actions .rec-btn-secondary{border-color:#a78bfa;color:#a78bfa}.dark .rec-header-actions .rec-btn-secondary:hover{background:#7c3aed;color:#fff}.dark .rec-btn-primary{background:#3b82f6}.dark .rec-btn-primary:hover{background:#2563eb}.dark .rec-link-btn{color:#60a5fa}.dark .rec-link-btn:hover{color:#93c5fd}.rec-search-wrap{position:relative}.rec-search-box{position:relative;display:flex;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;transition:border-color .15s,box-shadow .15s}.rec-search-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.rec-search-icon{padding:0 12px;font-size:18px;flex-shrink:0}.rec-search-input{flex:1;border:none;background:transparent;padding:14px 0;font-size:16px;color:#1e293b;outline:none}.rec-search-input::-moz-placeholder{color:#94a3b8}.rec-search-input::placeholder{color:#94a3b8}.rec-search-spinner{width:18px;height:18px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .7s linear infinite;margin-right:12px;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.rec-search-clear{background:none;border:none;color:#94a3b8;font-size:16px;cursor:pointer;padding:0 14px;transition:color .15s}.rec-search-clear:hover{color:#ef4444}.rec-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px #0000001f;z-index:100;max-height:320px;overflow-y:auto}.rec-result{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.rec-result:last-child{border-bottom:none}.rec-result:hover{background:#eff6ff}.rec-result-name{font-weight:600;font-size:14px;color:#0f172a;margin-bottom:4px}.rec-result-details{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#64748b}.rec-mark{background:#fef08a;color:#713f12;border-radius:2px}.rec-no-result{padding:20px;text-align:center;color:#94a3b8;font-size:14px}.rec-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.rec-card-header{padding:11px 18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.rec-card-header--blue{background:#eff6ff;color:#1d4ed8}.rec-card-header--orange{background:#fff7ed;color:#c2410c}.rec-card-header--green{background:#f0fdf4;color:#15803d}.rec-card-body{padding:16px 18px}.rec-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.rec-info-field{display:flex;flex-direction:column;gap:2px}.rec-info-field--full{grid-column:1 / -1}.rec-info-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8}.rec-info-value{font-size:14px;font-weight:500;color:#1e293b}.rec-empty{color:#94a3b8;font-size:14px;margin:0}.rec-vehicles{display:flex;flex-direction:column;gap:8px}.rec-vehicle-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;text-align:left;transition:all .15s;width:100%}.rec-vehicle-btn:hover{border-color:#93c5fd;background:#eff6ff}.rec-vehicle-btn--active{border-color:#3b82f6;background:#eff6ff}.rec-vehicle-icon{font-size:24px;flex-shrink:0}.rec-vehicle-btn strong{font-size:14px;color:#0f172a;display:block}.rec-vehicle-sub{font-size:12px;color:#64748b;margin-top:2px}.rec-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:20px}.rec-field{display:flex;flex-direction:column;gap:4px}.rec-field--full{grid-column:1 / -1}.rec-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.rec-input,.rec-textarea{border:1px solid #e2e8f0;border-radius:8px;padding:9px 12px;font-size:14px;color:#1e293b;background:#f8fafc;transition:border-color .15s,box-shadow .15s;font-family:inherit}.rec-input:focus,.rec-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.rec-textarea{resize:vertical}.rec-actions{display:flex;gap:10px;flex-wrap:wrap}.rec-btn{padding:10px 20px;border-radius:9px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.rec-btn--primary{background:#2563eb;color:#fff}.rec-btn--primary:hover{background:#1d4ed8}.rec-btn--secondary{background:#7c3aed;color:#fff}.rec-btn--secondary:hover{background:#6d28d9}.rec-btn--ghost{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.rec-btn--ghost:hover{background:#e2e8f0}.dark .rec-title{color:#f1f5f9}.dark .rec-subtitle{color:#334155}.dark .rec-search-box{background:#0f172a;border-color:#ffffff14}.dark .rec-search-box:focus-within{border-color:#3b82f6}.dark .rec-search-input{color:#e2e8f0}.dark .rec-search-input::-moz-placeholder{color:#334155}.dark .rec-search-input::placeholder{color:#334155}.dark .rec-search-spinner{border-color:#ffffff14;border-top-color:#3b82f6}.dark .rec-dropdown{background:#0f172a;border-color:#ffffff14;box-shadow:0 12px 32px #00000080}.dark .rec-result{border-bottom-color:#ffffff0a}.dark .rec-result:hover{background:#3b82f614}.dark .rec-result-name{color:#f1f5f9}.dark .rec-result-details{color:#475569}.dark .rec-no-result{color:#334155}.dark .rec-card{background:#0f172a;border-color:#ffffff0f}.dark .rec-card-header--blue{background:#3b82f614;color:#60a5fa}.dark .rec-card-header--orange{background:#fb923c14;color:#fb923c}.dark .rec-card-header--green{background:#22c55e14;color:#4ade80}.dark .rec-info-label{color:#334155}.dark .rec-info-value{color:#e2e8f0}.dark .rec-vehicle-btn{background:#ffffff08;border-color:#ffffff14}.dark .rec-vehicle-btn:hover{background:#3b82f614;border-color:#3b82f6}.dark .rec-vehicle-btn--active{background:#3b82f61a;border-color:#3b82f6}.dark .rec-vehicle-btn strong{color:#f1f5f9}.dark .rec-vehicle-sub{color:#475569}.dark .rec-input,.dark .rec-textarea{background:#ffffff0a;border-color:#ffffff14;color:#e2e8f0}.dark .rec-input:focus,.dark .rec-textarea:focus{background:#ffffff0f;border-color:#3b82f6}.dark .rec-label{color:#475569}.dark .rec-btn--ghost{background:#ffffff0f;color:#94a3b8;border-color:#ffffff14}.dark .rec-btn--ghost:hover{background:#ffffff1a}.motif-wrap{position:relative}.motif-field{display:flex;gap:6px;align-items:center}.motif-trigger{flex:1;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;background:#f8fafc;cursor:pointer;font-size:14px;color:#1e293b;transition:border-color .15s,box-shadow .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:40px}.motif-trigger:hover{border-color:#93c5fd}.motif-trigger--open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.motif-placeholder{color:#94a3b8;font-style:normal;line-height:24px}.motif-trigger-arrow{color:#94a3b8;font-size:11px;margin-left:4px;flex-shrink:0;line-height:24px}.motif-chips{display:flex;flex-wrap:wrap;gap:5px;flex:1}.motif-chip{display:inline-flex;align-items:center;gap:5px;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500}.motif-chip-del{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:0;line-height:1;transition:color .1s}.motif-chip-del:hover{color:#ef4444}.motif-edit-btn{background:none;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:14px;color:#64748b;transition:all .15s;flex-shrink:0}.motif-edit-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.motif-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:40px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001a;z-index:200;max-height:280px;display:flex;flex-direction:column;overflow:hidden}.motif-dropdown-list{flex:1;overflow-y:auto;overflow-x:hidden}.motif-dropdown-list::-webkit-scrollbar{width:5px}.motif-dropdown-list::-webkit-scrollbar-track{background:transparent}.motif-dropdown-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.dark .motif-dropdown-list::-webkit-scrollbar-thumb{background:#334155}.motif-cat-row{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.motif-cat-row:hover{background:#eff6ff}.motif-cat-label{font-size:14px;font-weight:600;color:#1e293b;flex:1}.motif-cat-arrow{color:#94a3b8;font-size:13px;margin-left:8px}.motif-check-row{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer}.motif-check{width:15px;height:15px;accent-color:#3b82f6;cursor:pointer;flex-shrink:0}.motif-sub-row{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 30px;border-bottom:1px solid #f8fafc;cursor:pointer;transition:background .1s}.motif-sub-row:hover{background:#f0f9ff}.motif-sub-label{font-size:13px;color:#475569}.motif-dropdown-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-top:1px solid #f1f5f9;font-size:12px;color:#94a3b8}.motif-clear-btn{background:none;border:none;color:#ef4444;font-size:12px;cursor:pointer;font-weight:600;padding:0}.motif-clear-btn:hover{text-decoration:underline}.motif-overlay{position:fixed;inset:0;background:#0006;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.motif-modal{background:#fff;border-radius:14px;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003}.motif-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f1f5f9;font-weight:700;font-size:15px;color:#0f172a}.motif-modal-close{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .15s}.motif-modal-close:hover{background:#f1f5f9;color:#475569}.motif-modal-body{overflow-y:auto;flex:1;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.motif-modal-footer{padding:12px 20px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end}.motif-edit-cat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.motif-edit-cat-row,.motif-edit-sub-row{display:flex;align-items:center;gap:8px;padding:8px 12px}.motif-edit-cat-row{border-bottom:1px solid #f1f5f9;background:#fff}.motif-edit-cat-label{flex:1;font-size:14px;font-weight:600;color:#1e293b;cursor:text}.motif-edit-sub-row{padding:6px 12px 6px 24px;border-bottom:1px solid #f8fafc}.motif-edit-sub-label{flex:1;font-size:13px;color:#475569;cursor:text}.motif-edit-subs{padding:4px 0}.motif-edit-actions{display:flex;gap:4px;flex-shrink:0}.motif-icon-btn{background:none;border:none;font-size:13px;cursor:pointer;padding:3px 5px;border-radius:5px;opacity:.6;transition:opacity .15s}.motif-icon-btn:hover{opacity:1}.motif-icon-btn--del:hover{background:#fee2e2}.motif-edit-input{flex:1;border:1px solid #93c5fd;border-radius:6px;padding:5px 8px;font-size:14px;color:#1e293b;background:#fff;outline:none}.motif-edit-input--sm{font-size:13px}.motif-edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.motif-add-sub-row{display:flex;gap:6px;padding:6px 12px 8px 24px}.motif-add-cat-row{display:flex;gap:8px;margin-top:4px}.motif-add-btn{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;flex-shrink:0}.motif-add-btn:hover{background:#2563eb}.motif-add-btn--cat{padding:8px 16px;font-size:14px}.dark .motif-trigger{background:#ffffff0a;border-color:#ffffff14;color:#e2e8f0}.dark .motif-trigger:hover{border-color:#3b82f6}.dark .motif-trigger--open{background:#ffffff0f}.dark .motif-edit-btn{background:#ffffff0a;border-color:#ffffff14;color:#64748b}.dark .motif-edit-btn:hover{background:#ffffff14}.dark .motif-chips .motif-chip{background:#3b82f626;color:#60a5fa}.dark .motif-chip-del{color:#60a5fa}.dark .motif-dropdown{background:#0f172a;border-color:#ffffff14;box-shadow:0 8px 24px #0006}.dark .motif-cat-row{border-bottom-color:#ffffff0a}.dark .motif-cat-row:hover{background:#3b82f614}.dark .motif-cat-label{color:#e2e8f0}.dark .motif-sub-row{border-bottom-color:#ffffff05}.dark .motif-sub-row:hover{background:#3b82f614}.dark .motif-sub-label{color:#64748b}.dark .motif-dropdown-footer{border-top-color:#ffffff0f;color:#334155}.dark .motif-overlay{background:#0009}.dark .motif-modal{background:#0f172a}.dark .motif-modal-header{color:#f1f5f9;border-bottom-color:#ffffff0f}.dark .motif-modal-footer{border-top-color:#ffffff0f}.dark .motif-edit-cat{background:#ffffff05;border-color:#ffffff0f}.dark .motif-edit-cat-row{background:#ffffff08;border-bottom-color:#ffffff0a}.dark .motif-edit-cat-label{color:#f1f5f9}.dark .motif-edit-sub-label{color:#64748b}.dark .motif-edit-input{background:#0b1220;border-color:#3b82f666;color:#e2e8f0}.rec-vehicle-check{margin-left:auto;color:#3b82f6;font-size:18px;font-weight:700}.rec-step-actions{display:flex;justify-content:flex-end;padding-top:4px}.rec-btn--next{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;padding:14px 28px;font-size:15px;font-weight:700;border-radius:12px;border:none;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #2563eb4d;letter-spacing:.3px}.rec-btn--next:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 6px 20px #2563eb66;transform:translateY(-1px)}.rec-detail-page{max-width:900px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px}.rec-detail-header{display:flex;align-items:flex-start;gap:16px}.rec-back-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.rec-back-btn:hover{background:#e2e8f0;color:#1e293b}.rec-detail-title-block{flex:1}.rec-detail-title{margin:0 0 4px;font-size:22px;font-weight:700;color:#0f172a}.rec-detail-subtitle{margin:0;font-size:14px;color:#64748b}.rec-detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.rec-detail-summary{grid-template-columns:1fr}}.rec-summary-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:14px;border:2px solid}.rec-summary-card--client{background:#eff6ff;border-color:#bfdbfe}.rec-summary-card--vehicle{background:#fff7ed;border-color:#fed7aa}.rec-summary-icon{font-size:28px;flex-shrink:0}.rec-summary-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:3px}.rec-summary-value{font-size:15px;font-weight:700;color:#0f172a;margin-bottom:6px}.rec-summary-sub{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#64748b}.rec-detail-form{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.rec-detail-section{padding:20px 24px;border-bottom:1px solid #f1f5f9}.rec-detail-section:last-child{border-bottom:none}.rec-detail-section-title{font-size:13px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.rec-textarea--lg{width:100%;box-sizing:border-box}.rec-detail-actions{padding:20px 24px;display:flex;gap:12px;flex-wrap:wrap;background:#f8fafc;border-top:1px solid #e2e8f0}.rec-btn--lg{padding:13px 24px;font-size:15px;border-radius:11px}.rec-tech-grid{display:flex;flex-wrap:wrap;gap:8px}.rec-tech-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:99px;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:all .15s;white-space:nowrap}.rec-tech-btn:hover{border-color:#93c5fd;background:#eff6ff;color:#1e293b}.rec-tech-btn--active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8;font-weight:700}.rec-tech-btn--none{color:#94a3b8}.rec-tech-btn--none.rec-tech-btn--active{border-color:#cbd5e1;background:#f1f5f9;color:#64748b}.rec-tech-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.rec-tech-name{line-height:1}.rec-tech-check{color:#3b82f6;font-weight:700;font-size:13px;margin-left:2px}.dark .rec-tech-btn{background:#ffffff0a;border-color:#ffffff14;color:#64748b}.dark .rec-tech-btn:hover{background:#3b82f614;border-color:#3b82f6;color:#e2e8f0}.dark .rec-tech-btn--active{background:#3b82f61a;border-color:#3b82f6;color:#60a5fa}.dark .rec-back-btn{background:#ffffff0f;border-color:#ffffff14;color:#94a3b8}.dark .rec-back-btn:hover{background:#ffffff1a;color:#e2e8f0}.dark .rec-detail-title{color:#f1f5f9}.dark .rec-detail-subtitle{color:#475569}.dark .rec-summary-card--client{background:#3b82f614;border-color:#3b82f633}.dark .rec-summary-card--vehicle{background:#fb923c14;border-color:#fb923c33}.dark .rec-summary-value{color:#f1f5f9}.dark .rec-summary-sub{color:#475569}.dark .rec-detail-form{background:#0f172a;border-color:#ffffff0f}.dark .rec-detail-section{border-bottom-color:#ffffff0a}.dark .rec-detail-section-title{color:#334155}.dark .rec-detail-actions{background:#ffffff05;border-top-color:#ffffff0f}.rdv-tel-search{position:relative;margin-top:6px}.rdv-tel-input-wrap{display:flex;align-items:center;background:#3b82f60f;border:1px solid rgba(59,130,246,.25);border-radius:8px;padding:0 10px;gap:6px;transition:border-color .15s,background .15s}.rdv-tel-input-wrap:focus-within{border-color:#3b82f6;background:#3b82f61a}.rdv-tel-icon{font-size:13px;opacity:.8;flex-shrink:0}.rdv-tel-input{flex:1;background:none;border:none;outline:none;font-size:13px;padding:8px 0;color:#1e293b;min-width:0}.rdv-tel-input::-moz-placeholder{color:#94a3b8}.rdv-tel-input::placeholder{color:#94a3b8}.dark .rdv-tel-input{color:#e2e8f0}.rdv-tel-spinner{width:12px;height:12px;border:2px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:sps-spin .6s linear infinite;flex-shrink:0}.rdv-tel-clear{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:16px;padding:0;flex-shrink:0}.rdv-tel-clear:hover{color:#475569}.rdv-tel-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:600;overflow:hidden}.dark .rdv-tel-dropdown{background:#1e293b;border-color:#ffffff1a}.rdv-tel-result{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;cursor:pointer;border-bottom:1px solid #f1f5f9;gap:8px}.dark .rdv-tel-result{border-bottom-color:#ffffff0d}.rdv-tel-result:last-child{border-bottom:none}.rdv-tel-result:hover{background:#eff6ff}.dark .rdv-tel-result:hover{background:#3b82f61f}.rdv-tel-result-name{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .rdv-tel-result-name{color:#f1f5f9}.rdv-tel-result-tel{font-size:12px;color:#3b82f6;font-family:monospace;white-space:nowrap;flex-shrink:0}.rec-refus-banner{background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;padding:.5rem .75rem;font-size:.82rem;color:#92400e;font-weight:500;margin-top:.5rem}[data-theme=dark] .rec-refus-banner,.dark .rec-refus-banner{background:#451a03;border-color:#b45309;color:#fde68a}@media(max-width:600px){.rec,.rec-detail-page{padding:16px}.rec-detail-header,.rec-detail-actions{flex-direction:column}.rec-btn--lg,.rec-btn--next{width:100%;text-align:center}}.calendar-container{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-default);overflow:hidden}.dashboard-main--fullscreen .calendar-container{height:100vh}.calendar-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.calendar{background:var(--bg-default);border-radius:12px;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--text-default)}.calendar-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.calendar-title{margin:0;font-size:1.5rem;font-weight:600}.calendar-nav{display:flex;gap:1rem;align-items:center}.nav-button{background:#fff3;border:none;color:#fff;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s ease;backdrop-filter:blur(10px)}.nav-button:hover{background:#ffffff4d}.add-appointment-btn{background:#48bb78;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .3s ease}.add-appointment-btn:hover{background:#38a169}.calendar-body{padding:1.5rem}.calendar-view{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.day-header{background:var(--bg-muted);padding:.75rem;text-align:center;font-weight:600;color:#4a5568;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.day-cell{background:var(--bg-default);min-height:100px;padding:.5rem;position:relative;cursor:pointer;transition:background-color .2s ease;display:flex;flex-direction:column;color:var(--text-default)}.day-cell:hover{background:var(--bg-muted);opacity:.9}.day-cell.other-month{background:var(--secondary-color);color:#a0aec0}.day-cell.today{background:#3b82f614;border:2px solid #3182ce}.day-number{font-weight:600;font-size:.9rem;color:var(--text-default);margin-bottom:.25rem}.day-cell.other-month .day-number{color:var(--text-secondary, #a0aec0);opacity:.5}.appointments{flex:1;display:flex;flex-direction:column;gap:2px}.appointment{background:#667eea;color:#fff;padding:2px 4px;border-radius:3px;font-size:.7rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .2s ease}.appointment:hover{background:#5a67d8}.appointment.priority-high{background:#e53e3e}.appointment.priority-medium{background:#dd6b20}.appointment.priority-low{background:#38a169}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.modal{background:var(--bg-default);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;color:var(--text-default)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-muted);border-radius:12px 12px 0 0}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-default)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary, #a0aec0);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:var(--border-color);color:var(--text-default)}.modal-body{padding:1.5rem}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-default);font-size:.9rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;background:var(--bg-default);color:var(--text-default);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-footer{padding:1rem 1.5rem;background:var(--bg-muted);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem;border-radius:0 0 12px 12px}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-muted, #f7fafc);border-radius:8px;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.toolbar-left{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.appointments-count{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-default);border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;color:var(--text-default)}.appointments-count .badge{background:#667eea;color:#fff;padding:.25rem .6rem;border-radius:12px;font-weight:600;font-size:.85rem}.technicians-band{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--bg-default);border-radius:8px;border:1px solid var(--border-color)}.technicians-label{font-size:.85rem;font-weight:600;color:var(--text-default);white-space:nowrap}.technicians-list{display:flex;gap:.5rem;flex-wrap:wrap}.technician-badge{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px;font-size:.8rem;color:var(--text-default);font-weight:500;transition:all .2s ease;border:1px solid rgba(102,126,234,.2)}.technician-badge:hover{background:linear-gradient(135deg,#667eea33,#764ba233);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.technician-indicator{width:8px;height:8px;border-radius:50%;display:inline-block}.technician-name{white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 2px 4px #667eea4d;font-weight:500}.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6a3f8f);transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.btn-secondary{background:var(--bg-default);color:#667eea;border:2px solid #667eea;font-weight:500;box-shadow:0 2px 4px #667eea26}.btn-secondary:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#764ba2;color:#764ba2;transform:translateY(-2px);box-shadow:0 4px 8px #667eea40}.btn-danger{background:#e53e3e;color:#fff}.btn-danger:hover{background:#c53030;transform:translateY(-1px)}.loading{text-align:center;padding:2rem;color:#718096}.error{background:#fed7d7;border:1px solid #feb2b2;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1rem}@media(max-width:768px){.calendar-header{flex-direction:column;gap:1rem;text-align:center}.calendar-nav{justify-content:center;flex-wrap:wrap}.calendar-toolbar{flex-direction:column;align-items:stretch}.toolbar-left{justify-content:center}.technicians-band{flex-direction:column;align-items:flex-start;gap:.5rem}.technicians-list{width:100%}.day-cell{min-height:80px;padding:.25rem}.modal{width:95%;margin:1rem}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.calendar-body{padding:1rem}.day-cell{min-height:60px}.appointment{font-size:.6rem;padding:1px 3px}}.daily-calendar{background:var(--bg-default);border-radius:12px;padding:1rem 1.25rem;box-shadow:var(--shadow-light, 0 4px 6px -1px rgba(0,0,0,.1));display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow:hidden}.daily-header{display:flex;align-items:center;border:1px solid var(--border-color, #e2e8f0);border-bottom:2px solid rgba(148,163,184,.6);border-radius:10px 10px 0 0;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.daily-header .time-col{flex:0 0 70px;background:#94a3b833;height:40px;border-right:1px solid rgba(148,163,184,.4)}.daily-header .room-col{flex:1 1 0;height:40px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;color:#fff;text-transform:capitalize;border-left:1px solid rgba(255,255,255,.2);background:#ffffff1a;padding:0 8px;text-align:center}.daily-grid-wrap{border-radius:0 0 10px 10px;border:1px solid var(--border-color, #e2e8f0);border-top:none;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.daily-grid{display:flex;align-items:flex-start;position:relative;background:var(--bg-muted, #f7fafc)}.time-column{flex:0 0 70px;background:#94a3b81a;border-right:1px solid rgba(148,163,184,.4)}.hour-cell{height:60px;border-bottom:1px solid rgba(148,163,184,.4);padding:4px 6px;font-size:.75rem;color:var(--text-default);display:flex;align-items:flex-start}.room-column{flex:1 1 0;position:relative;border-left:1px solid var(--border-color);background:var(--bg-default)}.slot-cell{height:60px;border-bottom:1px dashed var(--border-color)}.appointment-block{position:absolute;left:4px;right:4px;border-radius:8px;padding:4px 6px;font-size:.8rem;box-shadow:0 2px 6px #0f172a59;overflow:hidden;cursor:pointer;display:flex;align-items:flex-start;justify-content:flex-start}.selection-block{position:absolute;left:3px;right:3px;background:#2563eb29;border:1px solid rgba(37,99,235,.7);border-radius:6px;pointer-events:none}@media(max-width:900px){.daily-header .time-col,.time-column{flex-basis:55px}.hour-cell{font-size:.7rem}.daily-header .room-col{font-size:.8rem;padding:0 4px}}.dark .calendar,.dark .daily-calendar{background:var(--bg-dark)}.dark .day-cell{border-color:#ffffff14}.dark .day-cell:hover{background:#ffffff0d}.dark .day-header{background:#94a3b81a;color:var(--text-dark)}.dark .hour-cell{color:var(--text-dark)}.dark .time-column{background:#94a3b80d;border-right-color:#94a3b833}.dark .daily-grid{background:#0003}.dark .room-column{background:#ffffff05;border-left-color:#94a3b833}.dark .slot-cell{border-bottom-color:#94a3b826}.dark .daily-grid-wrap{border-color:#ffffff1a}.dark .daily-header{border-color:#ffffff1a;border-bottom-color:#94a3b84d}.dark .appointment-block{box-shadow:0 2px 6px #00000080}.dark .selection-block{background:#2563eb40;border-color:#2563ebe6}.dark .loading{color:var(--text-dark)}.calendar-day-cell{background:var(--bg-default);border:1px solid var(--border-color)}.calendar-day-cell.empty{background:var(--secondary-color);opacity:.5}.calendar-day-cell.today{background:#3b82f614;border:2px solid #2196F3}.calendar-day-number{color:var(--text-default)}.calendar-day-number.today-number{color:#2196f3;font-weight:700}.dark .calendar-day-cell{border-color:#ffffff1a}.dark .calendar-day-cell.empty{background:#ffffff05}.dark .calendar-day-cell.today{background:#2196f326;border-color:#2196f3}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg-default);border-bottom:1px solid var(--border-color);gap:16px;flex-wrap:wrap}.cal-header-nav{display:flex;align-items:center;gap:4px}.cal-nav-btn{background:none;border:1px solid var(--border-color);color:var(--text-default);border-radius:8px;padding:6px 12px;font-size:14px;cursor:pointer;transition:all .15s;font-weight:500}.cal-nav-btn:hover:not(:disabled){background:#6366f11a;border-color:#6366f1;color:#6366f1}.cal-nav-btn:disabled{opacity:.4;cursor:not-allowed}.cal-nav-btn--today{padding:6px 14px;background:#6366f114;border-color:#6366f14d;color:#6366f1;font-size:13px}.cal-header-date{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px}.cal-date-text{font-size:17px;font-weight:600;color:var(--text-default);text-transform:capitalize}.cal-loading-dot{width:8px;height:8px;border-radius:50%;background:#6366f1;animation:cal-pulse 1s ease-in-out infinite}@keyframes cal-pulse{0%,to{opacity:1}50%{opacity:.3}}.cal-view-selector{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.cal-view-btn{background:none;border:none;padding:6px 16px;font-size:13px;font-weight:500;color:var(--text-default);cursor:pointer;transition:all .15s;opacity:.7}.cal-view-btn:hover:not(:disabled){background:#6366f114;opacity:1}.cal-view-btn--active{background:#6366f1;color:#fff;opacity:1}.cal-view-btn--active:hover{background:#4f46e5}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--bg-muted, #f7fafc);border-bottom:1px solid var(--border-color);gap:12px;flex-wrap:wrap}.cal-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cal-count-badge{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--bg-default);border:1px solid var(--border-color);border-radius:20px;font-size:13px;color:var(--text-default)}.cal-count-num{background:#6366f1;color:#fff;border-radius:20px;padding:1px 8px;font-weight:700;font-size:12px}.cal-count-label{color:var(--text-default);opacity:.7}.cal-techs{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.cal-tech-chip{display:flex;align-items:center;gap:5px;padding:3px 10px;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:20px;font-size:12px;color:var(--text-default);font-weight:500;white-space:nowrap}.cal-tech-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cal-toolbar-right{display:flex;align-items:center;gap:8px}.cal-btn-refresh{background:none;border:1px solid var(--border-color);color:var(--text-default);border-radius:8px;width:36px;height:36px;font-size:16px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.cal-btn-refresh:hover:not(:disabled){background:#6366f114;border-color:#6366f1}.cal-btn-new{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.cal-btn-new:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.cal-btn-new:disabled{opacity:.5;cursor:not-allowed}.rdv-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);z-index:200;animation:rdv-fade-in .2s ease}@keyframes rdv-fade-in{0%{opacity:0}to{opacity:1}}.rdv-panel{position:fixed;top:0;right:0;width:460px;max-width:100vw;height:100vh;background:var(--bg-default, #fff);border-left:1px solid var(--border-color, #e2e8f0);box-shadow:-8px 0 40px #0000002e;z-index:201;display:flex;flex-direction:column;animation:rdv-slide-in .25s ease}@keyframes rdv-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.rdv-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;flex-shrink:0}.rdv-header-info{display:flex;align-items:center;gap:12px}.rdv-header-icon{font-size:28px}.rdv-title{margin:0;font-size:18px;font-weight:700;color:#fff}.rdv-subtitle{margin:2px 0 0;font-size:12.5px;color:#ffffffbf;text-transform:capitalize}.rdv-close{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.rdv-close:hover{background:#ffffff47}.rdv-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin}.rdv-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rdv-field{display:flex;flex-direction:column;gap:6px}.rdv-label{font-size:12.5px;font-weight:600;color:var(--text-default);text-transform:uppercase;letter-spacing:.4px;opacity:.7}.rdv-input,.rdv-select,.rdv-textarea{width:100%;padding:9px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:14px;background:var(--bg-default);color:var(--text-default);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.rdv-input:focus,.rdv-select:focus,.rdv-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.rdv-textarea{resize:vertical;min-height:90px}.rdv-divider{height:1px;background:var(--border-color, #e2e8f0);margin:4px 0}.rdv-footer{display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-muted, #f7fafc);flex-shrink:0}.rdv-btn-cancel{flex:0 0 auto;background:none;border:1px solid var(--border-color);color:var(--text-default);border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.rdv-btn-cancel:hover{background:var(--border-color)}.rdv-btn-save{flex:1;background:#6366f1;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.rdv-btn-save:hover{background:#4f46e5;box-shadow:0 4px 12px #6366f159}.rdv-duplicate-warning{margin:0 16px 12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;animation:rdv-warn-in .2s ease}@keyframes rdv-warn-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rdv-duplicate-warning__icon{font-size:20px;line-height:1}.rdv-duplicate-warning__body strong{display:block;color:#92400e;font-size:13px;margin-bottom:4px}.rdv-duplicate-warning__list{margin:0;padding-left:18px;color:#78350f;font-size:12.5px}.rdv-duplicate-warning__actions{display:flex;gap:8px;margin-top:4px}.rdv-duplicate-warning__cancel{flex:1;padding:7px 12px;background:#fff;border:1px solid #d97706;border-radius:6px;color:#92400e;font-size:12px;font-weight:600;cursor:pointer}.rdv-duplicate-warning__confirm{flex:1;padding:7px 12px;background:#f59e0b;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.rdv-duplicate-warning__confirm:hover{background:#d97706}.rdv-duplicate-warning__cancel:hover{background:#fef9ee}.dark .rdv-duplicate-warning{background:#451a03;border-color:#92400e}.dark .rdv-duplicate-warning__body strong,.dark .rdv-duplicate-warning__list{color:#fde68a}.rdv-statut-badge{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}.rdv-vehicle-chip{display:inline-block;margin-top:5px;font-size:12.5px;font-weight:500;color:#6366f1;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:6px;padding:3px 10px}.rdv-btn-transfer{display:inline-flex;align-items:center;gap:5px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.35);color:#d97706;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;text-decoration:none}.rdv-btn-transfer:hover{background:#f59e0b33;border-color:#f59e0b}.rdv-btn-transfer--linked{background:#22c55e1a;border-color:#22c55e4d;color:#16a34a;cursor:default}.rdv-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#6366f1;display:flex;align-items:center;gap:8px;margin-top:4px}.rdv-section-badge{font-size:11px;font-weight:600;background:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.3);border-radius:20px;padding:1px 8px;text-decoration:none;text-transform:none;letter-spacing:0}.rdv-section-badge:hover{background:#22c55e33}.rdv-client-wrap{position:relative}.rdv-search-row{display:flex;gap:8px;align-items:center}.rdv-search-input{flex:1}.rdv-input--linked{border-color:#22c55e;background:#22c55e0a}.rdv-search-spin{font-size:14px;flex-shrink:0}.rdv-history-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:8px;color:#6366f1;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:all .15s;flex-shrink:0}.rdv-history-btn:hover{background:#6366f12e;border-color:#6366f1;transform:translateY(-1px)}.rdv-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-default, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:300;max-height:220px;overflow-y:auto;list-style:none;margin:0;padding:4px}.rdv-dropdown-item{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:7px;cursor:pointer;transition:background .12s}.rdv-dropdown-item:hover{background:#6366f114}.rdv-drop-name{font-size:14px;font-weight:600;color:var(--text-default)}.rdv-drop-tel{font-size:12px;color:#6366f1}.rdv-drop-email{font-size:12px;color:#64748b}.dark .rdv-panel{background:#1e293b;border-left-color:#ffffff14}.dark .rdv-body{background:#1e293b}.dark .rdv-input,.dark .rdv-select,.dark .rdv-textarea{background:#0f172a;border-color:#ffffff1a;color:#e2e8f0}.dark .rdv-dropdown{background:#1e293b;border-color:#ffffff1a;box-shadow:0 8px 24px #0006}.dark .rdv-dropdown-item:hover{background:#6366f126}.dark .rdv-drop-name{color:#e2e8f0}.dark .rdv-drop-email{color:#94a3b8}.dark .rdv-input--linked{border-color:#22c55e;background:#22c55e0f}.dark .rdv-section-title{color:#818cf8}.dark .rdv-vehicle-chip{background:#6366f126;border-color:#6366f14d;color:#818cf8}.dark .rdv-btn-transfer{background:#f59e0b1f;border-color:#f59e0b40;color:#fbbf24}.dark .rdv-btn-transfer--linked{background:#22c55e1a;border-color:#22c55e40;color:#4ade80}.dark .rdv-footer{background:#0f172a;border-top-color:#ffffff14}.dark .rdv-divider{background:#ffffff14}.dark .cal-header{background:#1e293b;border-bottom-color:#ffffff14}.dark .cal-toolbar{background:#0f172a;border-bottom-color:#ffffff14}.dark .cal-count-badge{background:#ffffff0a;border-color:#ffffff1a}.dark .cal-nav-btn{border-color:#ffffff1f}.dark .cal-tech-chip{background:#6366f11f;border-color:#6366f140}@media(max-width:600px){.rdv-panel{width:100%}.rdv-row{grid-template-columns:1fr}}.rdv-selector{display:flex;flex-direction:column;gap:10px}.rdv-src-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.02em;margin-right:5px;vertical-align:middle}.rdv-src-badge--app{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25)}.rdv-client-card{background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.rdv-client-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.rdv-client-card-name{display:flex;align-items:center;gap:6px;font-size:14px}.rdv-client-card-actions{display:flex;gap:6px;flex-shrink:0}.rdv-client-card-info{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--color-text-secondary, #64748b)}.rdv-histo-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid rgba(99,102,241,.3);border-radius:5px;background:transparent;color:#6366f1;font-size:11px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.rdv-histo-toggle:hover{background:#6366f11a}.rdv-histo-toggle--active{background:#6366f11f;border-color:#6366f180}.rdv-historique{margin-top:6px;border-top:1px solid rgba(99,102,241,.15);padding-top:8px;display:flex;flex-direction:column;gap:8px}.rdv-historique-stats{display:flex;gap:10px;flex-wrap:wrap}.rdv-hstat{display:flex;flex-direction:column;align-items:center;background:#6366f112;border:1px solid rgba(99,102,241,.15);border-radius:6px;padding:4px 10px;min-width:60px;text-decoration:none;cursor:default}.rdv-hstat--link{cursor:pointer;transition:background .15s}.rdv-hstat--link:hover{background:#6366f124}.rdv-hstat-val{font-size:15px;font-weight:700;color:var(--color-text, #1e293b)}.rdv-hstat-lbl{font-size:10px;color:var(--color-text-secondary, #64748b);text-align:center;margin-top:1px}.rdv-historique-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.rdv-historique-item{display:flex;align-items:center;gap:6px;font-size:11px;padding:3px 4px;border-radius:4px}.rdv-historique-item:hover{background:#00000008}.rdv-h-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.03em;flex-shrink:0}.rdv-h-badge--app{background:#10b9811a;color:#059669}.rdv-h-date{color:var(--color-text-secondary, #64748b);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.rdv-h-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text, #1e293b)}.rdv-h-montant{color:#10b981;font-weight:600;white-space:nowrap;flex-shrink:0}.rdv-vehicles{display:flex;flex-direction:column;gap:6px}.rdv-vehicles-title{font-size:12px;font-weight:600;color:var(--color-text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em}.rdv-vehicles-list{display:flex;flex-direction:column;gap:4px}.rdv-veh-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;background:#fff9;border:1px solid rgba(0,0,0,.08);border-radius:7px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;position:relative;width:100%}.rdv-veh-btn:hover{background:#6366f10f;border-color:#6366f140}.rdv-veh-btn--active{background:#6366f11a;border-color:#6366f166}.rdv-veh-label{font-size:13px;font-weight:600;color:var(--color-text, #1e293b)}.rdv-veh-sub{display:flex;gap:8px;font-size:11px;color:var(--color-text-secondary, #64748b)}.rdv-veh-check{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#6366f1;font-weight:700;font-size:14px}.dark .rdv-src-badge--app{background:#10b98126;color:#34d399;border-color:#10b9814d}.dark .rdv-client-card{background:#6366f114;border-color:#6366f140}.dark .rdv-histo-toggle{color:#818cf8;border-color:#818cf84d}.dark .rdv-histo-toggle:hover,.dark .rdv-histo-toggle--active{background:#6366f126}.dark .rdv-historique{border-top-color:#6366f133}.dark .rdv-hstat{background:#6366f11a;border-color:#6366f133}.dark .rdv-hstat-val{color:#e2e8f0}.dark .rdv-hstat-lbl{color:#94a3b8}.dark .rdv-h-badge--app{background:#10b98126;color:#34d399}.dark .rdv-h-label{color:#e2e8f0}.dark .rdv-h-date{color:#94a3b8}.dark .rdv-veh-btn{background:#ffffff0a;border-color:#ffffff1a}.dark .rdv-veh-btn:hover{background:#6366f11a;border-color:#6366f14d}.dark .rdv-veh-btn--active{background:#6366f126;border-color:#6366f173}.dark .rdv-veh-label{color:#e2e8f0}.dark .rdv-veh-sub{color:#94a3b8}.dark .rdv-historique-item:hover{background:#ffffff0a}.dark .error{background:#ef44441f;border-color:#ef444466;color:#fca5a5}.dark .rdv-duplicate-warning__cancel{background:#ffffff0f;border-color:#92400e;color:#fde68a}.dark .rdv-duplicate-warning__cancel:hover{background:#ffffff1f}
