@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-app:#f4f6f8;--bg-sidebar:#0b1b32;--bg-card:#fff;--bg-hover:#f8fafc;--bg-input:#f1f5f9;--bg-table-header:#f8fafc;--bg-table-row:#fff;--bg-table-row-hover:#f1f5f9;--bg-table-stripe:#fafbfc;--text-main:#0f172a;--text-muted:#64748b;--text-sidebar:#94a3b8;--text-sidebar-active:#fff;--border-color:#e2e8f0;--border-sidebar:#ffffff0f;--color-primary:#10b981;--color-blue:#3b82f6;--color-orange:#f59e0b;--color-red:#ef4444;--color-dark:#0b1b32;--shadow-card:0 4px 20px #00000008;--shadow-hover:0 16px 40px #0000000f;--shadow-btn:0 4px 12px #0b1b3226;--radius-card:24px;--radius-btn:12px;--radius-pill:50px;--touch-target:44px;--status-planifie-color:#f59e0b;--status-planifie-bg:#f59e0b1a;--status-confirme-color:#10b981;--status-confirme-bg:#10b9811a;--status-annule-color:#ef4444;--status-annule-bg:#ef444414;--status-termine-color:#64748b;--status-termine-bg:#64748b1a}[data-theme=dark],.dark{--bg-app:#0b1120;--bg-sidebar:#020617;--bg-card:#111827;--bg-hover:#1e293b;--bg-input:#1e293b;--bg-table-header:#1e293b;--bg-table-row:#1e293b;--bg-table-row-hover:#2d3a4f;--bg-table-stripe:#263348;--text-main:#f8fafc;--text-muted:#cbd5e1;--border-color:#334155;--shadow-card:0 4px 20px #0000004d;--shadow-hover:0 16px 40px #0006;--shadow-btn:0 4px 12px #00000059;--status-planifie-color:#fbbf24;--status-planifie-bg:#f59e0b40;--status-confirme-color:#34d399;--status-confirme-bg:#10b98140;--status-annule-color:#f87171;--status-annule-bg:#ef444433;--status-termine-color:#94a3b8;--status-termine-bg:#64748b4d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:linear-gradient(90deg,#00000008 1px,#0000 1px),linear-gradient(#00000008 1px,#0000 1px);background-size:40px 40px;font-family:Outfit,sans-serif;font-size:15px;line-height:1.5;transition:background-color .35s,color .35s;overflow-x:hidden}[data-theme=dark] body,.dark body{background-image:linear-gradient(90deg,#ffffff08 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px)}#root{flex-direction:column;min-height:100dvh;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideUpSheet{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff26}.dark ::-webkit-scrollbar-thumb{background:#ffffff26}::-webkit-scrollbar-track{background:0 0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-layout{width:100%;min-height:100dvh;display:flex}.stat-card-ds{background:var(--bg-card);box-shadow:var(--shadow-card);border:1px solid var(--border-color);border-radius:var(--radius-card);flex-direction:column;justify-content:space-between;padding:24px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.stat-card-ds:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.stat-top-black{border-top:4px solid var(--text-main)}.stat-top-blue{border-top:4px solid var(--color-blue)}.stat-top-green{border-top:4px solid var(--color-primary)}.stat-top-red{border-top:4px solid var(--color-red)}.stat-top-orange{border-top:4px solid var(--color-orange)}.stats-grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stats-grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stats-grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.stats-grid-1{grid-template-columns:1fr;gap:16px;display:grid}@media (width<=1024px){.stats-grid-4,.stats-grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.stats-grid-4,.stats-grid-3,.stats-grid-2{grid-template-columns:1fr}}.card-ds{background:var(--bg-card);box-shadow:var(--shadow-card);border:1px solid var(--border-color);border-radius:var(--radius-card);transition:box-shadow .2s;overflow:hidden}.card-ds:hover{box-shadow:var(--shadow-hover)}.btn-primary-ds{min-height:var(--touch-target);border-radius:var(--radius-pill);background:var(--color-dark);color:#fff;cursor:pointer;box-shadow:var(--shadow-btn);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary-ds:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary-ds{min-height:var(--touch-target);border-radius:var(--radius-btn);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary-ds:hover{background:var(--bg-hover)}.search-pill-ds{background:var(--bg-input);border-radius:var(--radius-pill);color:var(--text-main);width:100%;max-width:280px;min-height:var(--touch-target);border:1px solid #0000;outline:none;padding:10px 16px 10px 40px;font-family:Outfit,sans-serif;font-size:14px;transition:border .2s,background .2s,max-width .3s}.search-pill-ds:focus{background:var(--bg-card);border-color:#3b82f666;max-width:320px;box-shadow:0 0 0 3px #3b82f61a}@media (width<=640px){.search-pill-ds,.search-pill-ds:focus{max-width:100%}}.inp-f{background:var(--bg-input);border:1px solid var(--border-color);min-height:var(--touch-target);color:var(--text-main);border-radius:9px;outline:none;width:100%;padding:9px 14px;font-family:Outfit,sans-serif;font-size:13px;transition:border-color .2s}.inp-f:focus{border-color:var(--color-primary)}.table-container-ds{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);border-radius:16px;overflow:hidden}.table-header-ds{background:var(--bg-table-header);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-color);align-items:center;min-width:600px;padding:12px 16px;font-size:11px;font-weight:700;display:grid}.table-row-ds{border-bottom:1px solid var(--border-color);cursor:pointer;background:var(--bg-table-row);align-items:center;min-width:600px;padding:12px 16px;transition:background .15s;display:grid}.table-row-ds:last-child{border-bottom:none}.table-row-ds:hover{background:var(--bg-table-row-hover)}.table-row-ds-stripe{background:var(--bg-table-stripe)}@media (width<=767px){.table-header-ds{display:none}.table-row-ds{min-width:unset;border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:8px;padding:16px;display:flex}.table-row-ds>*{justify-content:space-between;align-items:center;width:100%;display:flex}.table-row-ds>:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:700}}.status-badge{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-badge-confirme{background:var(--status-confirme-bg);color:var(--status-confirme-color)}.status-badge-planifie{background:var(--status-planifie-bg);color:var(--status-planifie-color)}.status-badge-termine{background:var(--status-termine-bg);color:var(--status-termine-color)}.status-badge-annule{background:var(--status-annule-bg);color:var(--status-annule-color)}.filters-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filter-sel{background:var(--bg-card);border:1px solid var(--border-color);min-height:var(--touch-target);color:var(--text-main);cursor:pointer;border-radius:8px;outline:none;min-width:120px;padding:8px 12px;font-family:Outfit,sans-serif;font-size:12px}@media (width<=640px){.filters-bar{flex-direction:column;align-items:stretch}.filter-sel{min-width:unset;width:100%}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b1b3299;justify-content:center;align-items:center;padding:16px;animation:.2s fadeUp;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-card);width:460px;max-width:100%;max-height:90vh;padding:32px;animation:.25s both slideIn;overflow-y:auto;box-shadow:0 24px 80px #00000026}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{width:100%;max-width:none;max-height:92vh;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;animation:.28s both slideUpSheet}}.toast-container{z-index:9999;flex-direction:column;gap:8px;width:90%;max-width:400px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);border-radius:12px;align-items:center;gap:10px;padding:14px 20px;font-size:13px;font-weight:500;animation:.3s fadeUp;display:flex;box-shadow:0 10px 30px #00000026}.toast.success{border-left:4px solid #10b981}.toast.error{border-left:4px solid #ef4444}@media (width<=640px){.toast-container{max-width:none;bottom:16px;left:16px;right:16px}.toast{padding:12px 16px;font-size:12px}}.hide-on-mobile{display:block}.show-on-mobile{display:none}@media (width<=767px){.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}}.text-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.break-word{word-break:break-word;overflow-wrap:break-word}@media (hover:none){.stat-card-ds:hover,.table-row-ds:hover,.btn-secondary-ds:hover{box-shadow:none!important;transform:none!important}}
