*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #667eea;--primary-dark: #764ba2;--accent: #10b981;--danger: #ef4444;--dark: #1f2937;--gray: #6b7280;--gray-light: #f3f4f6;--white: #ffffff;--border: #e5e7eb;--gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--shadow: 0 4px 20px rgba(0, 0, 0, .08);--radius: 16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--gray-light);color:var(--dark);min-height:100vh}.top-nav{background:var(--gradient);color:#fff;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;box-shadow:0 4px 20px #667eea4d}.top-nav .logo{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.3rem}.top-nav .logo-badge{width:40px;height:40px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.top-nav .logo .tagline{font-size:.75rem;opacity:.7;font-weight:400;margin-left:.25rem}.top-nav .nav-actions{display:flex;align-items:center;gap:.75rem}.top-nav .user-badge{display:flex;align-items:center;gap:.75rem;background:#ffffff26;padding:.5rem 1rem;border-radius:50px;font-size:.9rem}.top-nav .user-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center}.top-nav .ghost-btn{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);padding:.5rem .9rem;border-radius:50px;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.top-nav .ghost-btn:hover{background:#ffffff47}.tab-nav{background:var(--white);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;gap:0;overflow-x:auto;position:sticky;top:73px;z-index:40}.tab-btn{padding:1rem 1.5rem;border:none;background:none;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--gray);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.tab-btn:hover{color:var(--primary);background:var(--gray-light)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.page-content{max-width:1200px;margin:0 auto;padding:1.5rem 2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-header h1{font-size:1.5rem;font-weight:700}.page-header .subtitle{font-size:.85rem;color:var(--gray);margin-top:.25rem}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-primary{background:var(--gradient);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-family:inherit;font-weight:600;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--white);color:var(--dark);border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:12px;font-family:inherit;font-weight:500;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-danger{background:#fee2e2;color:#991b1b;border:none;padding:.4rem .8rem;border-radius:8px;font-family:inherit;font-weight:600;font-size:.8rem;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#fecaca}.btn-icon{background:none;border:none;cursor:pointer;font-size:1rem;padding:.2rem .35rem;border-radius:6px;transition:background .2s}.btn-icon:hover{background:var(--gray-light)}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-family:inherit;font-weight:500;font-size:.85rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.stat-card .stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.75rem}.stat-card .stat-value{font-size:1.8rem;font-weight:700}.stat-card .stat-label{font-size:.8rem;color:var(--gray);margin-top:.25rem}.stat-card .stat-change{font-size:.75rem;font-weight:600;margin-top:.5rem}.stat-card .stat-change.positive{color:var(--accent)}.stat-card .stat-change.negative{color:var(--danger)}.stat-card .stat-change.neutral{color:var(--gray)}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:.5rem}.card-header h3{font-size:1rem;font-weight:600}.card-header .see-all{font-size:.8rem;color:var(--primary);cursor:pointer;font-weight:500;background:none;border:none;font-family:inherit}.card-body{padding:1rem 1.25rem}.grid-2-1{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.grid-1-1{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.empty{color:var(--gray);font-size:.9rem;padding:.5rem 0}.event-item{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--gray-light)}.event-item:last-child{border-bottom:none}.event-date{width:50px;text-align:center;flex-shrink:0}.event-date .day{font-size:1.3rem;font-weight:700;line-height:1.2}.event-date .month{font-size:.7rem;color:var(--gray);text-transform:uppercase}.event-info{flex:1}.event-info .event-title{font-weight:600;font-size:.9rem}.event-info .event-meta{font-size:.8rem;color:var(--gray);margin-top:.25rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.event-info .event-vol{margin-top:.5rem;font-size:.75rem;color:var(--gray)}.event-actions{display:flex;gap:.25rem;align-items:flex-start}.badge{font-size:.7rem;padding:.2rem .6rem;border-radius:50px;font-weight:500;display:inline-block;white-space:nowrap}.badge.vide-grenier{background:#fef3c7;color:#92400e}.badge.collecte{background:#dbeafe;color:#1e40af}.badge.reunion{background:#ede9fe;color:#5b21b6}.badge.fete{background:#fce7f3;color:#9d174d}.badge.sortie{background:#d1fae5;color:#065f46}.badge.atelier{background:#fed7aa;color:#b45309}.badge.president{background:#ede9fe;color:#5b21b6}.badge.tresorier{background:#dbeafe;color:#1e40af}.badge.secretaire{background:#fce7f3;color:#9d174d}.badge.membre{background:#f3f4f6;color:#374151}.badge.bienfaiteur,.badge.actif{background:#d1fae5;color:#065f46}.badge.inactif{background:#fee2e2;color:#991b1b}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:.75rem;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.05em;padding:.75rem;border-bottom:2px solid var(--border)}.data-table td{padding:.75rem;font-size:.85rem;border-bottom:1px solid var(--gray-light);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--gray-light)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.form{display:flex;flex-direction:column;gap:.85rem}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-label{font-size:.75rem;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;display:block}.input,.select,.textarea{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9rem;color:var(--dark);background:var(--white);transition:border-color .2s,box-shadow .2s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea26}.textarea{min-height:90px;resize:vertical}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.divider{border:none;border-top:1px solid var(--border);margin:.25rem 0}.repeat-row{display:flex;gap:.5rem;align-items:center}.add-row{background:none;border:1px dashed var(--border);padding:.55rem;border-radius:10px;cursor:pointer;font-family:inherit;font-size:.85rem;color:var(--gray);transition:all .2s}.add-row:hover{border-color:var(--primary);color:var(--primary)}.segmented{display:flex;gap:.5rem}.segmented button{flex:1;padding:.6rem;border-radius:10px;border:1px solid var(--border);background:var(--white);cursor:pointer;font-family:inherit;font-weight:600;font-size:.9rem;transition:all .2s}.segmented button.sel-income{border-color:var(--accent);background:#d1fae5}.segmented button.sel-expense{border-color:var(--danger);background:#fee2e2}.filters{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.25rem;display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.filters .input{flex:1;min-width:200px}.filters .select{width:auto}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.slot-card{border:2px solid var(--border);border-radius:12px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--white)}.slot-card:hover{border-color:var(--primary)}.slot-card .slot-time{font-weight:600;font-size:.9rem}.slot-card .slot-count{font-size:.8rem;color:var(--gray);margin-top:.25rem}.slot-card .slot-progress{width:100%;height:6px;background:var(--gray-light);border-radius:3px;margin-top:.75rem;overflow:hidden}.slot-card .slot-progress .fill{height:100%;border-radius:3px;background:var(--accent)}.slot-card.full{border-color:var(--accent);background:#f0fdf4}.slot-card.urgent{border-color:var(--danger);background:#fef2f2}.slot-card.mine{box-shadow:0 0 0 3px #667eea40;border-color:var(--primary)}.chip-row{display:flex;gap:.75rem;flex-wrap:wrap}.chip{background:#ede9fe;border-radius:10px;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem}.chip.green{background:#d1fae5}.chip .chip-title{font-weight:600;font-size:.85rem}.chip .chip-sub{font-size:.75rem;color:var(--gray)}.chip .chip-remove{color:var(--danger);cursor:pointer;font-size:.8rem;background:none;border:none;font-family:inherit}.comms-list{display:flex;flex-direction:column;gap:.75rem}.comms-item{display:flex;gap:1rem;padding:1rem;background:var(--gray-light);border-radius:12px;align-items:flex-start}.comms-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.comms-content{flex:1}.comms-content .comms-title{font-weight:600;font-size:.9rem}.comms-content .comms-meta{font-size:.75rem;color:var(--gray);margin-top:.25rem}.comms-content .comms-desc{font-size:.8rem;color:var(--gray);margin-top:.5rem;white-space:pre-wrap}.template-list{display:flex;flex-direction:column;gap:.75rem}.template-item{padding:.75rem;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;background:var(--white)}.template-item:hover{border-color:var(--primary);background:var(--gray-light)}.template-item .t-title{font-weight:600;font-size:.85rem}.template-item .t-sub{font-size:.75rem;color:var(--gray);margin-top:.15rem}.cell-name strong{font-weight:700}.success-note{color:var(--accent);font-weight:600;font-size:.9rem}@media (max-width: 920px){.grid-2-1,.grid-1-1{grid-template-columns:1fr}}@media (max-width: 768px){.stats-grid,.slot-grid{grid-template-columns:repeat(2,1fr)}.top-nav{padding:.75rem 1rem}.tab-nav{padding:0 1rem;top:64px}.page-content{padding:1rem}.tab-btn{padding:.75rem 1rem;font-size:.8rem}.form-grid-2{grid-template-columns:1fr}}@media (max-width: 480px){.stats-grid,.slot-grid{grid-template-columns:1fr}.top-nav .user-badge .label-text{display:none}}
