:root{--font-principale: "Montserrat", sans-serif;--font-slogan: "Indie Flower", cursive;--couleur-fond: #f8fafc;--couleur-fond-carte: #ffffff;--couleur-texte: #0f172a;--couleur-texte-clair: #64748b;--couleur-primaire: #4361ee;--couleur-primaire-hover: #3651d4;--couleur-bordure: #cbd5e1;--statut-pending: #f59e0b;--statut-accepted: #10b981;--statut-completed: #0ea5e9;--statut-rejected: #ef4444}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-principale);font-weight:400;background-color:var(--couleur-fond);color:var(--couleur-texte);margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-principale);font-weight:700}h1{letter-spacing:-.02em}h2{letter-spacing:-.01em}button,.element-important{font-family:var(--font-principale);font-weight:600;background-color:var(--couleur-primaire);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;transition:transform .2s,opacity .2s}button:hover{opacity:.9;transform:translateY(-2px)}.slogan{font-family:var(--font-slogan);font-weight:400;font-size:1.5rem}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--couleur-fond, #f8fafc)}.auth-card{background-color:var(--couleur-fond-carte, #ffffff);padding:3rem;border-radius:12px;box-shadow:0 10px 30px #00000014;text-align:center;width:100%;max-width:450px;border:2px solid var(--couleur-texte)}.logo-title{font-size:2.5rem;color:var(--couleur-texte);margin-bottom:.5rem;font-family:var(--font-principale);font-weight:700}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{width:100%}.custom-input{width:100%;padding:14px 16px;border:2px solid var(--couleur-texte);border-radius:4px;font-family:var(--font-principale);font-size:1rem;color:var(--couleur-texte);outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.custom-input::placeholder{color:var(--couleur-primaire);font-style:italic}.custom-input:focus{border-color:var(--couleur-primaire);box-shadow:0 0 0 3px #4361ee33}.auth-button{width:100%;margin-top:1rem;font-size:1.1rem;padding:14px 24px;border:2px solid var(--couleur-texte);border-radius:4px;background-color:var(--couleur-primaire);color:#fff;cursor:pointer;font-family:var(--font-principale);font-weight:600;transition:background-color .25s,transform .2s}.auth-button:hover{background-color:var(--couleur-primaire-hover);transform:translateY(-2px)}.auth-button:disabled{background-color:#cbd5e1;border-color:#cbd5e1;color:#64748b;cursor:not-allowed;opacity:1;transform:none}.auth-button:disabled:hover{background-color:#cbd5e1;transform:none}.auth-link-text{margin-top:2rem;font-size:.9rem;color:var(--couleur-texte-clair);text-align:center;font-family:var(--font-principale);font-weight:600;display:flex;justify-content:center;gap:5px}.auth-link{color:var(--couleur-texte);text-decoration:underline;transition:color .2s}.auth-link:hover{text-decoration:none;color:var(--couleur-primaire)}.error-msg{color:#e63946;font-size:.9rem;margin-top:-.5rem;margin-bottom:-.5rem;font-weight:500}@media(max-width:600px){.auth-container{padding:1rem;background-color:var(--couleur-fond-carte, #ffffff)}.auth-card{padding:1.5rem 1rem;border:none;box-shadow:none}.logo-title{font-size:2rem}}.checkbox-group{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;font-family:var(--font-principale);text-align:left;margin-top:-.5rem}.checkbox-title{font-weight:600;margin-bottom:.2rem;font-size:1rem;color:var(--couleur-texte)}.checkbox-item{display:flex;align-items:center;gap:.75rem;font-weight:500;cursor:pointer;font-size:.95rem;color:var(--couleur-texte)}.custom-checkbox{width:18px;height:18px;border:2px solid var(--couleur-texte);border-radius:3px;cursor:pointer;accent-color:var(--couleur-primaire)}.custom-textarea{resize:vertical;min-height:100px;font-family:var(--font-principale)}.terms-checkbox{margin-top:.5rem;font-size:.85rem;align-self:flex-start}@media(max-width:768px){.auth-card{padding:2rem 1.5rem;max-width:100%}.logo-title{font-size:2.2rem}}@media(max-width:480px){.auth-card{padding:1.5rem 1rem;border-radius:8px}.logo-title{font-size:1.8rem}.auth-button{padding:12px 16px;font-size:1rem}.custom-input{padding:12px 14px;font-size:.95rem}}.app-header[data-v-05722a80]{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--couleur-fond-carte, #ffffff);border-bottom:2px solid var(--couleur-texte);position:relative;z-index:100}.logo-link[data-v-05722a80]{text-decoration:none;color:var(--couleur-texte)}.logo-text[data-v-05722a80]{font-family:var(--font-slogan);font-size:1.8rem;font-weight:700}.header-nav[data-v-05722a80]{display:flex;align-items:center;gap:1.5rem}.nav-link[data-v-05722a80]{font-family:var(--font-principale);font-weight:600;color:var(--couleur-texte);text-decoration:none;font-size:1rem;cursor:pointer;transition:color .2s;background:none;border:none;padding:0}.nav-link[data-v-05722a80]:hover,.nav-link.router-link-active[data-v-05722a80],.nav-link.router-link-exact-active[data-v-05722a80]{color:var(--couleur-primaire)}.msg-link[data-v-05722a80]{position:relative;display:inline-flex;align-items:center}.unread-badge[data-v-05722a80]{position:absolute;top:-6px;right:-10px;background-color:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.logout-btn[data-v-05722a80]{font-size:1rem}.profile-link[data-v-05722a80]{display:flex;align-items:center}.nav-avatar[data-v-05722a80]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid transparent;transition:border-color .2s}.profile-link.router-link-active .nav-avatar[data-v-05722a80],.profile-link.router-link-active .nav-avatar-placeholder[data-v-05722a80]{border:3px solid var(--couleur-primaire);box-shadow:0 0 0 2px #4361ee40}.nav-avatar-placeholder[data-v-05722a80]{width:32px;height:32px;border-radius:50%;background-color:var(--couleur-primaire);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;border:2px solid transparent;transition:border-color .2s;font-weight:700;font-family:var(--font-principale)}.nav-btn[data-v-05722a80]{font-family:var(--font-principale);font-weight:600;color:var(--couleur-texte);text-decoration:none;border:2px solid var(--couleur-texte);padding:.5rem 1rem;border-radius:4px;transition:background-color .2s,color .2s}.nav-btn[data-v-05722a80]:hover{background-color:var(--couleur-texte);color:#fff}.burger-btn[data-v-05722a80]{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px;width:32px;height:32px}.burger-btn[data-v-05722a80]:hover{opacity:1;transform:none}.burger-bar[data-v-05722a80]{display:block;width:24px;height:2px;background-color:var(--couleur-texte);border-radius:2px;transition:transform .3s ease,opacity .3s ease;transform-origin:center}.bar-1.open[data-v-05722a80]{transform:translateY(7px) rotate(45deg)}.bar-2.open[data-v-05722a80]{opacity:0;transform:scaleX(0)}.bar-3.open[data-v-05722a80]{transform:translateY(-7px) rotate(-45deg)}.mobile-menu[data-v-05722a80]{display:none;flex-direction:column;background-color:var(--couleur-fond-carte, #ffffff);border-bottom:2px solid var(--couleur-texte);z-index:101;position:relative}.mobile-link[data-v-05722a80]{display:flex;align-items:center;gap:.8rem;padding:1rem 1.5rem;font-family:var(--font-principale);font-weight:600;font-size:1rem;color:var(--couleur-texte);text-decoration:none;border:none;border-bottom:1px solid var(--couleur-fond, #f8fafc);background:none;cursor:pointer;transition:background-color .15s;width:100%;text-align:left;box-sizing:border-box}.mobile-link[data-v-05722a80]:hover,.mobile-link.router-link-active[data-v-05722a80]{background-color:var(--couleur-fond, #f8fafc);opacity:1;transform:none}.mobile-link.router-link-exact-active[data-v-05722a80]{color:var(--couleur-primaire);background-color:var(--couleur-fond, #f8fafc);border-left:3px solid var(--couleur-primaire);padding-left:calc(1.5rem - 3px)}.mobile-badge[data-v-05722a80]{background-color:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 3px}.mobile-logout[data-v-05722a80]{color:#ef4444}.profile-mobile-link[data-v-05722a80]{gap:.8rem}.nav-group[data-v-05722a80]{position:relative}.nav-group-btn[data-v-05722a80]{background:none;border:none;padding:0;font-family:var(--font-principale);font-weight:600;font-size:1rem;color:var(--couleur-texte);cursor:pointer;display:flex;align-items:center;gap:.25rem}.nav-group-btn[data-v-05722a80]:hover{color:var(--couleur-primaire);opacity:1;transform:none}.group-chevron[data-v-05722a80]{font-size:.7rem;transition:transform .2s;display:inline-block}.nav-group.open .group-chevron[data-v-05722a80]{transform:rotate(180deg)}.nav-dropdown[data-v-05722a80]{display:none;position:absolute;top:calc(100% + .75rem);left:50%;transform:translate(-50%);background:var(--couleur-fond-carte, #fff);border:2px solid var(--couleur-texte);border-radius:8px;min-width:180px;z-index:200;box-shadow:0 8px 24px #0000001a;overflow:hidden}.nav-group.open .nav-dropdown[data-v-05722a80]{display:flex;flex-direction:column}.dropdown-link[data-v-05722a80]{display:block;padding:.65rem 1.1rem;font-family:var(--font-principale);font-weight:600;font-size:.9rem;color:var(--couleur-texte);text-decoration:none;border-bottom:1px solid var(--couleur-fond, #f8fafc);white-space:nowrap}.dropdown-link[data-v-05722a80]:last-child{border-bottom:none}.dropdown-link[data-v-05722a80]:hover{background:var(--couleur-fond, #f8fafc);color:var(--couleur-primaire)}.dropdown-link.router-link-active[data-v-05722a80]{color:var(--couleur-primaire)}.mobile-section-label[data-v-05722a80]{padding:.5rem 1.5rem .3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--couleur-texte-clair, #64748b);background:var(--couleur-fond, #f8fafc);border-top:1px solid var(--couleur-fond, #f8fafc)}.mobile-sub[data-v-05722a80]{padding-left:2rem;font-size:.95rem}@media(max-width:600px){.app-header[data-v-05722a80]{padding:.75rem 1rem}.logo-text[data-v-05722a80]{font-size:1.4rem}.header-nav[data-v-05722a80]{display:none;pointer-events:none}.header-nav-guest[data-v-05722a80]{display:flex;gap:.75rem;pointer-events:auto}.burger-btn[data-v-05722a80],.mobile-menu[data-v-05722a80]{display:flex}}.toast-container[data-v-2020d9ad]{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none}.toast[data-v-2020d9ad]{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.4rem;border-radius:999px;font-family:var(--font-principale);font-weight:600;font-size:.9rem;box-shadow:0 4px 20px #00000026;white-space:nowrap;pointer-events:auto}.toast.success[data-v-2020d9ad]{background:#0f172a;color:#fff}.toast.error[data-v-2020d9ad]{background:#ef4444;color:#fff}.toast.info[data-v-2020d9ad]{background:var(--couleur-primaire);color:#fff}.toast-icon[data-v-2020d9ad]{font-size:.85rem}.toast-enter-active[data-v-2020d9ad],.toast-leave-active[data-v-2020d9ad]{transition:opacity .28s ease,transform .28s ease}.toast-enter-from[data-v-2020d9ad],.toast-leave-to[data-v-2020d9ad]{opacity:0;transform:translateY(10px)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column}.page-enter-active,.page-leave-active{transition:opacity .18s ease}.page-enter-from,.page-leave-to{opacity:0}.btn-group[data-v-fa158e7d]{display:flex;gap:1rem;margin-top:.5rem}.secondary-btn[data-v-fa158e7d]{background-color:transparent;color:var(--couleur-texte);border-color:var(--couleur-texte-clair)}.secondary-btn[data-v-fa158e7d]:hover{background-color:#f1f5f9;border-color:var(--couleur-texte)}.section-label[data-v-fa158e7d]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--couleur-primaire, #4f46e5);margin:1rem 0 .25rem;padding-bottom:.4rem;border-bottom:2px solid var(--couleur-primaire, #4f46e5)}.tag-label[data-v-fa158e7d]{font-size:.85rem;font-weight:600;color:var(--couleur-texte-clair, #64748b);margin-bottom:.5rem}.tag-list[data-v-fa158e7d]{display:flex;flex-wrap:wrap;gap:.5rem}.tag-item[data-v-fa158e7d]{padding:.3rem .8rem;border:1.5px solid var(--couleur-texte-clair, #cbd5e1);border-radius:999px;font-size:.85rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.tag-item[data-v-fa158e7d]:hover{border-color:var(--couleur-primaire, #007bff);color:var(--couleur-primaire, #007bff)}.tag-item.selected[data-v-fa158e7d]{background-color:var(--couleur-primaire, #007bff);border-color:var(--couleur-primaire, #007bff);color:#fff}.subject-card[data-v-21ba3e8e]{border:2px solid var(--couleur-texte);border-radius:8px;padding:1.5rem;background-color:var(--couleur-fond-carte, #ffffff);cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;justify-content:space-between;min-height:150px}.subject-card[data-v-21ba3e8e]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a;border-color:var(--couleur-primaire)}.subject-title[data-v-21ba3e8e]{margin:0 0 .5rem;font-size:1.25rem;color:var(--couleur-primaire);font-family:var(--font-principale);word-break:break-word;overflow-wrap:break-word}.subject-teacher[data-v-21ba3e8e]{margin:0 0 .5rem;font-weight:600;word-break:break-word;overflow-wrap:break-word}.subject-price[data-v-21ba3e8e]{margin:0;color:var(--couleur-texte-clair);font-weight:500;font-size:.9rem;word-break:break-word;overflow-wrap:break-word}.card-footer[data-v-21ba3e8e]{display:flex;justify-content:space-between;align-items:center}.card-dots[data-v-21ba3e8e]{color:var(--couleur-primaire);font-weight:700;letter-spacing:2px}.fav-btn[data-v-21ba3e8e]{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0;line-height:1;transition:transform .15s}.fav-btn[data-v-21ba3e8e]:hover{transform:scale(1.2)}.skeleton-wrapper.list[data-v-9441a35b]{display:flex;flex-direction:column;gap:.8rem}.skeleton-wrapper.grid[data-v-9441a35b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem}.skeleton-item[data-v-9441a35b]{background:var(--couleur-fond-carte, #fff);border:2px solid var(--couleur-texte);border-radius:8px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.55rem;min-height:72px}.skeleton-wrapper.grid .skeleton-item[data-v-9441a35b]{min-height:120px}.skeleton-line[data-v-9441a35b]{background:linear-gradient(90deg,#e2e8f0 25%,#f8fafc,#e2e8f0 75%);background-size:200% 100%;animation:shimmer-9441a35b 1.5s infinite;border-radius:4px;height:13px}.skeleton-line.title[data-v-9441a35b]{width:60%;height:15px}.skeleton-line.short[data-v-9441a35b]{width:38%}@keyframes shimmer-9441a35b{0%{background-position:200% 0}to{background-position:-200% 0}}.app-content[data-v-ddcd7ab0]{padding:2rem;max-width:1200px;margin:0 auto}.page-title[data-v-ddcd7ab0]{font-size:2rem;margin-bottom:2rem;font-family:var(--font-principale);color:var(--couleur-texte)}.search-bar[data-v-ddcd7ab0]{display:flex;gap:1rem;margin-bottom:2.5rem;max-width:600px}.search-input[data-v-ddcd7ab0]{flex:1}.search-btn[data-v-ddcd7ab0]{width:auto;margin-top:0}.filters-bar[data-v-ddcd7ab0]{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;align-items:center}.filter-select[data-v-ddcd7ab0]{width:auto;min-width:160px;padding:10px 14px;cursor:pointer}.reset-btn[data-v-ddcd7ab0]{background:none;border:2px solid var(--couleur-texte-clair, #64748b);color:var(--couleur-texte-clair, #64748b);padding:10px 16px;border-radius:4px;cursor:pointer;font-family:var(--font-principale);font-weight:600;font-size:.9rem;transition:border-color .2s,color .2s}.reset-btn[data-v-ddcd7ab0]:hover{border-color:var(--couleur-texte);color:var(--couleur-texte)}.fav-section[data-v-ddcd7ab0]{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:2px solid var(--couleur-texte)}.fav-section-title[data-v-ddcd7ab0],.browse-title[data-v-ddcd7ab0]{font-size:1.1rem;font-family:var(--font-principale);color:var(--couleur-texte-clair, #64748b);text-transform:uppercase;letter-spacing:.08em;margin:0 0 1.2rem}.fav-group[data-v-ddcd7ab0]{margin-bottom:1.2rem}.fav-group-label[data-v-ddcd7ab0]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--couleur-texte-clair, #64748b);margin:0 0 .6rem}.fav-grid[data-v-ddcd7ab0]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.fav-tutors-row[data-v-ddcd7ab0]{display:flex;flex-wrap:wrap;gap:.5rem}.tutor-fav-chip[data-v-ddcd7ab0]{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border:2px solid var(--couleur-texte);border-radius:999px;background:var(--couleur-fond-carte, #fff);cursor:pointer;font-family:var(--font-principale);font-size:.88rem;font-weight:600;transition:background-color .15s,border-color .15s}.tutor-fav-chip[data-v-ddcd7ab0]:hover{background-color:#f1f5f9;border-color:var(--couleur-primaire)}.chip-name[data-v-ddcd7ab0]{line-height:1}.chip-remove[data-v-ddcd7ab0]{background:none;border:none;font-size:.85rem;cursor:pointer;padding:0;line-height:1;transition:transform .15s}.chip-remove[data-v-ddcd7ab0]:hover{transform:scale(1.2)}.empty-block[data-v-ddcd7ab0]{text-align:center;padding:3rem 1rem;color:var(--couleur-texte-clair, #64748b)}.empty-icon[data-v-ddcd7ab0]{font-size:2rem;display:block;margin-bottom:.6rem}.empty-title[data-v-ddcd7ab0]{font-weight:700;font-size:1rem;color:var(--couleur-texte);margin:0 0 .3rem}.empty-desc[data-v-ddcd7ab0]{font-size:.88rem;margin:0}.filter-inactive[data-v-ddcd7ab0]{opacity:.4;cursor:not-allowed}.grid-container[data-v-ddcd7ab0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem}.view-toggle[data-v-ddcd7ab0]{display:flex;gap:1rem;margin-bottom:2rem}.toggle-btn[data-v-ddcd7ab0]{padding:.5rem 1.5rem;border:2px solid var(--couleur-texte);background:transparent;color:var(--couleur-texte);border-radius:4px;cursor:pointer;font-family:var(--font-principale);font-weight:600}.toggle-btn.active[data-v-ddcd7ab0]{background:var(--couleur-texte);color:#fff}.modal-overlay[data-v-ddcd7ab0]{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-ddcd7ab0]{width:100%;max-width:500px;text-align:left}.status-indicator[data-v-ddcd7ab0]{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:1.5rem;font-family:var(--font-principale)}.done-status[data-v-ddcd7ab0]{margin-bottom:0}.dot[data-v-ddcd7ab0]{width:12px;height:12px;border-radius:50%;border:2px solid var(--couleur-texte)}.dot.pending[data-v-ddcd7ab0]{background-color:var(--statut-pending)}.dot.completed[data-v-ddcd7ab0]{background-color:var(--statut-completed)}.action-buttons[data-v-ddcd7ab0]{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.secondary-btn[data-v-ddcd7ab0]{background-color:transparent;color:var(--couleur-texte);border:2px solid var(--couleur-texte)}.secondary-btn[data-v-ddcd7ab0]:hover{background-color:#f1f5f9}.rating-section[data-v-ddcd7ab0]{border-top:2px solid var(--couleur-texte);padding-top:1.5rem;text-align:center;font-family:var(--font-principale);font-weight:600}.stars[data-v-ddcd7ab0]{font-size:1.5rem;margin-bottom:1rem;letter-spacing:5px;cursor:pointer}.loading-dim[data-v-ddcd7ab0]{opacity:.5;pointer-events:none;transition:opacity .2s}.pagination[data-v-ddcd7ab0]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;font-family:var(--font-principale)}.page-btn[data-v-ddcd7ab0]{background:none;border:2px solid var(--couleur-texte);color:var(--couleur-texte);padding:.5rem 1.2rem;border-radius:4px;cursor:pointer;font-family:var(--font-principale);font-weight:600}.page-btn[data-v-ddcd7ab0]:hover:not(:disabled){background:var(--couleur-texte);color:#fff}.page-btn[data-v-ddcd7ab0]:disabled{opacity:.3;cursor:not-allowed}.page-info[data-v-ddcd7ab0]{font-weight:600;font-size:.95rem;color:var(--couleur-texte-clair, #64748b)}@media(max-width:600px){.app-content[data-v-ddcd7ab0]{padding:1rem}.page-title[data-v-ddcd7ab0]{font-size:1.4rem;margin-bottom:1.2rem}.search-bar[data-v-ddcd7ab0]{flex-direction:column;max-width:100%}.search-btn[data-v-ddcd7ab0]{width:100%}.filters-bar[data-v-ddcd7ab0]{gap:.6rem}.filter-select[data-v-ddcd7ab0]{min-width:0;flex:1 1 calc(50% - .3rem)}.view-toggle[data-v-ddcd7ab0]{gap:.5rem}.toggle-btn[data-v-ddcd7ab0]{flex:1;padding:.5rem;font-size:.9rem}.grid-container[data-v-ddcd7ab0]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.modal-content[data-v-ddcd7ab0]{max-width:calc(100vw - 2rem);padding:1.5rem 1rem;max-height:90vh;overflow-y:auto}}.app-content[data-v-a8ff6482]{padding:2rem;max-width:1400px;margin:0 auto;box-sizing:border-box;width:100%}.page-title[data-v-a8ff6482]{font-size:2rem;font-family:var(--font-principale);color:var(--couleur-texte);margin-bottom:1.5rem}.stats-bar[data-v-a8ff6482]{display:flex;gap:1.25rem;margin-bottom:2rem;flex-wrap:wrap}.stat-card[data-v-a8ff6482]{flex:1;min-width:140px;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.25rem 1rem;border:2px solid var(--couleur-bordure, #e2e8f0);border-radius:10px;background:var(--couleur-fond-carte, #fff);text-align:center}.stat-value[data-v-a8ff6482]{font-family:var(--font-principale);font-size:2rem;font-weight:700;color:var(--couleur-primaire);line-height:1}.stat-label[data-v-a8ff6482]{font-family:var(--font-principale);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--couleur-texte-clair, #64748b)}.kanban[data-v-a8ff6482]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;align-items:start}.kanban-col[data-v-a8ff6482]{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;border:2px solid var(--couleur-bordure, #e2e8f0);background:var(--couleur-fond, #f8fafc)}.kanban-col-header[data-v-a8ff6482]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;font-family:var(--font-principale);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid transparent}.header-planned[data-v-a8ff6482]{background:#fffbeb;color:#b45309;border-bottom-color:#f59e0b}.header-confirmed[data-v-a8ff6482]{background:#f0fdf4;color:#065f46;border-bottom-color:#10b981}.header-completed[data-v-a8ff6482]{background:#eff6ff;color:#1d4ed8;border-bottom-color:#3b82f6}.header-cancelled[data-v-a8ff6482]{background:#f9fafb;color:#6b7280;border-bottom-color:#d1d5db}.col-badge[data-v-a8ff6482]{font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.header-planned .col-badge[data-v-a8ff6482]{background:#f59e0b;color:#fff}.header-confirmed .col-badge[data-v-a8ff6482]{background:#10b981;color:#fff}.header-completed .col-badge[data-v-a8ff6482]{background:#3b82f6;color:#fff}.header-cancelled .col-badge[data-v-a8ff6482]{background:#9ca3af;color:#fff}.kanban-cards[data-v-a8ff6482]{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;min-height:80px}.kanban-empty[data-v-a8ff6482]{text-align:center;color:var(--couleur-texte-clair, #94a3b8);font-size:.85rem;font-style:italic;padding:1rem 0}.kanban-card[data-v-a8ff6482]{background:var(--couleur-fond-carte, #fff);border-radius:8px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem;border:1.5px solid var(--couleur-bordure, #e2e8f0);box-shadow:0 1px 3px #0000000d}.card-planned[data-v-a8ff6482]{border-left:4px solid #f59e0b}.card-confirmed[data-v-a8ff6482]{border-left:4px solid #10b981}.card-completed[data-v-a8ff6482]{border-left:4px solid #3b82f6}.card-cancelled[data-v-a8ff6482]{border-left:4px solid #d1d5db;opacity:.75}.card-student[data-v-a8ff6482]{font-family:var(--font-principale);font-weight:700;font-size:.9rem;margin:0;color:var(--couleur-texte)}.card-date[data-v-a8ff6482]{font-size:.82rem;font-weight:600;margin:0;color:var(--couleur-texte)}.card-time[data-v-a8ff6482]{font-size:.8rem;color:var(--couleur-texte-clair, #64748b);margin:0}.card-offer[data-v-a8ff6482]{font-size:.78rem;color:var(--couleur-primaire);font-weight:600;margin:.1rem 0 0}.card-actions[data-v-a8ff6482]{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}.card-confirm[data-v-a8ff6482]{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}.confirm-label[data-v-a8ff6482]{font-size:.78rem;font-weight:600;color:var(--couleur-texte);font-family:var(--font-principale)}.confirm-btns[data-v-a8ff6482]{display:flex;gap:.4rem;flex-wrap:wrap}.btn-danger-sm[data-v-a8ff6482],.btn-warning-sm[data-v-a8ff6482],.btn-accept-sm[data-v-a8ff6482],.btn-neutral-sm[data-v-a8ff6482]{padding:.3rem .7rem;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:none;white-space:nowrap}.btn-danger-sm[data-v-a8ff6482]{background:#fee2e2;color:#dc2626}.btn-danger-sm[data-v-a8ff6482]:hover{background:#dc2626;color:#fff;transform:none;opacity:1}.btn-danger-sm[data-v-a8ff6482]:disabled{opacity:.5;cursor:not-allowed}.btn-warning-sm[data-v-a8ff6482]{background:#fef3c7;color:#d97706}.btn-warning-sm[data-v-a8ff6482]:hover{background:#d97706;color:#fff;transform:none;opacity:1}.btn-warning-sm[data-v-a8ff6482]:disabled{opacity:.5;cursor:not-allowed}.btn-accept-sm[data-v-a8ff6482]{background:#d1fae5;color:#065f46}.btn-accept-sm[data-v-a8ff6482]:hover{background:#10b981;color:#fff;transform:none;opacity:1}.btn-accept-sm[data-v-a8ff6482]:disabled{opacity:.5;cursor:not-allowed}.btn-neutral-sm[data-v-a8ff6482]{background:#f1f5f9;color:var(--couleur-texte)}.btn-neutral-sm[data-v-a8ff6482]:hover{background:#e2e8f0;transform:none;opacity:1}.empty-text[data-v-a8ff6482]{color:var(--couleur-texte-clair, #64748b);font-style:italic}@media(max-width:1100px){.kanban[data-v-a8ff6482]{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.app-content[data-v-a8ff6482]{padding:1rem}.page-title[data-v-a8ff6482]{font-size:1.5rem}.kanban[data-v-a8ff6482]{grid-template-columns:1fr}}.app-content[data-v-4415207c]{padding:2rem;max-width:960px;margin:0 auto;box-sizing:border-box}.page-title[data-v-4415207c]{font-size:2rem;margin-bottom:2rem;font-family:var(--font-principale);color:var(--couleur-texte)}.profile-layout[data-v-4415207c]{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;align-items:start}.profile-aside[data-v-4415207c]{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:1.5rem}.avatar-section[data-v-4415207c]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-bottom:1.5rem;border-bottom:2px solid var(--couleur-texte)}.avatar-img[data-v-4415207c]{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--couleur-primaire)}.avatar-placeholder[data-v-4415207c]{width:96px;height:96px;border-radius:50%;background-color:var(--couleur-primaire);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;font-family:var(--font-principale)}.upload-label[data-v-4415207c]{padding:.35rem 1rem;border:1.5px solid var(--couleur-primaire);border-radius:6px;color:var(--couleur-primaire);font-family:var(--font-principale);font-weight:600;font-size:.82rem;cursor:pointer;transition:background-color .2s,color .2s}.upload-label[data-v-4415207c]:hover{background-color:var(--couleur-primaire);color:#fff}.success-inline[data-v-4415207c]{font-size:.82rem;color:#16a34a;margin:0;font-weight:600}.static-fields[data-v-4415207c]{display:flex;flex-direction:column;gap:.75rem}.static-item[data-v-4415207c]{display:flex;flex-direction:column;gap:.15rem}.static-label[data-v-4415207c]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--couleur-texte-clair, #64748b);font-family:var(--font-principale)}.static-value[data-v-4415207c]{font-size:.95rem;font-family:var(--font-principale);font-weight:600;color:var(--couleur-texte)}.pw-link-section[data-v-4415207c]{border-top:2px solid var(--couleur-texte);padding-top:1rem}.pw-link[data-v-4415207c]{font-family:var(--font-principale);font-weight:600;font-size:.9rem;color:var(--couleur-texte-clair, #64748b);text-decoration:none;transition:color .2s}.pw-link[data-v-4415207c]:hover{color:var(--couleur-primaire)}.logout-section[data-v-4415207c]{border-top:2px solid var(--couleur-texte);padding-top:1rem}.logout-btn[data-v-4415207c]{width:100%;background:none;border:2px solid #ef4444;color:#ef4444;font-family:var(--font-principale);font-weight:600;font-size:.9rem;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:background-color .2s,color .2s}.logout-btn[data-v-4415207c]:hover{background-color:#ef4444;color:#fff;opacity:1;transform:none}.profile-form[data-v-4415207c]{display:flex;flex-direction:column;gap:1.2rem}.form-group[data-v-4415207c]{display:flex;flex-direction:column;gap:.3rem}.form-row-2[data-v-4415207c]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.custom-label[data-v-4415207c]{font-family:var(--font-principale);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--couleur-texte-clair, #64748b)}.tag-list[data-v-4415207c]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.tag-item[data-v-4415207c]{padding:.3rem .85rem;border:1.5px solid var(--couleur-texte-clair, #cbd5e1);border-radius:999px;font-size:.85rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none;font-family:var(--font-principale)}.tag-item[data-v-4415207c]:hover{border-color:var(--couleur-primaire);color:var(--couleur-primaire)}.tag-item.selected[data-v-4415207c]{background-color:var(--couleur-primaire);border-color:var(--couleur-primaire);color:#fff}.form-footer[data-v-4415207c]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.5rem;border-top:2px solid var(--couleur-texte);margin-top:.5rem}.public-checkbox[data-v-4415207c]{display:flex;align-items:center;gap:.5rem;font-family:var(--font-principale);font-weight:600;font-size:.9rem;cursor:pointer}.public-checkbox input[data-v-4415207c]{width:auto;cursor:pointer}.save-btn[data-v-4415207c]{width:auto;margin:0;padding:.65rem 2rem}.msg-success[data-v-4415207c]{color:#16a34a;font-weight:600;font-size:.9rem;margin:0}.msg-error[data-v-4415207c]{color:#ef4444;font-size:.9rem;margin:0}.empty-text[data-v-4415207c]{color:var(--couleur-texte-clair, #64748b);font-style:italic}.empty-block[data-v-4415207c]{text-align:center;padding:2rem 1rem;color:var(--couleur-texte-clair, #64748b)}.empty-icon[data-v-4415207c]{font-size:2rem;display:block;margin-bottom:.5rem}.empty-title[data-v-4415207c]{font-weight:700;font-size:.95rem;color:var(--couleur-texte);margin:0 0 .25rem}.empty-desc[data-v-4415207c]{font-size:.85rem;margin:0}.reviews-section[data-v-4415207c]{margin-top:3rem;border-top:2px solid var(--couleur-texte);padding-top:2rem}.reviews-header[data-v-4415207c]{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.reviews-title[data-v-4415207c]{font-size:1.3rem;font-family:var(--font-principale);color:var(--couleur-texte);margin:0}.reviews-summary[data-v-4415207c]{display:flex;align-items:center;gap:.4rem}.avg-stars[data-v-4415207c]{color:#f59e0b;font-size:1.1rem;letter-spacing:.05em}.avg-score[data-v-4415207c]{font-family:var(--font-principale);font-weight:700;font-size:1rem}.reviews-count[data-v-4415207c]{font-size:.9rem;color:var(--couleur-texte-clair, #64748b)}.reviews-controls[data-v-4415207c]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.filter-stars[data-v-4415207c]{display:flex;gap:.4rem;flex-wrap:wrap}.filter-btn[data-v-4415207c]{padding:.3rem .75rem;border:1.5px solid var(--couleur-bordure, #cbd5e1);border-radius:999px;background:transparent;font-size:.82rem;font-family:var(--font-principale);font-weight:600;cursor:pointer;color:var(--couleur-texte-clair, #64748b);transition:border-color .15s,background .15s,color .15s}.filter-btn[data-v-4415207c]:hover{border-color:#f59e0b;color:#b45309;opacity:1;transform:none}.filter-btn.active[data-v-4415207c]{background:#f59e0b;border-color:#f59e0b;color:#fff}.sort-select[data-v-4415207c]{border:1.5px solid var(--couleur-bordure, #cbd5e1);border-radius:6px;padding:.35rem .7rem;font-family:var(--font-principale);font-size:.85rem;background:var(--couleur-fond-carte, #fff);color:var(--couleur-texte);cursor:pointer}.reviews-list[data-v-4415207c]{display:flex;flex-direction:column;gap:.75rem}.review-card[data-v-4415207c]{border:1.5px solid var(--couleur-bordure, #e2e8f0);border-radius:8px;padding:1rem 1.2rem;background:var(--couleur-fond-carte, #fff);display:flex;flex-direction:column;gap:.4rem}.review-top[data-v-4415207c]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.review-stars[data-v-4415207c]{color:#f59e0b;font-size:1rem;letter-spacing:.05em}.review-meta[data-v-4415207c]{font-size:.8rem;color:var(--couleur-texte-clair, #64748b);font-family:var(--font-principale)}.review-comment[data-v-4415207c]{margin:0;font-size:.9rem;color:var(--couleur-texte);line-height:1.5}@media(max-width:700px){.app-content[data-v-4415207c]{padding:1rem}.page-title[data-v-4415207c]{font-size:1.5rem}.profile-layout[data-v-4415207c]{grid-template-columns:1fr;gap:2rem}.profile-aside[data-v-4415207c]{position:static}.form-row-2[data-v-4415207c]{grid-template-columns:1fr}.form-footer[data-v-4415207c]{flex-direction:column;align-items:stretch}.save-btn[data-v-4415207c]{width:100%}}.app-content[data-v-2f0abf1a]{padding:2rem;max-width:1400px;margin:0 auto}.tutor-layout[data-v-2f0abf1a]{display:grid;grid-template-columns:320px 1fr;gap:2rem;align-items:start}.tutor-main>.section-heading[data-v-2f0abf1a]:first-child{margin-top:0}.tutor-header[data-v-2f0abf1a]{position:sticky;top:5rem}.back-btn[data-v-2f0abf1a]{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;padding:0 0 1rem;font-family:var(--font-principale);font-weight:600;font-size:.95rem;color:var(--couleur-texte-clair, #64748b);cursor:pointer}.back-btn[data-v-2f0abf1a]:hover{color:var(--couleur-texte);opacity:1;transform:none}.book-success-block[data-v-2f0abf1a]{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.sessions-btn[data-v-2f0abf1a]{align-self:flex-start;padding:.5rem 1.2rem;font-size:.9rem}.page-title[data-v-2f0abf1a]{font-size:2rem;margin-bottom:1.5rem;font-family:var(--font-principale);color:var(--couleur-texte)}.tutor-username[data-v-2f0abf1a]{margin:-.5rem 0 .75rem;font-size:.9rem;color:var(--couleur-texte-clair, #64748b);font-family:var(--font-principale)}.tutor-actions[data-v-2f0abf1a]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1.25rem}.tutor-header[data-v-2f0abf1a]{padding:2rem}.tutor-header-top[data-v-2f0abf1a]{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.2rem;flex-wrap:wrap}.tutor-avatar[data-v-2f0abf1a]{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--couleur-primaire);flex-shrink:0}.tutor-avatar-placeholder[data-v-2f0abf1a]{width:80px;height:80px;border-radius:50%;background-color:var(--couleur-primaire);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;font-family:var(--font-principale);flex-shrink:0}.tutor-info[data-v-2f0abf1a]{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6}.detailed-bio[data-v-2f0abf1a]{margin:.5rem 0;white-space:pre-line;color:var(--couleur-texte-clair, #64748b);font-size:1rem;line-height:1.7}.languages-row[data-v-2f0abf1a]{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.lang-tag[data-v-2f0abf1a]{padding:.2rem .7rem;border:1.5px solid var(--couleur-primaire, #4361ee);border-radius:999px;font-size:.85rem;color:var(--couleur-primaire, #4361ee);font-weight:600}.grid-container[data-v-2f0abf1a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}.offer-card[data-v-2f0abf1a]{padding:1.2rem 1.5rem;border:2px solid var(--couleur-bordure, #cbd5e1);transition:border-color .2s,box-shadow .2s;position:relative}.offer-card[data-v-2f0abf1a]:hover{border-color:var(--couleur-primaire)}.offer-card.offer-selected[data-v-2f0abf1a]{border-color:var(--couleur-primaire);box-shadow:0 0 0 3px color-mix(in srgb,var(--couleur-primaire) 20%,transparent)}.offer-card-title[data-v-2f0abf1a]{font-weight:700;font-size:1rem;margin-bottom:.3rem;font-family:var(--font-principale)}.offer-card-price[data-v-2f0abf1a]{font-size:.9rem;color:var(--couleur-texte-clair, #64748b)}.offer-selected-badge[data-v-2f0abf1a]{margin-top:.6rem;font-size:.8rem;font-weight:700;color:var(--couleur-primaire)}.offer-required-hint[data-v-2f0abf1a]{margin-top:1rem;font-style:italic}.rating-summary[data-v-2f0abf1a]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-family:var(--font-principale)}.stars-display[data-v-2f0abf1a]{color:#f59e0b;font-size:1.2rem;letter-spacing:2px}.rating-value[data-v-2f0abf1a]{font-weight:700;font-size:1.1rem}.rating-count[data-v-2f0abf1a]{color:var(--couleur-texte-clair, #64748b);font-size:.95rem}.no-rating[data-v-2f0abf1a]{color:var(--couleur-texte-clair, #64748b);font-style:italic;font-size:.95rem}.fav-tutor-btn[data-v-2f0abf1a]{padding:.6rem 1.2rem;border:2px solid var(--couleur-primaire);border-radius:6px;background:none;cursor:pointer;font-family:var(--font-principale);font-weight:600;font-size:.95rem;color:var(--couleur-primaire);transition:background-color .2s,color .2s}.fav-tutor-btn[data-v-2f0abf1a]:hover{background-color:var(--couleur-primaire);color:#fff}.reviews-section[data-v-2f0abf1a]{margin-top:2.5rem}.no-reviews[data-v-2f0abf1a]{color:var(--couleur-texte-clair, #64748b);font-style:italic}.reviews-list[data-v-2f0abf1a]{display:flex;flex-direction:column;gap:1rem}.review-card[data-v-2f0abf1a]{padding:1.2rem 1.5rem}.review-header[data-v-2f0abf1a]{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.review-stars[data-v-2f0abf1a]{color:#f59e0b;font-size:1.1rem;letter-spacing:2px}.review-meta[data-v-2f0abf1a]{color:var(--couleur-texte-clair, #64748b);font-size:.88rem;font-family:var(--font-principale)}.review-comment[data-v-2f0abf1a]{margin:0;line-height:1.5;font-size:.95rem}.section-heading[data-v-2f0abf1a]{margin-top:2rem;margin-bottom:1rem;font-family:var(--font-principale);font-size:1.4rem;color:var(--couleur-texte)}.slots-section[data-v-2f0abf1a]{margin-top:2rem}.slots-empty[data-v-2f0abf1a]{color:var(--couleur-texte-clair, #64748b);font-style:italic}.slots-grid[data-v-2f0abf1a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.slot-card[data-v-2f0abf1a]{border:2px solid var(--couleur-bordure, #cbd5e1);border-radius:8px;padding:1rem;cursor:pointer;transition:border-color .2s,background-color .2s;font-family:var(--font-principale);background-color:var(--couleur-fond-carte, #fff)}.slot-card[data-v-2f0abf1a]:hover{border-color:var(--couleur-primaire);background-color:#f0f4ff;transform:none;opacity:1}.slot-card.selected[data-v-2f0abf1a]{border-color:var(--couleur-primaire);background-color:#e8edff}.slot-card-date[data-v-2f0abf1a]{font-weight:700;font-size:.9rem;margin-bottom:.2rem}.slot-card-time[data-v-2f0abf1a]{font-size:1rem;font-weight:600;color:var(--couleur-primaire)}.slot-card-note[data-v-2f0abf1a]{font-size:.8rem;color:var(--couleur-texte-clair, #64748b);font-style:italic}.book-confirm[data-v-2f0abf1a]{background-color:var(--couleur-fond, #f8fafc);border:2px solid var(--couleur-primaire);border-radius:8px;padding:1.2rem 1.5rem;margin-bottom:1rem;font-family:var(--font-principale)}.book-confirm p[data-v-2f0abf1a]{margin:0 0 1rem;font-size:1rem}.book-actions[data-v-2f0abf1a]{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.auth-button[data-v-2f0abf1a]{background-color:var(--couleur-primaire);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:6px;font-family:var(--font-principale);font-weight:600;cursor:pointer}.auth-button[data-v-2f0abf1a]:disabled{opacity:.6;cursor:not-allowed}.cancel-btn[data-v-2f0abf1a]{background:none;border:1px solid var(--couleur-texte-clair, #64748b);color:var(--couleur-texte-clair, #64748b);padding:.65rem 1rem;border-radius:6px;cursor:pointer;font-family:var(--font-principale);font-weight:600}.cancel-btn[data-v-2f0abf1a]:hover{border-color:var(--couleur-texte);color:var(--couleur-texte);opacity:1;transform:none}.book-error[data-v-2f0abf1a]{color:#dc2626;font-size:.9rem;margin:.5rem 0 0}.book-success[data-v-2f0abf1a]{color:#16a34a;font-size:.9rem;margin:.5rem 0 0;font-weight:600}@media(max-width:1000px){.tutor-layout[data-v-2f0abf1a]{grid-template-columns:1fr}.tutor-header[data-v-2f0abf1a]{position:static}.tutor-main>.section-heading[data-v-2f0abf1a]:first-child{margin-top:2rem}}@media(max-width:600px){.app-content[data-v-2f0abf1a]{padding:1rem}.page-title[data-v-2f0abf1a]{font-size:1.4rem}.tutor-header[data-v-2f0abf1a]{padding:1.2rem}.grid-container[data-v-2f0abf1a]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.review-card[data-v-2f0abf1a]{padding:1rem}}.app-content[data-v-b91e9aac]{padding:2rem;max-width:800px;margin:0 auto;box-sizing:border-box;width:100%}.page-title[data-v-b91e9aac]{font-size:2rem;margin-bottom:1.5rem;font-family:var(--font-principale);color:var(--couleur-texte)}.cards-list[data-v-b91e9aac]{display:flex;flex-direction:column;gap:.8rem}.empty-tab[data-v-b91e9aac]{text-align:center;padding:3rem 0;color:var(--couleur-texte-clair, #64748b)}.empty-icon[data-v-b91e9aac]{font-size:2rem;display:block;margin-bottom:.6rem}.empty-title[data-v-b91e9aac]{font-weight:700;font-size:.95rem;color:var(--couleur-texte);margin:0 0 .25rem}.empty-desc[data-v-b91e9aac]{font-size:.85rem;margin:0}.session-card[data-v-b91e9aac]{background-color:var(--couleur-fond-carte, #ffffff);border:2px solid var(--couleur-texte);border-radius:8px;padding:1rem;font-family:var(--font-principale)}.card-header[data-v-b91e9aac]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.card-title[data-v-b91e9aac]{font-weight:600;font-size:.95rem}.card-meta[data-v-b91e9aac]{font-size:.85rem;color:var(--couleur-texte-clair, #64748b);margin:0 0 .2rem}.status-badge[data-v-b91e9aac]{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700}.badge-pending[data-v-b91e9aac]{background-color:#fef3c7;color:#92400e}.badge-confirmed[data-v-b91e9aac]{background-color:#d1fae5;color:#065f46}.badge-completed[data-v-b91e9aac]{background-color:#dbeafe;color:#1e40af}.badge-cancelled[data-v-b91e9aac]{background-color:#fee2e2;color:#991b1b}.already-reviewed[data-v-b91e9aac]{display:flex;align-items:center;gap:.4rem;color:#16a34a;font-weight:600;margin-top:.8rem;font-size:.9rem;animation:pop-in-b91e9aac .3s ease}@keyframes pop-in-b91e9aac{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.session-actions[data-v-b91e9aac]{margin-top:.8rem}.confirm-complete[data-v-b91e9aac]{display:flex;flex-direction:column;gap:.5rem}.confirm-label[data-v-b91e9aac]{font-size:.85rem;font-weight:600;font-family:var(--font-principale)}.confirm-btns[data-v-b91e9aac]{display:flex;gap:.5rem;flex-wrap:wrap}.cancel-btn[data-v-b91e9aac]{background:none;border:1px solid var(--couleur-texte-clair, #64748b);color:var(--couleur-texte-clair, #64748b);padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-family:var(--font-principale);font-weight:600;font-size:.85rem}.complete-btn[data-v-b91e9aac]{width:100%;padding:.4rem;border:2px solid #10b981;background:transparent;color:#10b981;border-radius:4px;cursor:pointer;font-family:var(--font-principale);font-weight:600;font-size:.85rem;transition:background-color .15s,color .15s}.complete-btn[data-v-b91e9aac]:hover{background-color:#10b981;color:#fff;opacity:1;transform:none}.complete-btn[data-v-b91e9aac]:disabled{opacity:.6;cursor:not-allowed}.review-btn[data-v-b91e9aac]{margin-top:.8rem;width:100%;padding:.4rem;border:2px solid var(--couleur-texte);background:transparent;color:var(--couleur-texte);border-radius:4px;cursor:pointer;font-family:var(--font-principale);font-weight:600;font-size:.85rem}.review-btn[data-v-b91e9aac]:hover{background-color:var(--couleur-texte);color:#fff;opacity:1;transform:none}.review-form[data-v-b91e9aac]{margin-top:.8rem;border-top:1px solid #e2e8f0;padding-top:.8rem}.form-label[data-v-b91e9aac]{font-weight:600;font-size:.85rem;margin:0 0 .4rem}.stars[data-v-b91e9aac]{display:flex;gap:.2rem;font-size:1.6rem;margin-bottom:.8rem;cursor:pointer}.star[data-v-b91e9aac]{color:#d1d5db;transition:color .1s;-webkit-user-select:none;user-select:none}.star.filled[data-v-b91e9aac]{color:#f59e0b}.review-textarea[data-v-b91e9aac]{width:100%;resize:vertical;margin-bottom:.8rem;box-sizing:border-box;font-size:.85rem}.form-actions[data-v-b91e9aac]{display:flex;gap:.5rem;align-items:center}.auth-button[data-v-b91e9aac]{background-color:var(--couleur-primaire);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:6px;font-family:var(--font-principale);font-weight:600;cursor:pointer}.auth-button[data-v-b91e9aac]:disabled{opacity:.6;cursor:not-allowed}.submit-btn[data-v-b91e9aac]{padding:.35rem 1rem;font-size:.85rem}.cancel-btn[data-v-b91e9aac]{background:none;border:1px solid var(--couleur-texte-clair, #64748b);color:var(--couleur-texte-clair, #64748b);padding:.35rem .8rem;border-radius:4px;cursor:pointer;font-family:var(--font-principale);font-weight:600;font-size:.85rem}.cancel-btn[data-v-b91e9aac]:hover{border-color:var(--couleur-texte);color:var(--couleur-texte);opacity:1;transform:none}.error-msg[data-v-b91e9aac]{color:#ef4444;margin-top:.5rem;font-size:.8rem}@media(max-width:600px){.app-content[data-v-b91e9aac]{padding:1rem}.page-title[data-v-b91e9aac]{font-size:1.5rem;margin-bottom:1rem}}.app-content[data-v-5ae49f6a]{padding:2rem;max-width:800px;margin:0 auto;box-sizing:border-box}.page-title[data-v-5ae49f6a]{font-size:2rem;font-family:var(--font-principale);color:var(--couleur-texte);margin-bottom:1.5rem}.empty-block[data-v-5ae49f6a]{text-align:center;padding:3.5rem 1rem;color:var(--couleur-texte-clair, #64748b)}.empty-icon[data-v-5ae49f6a]{font-size:2.5rem;display:block;margin-bottom:.75rem}.empty-title[data-v-5ae49f6a]{font-weight:700;font-size:1rem;color:var(--couleur-texte);margin:0 0 .35rem}.empty-desc[data-v-5ae49f6a]{font-size:.88rem;margin:0}.doc-list[data-v-5ae49f6a]{display:flex;flex-direction:column;gap:.8rem}.doc-card[data-v-5ae49f6a]{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:2px solid var(--couleur-texte);border-radius:8px;background-color:var(--couleur-fond-carte, #fff);flex-wrap:wrap}.doc-icon[data-v-5ae49f6a]{font-size:2rem;flex-shrink:0}.doc-info[data-v-5ae49f6a]{flex:1;min-width:0}.doc-title[data-v-5ae49f6a]{font-family:var(--font-principale);font-weight:600;font-size:.95rem;margin:0 0 .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta[data-v-5ae49f6a]{font-size:.8rem;color:var(--couleur-texte-clair, #64748b);margin:0 0 .15rem}.doc-shared-by[data-v-5ae49f6a]{font-size:.82rem;color:var(--couleur-texte-clair, #64748b);margin:0}.doc-shared-by strong[data-v-5ae49f6a]{color:var(--couleur-texte)}.doc-grant-date[data-v-5ae49f6a]{font-style:italic}.download-btn[data-v-5ae49f6a]{padding:.5rem 1rem;font-size:.85rem;flex-shrink:0}.auth-button[data-v-5ae49f6a]{background-color:var(--couleur-primaire);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:6px;font-family:var(--font-principale);font-weight:600;cursor:pointer}.auth-button[data-v-5ae49f6a]:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.app-content[data-v-5ae49f6a]{padding:1rem}.doc-card[data-v-5ae49f6a]{flex-direction:column;align-items:flex-start}.download-btn[data-v-5ae49f6a]{width:100%;text-align:center}}
