:root{--color-primary:#00dc82;--color-primary-hover:#00b86b;--color-text-main:#0f172a;--color-text-muted:#475569;--color-border:#e5e7eb;--color-bg:#fff;--color-bg-soft:#f8fafc;--radius-sm:6px;--radius-md:10px}*,:after,:before{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text-main);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Ubuntu,Cantarell,sans-serif;line-height:1.65;margin:0;-webkit-font-smoothing:antialiased}main{margin:0 auto;max-width:960px;padding:2.5rem 1.5rem}section{margin-bottom:3.5rem}h1,h2,h3{font-weight:600;line-height:1.25;margin:0 0 1rem}h1{font-size:2.4rem;letter-spacing:-.02em}h2{font-size:1.5rem}p{color:var(--color-text-muted);font-size:1.05rem;margin:0 0 1.1rem;max-width:70ch}a{color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .2s}a:hover{text-decoration:underline}form{display:flex;flex-direction:column;gap:1rem;max-width:100%}button,input,textarea{font-family:inherit;font-size:1rem}input,textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.65rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}input:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #00dc8233;outline:none}textarea{min-height:100px;resize:vertical}button{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;padding:.65rem 1.2rem;transition:background-color .2s;width:100%}button:hover{background-color:var(--color-primary-hover)}button:disabled{cursor:not-allowed;opacity:.6}ul{list-style:none;margin:0;padding:0}li{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 0}hr{border:none;border-top:1px solid var(--color-border);margin:3rem 0}.empty-state{color:var(--color-text-muted);font-style:italic}.error{color:#dc2626;font-size:.875rem;margin-top:.25rem}video{background-color:#000;border-radius:var(--radius-sm);height:auto;max-width:100%}.video-recorder{background-color:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:1rem 0;padding:1rem}.video-recorder button{margin-top:.5rem}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;width:100%}.app-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:14px 16px}.app-header-logo{color:#0f172a;font-size:1.25rem;font-weight:700;text-decoration:none}.app-header-logo:hover{color:#00dc82}.app-header-nav{display:flex;gap:20px}.app-header-link{color:#475569;font-size:.95rem;font-weight:500;text-decoration:none}.app-header-link:hover{color:#00dc82}.app-header-link.router-link-active{color:#0f172a;font-weight:600}@media(max-width:640px){.app-header-inner{flex-direction:column;gap:10px}}.app-footer{border-top:1px solid #e5e7eb;margin-top:48px}.app-footer-inner{color:#64748b;font-size:.9rem;margin:0 auto;max-width:1200px;padding:16px;text-align:center}@media(max-width:768px){main{padding:1.5rem 1rem}h1{font-size:1.9rem}h2{font-size:1.3rem}p{font-size:1rem}}@media(min-width:640px){form{max-width:520px}button{width:auto}}@media(min-width:768px){li{gap:.4rem}}.page-connexion{margin:80px auto 0;max-width:420px;padding:0 16px}.page-connexion h1{margin-bottom:24px}.page-connexion form>div{margin-bottom:16px}.page-connexion button{margin-top:16px;width:100%}.page-connexion a{display:inline-block;margin-top:12px}.page-connexion input,.page-connexion select{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.page-connexion select{appearance:none;-webkit-appearance:none;-moz-appearance:none}.mission-page{margin:0 auto;max-width:1200px;padding:0 16px}.mission-intro{color:#475569;margin-bottom:24px;max-width:720px}.mission-list{display:grid;gap:24px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}.mission-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;display:flex;flex-direction:column;gap:14px;padding:16px;transition:box-shadow .2s ease,transform .2s ease}.mission-card:hover{box-shadow:0 10px 28px #0f172a14;transform:translateY(-2px)}.mission-video{width:100%}.mission-video video{aspect-ratio:16/9;background:#000;border-radius:0;display:block;height:auto;width:100%}.mission-video-empty{align-items:center;aspect-ratio:16/9;border-bottom:1px dashed #e5e7eb;color:#64748b;display:flex;flex-direction:column;justify-content:center;width:100%}.mission-video-empty a{color:#00dc82;display:inline-block;font-weight:500;margin-top:6px;text-decoration:none}.mission-video-empty a:hover{text-decoration:underline}.mission-info{display:flex;flex-direction:column;gap:4px}.mission-title{color:#0f172a;font-size:1.1rem;font-weight:600;margin:0}.mission-meta{color:#475569;font-size:.95rem;margin:0}.mission-state{color:#64748b;font-size:.85rem;margin:0}.mission-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.mission-action-link{color:#00dc82;font-weight:500;text-decoration:none}.mission-action-link:hover{text-decoration:underline}.mission-delete{background:#fee2e2;border:none;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:.85rem;padding:6px 12px}.mission-delete:hover{background:#fecaca}.mission-form form{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);max-width:100%}.mission-form textarea{grid-column:1/-1}.mission-form button{grid-column:1/-1;justify-self:start}.mission-form{border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:24px;width:100%}@media(min-width:768px){.mission-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.mission-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.mission-form form{grid-template-columns:1fr}}.profil-page{margin:0 auto;max-width:1200px;padding:0 16px}.profil-intro{color:#475569;margin-bottom:24px;max-width:720px}.profil-form{border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:24px}.profil-form form{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);max-width:100%}.profil-form textarea{grid-column:1/-1}.profil-form button{grid-column:1/-1;justify-self:flex-start}.profil-error{color:#dc2626;margin-top:8px}.profil-list{display:grid;gap:24px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}.profil-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;display:flex;flex-direction:column;gap:14px;padding:16px;transition:box-shadow .2s ease,transform .2s ease}.profil-card:hover{box-shadow:0 10px 28px #0f172a14;transform:translateY(-2px)}.profil-video{width:100%}.profil-video video{aspect-ratio:16/9;background:#000;border-radius:12px;display:block;height:auto;width:100%}.profil-video-empty{align-items:center;aspect-ratio:16/9;border-bottom:1px dashed #e5e7eb;color:#64748b;display:flex;flex-direction:column;justify-content:center;width:100%}.profil-video-empty a{color:#00dc82;display:inline-block;font-weight:500;margin-top:6px;text-decoration:none}.profil-video-empty a:hover{text-decoration:underline}.profil-info{display:flex;flex-direction:column;gap:4px}.profil-title{color:#0f172a;font-size:1.1rem;font-weight:600;margin:0}.profil-meta{color:#475569;font-size:.95rem;margin:0}.profil-state{color:#64748b;font-size:.85rem;margin:0}.profil-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.profil-action-link{color:#00dc82;font-weight:500;text-decoration:none}.profil-action-link:hover{text-decoration:underline}.profil-delete{background:#fee2e2;border:none;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:.85rem;padding:6px 12px}.profil-delete:hover{background:#fecaca}@media(min-width:768px){.profil-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.profil-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.profil-form form{grid-template-columns:1fr}}.video-mission-page{margin:0 auto;max-width:900px;padding:1.5rem 1rem}.video-mission-context{margin-bottom:1.5rem}.video-mission-context strong{font-size:1.2rem}.video-mission-context p{color:#475569}.video-mission-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:1rem}.video-mission-player video{aspect-ratio:16/9;border-radius:10px;margin-bottom:.75rem;-o-object-fit:cover;object-fit:cover;width:100%}.video-mission-status{color:#64748b;font-size:.9rem;margin-bottom:.75rem}.video-mission-actions{display:flex;flex-wrap:wrap;gap:.75rem}.video-mission-delete{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.45rem .9rem}.video-mission-empty{border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;margin-bottom:2rem;padding:1.25rem}.video-mission-capture{margin-bottom:2rem}.video-mission-back{background:none;border:none;color:#00dc82;cursor:pointer;font-size:.9rem;padding:0}.video-mission-back:hover{text-decoration:underline}.mission-horaires-resume{background:#f7f7f7;border-radius:6px;font-size:14px;padding:12px}.horaire-resume-bloc{margin-bottom:6px}.video-profil-page{margin:0 auto;max-width:900px;padding:1.5rem 1rem}.video-profil-context{margin-bottom:1.5rem}.video-profil-context strong{font-size:1.2rem}.video-profil-context p{color:#475569}.video-profil-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:1rem}.video-profil-player video{aspect-ratio:16/9;border-radius:10px;margin-bottom:.75rem;-o-object-fit:cover;object-fit:cover;width:100%}.video-profil-status{color:#64748b;font-size:.9rem;margin-bottom:.75rem}.video-profil-actions{display:flex;flex-wrap:wrap;gap:.75rem}.video-profil-delete{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.45rem .9rem}.video-profil-empty{border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;margin-bottom:2rem;padding:1.25rem}.video-profil-capture{margin-bottom:2rem}.video-profil-back{background:none;border:none;color:#00dc82;cursor:pointer;font-size:.9rem;padding:0}.video-profil-back:hover{text-decoration:underline}.horaires-mission-page{margin:auto;max-width:800px}.horaires-mission-context{background:#f7f7f7;border-radius:6px;padding:12px}.horaires-form{background:#fafafa;border-radius:8px;padding:20px}.jours-horaires{display:flex;flex-direction:column}.jour-row{align-items:center;display:flex;gap:16px}.jour-label{font-weight:500;width:120px}.jour-fields{align-items:center;display:flex;gap:8px}.arrow{opacity:.6}.horaires-submit{font-weight:600;margin-top:16px;padding:10px 16px}.horaires-error{color:red;margin-top:10px}.horaires-back{margin-top:16px}.horaires-table{display:flex;flex-direction:column;gap:12px}.horaire-card{border-bottom:1px solid #e0e0e0;padding:10px}.horaire-main{align-items:center;display:flex;font-weight:500;gap:10px}.horaire-main .jour{font-weight:600;min-width:90px}.horaire-main .heure{min-width:55px}.horaire-main .frequence{font-size:14px;margin-left:12px;opacity:.8}.horaire-actions{display:flex;gap:10px;margin-top:6px}.horaire-actions button{font-size:13px}.horaire-main input[type=time]{width:110px}.horaire-main select{min-width:170px}.jours-config{gap:14px}.jour-config,.jours-config{display:flex;flex-direction:column}.jour-config{gap:8px}.jour-btn{align-self:flex-start;background:#f0f0f0;border:1px solid #ccc;border-radius:20px;padding:6px 14px}.creneau-ligne{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.creneau-ligne input[type=time]{width:110px}.creneau-ligne select{min-width:170px}.creneau-actions{display:flex;gap:8px}.creneau-actions button{background:#01db6e;border:1px solid #01db6e;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 10px}.creneau-actions button:hover{background:#eaeaea}.jours-horaires{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.jour-config,.jour-row{align-items:center;display:flex;flex-direction:column}.jour-btn{background:#f2f2f2;border:2px solid #d0d0d0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:600;height:42px;transition:all .2s ease;width:140px}.jour-btn:hover{background:#e9fbf3;border-color:#00dc82}.jour-btn.active{background:#00dc82;border-color:#00dc82;box-shadow:0 0 0 2px #00dc8240;color:#fff}.creneau-ligne,.jour-fields{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.creneau-ligne input[type=time],.jour-fields input[type=time]{height:36px;width:110px}.creneau-ligne select,.jour-fields select{height:36px;min-width:170px}
