:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;padding:1rem 0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{max-width:1000px;margin:0 auto;padding:1.5rem}.contenu-principal{display:flex;gap:1.5rem;align-items:flex-start}.bloc-afaire-side{order:2;flex-shrink:0;width:280px;background:var(--card-bg, #2a2a2a);border-radius:12px;padding:1rem}.bloc-afaire-side h2{font-size:1.1rem;margin:0 0 .75rem;font-weight:600}.liste-afaire-side{list-style:none;margin:0 0 1rem;padding:0}.liste-afaire-side li{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem;padding:.5rem 0;border-bottom:1px solid #333}.liste-afaire-side li.afaire-item{cursor:grab}.liste-afaire-side li.afaire-item:active{cursor:grabbing}.liste-afaire-side li.afaire-dragging{opacity:.55}.liste-afaire-side li:last-child{border-bottom:none}.edit-afaire-block{display:flex;flex-direction:column;gap:.75rem;width:100%}.terminer-afaire{padding-top:.5rem;border-top:1px solid #444}.terminer-label{display:block;font-size:.8rem;color:#888;margin-bottom:.35rem}.terminer-champs{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.terminer-champs input[type=date],.terminer-champs select{padding:.35rem .5rem;border:1px solid #555;border-radius:6px;font-size:.85rem;background:var(--input-bg, #1a1a1a);color:inherit}.btn-terminer{padding:.35rem .6rem;font-size:.85rem;background:#2d5a2d;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-terminer:hover{background:#3d7a3d}.date-afaire-side{flex:0 0 100%;font-size:.75rem;color:#888}.liste-afaire-side .texte{flex:1;min-width:0}.liste-afaire-side .actions{display:flex;gap:.25rem}.liste-afaire-side .edit,.liste-afaire-side .suppr{flex-shrink:0;width:26px;height:26px;padding:0;font-size:.9rem;line-height:1;background:transparent;border:1px solid #555;border-radius:6px;cursor:pointer;color:#999}.liste-afaire-side .edit:hover{background:#2a3a4a;color:#7ba3c9}.liste-afaire-side .suppr:hover{background:#4a2a2a;color:#e66}.bouton-ajouter-afaire-side{width:100%;padding:.5rem .75rem;font-size:.9rem;background:#646cff;color:#fff;border:none;border-radius:8px;cursor:pointer}.bouton-ajouter-afaire-side:hover{background:#535bf2}.bloc-afaire-side .vide-periode{margin:0 0 .75rem;font-size:.85rem;color:#666;font-style:italic}.header-app{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-app h1{font-size:1.5rem;margin:0}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.login-card{max-width:420px;margin:3rem auto;padding:1.25rem;background:var(--card-bg, #2a2a2a);border-radius:12px;border:1px solid #444}.login-card h1{margin:0 0 .5rem;font-size:1.4rem}.login-sub{margin:0 0 1rem;color:#888}.login-card label{display:block;margin-bottom:.75rem;font-size:.9rem;font-weight:500}.login-card input{width:100%;margin-top:.35rem;padding:.5rem .6rem;border:1px solid #555;border-radius:6px;font-size:1rem;background:var(--input-bg, #1a1a1a);color:inherit;box-sizing:border-box}.login-actions{display:flex;gap:.5rem;margin-top:.75rem}.login-actions button{flex:1;padding:.55rem .8rem;border:1px solid #646cff;background:transparent;color:inherit;border-radius:8px;cursor:pointer}.login-actions button:hover{background:#646cff;color:#fff}.login-error{margin:.5rem 0 0;color:#e66}.bouton-logout{padding:.5rem .8rem;border:1px solid #555;background:transparent;border-radius:8px;cursor:pointer;color:inherit}.bouton-logout:hover{background:#646cff;border-color:#646cff;color:#fff}.recherche-input{padding:.4rem .6rem;border:1px solid #555;border-radius:6px;font-size:.9rem;min-width:200px;background:var(--input-bg, #1a1a1a);color:inherit}.recherche-resultats{margin-bottom:1rem;padding:1rem;background:var(--card-bg, #2a2a2a);border-radius:10px}.recherche-resultats h2{font-size:1rem;margin:0 0 .5rem}.vide-recherche{color:#888;font-style:italic;margin:0}.liste-recherche{list-style:none;margin:0;padding:0}.liste-recherche li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid #333}.date-recherche{font-size:.85rem;color:#888;min-width:180px}.periode-recherche{font-size:.8rem;color:#aaa;width:70px}.texte-recherche{flex:1;min-width:0}.lien-jour{font-size:.8rem;padding:.2rem .5rem;background:#646cff;color:#fff;border:none;border-radius:4px;cursor:pointer}.lien-jour:hover{background:#535bf2}.bouton-ajouter{flex-shrink:0}.calendrier-section{order:1;flex:1;min-width:0;background:var(--card-bg, #2a2a2a);border-radius:12px;padding:1rem;margin-bottom:1rem}.calendrier-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem}.calendrier-nav h2{font-size:1.15rem;margin:0;font-weight:600}.calendrier-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.vue-toggle{display:flex;gap:0}.vue-toggle button{padding:.35rem .75rem;font-size:.85rem;border:1px solid #555;background:transparent;color:inherit;cursor:pointer}.vue-toggle button:first-child{border-radius:6px 0 0 6px}.vue-toggle button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.vue-toggle button.active{background:#646cff;color:#fff;border-color:#646cff}.export-buttons{display:flex;gap:.5rem}.btn-export{padding:.35rem .6rem;font-size:.8rem;border:1px solid #555;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.btn-export:hover{background:#646cff;border-color:#646cff;color:#fff}.nav-btn{width:36px;height:36px;padding:0;font-size:1.5rem;line-height:1;border:1px solid #555;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.nav-btn:hover:not(:disabled){background:#3a3a3a}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.calendrier-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-jour-header{text-align:center;font-size:.75rem;font-weight:600;color:#888;padding:.35rem 0}.cal-cell{width:52px;height:52px;min-width:0;justify-self:center;align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #444;border-radius:8px;background:var(--cal-cell-bg, #1e1e1e);color:inherit;cursor:pointer;font-size:.9rem;position:relative}.cal-cell:disabled,.cal-cell-weekend{cursor:default;pointer-events:none;background:var(--cal-cell-weekend-bg, #1a1a1a);color:#555;border-color:#333;opacity:.7}.cal-cell:hover{background:#333;border-color:#646cff}.cal-cell-vide{background:transparent;border-color:transparent;cursor:default;width:52px;height:52px}.cal-cell-vide:hover{background:transparent;border-color:transparent}.cal-cell-weekend:hover{background:var(--cal-cell-weekend-bg, #1a1a1a);border-color:#333}.cal-cell-avec-taches{border-color:#646cff;background:var(--cal-cell-bg-taches, #2a2a3a)}.cal-cell-jour-rempli{border-color:#2d7a2d;box-shadow:inset 0 0 0 2px #2d7a2d66}.vue-liste h3{font-size:1rem;margin:0 0 1rem}.vide-liste{color:#888;font-style:italic;margin:0}.liste-par-jours{display:flex;flex-direction:column;gap:1rem}.bloc-jour-liste{padding:1rem;background:var(--card-bg-inner, #222);border-radius:8px;border:1px solid #444}.bloc-jour-liste-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;background:transparent;border:none;color:inherit;cursor:pointer}.bloc-jour-liste-header span:first-child{font-size:.95rem;margin:0 0 .5rem;text-transform:capitalize;color:#aaa}.bloc-jour-liste .chevron{font-size:.85rem}.bloc-jour-liste h5{font-size:.8rem;margin:.5rem 0 .25rem;color:#888}.bloc-jour-liste ul{list-style:none;margin:0;padding:0}.bloc-jour-liste li{padding:.2rem 0;font-size:.9rem}.lien-voir-jour{margin-top:.5rem;padding:.3rem .6rem;font-size:.85rem;background:#646cff;color:#fff;border:none;border-radius:6px;cursor:pointer}.lien-voir-jour:hover{background:#535bf2}.modal-note-jour{margin-top:1rem;padding-top:1rem;border-top:1px solid #444}.modal-note-jour .label-note{display:block;font-size:.85rem;font-weight:600;color:#888;margin-bottom:.35rem}.modal-note-jour textarea{width:100%;padding:.5rem;border:1px solid #555;border-radius:6px;font-size:.9rem;font-family:inherit;background:var(--input-bg, #1a1a1a);color:inherit;resize:vertical;box-sizing:border-box}.bouton-sauver-note{margin-top:.5rem;padding:.35rem .75rem;font-size:.85rem;background:#555;color:#fff;border:none;border-radius:6px;cursor:pointer}.bouton-sauver-note:hover{background:#666}.cal-jour-num{font-weight:500}.cal-point{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:#646cff}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--card-bg, #2a2a2a);border-radius:12px;max-width:480px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.modal-form-ajout{max-width:520px;min-width:0;overflow-x:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #444}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;text-transform:capitalize}.modal-fermer{width:32px;height:32px;padding:0;font-size:1.5rem;line-height:1;border:none;border-radius:6px;background:transparent;color:#999;cursor:pointer}.modal-fermer:hover{background:#3a3a3a;color:#fff}.modal-body{padding:1rem 1.25rem;overflow-y:auto;overflow-x:hidden;min-width:0}.modal-ajout{margin-top:1rem;padding-top:1rem;border-top:1px solid #444}.bouton-ajouter-jour{width:100%;padding:.6rem 1rem;background:#646cff;color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer}.bouton-ajouter-jour:hover{background:#535bf2}header{margin-bottom:1.5rem}header h1{font-size:1.75rem;margin:0}.form-ajout{background:var(--card-bg, #2a2a2a);padding:1.25rem;border-radius:10px;margin-bottom:2rem}.modal-form-ajout .form-ajout{background:transparent;padding:0;margin-bottom:0;min-width:0}.modal-form-ajout .form-ajout input,.modal-form-ajout .form-ajout select{max-width:100%;box-sizing:border-box}.modal-form-ajout .form-ajout .champs{min-width:0}.form-ajout label{display:block;margin-bottom:.75rem;font-size:.9rem;font-weight:500}.form-ajout .champs{display:flex;gap:1rem;flex-wrap:wrap}.form-ajout .champs label{flex:1;min-width:120px}.form-ajout input[type=date],.form-ajout input[type=text],.form-ajout select{width:100%;margin-top:.35rem;padding:.5rem .6rem;border:1px solid #444;border-radius:6px;font-size:1rem;background:var(--input-bg, #1a1a1a);color:inherit}.form-ajout input::placeholder{color:#888}.bouton-ajouter{padding:.5rem 1rem;background:#646cff;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer}.bouton-ajouter:hover{background:#535bf2}.form-actions{display:flex;gap:.5rem;margin-top:.75rem}.form-ajout button[type=submit]{padding:.5rem 1rem;background:#646cff;color:#fff;border:none;border-radius:6px;cursor:pointer}.form-ajout button[type=submit]:hover{background:#535bf2}.form-ajout .form-actions button[type=button]{padding:.5rem 1rem;background:transparent;color:inherit;border:1px solid #555}.form-ajout .form-actions button[type=button]:hover{background:#646cff;border-color:#646cff;color:#fff}.liste h2{font-size:1.2rem;margin-bottom:1rem}.liste .vide{color:#888;font-style:italic}.par-date{display:flex;flex-direction:column;gap:1.5rem}.bloc-jour{background:var(--card-bg, #2a2a2a);border-radius:10px;padding:1rem 1.25rem}.bloc-jour h3{font-size:1rem;margin:0 0 1rem;text-transform:capitalize;color:#aaa}.blocs-periode{display:flex;flex-direction:column;gap:1rem}.bloc-periode h4{font-size:.85rem;margin:0 0 .5rem;font-weight:600;color:#888}.bloc-afaire h4{color:#9a9}.bouton-ajouter-afaire{margin-top:.35rem;padding:.3rem .5rem;font-size:.8rem;background:transparent;color:#646cff;border:1px dashed #555;border-radius:6px;cursor:pointer}.bouton-ajouter-afaire:hover{background:#2a2a3a;border-color:#646cff}.ligne-ajout-afaire{margin-top:.35rem}.bloc-periode ul{list-style:none;margin:0;padding:0}.bloc-periode li{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid #333}.bloc-periode li:last-child{border-bottom:none}.bloc-periode li.vide-periode{color:#666;font-style:italic;font-size:.9rem}.bloc-periode .texte{flex:1}.bloc-periode .actions{display:flex;gap:.25rem}.bloc-periode .edit,.bloc-periode .suppr{flex-shrink:0;width:28px;height:28px;padding:0;font-size:1rem;line-height:1;background:transparent;border:1px solid #555;border-radius:6px;cursor:pointer;color:#999}.bloc-periode .edit:hover{background:#2a3a4a;color:#7ba3c9;border-color:#555}.bloc-periode .suppr:hover{background:#4a2a2a;color:#e66;border-color:#666}.ligne-confirm-suppr{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;padding:.25rem 0}.texte-confirm{flex:1;min-width:180px;font-size:.9rem;color:#ccc}.actions-confirm{display:flex;gap:.5rem}.btn-oui{padding:.35rem .75rem;font-size:.85rem;background:#c44;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-oui:hover{background:#a33}.btn-annuler{padding:.35rem .75rem;font-size:.85rem;background:transparent;color:inherit;border:1px solid #555;border-radius:6px;cursor:pointer}.btn-annuler:hover{background:#333}.ligne-edit{display:flex;align-items:center;gap:.5rem;width:100%}.ligne-edit input{flex:1;padding:.4rem .5rem;border:1px solid #555;border-radius:6px;font-size:1rem;background:var(--input-bg, #1a1a1a);color:inherit}.ligne-edit button{width:28px;height:28px;padding:0;font-size:1rem;border:1px solid #555;border-radius:6px;cursor:pointer;background:transparent;color:#999}.ligne-edit button:first-of-type{color:#7ba3c9}.ligne-edit button:first-of-type:hover{background:#2a3a4a;color:#9bc4e8}.ligne-edit button:last-of-type:hover{background:#4a2a2a;color:#e66}@media(max-width:720px){.contenu-principal{flex-direction:column}.bloc-afaire-side{order:2;width:100%}}@media(prefers-color-scheme:light){.form-ajout,.bloc-jour,.calendrier-section,.modal,.bloc-afaire-side,.login-card{--card-bg: #f5f5f5}.form-ajout input,.form-ajout select{--input-bg: #fff}.cal-cell{--cal-cell-bg: #fff;--cal-cell-bg-taches: #e8ecff;border-color:#ddd}.cal-cell:hover{background:#eee;border-color:#646cff}.cal-cell-avec-taches{border-color:#646cff}.cal-cell-weekend{--cal-cell-weekend-bg: #e8e8e8;color:#999;border-color:#ddd}.cal-cell-weekend:hover{background:#e8e8e8;border-color:#ddd}.cal-jour-header{color:#555}.nav-btn{border-color:#ccc}.nav-btn:hover:not(:disabled){background:#e5e5e5}.bloc-jour h3,.bloc-periode h4{color:#555}.bloc-afaire h4{color:#2d5a2d}.bouton-ajouter-afaire{border-color:#aaa;color:#535bf2}.bouton-ajouter-afaire:hover{background:#e8ecff;border-color:#646cff}.bloc-periode li{border-color:#ddd}.bloc-periode li.vide-periode{color:#888}.bloc-periode .edit,.bloc-periode .suppr{border-color:#ccc;color:#666}.bloc-periode .edit:hover{background:#e0e8f0;color:#3d5a80}.bloc-periode .suppr:hover{background:#ffe0e0;color:#c00}.ligne-edit input{--input-bg: #fff;border-color:#ccc}.modal-header{border-color:#ddd}.modal-fermer{color:#666}.modal-fermer:hover{background:#e5e5e5;color:#333}.modal-ajout,.liste-afaire-side li,.terminer-afaire{border-color:#ddd}.terminer-champs input[type=date],.terminer-champs select{--input-bg: #fff;border-color:#ccc}.btn-terminer{background:#2d5a2d}.btn-terminer:hover{background:#3d7a3d}.date-afaire-side{color:#555}.liste-afaire-side .edit,.liste-afaire-side .suppr{border-color:#ccc;color:#666}.liste-afaire-side .edit:hover{background:#e0e8f0;color:#3d5a80}.liste-afaire-side .suppr:hover{background:#ffe0e0;color:#c00}.bloc-afaire-side .vide-periode{color:#888}.recherche-input{border-color:#ccc;--input-bg: #fff}.recherche-resultats{--card-bg: #f0f0f0}.liste-recherche li{border-color:#ddd}.cal-cell-jour-rempli{border-color:#2d7a2d;box-shadow:inset 0 0 0 2px #2d7a2d59}.bloc-jour-liste{--card-bg-inner: #eee;border-color:#ddd}.bloc-jour-liste h4{color:#555}.modal-note-jour{border-color:#ddd}.modal-note-jour textarea{border-color:#ccc;--input-bg: #fff}.btn-export:hover,.bouton-logout:hover,.form-ajout .form-actions button[type=button]:hover{background:#646cff;border-color:#646cff;color:#fff}.login-actions button:hover{background:#646cff;color:#fff}.texte-confirm{color:#555}.btn-annuler{border-color:#ccc}.btn-annuler:hover{background:#e5e5e5}}
