@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary: #1a3654;--primary-light: #2a5a8a;--primary-dark: #0f2440;--accent: #e06c19;--accent-light: #f28c3c;--accent-glow: rgba(224, 108, 25, .15);--blue: #5b9bd5;--blue-light: #7ab3e3;--green: #10b981;--green-bg: #ecfdf5;--red: #ef4444;--red-bg: #fef2f2;--yellow: #f59e0b;--yellow-bg: #fffbeb;--purple: #8b5cf6;--grey: #475569;--grey-dark: #334155;--text: #0f172a;--text-secondary: #475569;--muted: #94a3b8;--bg: #f8fafc;--bg-alt: #f1f5f9;--card: #ffffff;--border: #e2e8f0;--border-light: #f1f5f9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .1);--shadow-accent: 0 4px 16px rgba(224, 108, 25, .2);--radius: 16px;--radius-sm: 10px;--radius-xs: 6px;--transition: .2s ease;--transition-slow: .3s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-light);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent)}::selection{background:var(--accent-glow);color:var(--text)}.app-layout{display:flex;min-height:100vh;position:relative}.sidebar-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:30;width:44px;height:44px;border:none;border-radius:var(--radius-sm);background:var(--card);color:var(--primary);cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:background var(--transition),color var(--transition)}.sidebar-toggle:hover{background:var(--bg-alt);color:var(--accent)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0f244080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:24;opacity:0;pointer-events:none;transition:opacity var(--transition)}.app-layout.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}.app-layout.sidebar-open .sidebar-toggle{display:none}.sidebar{width:280px;min-width:280px;background:linear-gradient(180deg,var(--primary-dark) 0%,var(--primary) 100%);color:#fff;position:fixed;top:0;left:0;bottom:0;z-index:25;display:flex;flex-direction:column;overflow-y:auto;box-shadow:4px 0 30px #00000026;transition:transform .25s ease}.sidebar-header{display:flex;align-items:center;gap:.5rem;padding-right:.5rem}.sidebar-close{display:none;margin-left:auto;width:36px;height:36px;border:none;border-radius:var(--radius-xs);background:#ffffff1a;color:#fff;cursor:pointer;align-items:center;justify-content:center;transition:background var(--transition)}.sidebar-close:hover{background:#fff3}.sidebar-header{border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-header .sidebar-brand{flex:1;min-width:0}.sidebar-brand{padding:1.5rem 1.5rem 1.25rem;display:flex;align-items:center;gap:.85rem;text-decoration:none;color:#fff}.sidebar-brand img{width:48px;height:48px;border-radius:12px;object-fit:cover;box-shadow:0 2px 8px #0003}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-text .brand-name{font-weight:800;font-size:.95rem;letter-spacing:-.02em;line-height:1.2}.sidebar-brand-text .brand-sub{font-size:.7rem;opacity:.6;font-weight:500;letter-spacing:.02em}.sidebar-user{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-user label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.5;display:block;margin-bottom:.4rem;font-weight:600}.sidebar-user select{width:100%;padding:.5rem .6rem;border-radius:var(--radius-xs);border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background var(--transition)}.sidebar-user select:hover{background:#ffffff1f}.sidebar-user select:focus{outline:none;border-color:var(--accent)}.sidebar-user select option{background:var(--primary-dark);color:#fff}.sidebar-nav{list-style:none;padding:.75rem 0;flex:1}.sidebar-nav li{margin:2px .5rem}.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;color:#ffffffb3;font-size:.88rem;font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition)}.sidebar-nav a .nav-icon{font-size:1.1rem;width:24px;text-align:center}.sidebar-nav a:hover{background:#ffffff14;color:#fff}.sidebar-nav a.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:#fff;font-weight:600;box-shadow:0 4px 12px #e06c194d}.main-content{flex:1;margin-left:280px;padding:2rem 2.5rem 3rem;min-height:100vh;background:var(--bg);width:100%;min-width:0}.page-header{margin-bottom:2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.page-header h1{font-size:1.75rem;font-weight:800;color:var(--text);letter-spacing:-.03em}.page-header .subtitle{color:var(--muted);font-size:.9rem;width:100%;margin-top:.15rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.15rem;font-size:.88rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;transition:all var(--transition)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:#fff;box-shadow:0 2px 8px #e06c1933}.btn-primary:hover{box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn-secondary{background:var(--bg-alt);color:var(--grey-dark);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-ghost{background:transparent;color:var(--primary-light)}.btn-ghost:hover{background:#5b9bd514}.btn:focus-visible,button:focus-visible,[type=button]:focus-visible,[type=submit]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);transition:all var(--transition)}.card:hover{border-color:var(--border);box-shadow:var(--shadow)}.card h2{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.75rem}.card h3{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.card-actions{margin-top:.75rem;display:flex;gap:.5rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.stat-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:all var(--transition);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;border-radius:4px 0 0 4px}.stat-card:nth-child(1):before{background:var(--accent)}.stat-card:nth-child(2):before{background:var(--blue)}.stat-card:nth-child(3):before{background:var(--green)}.stat-card:nth-child(4):before{background:var(--purple)}.stat-card:nth-child(5):before{background:var(--red)}.stat-card:nth-child(6):before{background:var(--yellow)}.stat-card:nth-child(7):before{background:var(--blue-light)}.stat-card:nth-child(8):before{background:var(--accent-light)}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:inherit}.stat-card .stat-value{font-size:1.75rem;font-weight:800;color:var(--text);margin-bottom:.15rem;letter-spacing:-.03em}.stat-card .stat-label{font-size:.85rem;color:var(--muted);font-weight:500}.dashboard-stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.dashboard-combined-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition);border-top:4px solid var(--card-accent, var(--accent))}.dashboard-combined-card:hover{border-color:var(--border);box-shadow:var(--shadow)}.dashboard-combined-card__header{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;background:var(--bg-alt);border-bottom:1px solid var(--border-light)}.dashboard-combined-card__icon{font-size:1.25rem}.dashboard-combined-card__title{margin:0;font-size:.95rem;font-weight:700;color:var(--text)}.dashboard-combined-card__body{display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem 1rem}.dashboard-combined-card__item{display:flex;flex-direction:column;align-items:flex-start;padding:.6rem .85rem;background:var(--bg-alt);border-radius:var(--radius-sm);text-decoration:none;color:inherit;transition:background var(--transition);min-width:0;flex:1 1 0;min-width:80px}.dashboard-combined-card__item:hover{background:#5b9bd514}.dashboard-combined-card__value{font-size:1.25rem;font-weight:800;color:var(--text);line-height:1.2}.dashboard-combined-card__label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:.15rem}.dashboard-section{margin-bottom:1.5rem}.dashboard-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.dashboard-perf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.dashboard-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.dashboard-stat-cards{grid-template-columns:1fr 1fr;gap:.75rem}.dashboard-combined-card__body{padding:.65rem .85rem}.dashboard-combined-card__item{min-width:70px;padding:.5rem .65rem}.dashboard-combined-card__value{font-size:1.1rem}.dashboard-health-grid,.dashboard-perf-grid{grid-template-columns:repeat(2,1fr)}.dashboard-bottom-grid{grid-template-columns:1fr;gap:1rem}}@media(max-width:480px){.dashboard-stat-cards{grid-template-columns:1fr}.dashboard-combined-card__body{flex-direction:column}.dashboard-combined-card__item{flex:1 1 auto;min-width:0}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.category-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all var(--transition-slow);display:flex;flex-direction:column}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.category-card__header{padding:1.25rem 1.5rem;color:#fff;font-weight:800;font-size:1.3rem;letter-spacing:-.02em;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:64px}.category-card__header .category-card__code{font-size:.7rem;font-weight:700;opacity:.85;text-transform:uppercase;letter-spacing:.08em;background:#fff3;padding:.2rem .5rem;border-radius:4px}.category-card__body{padding:1.25rem 1.5rem 1rem;flex:1}.category-card__description{font-size:.88rem;color:var(--muted);margin-bottom:1rem;line-height:1.5}.category-card__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.category-card__stat{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--bg-alt);border-radius:var(--radius-xs);font-size:.82rem;font-weight:500}.category-card__stat strong{font-weight:700;color:var(--text)}.category-card__stat--players{border-left:3px solid var(--blue)}.category-card__stat--matches{border-left:3px solid var(--purple)}.category-card__stat--wins{border-left:3px solid var(--green)}.category-card__stat--losses{border-left:3px solid var(--red)}.category-card__footer{padding:0 1.5rem 1.5rem;margin-top:auto}.category-card__footer .btn{width:100%;justify-content:center}.category-card--clickable{cursor:pointer}.category-card__header--with-watermark{position:relative;flex-wrap:wrap}.category-card__watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:3.5rem;font-weight:800;opacity:.12;white-space:nowrap;letter-spacing:.02em;color:#fff;pointer-events:none}.category-card__icon{font-size:1.5rem;margin-right:.35rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.category-card__name{position:relative;z-index:1}.category-overview__hero{position:relative;padding:1.5rem;border-radius:var(--radius);color:#fff;margin-bottom:1.25rem;overflow:hidden}.category-overview__watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:4rem;font-weight:800;opacity:.15;color:#fff}.category-overview__icon{font-size:2rem;position:relative;z-index:1;display:inline-block;margin-right:.5rem}.category-overview__title{margin:0;font-size:1.4rem;position:relative;z-index:1;display:inline-block}.category-overview__code{position:relative;z-index:1;display:inline-block;margin-left:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#ffffff40;padding:.2rem .5rem;border-radius:4px}.category-overview__description{color:var(--muted);font-size:.9rem;margin-bottom:1.25rem}.category-overview__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.category-overview__stat{background:var(--bg-alt);border-radius:var(--radius-sm);padding:.85rem 1rem;border-left:4px solid var(--border)}.category-overview__stat-label{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.category-overview__stat-value{font-size:1.25rem;font-weight:700;color:var(--text)}.category-overview__stat--created{border-left-color:var(--primary)}.category-overview__stat--players{border-left-color:var(--blue)}.category-overview__stat--staff{border-left-color:var(--purple)}.category-overview__stat--matches{border-left-color:var(--muted)}.category-overview__stat--wins{border-left-color:var(--green)}.category-overview__stat--draws{border-left-color:var(--yellow, #eab308)}.category-overview__stat--losses{border-left-color:var(--red)}.category-edit-form__section{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.category-edit-form__section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.category-edit-form__section-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;color:var(--text);margin-bottom:.85rem}.category-edit-form__section-icon{font-size:1.1rem}.category-edit-form__section--info .category-edit-form__section-title{color:var(--primary)}.category-edit-form__section--coaches .category-edit-form__section-title{color:#5b9bd5}.category-edit-form__section--staff .category-edit-form__section-title{color:#8b5cf6}.category-edit-form__checkbox-list{max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;padding:.5rem 0}.category-edit-form__empty{color:var(--muted);font-size:.88rem}.category-edit-form__checkbox-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .85rem;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--card);cursor:pointer;transition:background var(--transition),border-color var(--transition)}.category-edit-form__checkbox-item:hover{background:var(--bg-alt);border-color:var(--border-light)}.category-edit-form__checkbox-item--checked{border-color:var(--primary);background:#1a36540f}.category-edit-form__checkbox-input{accent-color:var(--primary)}.category-edit-form__checkbox-label{font-weight:600;font-size:.9rem}.category-edit-form__checkbox-meta{font-size:.8rem;color:var(--muted)}.space-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all var(--transition-slow);color:inherit;display:flex;flex-direction:column}.space-card>a{flex:1;display:flex;flex-direction:column;text-decoration:none;color:inherit}.space-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.space-card__icon{width:100%;height:100px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,var(--bg-alt) 0%,var(--border) 100%);transition:all var(--transition)}.space-card:hover .space-card__icon{filter:brightness(.95)}.space-card__icon[data-type=terrain]{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.space-card__icon[data-type=gymnase]{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.space-card__icon[data-type=dortoir]{background:linear-gradient(135deg,#fef3c7,#fde68a)}.space-card__icon[data-type=piscine]{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.space-card__icon[data-type=infirmerie]{background:linear-gradient(135deg,#fee2e2,#fecaca)}.space-card__icon[data-type=salle_cours]{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.space-card__icon[data-type=musculation]{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.space-card__icon[data-type=refectoire]{background:linear-gradient(135deg,#fff7ed,#fed7aa)}.space-card__body{padding:1.25rem 1.5rem}.space-card__body h3{font-size:1.05rem;margin-bottom:.3rem;color:var(--primary);font-weight:700}.space-card__type{font-size:.78rem;color:var(--muted);margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.space-card__meta{font-size:.85rem;color:var(--text-secondary);display:flex;gap:.75rem;flex-wrap:wrap}.space-card__actions{padding:0 1.5rem 1.25rem;display:flex;gap:.5rem}.space-card__actions .btn{flex:1;justify-content:center;font-size:.85rem}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm)}.table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem}.table-wrap th,.table-wrap td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.table-wrap th{background:var(--bg-alt);font-weight:700;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tbody tr{transition:background var(--transition)}.table-wrap tbody tr:hover td{background:#5b9bd50a}.games-cards{display:none;flex-direction:column;gap:.75rem}.game-card-link{text-decoration:none;color:inherit;display:block}.game-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition)}.game-card-link:hover .game-card{border-color:var(--primary-light);box-shadow:var(--shadow)}.game-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.game-card__date{font-family:monospace;font-size:.85rem;color:var(--text-secondary);font-weight:600}.game-card__title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 .2rem;line-height:1.3}.game-card__category{font-size:.82rem;color:var(--muted);margin:0 0 .35rem}.game-card__opponent{font-size:.9rem;color:var(--text-secondary);margin:0 0 .5rem}.game-card__opponent-cat{color:var(--muted);font-size:.85rem}.game-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem}.game-card__venue{font-size:.82rem;color:var(--muted)}.game-card__score{font-size:1.1rem;font-weight:800;font-family:monospace;margin:.5rem 0 0;padding-top:.5rem;border-top:1px solid var(--border-light)}.game-card__score-sep{color:var(--muted);font-weight:600}@media(max-width:768px){.games-cards{display:flex}.games-table-wrap{display:none!important}}@media(min-width:769px){.games-table-wrap{display:block}}.users-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.users-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm)}.users-table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem}.users-table-wrap th,.users-table-wrap td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.users-table-wrap th{background:var(--bg-alt);font-weight:700;color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.users-table-wrap tbody tr{transition:background var(--transition)}.users-table-wrap tbody tr:hover{background:#5b9bd50a}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.25rem;flex-wrap:wrap}.pagination button{min-width:40px;padding:.45rem .65rem;font-size:.88rem;border-radius:var(--radius-xs)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:.88rem;color:var(--muted);font-weight:500}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--blue) 0%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem}.section-card{margin-bottom:2.5rem}.section-card h2{font-size:1.15rem;font-weight:800;margin-bottom:1.25rem;padding-bottom:.65rem;border-bottom:3px solid var(--accent);color:var(--text);display:inline-block}.modal-backdrop{position:fixed;inset:0;background:#0f244099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal-box{background:var(--card);border-radius:var(--radius);box-shadow:0 24px 80px #00000040;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:1.5rem 1.75rem;border-bottom:1px solid var(--border);font-weight:800;font-size:1.15rem;color:var(--text)}.modal-body{padding:1.75rem}.modal-footer{padding:1.25rem 1.75rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem;background:var(--bg-alt);border-radius:0 0 var(--radius) var(--radius)}.form-group{margin-bottom:1.15rem}.form-group label{display:block;font-size:.82rem;font-weight:700;color:var(--text-secondary);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.92rem;font-family:inherit;background:var(--card);color:var(--text);transition:all var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:none}.form-group textarea{min-height:80px;resize:vertical}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .7rem;border-radius:20px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge.actif{background:var(--green-bg);color:#059669}.badge.maintenance{background:var(--yellow-bg);color:#b45309}.badge.apte{background:var(--green-bg);color:#059669}.badge.blesse{background:var(--red-bg);color:#dc2626}.badge.repos{background:var(--yellow-bg);color:#b45309}.badge.suivi_medical{background:#ede9fe;color:#7c3aed}.badge.nouveau{background:#dbeafe;color:#2563eb}.badge.en_cours{background:var(--yellow-bg);color:#b45309}.badge.resolu,.badge.success{background:var(--green-bg);color:#059669}.badge.danger{background:var(--red-bg);color:#dc2626}.page{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.calendar-grid-card{min-width:0}@media(max-width:768px){.calendar-grid-card{overflow-x:auto}.calendar-page-header{flex-direction:column;align-items:stretch}}h2{font-size:1.1rem;font-weight:700;color:var(--text);margin:1.5rem 0 .75rem}.loading{color:var(--muted);padding:2rem;text-align:center;font-weight:500}.error{background:var(--red-bg);color:#dc2626;padding:1rem 1.25rem;border-radius:var(--radius-sm);border:1px solid #fecaca;font-weight:500}.card ul{list-style:none;margin:0}.card ul li{padding:.65rem 0;border-bottom:1px solid var(--border-light);font-size:.92rem;color:var(--text)}.card ul li:last-child{border-bottom:none}.user-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--border-light)}.user-row:last-child{border-bottom:none}.user-row a{font-weight:600}.detail-section{margin-bottom:1.75rem}.detail-section h3{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem;font-weight:700}.detail-section p{color:var(--text)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}@media(max-width:1023px){.sidebar-toggle{display:flex}.sidebar{width:280px;min-width:280px;transform:translate(-100%)}.app-layout.sidebar-open .sidebar{transform:translate(0)}.sidebar-overlay{display:block}.sidebar-close{display:flex}.main-content{margin-left:0;padding:4.5rem 1rem 2rem}}@media(max-width:768px){.main-content{padding:4rem .75rem 1.5rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header h1{font-size:1.35rem}.stat-grid{grid-template-columns:1fr 1fr;gap:.75rem}.grid{grid-template-columns:1fr;gap:1rem}.card{padding:1rem;margin-bottom:1rem}.modal-box{max-width:100%;margin:.5rem;max-height:85vh}.modal-backdrop{padding:.5rem;align-items:flex-end}.table-wrap{margin-left:-.75rem;margin-right:-.75rem;border-radius:0}.table-wrap th,.table-wrap td{padding:.6rem .5rem;font-size:.8rem}.btn{padding:.5rem .9rem;font-size:.82rem}.sidebar-brand-text .brand-name{font-size:.88rem}}@media(max-width:480px){.stat-grid{grid-template-columns:1fr}.sidebar{width:100%;min-width:100%}.sidebar-toggle{left:.75rem;top:.75rem;width:40px;height:40px}.main-content{padding-top:3.75rem}.users-toolbar,.page-header{flex-direction:column;align-items:stretch}.page-header .btn{width:100%;justify-content:center}.category-card__stats,.expenses-stats-grid{grid-template-columns:1fr}}.section-card{margin-bottom:2rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1.5rem}.health-dossier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.health-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.expenses-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}@media(max-width:768px){.table-wrap,.users-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-.75rem;margin-right:-.75rem;border-radius:0}.table-wrap th,.table-wrap td,.users-table-wrap th,.users-table-wrap td{padding:.5rem .6rem;font-size:.8rem;white-space:nowrap}.section-card{margin-bottom:1.5rem}.section-card h2{font-size:1rem}.filter-bar{margin-bottom:1rem}.health-dossier-grid{grid-template-columns:1fr;gap:1rem}.health-actions{gap:.4rem}.health-actions .btn{font-size:.8rem;padding:.5rem .65rem}.expenses-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}}@media(max-width:480px){.table-wrap th,.table-wrap td,.users-table-wrap th,.users-table-wrap td{font-size:.75rem;padding:.4rem .5rem}}.signalements-cards{display:none;flex-direction:column;gap:.75rem}.signalement-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}.signalement-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.signalement-card__space{font-weight:700;color:var(--text)}.signalement-card__desc{font-size:.88rem;color:var(--text-secondary);margin:.35rem 0;line-height:1.4}.signalement-card__meta{font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}@media(max-width:768px){.signalements-cards{display:flex}.signalements-table-wrap{display:none!important}}.users-cards{display:none;flex-direction:column;gap:.6rem}.user-card{display:flex;align-items:center;gap:.75rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:box-shadow var(--transition)}.user-card:hover{box-shadow:var(--shadow)}.user-card__avatar{flex-shrink:0}.user-card__main{flex:1;min-width:0}.user-card__name{font-weight:700;color:var(--text);margin-bottom:.15rem}.user-card__meta{font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.5rem}.user-card__action{flex-shrink:0}@media(max-width:768px){.users-cards{display:flex}.users-table-wrap-mobile-hide{display:none!important}}
