/* Harmonisation des modules natifs avec la coque Manager 2026. */
#tab-lieux,#tab-contrats,#tab-invoices,#tab-facturier{padding:0!important;background:transparent!important;color:#172b47}
.module-hero{position:relative;overflow:hidden;min-height:136px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-radius:23px;background:linear-gradient(120deg,#122541,#1d477d 68%,#3977dd);color:#fff;box-shadow:0 17px 42px rgba(20,52,95,.16)}
.module-hero:after{content:"";position:absolute;width:230px;height:230px;right:-65px;top:-125px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}
.module-hero>div,.module-hero>button{position:relative;z-index:1}.module-kicker{display:block;color:#91bcff;font-size:10px;font-weight:850;letter-spacing:1.15px;text-transform:uppercase}.module-hero h1{margin:5px 0 7px;font-size:30px;letter-spacing:-.7px}.module-hero p{margin:0;color:rgba(255,255,255,.68);font-size:13px}.module-hero-icon{width:63px;height:63px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.11);font-size:25px}.module-stats{display:flex;gap:9px}.module-stats span{min-width:85px;padding:10px 13px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);font-size:10px}.module-stats strong{display:block;margin-bottom:2px;color:#fff;font-size:20px}.module-primary,.module-secondary{min-height:38px;padding:0 15px;border-radius:11px;cursor:pointer;font-size:12px;font-weight:780}.module-primary{border:1px solid #2f74e7;background:#2f74e7;color:#fff;box-shadow:0 7px 16px rgba(47,116,231,.2)}.module-primary:hover{background:#235fbe}.module-secondary{border:1px solid #d7e1ed;background:#fff;color:#52657d}.module-secondary:hover{background:#f1f5fa;color:#235eba}

/* Base de données */
.database-page,.contract-page,.invoice-page,#tab-facturier .facturier-wrap{max-width:1180px!important;margin:0 auto!important}.database-nav{margin:18px 0 13px;padding:5px;display:inline-flex;gap:4px;border:1px solid #dfe7f0;border-radius:14px;background:#fff}.database-nav button{padding:9px 14px;border:0;border-radius:10px;background:transparent;color:#687b92;cursor:pointer;font-size:12px;font-weight:750}.database-nav button span{margin-left:5px;padding:2px 6px;border-radius:99px;background:#edf2f8;font-size:9px}.database-nav button.active{background:#173b6c;color:#fff;box-shadow:0 6px 14px rgba(23,59,108,.18)}.database-nav button.active span{background:rgba(255,255,255,.15)}.database-toolbar{margin-bottom:15px;display:flex;align-items:center;gap:10px}.database-search{height:43px;flex:1;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #dce5ef;border-radius:12px;background:#fff;box-shadow:0 4px 13px rgba(20,47,94,.035)}.database-search>span{color:#2f74e7;font-size:22px;transform:rotate(-18deg)}.database-search input{width:100%;border:0;outline:0;background:transparent;color:#18345e;font:inherit;font-size:12px}.database-search:focus-within{border-color:#8db8f5;box-shadow:0 0 0 3px rgba(47,116,231,.1)}.database-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.database-card{position:relative;min-width:0;padding:17px;display:grid;grid-template-columns:48px 1fr;gap:13px;border:1px solid #dfe7f0;border-radius:18px;background:#fff;box-shadow:0 6px 17px rgba(22,49,85,.04);transition:.16s}.database-card:hover{transform:translateY(-2px);border-color:#b9d0f1;box-shadow:0 14px 30px rgba(23,58,101,.09)}.database-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#e9f1fd;color:#2f74e7;font-size:21px;font-weight:850}.database-card-icon.has-logo{overflow:hidden;background:#f3eaff;color:#7653a6;font-size:13px}.database-card-icon img{max-width:88%;max-height:88%;object-fit:contain}.database-card-main{min-width:0}.database-type{color:#2f74e7;font-size:9px;font-weight:850;letter-spacing:.8px;text-transform:uppercase}.database-card h3{margin:3px 0 4px;color:#17345e;font-size:16px}.database-card-main p{margin:0;color:#8190a3;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.database-card-meta{grid-column:1/-1;padding:11px 0 3px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #edf1f6;color:#42546c;font-size:11px}.database-card-meta span{min-width:0;overflow-wrap:anywhere}.database-card-meta small{display:block;margin-bottom:3px;color:#98a4b3;font-size:8px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.database-card-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}.database-card-actions button{padding:7px 10px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#52657d;cursor:pointer;font-size:10px;font-weight:700}.database-card-actions button:hover{background:#eaf2fd;color:#235eba}.database-card-actions button.danger{color:#b94a57}.database-card-actions button.danger:hover{background:#fdf0f1}.database-empty{padding:55px 20px;border:1px dashed #ccd9e8;border-radius:18px;background:rgba(255,255,255,.55);color:#8190a3;text-align:center}.database-empty>span{display:block;color:#92add4;font-size:35px}.database-empty strong{display:block;margin:7px;color:#344b69}.database-empty p{margin:0;font-size:12px}.database-card.is-clickable{cursor:pointer}.database-card.is-clickable:focus-visible{outline:0;border-color:#6fa3ee;box-shadow:0 0 0 4px rgba(47,116,231,.13),0 14px 30px rgba(23,58,101,.09)}.database-card-hint{grid-column:1/-1;padding-top:8px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid #edf1f6;color:#8b99aa;font-size:9px;font-weight:700}.database-card-hint span{color:#2f74e7;font-size:14px;transition:transform .15s}.database-card:hover .database-card-hint span{transform:translateX(3px)}

/* Formulaires Base de données */
.database-modal-content,#modal-producteur .modal-content{width:min(780px,calc(100vw - 28px));max-width:780px;max-height:calc(100vh - 35px);overflow:auto;padding:0;border:1px solid #dce5ef;border-radius:21px;background:#f7f9fc;box-shadow:0 28px 85px rgba(10,28,55,.28)}.database-modal-content .modal-header,#modal-producteur .modal-header{position:sticky;z-index:3;top:0;padding:20px 23px;border-bottom:1px solid #dfe6ef;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.database-modal-content .modal-header h2,#modal-producteur .modal-header h2{margin:3px 0 2px;color:#17345e;font-size:22px}.database-modal-content .modal-header p,.modal-subtitle{margin:0;color:#8492a4;font-size:11px}.database-modal-content form,#modal-producteur form{padding:18px 22px 22px}.database-form-section,#modal-producteur form>.form-group,#modal-producteur form>.grid-2{margin-bottom:12px}.database-form-section{padding:16px;border:1px solid #e0e7f0;border-radius:15px;background:#fff}.database-form-section h3{margin:0 0 13px;color:#23446f;font-size:13px}.database-form-section .form-group,#modal-producteur .form-group{margin-bottom:11px}.database-form-section label,#modal-producteur label{display:block;margin-bottom:5px;color:#66798f;font-size:10px;font-weight:760}.database-form-section .form-control,#modal-producteur .form-control{width:100%;padding:10px 11px;border:1px solid #dce4ee;border-radius:10px;background:#fbfcfe;color:#1d3451;font:inherit;font-size:12px}.database-form-section .form-control:focus,#modal-producteur .form-control:focus{outline:0;border-color:#79a8ed;box-shadow:0 0 0 3px rgba(47,116,231,.1)}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.section-heading p{margin:3px 0 12px;color:#8795a7;font-size:10px}.capacite-ligne{margin-bottom:8px;padding:10px;display:grid;grid-template-columns:1.5fr .7fr .8fr auto;align-items:end;gap:8px;border-radius:12px;background:#f5f8fc}.capacite-ligne .form-group{margin:0}.capacity-remove{width:34px;height:36px;border:0;border-radius:9px;background:#fbe9eb;color:#bd4553;cursor:pointer;font-size:18px}.modal-actions{position:sticky;bottom:-22px;margin:18px -22px -22px;padding:13px 22px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #dde6f0;background:rgba(255,255,255,.97)}#modal-producteur .actions{position:sticky;bottom:-22px;margin:17px -22px -22px;padding:13px 22px;border-top:1px solid #dde6f0;background:#fff}#modal-producteur .actions .btn{border-radius:10px}.modal-danger-zone{margin:18px 0 4px;border:1px solid #eadfe1;border-radius:12px;background:#fff}.modal-danger-zone summary{padding:10px 12px;color:#9a7c81;cursor:pointer;font-size:10px;font-weight:750;list-style-position:inside}.modal-danger-zone[open] summary{border-bottom:1px solid #f0e5e7;color:#a04b57}.modal-danger-zone>div{padding:12px}.modal-danger-zone p{margin:0 0 10px;color:#8b7478;font-size:10px;line-height:1.5}.modal-danger-zone button{padding:7px 10px;border:1px solid #e7c7cc;border-radius:9px;background:#fff7f8;color:#b33e4d;cursor:pointer;font-size:10px;font-weight:700}.modal-danger-zone button:hover{background:#fbe9ec}

/* Contrats */
.contract-form-shell{margin-top:16px}.contract-form-shell>.card{margin-bottom:13px!important;padding:20px!important;border:1px solid #dfe7f0!important;border-radius:18px!important;background:#fff!important;box-shadow:0 6px 18px rgba(22,49,85,.04)!important}.contract-form-shell>.card h3{margin:-20px -20px 18px!important;padding:16px 19px!important;border-bottom:1px solid #edf1f6;color:#173b68!important;font-size:14px!important}.contract-form-shell .form-group label{color:#65778e;font-size:11px;font-weight:750}.contract-form-shell .form-control,.contract-form-shell input:not([type=checkbox]):not([type=radio]),.contract-form-shell select,.contract-form-shell textarea{border:1px solid #dce5ef!important;border-radius:10px!important;background:#fbfcfe!important;color:#1d3451!important;font-size:12px!important;box-shadow:none!important}.contract-form-shell .form-control:focus,.contract-form-shell input:focus,.contract-form-shell select:focus,.contract-form-shell textarea:focus{outline:0!important;border-color:#79a8ed!important;box-shadow:0 0 0 3px rgba(47,116,231,.1)!important}.contract-form-shell .subsection{border:1px solid #e1e9f3!important;border-left:0!important;border-radius:13px!important;background:#f7f9fc!important}.contract-form-shell .btn{border-radius:10px!important}.contrat-production-preview{margin:4px 0 18px;padding:14px;display:grid;grid-template-columns:82px 1fr;gap:14px;border:1px solid #dfe8f3;border-radius:14px;background:#f7faff}.contrat-production-logo{width:82px;height:82px;display:grid;place-items:center;overflow:hidden;border:1px dashed #c8d7e9;border-radius:13px;background:#fff;color:#8ba0bb;font-size:11px;font-weight:850}.contrat-production-logo img{max-width:90%;max-height:90%;object-fit:contain}.contrat-production-fields .form-group{margin-bottom:8px}.contract-form-shell .checkbox-item{border:1px solid #dfe7f0!important;border-radius:11px!important;background:#fbfcfe!important}.date-entry{padding:9px;border-radius:11px;background:#f5f8fc}

/* Assistant Contrats */
.contract-form-shell [hidden]{display:none!important}
.contract-assistant-launch{min-width:220px;padding:13px 16px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(255,255,255,.13);color:#fff;text-align:left;cursor:pointer;backdrop-filter:blur(8px);transition:.16s}.contract-assistant-launch:hover{transform:translateY(-2px);background:rgba(255,255,255,.2)}.contract-assistant-launch>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.14)}.contract-assistant-launch strong{font-size:12px}.contract-assistant-launch small{color:rgba(255,255,255,.66);font-size:9px}.contract-wizard-enabled>.contract-final-actions,.contract-wizard-enabled>.contract-final-hint{display:none!important}.contract-wizard-progress{margin-bottom:14px;padding:8px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;border:1px solid #dfe7f0;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(22,49,85,.04)}.contract-wizard-step-button{min-width:0;padding:9px 7px;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:center;border:0;border-radius:11px;background:transparent;color:#77889c;text-align:left;cursor:pointer}.contract-wizard-step-button>span{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#edf2f8;color:#7c8ea5;font-size:10px;font-weight:850}.contract-wizard-step-button strong{overflow:hidden;color:#52667f;font-size:10px;text-overflow:ellipsis}.contract-wizard-step-button small{overflow:hidden;color:#9aa7b7;font-size:7px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.contract-wizard-step-button.active{background:#eaf2ff}.contract-wizard-step-button.active>span{background:#2f74e7;color:#fff}.contract-wizard-step-button.active strong{color:#205bac}.contract-wizard-step-button.complete>span{background:#dff4e9;color:#25845a;font-size:0}.contract-wizard-step-button.complete>span:after{content:'✓';font-size:11px}.contract-wizard-summary{padding:22px;border:1px solid #dce6f1;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(22,49,85,.05)}.contract-review-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.contract-review-heading>span{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#e0f4e9;color:#25845a;font-size:17px;font-weight:900}.contract-review-heading h3{margin:0;color:#173b68;font-size:16px}.contract-review-heading p{margin:3px 0 0;color:#8695a7;font-size:10px}.contract-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.contract-review-grid article{min-width:0;padding:13px;border:1px solid #e3eaf2;border-radius:12px;background:#f8fafd}.contract-review-grid small{display:block;margin-bottom:4px;color:#8192a8;font-size:8px;font-weight:850;letter-spacing:.65px;text-transform:uppercase}.contract-review-grid strong{display:block;overflow:hidden;color:#213d61;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.contract-review-grid article>span{display:block;margin-top:4px;overflow:hidden;color:#7d8ca0;font-size:9px;line-height:1.4;text-overflow:ellipsis}.contract-wizard-footer{position:sticky;z-index:4;bottom:10px;margin-top:14px;padding:11px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;border:1px solid #dce5ef;border-radius:15px;background:rgba(255,255,255,.95);box-shadow:0 13px 35px rgba(20,45,79,.15);backdrop-filter:blur(12px)}.contract-wizard-footer-left,.contract-wizard-footer-right,#contract-wizard-output-actions{display:flex;align-items:center;gap:7px}.contract-wizard-footer-right{justify-content:flex-end}.contract-wizard-footer>span{color:#8392a5;font-size:9px;font-weight:750}.contract-wizard-exit{padding:7px;border:0;background:transparent;color:#8997a8;cursor:pointer;font-size:9px}.contract-wizard-exit:hover{color:#315f9d;text-decoration:underline}.modal-field-hint{display:block;margin-top:5px;color:#8997a8;font-size:9px;line-height:1.4}

/* Factures / Devis */
#tab-invoices .invoice-page{max-width:1100px;margin:0 auto}#tab-invoices .form-container{max-width:none!important;margin:15px 0 0!important;padding:23px!important;border:1px solid #dfe7f0!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 23px rgba(22,49,85,.055)!important}#tab-invoices .module-section-title{margin:-23px -23px 21px;padding:17px 22px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf1f6;background:#fbfcfe;border-radius:20px 20px 0 0}#tab-invoices .module-section-title>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e8f1ff;color:#2f74e7;font-size:10px;font-weight:850}#tab-invoices .module-section-title h2{margin:0!important;color:#173b68!important;font-size:16px!important}#tab-invoices .module-section-title p{margin:2px 0 0;color:#8795a6;font-size:10px}#tab-invoices .form-group{margin-bottom:15px!important}#tab-invoices .form-group label{margin-bottom:6px!important;color:#65778e!important;font-size:11px!important;font-weight:750!important}#tab-invoices .form-control{padding:10px 11px!important;border:1px solid #dce5ef!important;border-radius:10px!important;background:#fbfcfe!important;color:#1d3451!important;font-size:12px!important}#tab-invoices .form-control:focus{border-color:#79a8ed!important;box-shadow:0 0 0 3px rgba(47,116,231,.1)!important}#tab-invoices .line-item{padding:14px!important;border:1px solid #e0e8f1!important;border-radius:13px!important;background:#f7f9fc!important}#tab-invoices .add-line-btn{border-radius:10px!important;background:#e9f2ff!important;color:#2467c5!important;font-weight:750!important}#tab-invoices .calculation-display{border:1px solid #dce7f2!important;border-radius:16px!important;background:linear-gradient(135deg,#f7faff,#eef5ff)!important}#tab-invoices .amount-display{color:#1d5eb8!important;font-size:27px!important}#tab-invoices .generate-btn{border-radius:12px!important;background:linear-gradient(135deg,#1d5fb8,#367de2)!important;box-shadow:0 10px 24px rgba(35,103,197,.2)}#tab-invoices .history-display{max-height:260px!important}#tab-invoices .history-item{padding:10px!important;border-bottom:1px solid #e7edf4!important;border-radius:8px}#tab-invoices .logo-preview-section{border:1px dashed #b9cbe0!important;border-radius:13px!important;background:#f7f9fc!important}

/* Facturier */
#tab-facturier{padding:0!important;background:transparent!important}#tab-facturier .facturier-hero{margin-bottom:15px}#tab-facturier .facturier-refresh{padding:9px 13px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:11px!important;background:rgba(255,255,255,.12)!important;color:#fff!important}#tab-facturier .facturier-grid{gap:14px!important}#tab-facturier .facturier-column{padding:17px!important;border:1px solid #dfe7f0!important;border-radius:18px!important;box-shadow:0 7px 20px rgba(22,49,85,.045)!important}#tab-facturier .facturier-column h3{color:#173b68;font-size:14px!important}#tab-facturier .facturier-year,#tab-facturier .facturier-month{border-color:#e4ebf3!important;border-radius:12px!important;background:#fbfcfe!important}#tab-facturier summary{padding:11px 13px!important;color:#334d6d;font-size:12px}#tab-facturier .facturier-item{border-radius:12px!important;padding:11px!important;transition:.15s}#tab-facturier .facturier-item.credit{border-left-color:#35a46c!important}#tab-facturier .facturier-item.debit{border-left-color:#e39a41!important}#tab-facturier .status{background:#e8f1ff!important;color:#2a67be!important}

@media(max-width:760px){.module-hero{min-height:125px;padding:23px 20px}.module-hero h1{font-size:25px}.module-stats,.module-hero-icon{display:none}.database-toolbar{align-items:stretch;flex-direction:column}.database-grid{grid-template-columns:1fr}.database-card-meta{grid-template-columns:1fr 1fr}.capacite-ligne{grid-template-columns:1fr 1fr}.capacity-remove{align-self:end}.contrat-production-preview{grid-template-columns:1fr}.contrat-production-logo{width:70px;height:70px}.database-modal-content form,#modal-producteur form{padding:14px}.database-form-section{padding:13px}.modal-actions{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}#tab-invoices .form-row{grid-template-columns:1fr!important}}
@media(max-width:760px){.contract-hero{align-items:flex-start;flex-direction:column}.contract-assistant-launch{width:100%;min-width:0}.contract-wizard-progress{display:flex;overflow-x:auto}.contract-wizard-step-button{min-width:120px}.contract-review-grid{grid-template-columns:1fr}.contract-wizard-footer{grid-template-columns:1fr}.contract-wizard-footer-left,.contract-wizard-footer-right{justify-content:space-between}.contract-wizard-footer>span{grid-row:1;text-align:center}}
