*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f7f4;--bg-card: #ffffff;--text: #1a2e1a;--text-muted: #5a6e5a;--border: #d0ddd0;--primary: #4a8a4c;--primary-hover: #3a7040;--primary-light: #b8d8a8;--danger: #EF4444;--sidebar-width: 260px;--radius: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}button{cursor:pointer;border:none;font:inherit}input{font:inherit}a{color:var(--primary)}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-form{background:var(--bg-card);padding:2rem;border-radius:var(--radius);box-shadow:0 2px 12px #00000014;width:100%;max-width:360px;display:flex;flex-direction:column;gap:1rem}.login-form h1{text-align:center;font-size:1.5rem}.login-form input{padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius)}.login-form button{padding:.6rem;background:var(--primary);color:#fff;border-radius:var(--radius);font-weight:600}.login-form button:hover{background:var(--primary-hover)}.error-message{color:var(--danger);text-align:center;font-size:.9rem}.dashboard{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem;position:fixed;top:0;left:0;bottom:0;overflow-y:auto}.sidebar-header h2{font-size:1.3rem;margin-bottom:1rem}.sidebar-nav{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}.sidebar-btn{padding:.5rem .8rem;background:var(--bg);border-radius:var(--radius);text-align:left;font-size:.9rem}.sidebar-btn:hover{background:var(--primary);color:#fff}.sidebar-section{margin-bottom:1.5rem}.sidebar-section h3{font-size:.85rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}.sidebar-add-btn{background:none;font-size:1.1rem;color:var(--primary);padding:0 .3rem}.sidebar-list{list-style:none}.sidebar-list li{padding:.4rem .6rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.sidebar-list li:hover{background:var(--bg)}.sidebar-list li.active{background:var(--primary);color:#fff}.tag-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tag-form{display:flex;gap:.3rem;margin-bottom:.5rem}.tag-form input[type=text]{flex:1;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.tag-form input[type=color]{width:32px;height:32px;padding:0;border:none;cursor:pointer}.tag-form button{padding:.3rem .6rem;background:var(--primary);color:#fff;border-radius:var(--radius);font-size:.85rem}.sidebar-fiche-type{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sidebar-fiche-type[data-type=journal]{background:var(--primary)}.sidebar-fiche-type[data-type=thematique]{background:#f59e0b}.sidebar-fiche-titre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{margin-top:auto}.pwd-form{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0}.pwd-form input{padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.pwd-form button{padding:.3rem .6rem;background:var(--primary);color:#fff;border-radius:var(--radius);font-size:.85rem;cursor:pointer}.pwd-msg{font-size:.8rem;color:var(--primary)}.logout-btn{color:var(--danger);background:none}.main-content{margin-left:var(--sidebar-width);flex:1;padding:1.5rem;max-width:900px}.search-bar{display:flex;gap:.5rem;margin-bottom:1.5rem}.search-bar input{flex:1;padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius)}.search-bar button{padding:.6rem 1rem;background:var(--primary);color:#fff;border-radius:var(--radius)}.recent-fiches{margin-top:1.5rem}.recent-fiches h3{font-size:1rem;margin-bottom:.8rem;color:var(--text-muted);text-transform:uppercase;font-size:.85rem}.calendrier{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 4px #0000000f}.calendrier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendrier-header button{background:var(--bg);padding:.4rem .8rem;border-radius:var(--radius);font-size:1.1rem}.calendrier-header h2{font-size:1.2rem}.calendrier-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendrier-jour-nom{text-align:center;font-size:.8rem;font-weight:600;color:var(--text-muted);padding:.5rem 0}.calendrier-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius);cursor:pointer;position:relative;font-size:.95rem}.calendrier-cell:hover:not(.empty){background:var(--bg)}.calendrier-cell.today{background:var(--primary);color:#fff}.calendrier-cell.today:hover{background:var(--primary-hover)}.calendrier-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);position:absolute;bottom:4px}.calendrier-cell.today .calendrier-dot{background:#fff}.fiche-editor{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 4px #0000000f}.fiche-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.fiche-editor-actions{display:flex;align-items:center;gap:.8rem}.save-info{font-size:.8rem;color:var(--text-muted)}.btn-back{background:none;color:var(--primary);font-size:.9rem}.btn-save{padding:.5rem 1.2rem;background:var(--primary);color:#fff;border-radius:var(--radius);font-weight:600}.btn-save:hover{background:var(--primary-hover)}.btn-save:disabled{opacity:.6}.btn-cancel{padding:.5rem 1.2rem;background:var(--bg);color:var(--text-muted);border-radius:var(--radius)}.btn-cancel:hover{background:var(--border);color:var(--text)}.fiche-archive-section{text-align:right}.btn-archive-link{background:none;color:var(--text-muted);font-size:.8rem;text-decoration:underline;padding:0}.btn-archive-link:hover{color:var(--danger)}.fiche-titre-input{width:100%;padding:.6rem 0;border:none;border-bottom:2px solid var(--border);font-size:1.4rem;font-weight:600;margin-bottom:1rem;outline:none}.fiche-titre-input:focus{border-bottom-color:var(--primary)}.editor-toolbar{display:flex;gap:.3rem;padding:.5rem 0;border-bottom:1px solid var(--border);margin-bottom:.5rem}.editor-toolbar button{padding:.3rem .6rem;background:var(--bg);border-radius:4px;font-size:.85rem}.editor-toolbar button.active{background:var(--primary);color:#fff}.fiche-contenu-editor .tiptap{min-height:200px;padding:.8rem 0;outline:none}.fiche-contenu-editor .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}.fiche-contenu-editor .tiptap h2{font-size:1.3rem;margin:1rem 0 .5rem}.fiche-contenu-editor .tiptap h3{font-size:1.1rem;margin:.8rem 0 .4rem}.fiche-contenu-editor .tiptap ul,.fiche-contenu-editor .tiptap ol{padding-left:1.5rem;margin:.5rem 0}.fiche-contenu-editor .tiptap a{color:var(--primary);text-decoration:underline}.fiche-contenu-editor .tiptap img{max-width:100%;height:auto;border-radius:4px}.fiche-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.fiche-section h4{font-size:.85rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.tags-selector{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip{padding:.25rem .7rem;border:2px solid;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .15s}.tag-chip.small{padding:.15rem .5rem;font-size:.75rem;border-width:1px}.projets-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.projet-chip{padding:.25rem .7rem;background:var(--bg);border-radius:20px;font-size:.85rem;display:flex;align-items:center;gap:.3rem}.projet-chip.small{padding:.15rem .5rem;font-size:.75rem}.projet-chip button{background:none;font-size:1rem;color:var(--text-muted);padding:0;line-height:1}.add-row{display:flex;gap:.3rem}.add-row input{flex:1;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.add-row button{padding:.4rem .8rem;background:var(--primary);color:#fff;border-radius:var(--radius)}.liens-list{list-style:none;margin-bottom:.5rem}.liens-list li{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.9rem}.liens-list li a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.liens-list li button{background:none;color:var(--danger);font-size:1.1rem;padding:0}.fiche-list-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.fiche-cards{list-style:none;display:flex;flex-direction:column;gap:.8rem}.fiche-card{background:var(--bg-card);border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:0 1px 4px #0000000f;cursor:pointer;transition:box-shadow .15s}.fiche-card:hover{box-shadow:0 2px 8px #0000001f}.fiche-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.fiche-type-badge{font-size:.7rem;text-transform:uppercase;padding:.15rem .5rem;border-radius:4px;font-weight:600}.fiche-type-badge.journal{background:#dbeafe;color:#1e40af}.fiche-type-badge.thematique{background:#fef3c7;color:#92400e}.fiche-date{font-size:.8rem;color:var(--text-muted)}.fiche-card h3{font-size:1rem;margin-bottom:.4rem}.fiche-card-footer{display:flex;flex-wrap:wrap;gap:.3rem}.loading,.empty{text-align:center;color:var(--text-muted);padding:2rem}.fiches-liees-group{margin-bottom:.8rem}.fiches-liees-label{font-size:.8rem;color:var(--text-muted);font-style:italic}.fiches-liees-list{list-style:none;margin:.3rem 0 0}.fiches-liees-list li{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.9rem}.fiches-liees-link{color:var(--primary);cursor:pointer;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fiches-liees-link:hover{text-decoration:underline}.fiches-liees-list li button{background:none;color:var(--danger);font-size:1.1rem;padding:0}.fiches-liees-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-add-fiche-lien{padding:.4rem .8rem;background:var(--bg);border-radius:var(--radius);font-size:.85rem;color:var(--primary)}.btn-add-fiche-lien:hover{background:var(--primary);color:#fff}.btn-cartographie{padding:.4rem .8rem;background:var(--bg);border-radius:var(--radius);font-size:.85rem;color:var(--text)}.btn-cartographie:hover{background:var(--primary);color:#fff}.fiche-lien-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.fiche-lien-modal{background:var(--bg-card);border-radius:var(--radius);width:100%;max-width:500px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.fiche-lien-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.fiche-lien-modal-header h3{font-size:1rem;margin:0}.fiche-lien-modal-close{background:none;font-size:1.4rem;color:var(--text-muted);padding:0;line-height:1}.fiche-lien-modal-search{margin:.8rem 1.2rem;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.fiche-lien-modal-results{flex:1;overflow-y:auto;padding:0 .5rem .8rem}.fiche-lien-modal-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem}.fiche-lien-modal-item:hover{background:var(--bg)}.fiche-lien-modal-titre{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fiche-lien-modal-date{font-size:.8rem;color:var(--text-muted);flex-shrink:0}.cartographie-overlay{position:fixed;inset:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center}.cartographie-close{position:absolute;top:1rem;right:1.5rem;background:var(--bg-card);border-radius:50%;width:36px;height:36px;font-size:1.4rem;display:flex;align-items:center;justify-content:center;z-index:1001;box-shadow:0 2px 8px #0003;color:var(--text)}.cartographie-close:hover{background:var(--danger);color:#fff}.cartographie-svg{width:100%;height:100%;cursor:grab}.cartographie-svg:active{cursor:grabbing}.cartographie-node{cursor:default}.cartographie-handle{cursor:grab}.cartographie-handle:active{cursor:grabbing}.cartographie-click-zone{cursor:pointer}.cartographie-node:hover>rect:first-child{stroke-width:2;filter:brightness(.97)}@media(max-width:768px){.sidebar{position:fixed;width:100%;height:auto;bottom:0;top:auto;left:0;flex-direction:row;padding:.5rem;gap:.3rem;overflow-x:auto;border-right:none;border-top:1px solid var(--border);z-index:100}.sidebar-header,.sidebar-section,.sidebar-footer{display:none}.sidebar-nav{flex-direction:row;margin-bottom:0;gap:.3rem}.sidebar-btn{white-space:nowrap;font-size:.8rem;padding:.4rem .6rem}.main-content{margin-left:0;padding:1rem 1rem 4rem}.calendrier-cell{aspect-ratio:auto;padding:.3rem;min-height:36px}.fiche-editor-header{flex-direction:column;gap:.5rem;align-items:flex-start}.courses-page h2,.courses-page .courses-title-editable{font-size:1.1rem;margin-bottom:.3rem}.courses-page .courses-toolbar{gap:.25rem;margin-bottom:.5rem}.courses-page .courses-toolbar .btn-save,.courses-page .courses-toolbar .btn-cancel{padding:.3rem .5rem;font-size:.75rem}.courses-page .add-article-form{flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}.courses-page .add-article-input-wrapper{flex:1 1 100%}.courses-page .add-article-input-wrapper input{padding:.35rem .6rem;font-size:.85rem}.courses-page .add-article-quantite{width:45px;padding:.35rem .3rem;font-size:.8rem}.courses-page .add-article-rayon-wrapper{flex:1}.courses-page .add-article-rayon{width:100%;padding:.35rem .3rem;font-size:.8rem}.courses-page .rayon-section{margin-bottom:2px;border-radius:6px}.courses-page .rayon-header{padding:.35rem .6rem;font-size:.82rem}.courses-page .rayon-articles{padding:0}.courses-page .article-item{padding:.15rem .4rem;gap:.25rem}.courses-page .article-checkbox{font-size:.85rem;gap:.3rem}.courses-page .article-checkbox input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.courses-page .article-quantite{font-size:.72rem;padding:.05rem .2rem;min-width:20px}.courses-page .article-delete{opacity:1;font-size:1.2rem;padding:.3rem .5rem;color:var(--danger);background:none}.courses-page .articles-separator{margin:.1rem .4rem}.modal-content{width:95%;max-height:85vh;padding:1rem}.scan-modal-actions,.rayons-modal-actions{gap:.4rem}}.tiptap ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.tiptap ul[data-type=taskList] li>label{flex-shrink:0;margin-top:.2rem}.tiptap ul[data-type=taskList] li>label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.tiptap ul[data-type=taskList] li>div{flex:1}.tiptap ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--text-muted)}.feedback-positif-section{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1.5rem;border:1px solid #bbf7d0;cursor:pointer;transition:box-shadow .2s}.feedback-positif-section:hover{box-shadow:0 2px 8px #22c55e26}.feedback-positif-texte{font-size:1.1rem;font-style:italic;color:#166534;line-height:1.5}.feedback-positif-source{margin-top:.5rem;font-size:.8rem;color:#15803d;text-align:right}mark[data-type=feedback-positif]{background-color:#bbf7d0;color:#166534;padding:1px 4px;border-radius:3px}.actions-section{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;border:1px solid var(--border)}.actions-section h3{margin-bottom:.75rem;font-size:1.1rem;color:var(--text)}.actions-list{list-style:none;padding:0}.action-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.action-item:last-child{border-bottom:none}.action-checkbox{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer}.action-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.action-texte{font-size:.95rem}.action-fiche-link{font-size:.8rem;color:var(--primary);cursor:pointer;white-space:nowrap;margin-left:1rem}.action-fiche-link:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.btn-create-task-at{background:#f59e0b;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:500}.btn-create-task-at:hover{background:#d97706}.create-task-at-modal{max-width:480px}.create-task-at-modal .form-group{margin-bottom:1rem}.create-task-at-modal label{display:block;font-weight:500;margin-bottom:.3rem;font-size:.9rem}.create-task-at-modal input[type=text],.create-task-at-modal select,.create-task-at-modal textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.create-task-at-modal textarea{resize:vertical}.create-task-at-modal .modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.at-success{text-align:center;color:#16a34a;font-weight:600;font-size:1.1rem;padding:2rem 0}.courses-page h2{margin-bottom:1rem}.courses-title-editable{margin-bottom:1rem;cursor:pointer;padding:.2rem .4rem;border-radius:var(--radius);border:1px solid transparent}.courses-title-editable:hover{border-color:var(--border);background:var(--bg)}.courses-title-input{font-size:1.5rem;font-weight:700;margin-bottom:1rem;padding:.2rem .4rem;border:1px solid var(--primary);border-radius:var(--radius);width:100%;outline:none}.add-article-quantite{width:60px;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;text-align:center}.article-quantite{font-size:.8rem;color:var(--text-muted);background:var(--bg);padding:.1rem .4rem;border-radius:4px;white-space:nowrap;cursor:pointer;min-width:28px;text-align:center}.article-quantite:hover{background:var(--border)}.article-quantite-empty{opacity:0}.article-item:hover .article-quantite-empty{opacity:.5}.article-quantite-missing{color:var(--danger);opacity:1}.article-qte-input{width:60px;padding:.1rem .3rem;border:1px solid var(--primary);border-radius:4px;font-size:.8rem;text-align:center;outline:none}.courses-toolbar{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.add-article-form{display:flex;gap:.5rem;margin-bottom:1.5rem;align-items:flex-start}.add-article-input-wrapper{position:relative;flex:1}.add-article-input-wrapper input{width:100%;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius)}.add-article-form select{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.add-article-rayon-wrapper{flex-shrink:0}.add-article-rayon{width:130px;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.add-article-btn{padding:.5rem .9rem;font-size:1.2rem;line-height:1;flex-shrink:0;border-radius:var(--radius)}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);list-style:none;z-index:50;box-shadow:0 4px 12px #0000001a}.autocomplete-dropdown li{padding:.5rem .8rem;cursor:pointer;display:flex;justify-content:space-between;font-size:.9rem}.autocomplete-dropdown li:hover{background:var(--bg)}.autocomplete-rayon{color:var(--text-muted);font-size:.8rem}.rayon-section{background:var(--bg-card);border-radius:var(--radius);margin-bottom:.8rem;box-shadow:0 1px 4px #0000000f;overflow:hidden}.rayon-header{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;cursor:pointer;background:var(--bg);font-weight:600;font-size:.95rem;-webkit-user-select:none;user-select:none}.rayon-header:hover{background:var(--border)}.rayon-toggle{width:1.2rem;text-align:center;font-family:monospace;color:var(--text-muted)}.rayon-nom{flex:1}.rayon-count{font-size:.8rem;color:var(--text-muted);font-weight:400}.rayon-articles{padding:.3rem 0}.article-item{display:flex;align-items:center;padding:.5rem 1rem;gap:.5rem}.article-item:hover{background:var(--bg)}.article-item.checked{opacity:.5}.article-item.checked span{text-decoration:line-through}.article-checkbox{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer;font-size:.95rem}.article-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.article-rayon-select{padding:2px 4px;border:1px solid transparent;border-radius:4px;font-size:.75rem;background:transparent;color:var(--text-light);cursor:pointer;margin-left:auto;flex-shrink:0}.article-rayon-select:hover,.article-rayon-select:focus{border-color:var(--border);background:var(--bg)}.article-delete{background:none;color:var(--text-muted);font-size:1rem;padding:.2rem .4rem;border-radius:4px;opacity:0;transition:opacity .15s}.article-item:hover .article-delete{opacity:1}.article-delete:hover{color:var(--danger);background:#ef44441a}.articles-separator{height:1px;background:var(--border);margin:.3rem 1rem}.rayons-modal,.unites-modal{max-width:480px}.rayons-modal h3{margin-bottom:1rem}.rayons-list{max-height:50vh;overflow-y:auto;margin-bottom:1rem}.rayon-manage-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.rayon-manage-item:last-child{border-bottom:none}.rayon-manage-arrows{display:flex;flex-direction:column;gap:0}.rayon-manage-arrows button{background:none;color:var(--text-muted);font-size:.8rem;padding:0 .3rem;line-height:1}.rayon-manage-arrows button:hover:not(:disabled){color:var(--primary)}.rayon-manage-arrows button:disabled{opacity:.3;cursor:default}.rayon-manage-nom{flex:1;cursor:pointer;padding:.2rem .4rem;border-radius:4px;font-size:.95rem}.rayon-manage-nom:hover{background:var(--bg)}.rayon-rename-input{flex:1;padding:.2rem .4rem;border:1px solid var(--primary);border-radius:4px;font-size:.95rem;outline:none}.rayon-manage-delete{background:none;color:var(--text-muted);font-size:1.2rem;padding:.2rem .4rem;border-radius:4px}.rayon-manage-delete:hover{color:var(--danger);background:#ef44441a}.rayon-add-form{display:flex;gap:.5rem;margin-bottom:1rem}.rayon-add-form input{flex:1;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius)}.rayon-add-form .btn-save{padding:.5rem 1rem}.rayons-modal-actions{display:flex;justify-content:flex-end}.historique-modal{max-width:500px}.historique-modal h3{margin-bottom:.8rem}.historique-filter{width:100%;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;margin-bottom:.8rem}.historique-list{max-height:50vh;overflow-y:auto}.historique-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;cursor:pointer;font-size:.95rem;border-bottom:1px solid var(--border)}.historique-item:last-child{border-bottom:none}.historique-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.historique-item-nom{flex:1}.historique-item-rayon{font-size:.8rem;color:var(--text-muted);background:var(--bg);padding:.15rem .5rem;border-radius:4px}.historique-item-unite{font-size:.75rem;color:var(--text-muted)}.historique-item-deja{font-size:.75rem;color:var(--text-muted);font-style:italic}.historique-item-disabled{opacity:.5;cursor:default}.scan-modal{max-width:500px}.scan-modal h3{margin-bottom:.3rem}.scan-modal-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.scan-articles-list{max-height:50vh;overflow-y:auto}.scan-article-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;cursor:pointer;font-size:.95rem}.scan-article-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.scan-article-nom{flex:1}.scan-article-rayon{font-size:.8rem;color:var(--text-muted);background:var(--bg);padding:.15rem .5rem;border-radius:4px}.scan-article-rayon-input{width:110px;font-size:.8rem;padding:.15rem .4rem;border:1px solid var(--primary);border-radius:4px;background:var(--bg)}.scan-article-nouveau{font-size:.75rem;color:var(--primary);font-weight:700}.scan-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.magasin-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.magasin-header h2{font-size:1.1rem;margin:0}.magasin-counter{font-size:.9rem;color:var(--text-muted)}.magasin-exit{background:var(--bg);padding:.4rem .8rem;border-radius:var(--radius);font-size:.85rem;color:var(--text)}.magasin-exit:hover{background:var(--border)}.magasin-list{padding:.3rem 0}.magasin-item{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s;border-bottom:1px solid var(--border)}.magasin-item:last-child{border-bottom:none}.magasin-item.checked{opacity:.35}.magasin-item.checked .magasin-item-nom{text-decoration:line-through}.magasin-item input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.magasin-item-nom{flex:1;font-size:1rem}.magasin-item-qte{font-size:.8rem;color:var(--text-muted)}.magasin-separator{height:2px;background:var(--border);margin:.3rem 0}@media(max-width:768px){.courses-page{max-width:100vw;overflow-x:hidden;padding:.5rem}.courses-page .courses-toolbar{gap:.3rem;margin-bottom:.8rem}.courses-page .courses-toolbar button{font-size:.8rem;padding:.4rem .6rem}.courses-page .add-article-form{flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem}.courses-page .add-article-input-wrapper{flex:1 1 100%}.courses-page .add-article-quantite{width:55px;flex-shrink:0}.courses-page .add-article-rayon-wrapper{flex:1}.courses-page .add-article-rayon{width:100%}.courses-page .rayon-header{padding:.5rem .7rem;font-size:.9rem}.courses-page .article-item{padding:.4rem .7rem;gap:.3rem}.courses-page .article-checkbox{font-size:.9rem;gap:.3rem}.courses-page .article-delete{opacity:1;color:var(--danger);font-size:.9rem;padding:.2rem .3rem}.courses-page .article-quantite{font-size:.75rem;padding:.1rem .3rem}}.share-modal{max-width:480px}.share-modal h3{margin-bottom:.5rem}.share-modal-desc{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.share-modal-link{display:flex;gap:.5rem;margin-bottom:1rem}.share-modal-link input{flex:1;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;background:var(--bg)}.share-modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.shared-courses{max-width:600px;margin:0 auto;padding:1rem;min-height:100vh;background:var(--bg)}.shared-courses-error{text-align:center;padding:3rem 1rem;color:var(--danger);font-size:1.1rem}.shared-courses-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.shared-courses-header h2{font-size:1.3rem}.shared-courses-counter{font-size:.9rem;color:var(--text-muted);background:var(--bg-card);padding:.2rem .6rem;border-radius:var(--radius)}.shared-courses-add{display:flex;gap:.4rem;margin-bottom:1rem;align-items:flex-start}.shared-courses-input-wrapper{position:relative;flex:1}.shared-courses-input-wrapper input{width:100%;padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius)}.shared-courses-add input[type=text]{padding:.5rem .8rem;border:1px solid var(--border);border-radius:var(--radius)}.shared-courses-qte-input{width:60px;text-align:center}.shared-courses-add button{padding:.5rem .8rem;background:var(--primary);color:#fff;border-radius:var(--radius);font-size:1.1rem;font-weight:700}.shared-courses-add button:hover{background:var(--primary-hover)}.shared-courses-rayon{background:var(--bg-card);border-radius:var(--radius);margin-bottom:.6rem;box-shadow:0 1px 4px #0000000f;overflow:hidden}.shared-courses-rayon-header{padding:.5rem .8rem;background:var(--bg);font-weight:600;font-size:.9rem;color:var(--text-muted)}.shared-courses-item{display:flex;align-items:center;padding:.5rem .8rem;gap:.4rem;border-bottom:1px solid var(--border)}.shared-courses-item:last-child{border-bottom:none}.shared-courses-item.checked{opacity:.4}.shared-courses-item.checked span{text-decoration:line-through}.shared-courses-checkbox{display:flex;align-items:center;gap:.4rem;flex:1;cursor:pointer;font-size:.95rem}.shared-courses-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.shared-courses-item-qte{font-size:.8rem;color:var(--text-muted);background:var(--bg);padding:.1rem .4rem;border-radius:4px}.shared-courses-delete{background:none;color:var(--text-muted);font-size:1.1rem;padding:.1rem .3rem;border-radius:4px}.shared-courses-delete:hover{color:var(--danger)}.shared-courses-rayon-select{padding:4px 6px;border:1px solid var(--border);border-radius:6px;font-size:.85rem;background:var(--bg);max-width:120px}.shared-courses-item-rayon-select{padding:2px 4px;border:1px solid transparent;border-radius:4px;font-size:.75rem;background:transparent;color:var(--text-light);cursor:pointer;margin-left:auto;flex-shrink:0}.shared-courses-item-rayon-select:hover,.shared-courses-item-rayon-select:focus{border-color:var(--border);background:var(--bg)}.shared-courses-empty{text-align:center;padding:2rem;color:var(--text-muted)}@media(max-width:768px){.shared-courses{padding:.5rem}.shared-courses-delete{color:var(--danger)}}.recettes-page{max-width:900px;margin:0 auto;padding:1rem}.recette-toolbar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.recette-filters{margin-bottom:1rem}.recette-search{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;font-size:.95rem}.recette-cat-chips{display:flex;gap:.4rem;flex-wrap:wrap}.cat-chip{padding:.3rem .8rem;border-radius:20px;background:var(--bg-card);border:1px solid var(--border);font-size:.85rem;color:var(--text-muted);transition:all .15s}.cat-chip:hover{border-color:var(--primary);color:var(--primary)}.cat-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.recette-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.recette-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;cursor:pointer;transition:box-shadow .15s,border-color .15s}.recette-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f}.recette-card h3{margin:.3rem 0;font-size:1rem}.recette-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.cat-badge{font-size:.75rem;padding:.15rem .5rem;border-radius:12px;text-transform:capitalize;font-weight:500}.cat-plat{background:#dbeafe;color:#1d4ed8}.cat-entrée{background:#dcfce7;color:#16a34a}.cat-dessert{background:#fef3c7;color:#d97706}.cat-accompagnement{background:#f3e8ff;color:#7c3aed}.cat-goûter{background:#ffe4e6;color:#e11d48}.recette-temps{font-size:.8rem;color:var(--text-muted)}.recette-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.3rem}.recette-tag-chip{font-size:.7rem;padding:.1rem .4rem;border-radius:8px;background:var(--bg);color:var(--text-muted)}.recette-card-footer{margin-top:.3rem;font-size:.8rem;color:var(--text-muted)}.recette-empty{color:var(--text-muted);text-align:center;padding:2rem}.recette-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.recette-form-row{margin-bottom:1rem}.recette-form-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--text-muted)}.recette-form-row input,.recette-form-row select,.recette-form-row textarea{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem}.recette-titre-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1.3rem;font-weight:600}.recette-meta-row{display:flex;gap:1rem;flex-wrap:wrap}.recette-meta-row label{flex:1;min-width:120px}.recette-meta-row input,.recette-meta-row select{width:100%}.url-source-row{display:flex;gap:.5rem;align-items:center}.url-source-row input{flex:1}.url-source-link{font-size:.85rem;white-space:nowrap}.recette-contenu{width:100%;resize:vertical}.recette-ingredients{margin-bottom:1rem}.recette-ingredients h3{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.ingredient-row{display:flex;gap:.4rem;margin-bottom:.35rem;align-items:center}.ing-quantite{width:70px;padding:.4rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;text-align:center}.ing-unite{width:70px;padding:.4rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.ing-nom{flex:1;padding:.4rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.btn-primary{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-card);color:var(--text);padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border);font-size:.9rem}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--danger);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem}.btn-small{padding:.2rem .6rem;font-size:.8rem;background:var(--primary);color:#fff;border-radius:var(--radius)}.btn-icon{background:none;font-size:1.2rem;padding:0 .3rem;line-height:1}.btn-danger-text{color:var(--danger)}.recette-courses-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.recette-courses-section h3{margin-bottom:.5rem}.courses-send-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.courses-send-row label{display:flex;align-items:center;gap:.3rem;font-size:.9rem}.courses-send-row input{width:60px;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius);text-align:center}.courses-msg{margin-top:.5rem;font-size:.85rem;color:var(--primary);font-weight:500}.import-modal{max-width:500px}.import-modal h2{margin-bottom:1rem}.import-modal input[type=url],.import-modal input[type=file]{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;width:90%;max-height:90vh;overflow-y:auto}@media(max-width:768px){.recettes-page{padding:.5rem}.recette-toolbar{flex-wrap:wrap}.recette-toolbar button{flex:1;min-width:0;font-size:.8rem;padding:.4rem .6rem}.recette-list{grid-template-columns:1fr}.recette-meta-row{flex-direction:column;gap:.5rem}.ingredient-row{flex-wrap:wrap}.ing-quantite,.ing-unite{width:60px}.recette-detail{padding:1rem}}.planning-page{max-width:1100px;margin:0 auto;padding:1rem}.planning-loading{text-align:center;padding:2rem;color:var(--text-muted)}.planning-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.planning-titre h2{font-size:1.5rem;color:var(--text)}.planning-titre h2:hover{color:var(--primary)}.planning-rename{display:flex;gap:.5rem;align-items:center}.planning-rename input{padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1.1rem}.planning-actions{display:flex;gap:.5rem}.planning-pool{margin-bottom:1.5rem}.planning-pool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.planning-pool-title{font-size:.9rem;color:var(--text-muted);font-weight:500}.planning-btn-add{padding:.35rem .75rem;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.85rem;transition:all .15s}.planning-btn-add:hover{border-color:var(--primary);color:var(--primary)}.planning-pool-items{display:flex;flex-wrap:wrap;gap:.5rem;min-height:60px;padding:.75rem;background:var(--bg);border:2px dashed var(--border);border-radius:var(--radius);transition:border-color .15s,background .15s;align-items:flex-start;align-content:flex-start}.planning-pool-items.is-over{border-color:var(--primary);background:#f0f7f0}.planning-pool-empty{color:var(--text-muted);font-size:.85rem;font-style:italic;padding:.5rem;width:100%;text-align:center}.planning-plat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none}.planning-plat-card.compact{padding:.3rem .4rem;font-size:.8rem;gap:.3rem}.planning-plat-card.fait{border-style:dashed;border-color:var(--border)}.fait-titre{text-decoration:line-through;color:var(--text-muted)}.planning-badge-fait{font-size:.65rem;padding:.1rem .35rem;border-radius:3px;background:#d1fae5;color:#065f46;flex-shrink:0}.planning-plat-drag{flex:1;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;cursor:grab;touch-action:none}.planning-plat-drag:active{cursor:grabbing}.planning-plat-titre{font-weight:500}.planning-plat-btns{display:flex;gap:.15rem;flex-shrink:0}.planning-btn-limite{background:none;font-size:.85rem;padding:0 .2rem;color:var(--text-muted);flex-shrink:0}.planning-btn-limite:hover{color:var(--text)}.planning-btn-fait{width:26px;height:26px;border-radius:50%;background:var(--bg);border:2px solid var(--border);color:var(--text-muted);font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.planning-btn-fait:hover{background:var(--primary);border-color:var(--primary);color:#fff}.planning-btn-suppr{background:none;color:var(--text-muted);font-size:1.1rem;padding:0 .2rem;flex-shrink:0}.planning-btn-suppr:hover{color:var(--danger)}.planning-badge-cat{font-size:.7rem;padding:.1rem .4rem;border-radius:999px;background:var(--primary-light);color:var(--text);white-space:nowrap}.planning-badge-limite{font-size:.7rem;padding:.1rem .4rem;border-radius:999px;background:#fef3c7;color:#92400e;white-space:nowrap}.planning-badge-limite.urgent{background:#fed7aa;color:#c2410c}.planning-badge-limite.depasse{background:#fecaca;color:#dc2626}.planning-grid-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.planning-grid{display:grid;grid-template-columns:50px repeat(7,minmax(120px,1fr));gap:1px;background:var(--border);border-radius:var(--radius);overflow:hidden;min-width:900px}.planning-grid-corner{background:var(--bg-card)}.planning-grid-header{background:var(--bg-card);padding:.5rem .25rem;text-align:center}.planning-header-weekday{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.planning-header-day{font-size:1.1rem;font-weight:600;color:var(--text)}.planning-grid-header.today{background:var(--primary)}.planning-grid-header.today .planning-header-weekday,.planning-grid-header.today .planning-header-day{color:#fff}.planning-grid-label{background:var(--bg-card);padding:.5rem .25rem;text-align:center;font-size:.8rem;font-weight:500;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.planning-grid-cell{background:var(--bg-card);padding:.35rem;min-height:80px;display:flex;flex-direction:column;gap:.25rem;transition:background .15s}.planning-grid-cell-over{background:#f0f7f0}.planning-cell-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--border);font-size:1.2rem}.planning-drag-overlay{background:var(--bg-card);border:2px solid var(--primary);border-radius:var(--radius);padding:.5rem .75rem;font-size:.85rem;box-shadow:0 4px 12px #00000026;max-width:200px;display:flex;align-items:center;gap:.4rem}.planning-limite-modal{max-width:400px}.planning-limite-form{margin-top:1rem}.planning-edit-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.planning-edit-row label{font-size:.85rem;color:var(--text-muted);min-width:80px}.planning-edit-row input,.planning-edit-row select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;flex:1}.planning-edit-actions{display:flex;gap:.5rem;margin-top:.75rem}.planning-add-modal{max-width:500px;max-height:70vh;display:flex;flex-direction:column}.planning-add-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid var(--border)}.planning-add-tabs button{flex:1;padding:.5rem;background:none;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.95rem}.planning-add-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.planning-add-recettes input{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem}.planning-recette-list{list-style:none;max-height:300px;overflow-y:auto}.planning-recette-list li{padding:.6rem .5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;cursor:pointer}.planning-recette-list li:hover{background:var(--bg)}.planning-recette-list li.planning-no-result{cursor:default;color:var(--text-muted);font-style:italic;justify-content:center}.planning-add-libre{display:flex;gap:.5rem}.planning-add-libre input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius)}.planning-add-import{display:flex;flex-direction:column;gap:.75rem}.planning-import-hint{font-size:.85rem;color:var(--text-muted)}.planning-import-photo-btns{display:flex;gap:.5rem}.planning-photo-label{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem;text-align:center;flex:1}.planning-import-error{color:var(--danger);font-size:.85rem;margin-top:.25rem}.planning-import-preview{display:flex;flex-direction:column;gap:.75rem}.planning-preview-header{display:flex;align-items:center;gap:.5rem}.planning-preview-header h4{font-size:1.1rem;flex:1}.planning-preview-meta{display:flex;gap:.75rem;font-size:.85rem;color:var(--text-muted)}.planning-preview-tags{font-style:italic}.planning-preview-ingredients{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;background:var(--bg)}.planning-preview-ingredients strong{display:block;margin-bottom:.5rem;font-size:.85rem}.planning-preview-ingredients ul{list-style:none;padding:0;columns:2;column-gap:1rem;font-size:.85rem}.planning-preview-ingredients li{padding:.15rem 0;break-inside:avoid}.planning-preview-qty{font-weight:600;margin-right:.15rem}.planning-preview-unit{color:var(--text-muted);margin-right:.25rem}.planning-preview-contenu{border-top:1px solid var(--border);padding-top:.5rem}.planning-preview-contenu strong{display:block;margin-bottom:.25rem;font-size:.85rem}.planning-preview-contenu p{font-size:.8rem;color:var(--text-muted);white-space:pre-line}.planning-preview-actions{display:flex;gap:.5rem;margin-top:.25rem}.planning-courses-modal{max-width:500px}.planning-courses-section{margin-bottom:1rem}.planning-courses-section h4{margin-bottom:.5rem;color:var(--text)}.planning-courses-section ul{list-style:none;padding:0}.planning-courses-section li{padding:.3rem 0;border-bottom:1px solid var(--border)}.planning-courses-plats{color:var(--text-muted);font-size:.85rem}.planning-courses-doublons li{color:var(--text-muted);font-style:italic}.preview-courses-list{max-height:400px;overflow-y:auto;margin-bottom:1rem}.preview-courses-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .3rem;border-bottom:1px solid var(--border);cursor:pointer;flex-wrap:wrap}.preview-courses-item:hover{background:var(--bg-hover)}.preview-courses-disabled{opacity:.45;cursor:default}.preview-courses-base{opacity:.6}.preview-courses-nom{font-weight:500;flex-shrink:0}.preview-courses-qte{color:var(--text-muted);font-size:.85rem;flex-shrink:0}.preview-courses-plats{color:var(--text-muted);font-size:.8rem;margin-left:auto}.preview-courses-tag{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;background:var(--bg-hover);color:var(--text-muted);flex-shrink:0}.preview-courses-tag.tag-base{background:#fef3c7;color:#92400e}.preview-courses-add-base{font-size:.65rem;padding:.1rem .3rem;border:1px solid var(--border);border-radius:3px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0}.preview-courses-add-base:hover{background:#fef3c7;color:#92400e}.planning-bases-modal{max-width:450px}.bases-list{max-height:300px;overflow-y:auto;margin-bottom:.8rem}.bases-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .3rem;border-bottom:1px solid var(--border)}.bases-delete{background:none;border:none;color:var(--danger);font-size:1.1rem;cursor:pointer;padding:0 .3rem}.bases-add-form{display:flex;gap:.5rem}.bases-add-form input{flex:1;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius)}.planning-stock{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;margin-bottom:1rem}.planning-stock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.stock-form{display:flex;gap:.4rem;margin-bottom:.5rem;flex-wrap:wrap}.stock-form input{padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.stock-form input:first-child{flex:1;min-width:120px}.stock-form-small{width:55px}.stock-form-date{width:130px}.stock-list{display:flex;flex-direction:column;gap:2px}.stock-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .2rem;border-bottom:1px solid var(--border);font-size:.9rem}.stock-item:last-child{border-bottom:none}.stock-utilise{opacity:.4}.stock-utilise .stock-item-nom{text-decoration:line-through}.stock-item-nom{font-weight:500}.stock-item-qte{color:var(--text-muted);font-size:.8rem}.stock-item-dlc{font-size:.75rem;padding:.1rem .3rem;border-radius:3px;background:var(--bg-hover);color:var(--text-muted)}.stock-item-dlc.urgent{background:#fee2e2;color:#991b1b;font-weight:600}.stock-item-note{color:var(--text-muted);font-size:.8rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.stock-btn-recette{font-size:.65rem;padding:.1rem .35rem;border:1px solid var(--border);border-radius:3px;background:none;color:var(--text-muted);cursor:pointer;margin-left:auto;flex-shrink:0}.stock-btn-recette:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.stock-btn-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0 .2rem;flex-shrink:0}.stock-btn-delete:hover{color:var(--danger)}.stock-btn-init{margin-bottom:1rem;width:100%}@media(max-width:768px){.planning-page{padding:.5rem}.planning-toolbar{flex-direction:column;align-items:stretch}.planning-actions{justify-content:stretch}.planning-actions button{flex:1}.planning-pool-items{gap:.4rem;padding:.5rem}.planning-grid{min-width:840px}.planning-grid-cell{min-height:70px}.planning-edit-row{flex-direction:column;align-items:stretch}.planning-edit-row label{min-width:auto}.planning-plat-card.compact{padding:.25rem .35rem;font-size:.75rem}}
