*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f2f0eb;--surface:#fff;--surface2:#faf9f7;--border:#e2dfd8;--border-strong:#c8c4bc;--text:#2d2a26;--text-soft:#7a756d;--text-xsoft:#b0aa9f;--accent:#1a4a8a;--accent-light:#eaf0fb;--accent-mid:#4a7cc9;--danger:#c1392b;--danger-light:#fdf0ee;--warning:#b35c00;--warning-light:#fff4e6;--success:#1e8449;--success-light:#eafaf1;--blue:#1a4a8a;--blue-light:#eaf0fb;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--r:10px;--font-serif:Georgia, "Times New Roman", serif;--font-ui:system-ui, -apple-system, sans-serif}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.5}.app{max-width:1100px;margin:0 auto;padding:0 20px 80px}.main{flex-direction:column;gap:14px;display:flex}.app-header{border-bottom:1.5px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 0;display:flex}.app-title{flex-shrink:0;align-items:center;gap:14px;display:flex}.app-logo{font-size:28px;line-height:1}.app-title h1{font-family:var(--font-serif);color:var(--text);letter-spacing:-.3px;font-size:20px;font-weight:700;line-height:1.2}.app-title p{color:var(--text-soft);margin-top:2px;font-size:11px}.app-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-action{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:opacity .15s}.btn-action:hover{opacity:.86}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--text-soft);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 14px;font-size:13px;transition:all .15s}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-danger{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;transition:all .15s}.btn-danger:hover{background:var(--danger);color:#fff}.badge{background:var(--accent-light);color:var(--accent);white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.badge-success{background:var(--success-light);color:var(--success);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.badge-warning{background:var(--warning-light);color:var(--warning);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-title{color:var(--text);font-size:14px;font-weight:700}.card-body{padding:18px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);text-align:center;color:var(--text-soft);padding:48px 24px}.empty-state-icon{margin-bottom:12px;font-size:40px}.empty-state p{font-size:14px;line-height:1.7}.alert{border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600}.alert-success{background:var(--success-light);color:var(--success);border:1px solid #a9dfbf}.alert-error{background:var(--danger-light);color:var(--danger);border:1px solid #f5b7b1}.alert-info{background:var(--accent-light);color:var(--accent);border:1px solid #aed6f1}.overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14120e6b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:480px;max-width:94vw;box-shadow:var(--shadow-md);border:1px solid var(--border);border-radius:14px;max-height:90vh;padding:26px;overflow-y:auto}.modal h2{color:var(--text);font-size:17px;font-weight:700;font-family:var(--font-serif);margin-bottom:18px}.modal-fields{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.modal-fields label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:5px;font-size:11px;font-weight:700;display:flex}.modal-fields input,.modal-fields select,.modal-fields textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-family:var(--font-ui);border-radius:8px;padding:9px 12px;transition:border-color .14s}.modal-fields input:focus,.modal-fields select:focus,.modal-fields textarea:focus{border-color:var(--accent-mid);outline:none}.modal-fields textarea{resize:vertical;min-height:70px}.modal-actions{gap:9px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.field-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font-size:14px;font-family:var(--font-ui);box-sizing:border-box;border-radius:8px;padding:9px 12px;transition:border-color .14s}.field-input:focus{border-color:var(--accent-mid);outline:none}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;background:var(--surface2);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft);white-space:nowrap;padding:9px 14px;font-size:10px;font-weight:700}.table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:11px 14px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface2)}.secteurs-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.secteur-card{background:var(--surface);border:2px solid var(--border);cursor:pointer;text-align:center;box-shadow:var(--shadow-sm);border-radius:12px;padding:24px 20px;transition:all .18s}.secteur-card:hover{border-color:var(--accent-mid);box-shadow:var(--shadow-md);transform:translateY(-2px)}.secteur-card.selected{border-color:var(--accent);background:var(--accent-light)}.secteur-icone{margin-bottom:10px;font-size:36px}.secteur-nom{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.secteur-desc{color:var(--text-soft);font-size:12px;line-height:1.5}.questions-list{flex-direction:column;gap:12px;display:flex}.question-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:18px;transition:border-color .14s}.question-block:focus-within{border-color:var(--accent-mid)}.question-texte{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.question-desc{color:var(--text-soft);margin-bottom:12px;font-size:12px;line-height:1.5}.question-input-row{align-items:center;gap:10px;display:flex}.question-input-row input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;flex:1;min-width:0;padding:9px 12px;font-size:15px;transition:border-color .14s}.question-input-row input:focus{border-color:var(--accent-mid);outline:none}.question-unite{color:var(--text-soft);white-space:nowrap;background:var(--surface2);border:1px solid var(--border);border-radius:6px;flex-shrink:0;padding:9px 12px;font-size:13px;font-weight:600}.question-co2{color:var(--accent);white-space:nowrap;text-align:right;flex-shrink:0;min-width:90px;font-size:13px;font-weight:700}.result-total{color:#fff;text-align:center;background:linear-gradient(135deg,#0f2d5e 0%,#1a4a8a 100%);border-radius:14px;padding:28px 24px}.result-total-label{opacity:.7;margin-bottom:6px;font-size:13px}.result-total-value{font-size:48px;font-weight:700;line-height:1.1}.result-total-unit{opacity:.8;margin-top:4px;font-size:16px}.result-breakdown{flex-direction:column;gap:8px;display:flex}.result-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.result-row-texte{color:var(--text);flex:1;font-size:13px}.result-row-bar-wrap{background:var(--surface2);border-radius:4px;flex:2;height:8px;overflow:hidden}.result-row-bar{background:var(--accent);border-radius:4px;height:100%;transition:width .5s}.result-row-co2{color:var(--accent);white-space:nowrap;text-align:right;min-width:80px;font-size:13px;font-weight:700}.result-row-pct{color:var(--text-soft);text-align:right;min-width:36px;font-size:11px}.admin-badge{color:#fff;letter-spacing:.5px;background:#e74c3c;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700}.admin-tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);gap:4px;margin-bottom:20px;padding:4px;display:flex}.admin-tab{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:9px 10px;font-size:13px;font-weight:500;transition:all .15s}.admin-tab:hover{background:var(--bg);color:var(--text)}.admin-tab.active{background:var(--accent);color:#fff}.bilans-list{flex-direction:column;gap:10px;display:flex}.bilan-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);align-items:center;gap:16px;padding:14px 18px;transition:border-color .14s;display:flex}.bilan-item:hover{border-color:var(--accent-mid)}.bilan-icone{flex-shrink:0;font-size:24px}.bilan-info{flex:1;min-width:0}.bilan-nom{font-size:14px;font-weight:700}.bilan-meta{color:var(--text-soft);margin-top:2px;font-size:12px}.bilan-co2{color:var(--accent);white-space:nowrap;font-size:16px;font-weight:700}
