:root{--bg:#f3f5f8;--panel:#fff;--text:#151a22;--muted:#697386;--line:#dfe4ec;--nav:#0e1827;--blue:#1463ff;--blue2:#0c4fd1;--green:#087a55;--orange:#b65b00;--red:#b42318;--purple:#6e3ccf;--shadow:0 18px 45px rgba(15,23,42,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px}a{color:inherit}h1,h2,h3,p{margin-top:0}.topbar{height:74px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1440px)/2));position:sticky;top:0;z-index:10;box-shadow:0 6px 20px rgba(5,12,23,.18)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand span:last-child{display:flex;flex-direction:column}.brand small{font-size:11px;color:#aeb9c8;letter-spacing:.05em}.brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#2d75ff,#0e46b7);display:grid;place-items:center;color:#fff;font-weight:900;font-size:24px;box-shadow:0 10px 24px rgba(20,99,255,.28)}.smallmark{width:38px;height:38px;border-radius:11px;font-size:20px}.topbar nav{display:flex;gap:8px}.topbar nav a{text-decoration:none;color:#c8d1df;padding:10px 13px;border-radius:9px;font-size:14px}.topbar nav a:hover,.topbar nav a.active{background:#1b2a3f;color:#fff}.container{max-width:1440px;margin:0 auto;padding:30px 24px 60px}.narrow{max-width:1120px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:10px 0 24px}.hero h1{font-size:38px;letter-spacing:-.04em;margin:6px 0 7px}.hero p{color:var(--muted);margin:0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--blue)}.source-meta{background:#eaf0ff;border:1px solid #cfdbff;border-radius:15px;padding:15px 18px;display:flex;flex-direction:column;min-width:260px}.source-meta span,.source-meta small{font-size:12px;color:#5d6b85}.source-meta strong{margin:3px 0}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.kpis article{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:17px 19px;box-shadow:0 7px 25px rgba(15,23,42,.04)}.kpis span{display:block;color:var(--muted);font-size:12px}.kpis strong{display:block;font-size:27px;margin-top:6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin-bottom:18px}.filters{padding:18px}.scope-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.scope-tabs input{position:absolute;opacity:0}.scope-tabs span{display:block;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;cursor:pointer;font-weight:650;font-size:13px}.scope-tabs input:checked+span{background:var(--nav);border-color:var(--nav);color:#fff}.filter-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:13px;align-items:end}.search-field{grid-column:span 2}label{display:flex;flex-direction:column;gap:7px;color:#485467;font-size:12px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfd6e1;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(20,99,255,.12)}.check{flex-direction:row;align-items:center;gap:8px;height:42px}.check input{width:auto}.actions{display:flex;gap:8px;align-items:center;grid-column:span 3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;border:1px solid var(--line);background:#fff;color:#233044;border-radius:10px;padding:10px 14px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2)}.btn.secondary{background:#eef3ff;border-color:#d6e1ff;color:#164ca8}.btn.ghost{background:transparent}.btn.danger{background:#fff0ef;color:var(--red);border-color:#f3c8c4}.btn.compact{padding:7px 10px;font-size:12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.panel-head h2,.panel h2{font-size:18px;margin-bottom:5px}.panel-head p,.panel p{color:var(--muted)}.table-panel{padding:0;overflow:hidden}.table-panel .panel-head{padding:21px 22px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1060px}th{background:#f8fafc;text-align:left;color:#647084;font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding:12px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:14px;border-bottom:1px solid #ebeff4;vertical-align:top;font-size:13px}td strong,td small,td a{display:block}td small{color:var(--muted);margin-top:4px}td code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;background:#f2f4f7;padding:3px 5px;border-radius:5px}.badge{display:inline-flex;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.badge.active{background:#e6f6ef;color:var(--green)}.badge.expiring{background:#fff2df;color:var(--orange)}.badge.expired,.badge.blocked{background:#feeceb;color:var(--red)}.badge.unknown{background:#edf0f5;color:#596579}.review{display:inline-flex!important;margin-top:7px;border-left:3px solid #aab4c2;padding-left:7px;font-size:11px;color:#667085}.review.verified{border-color:var(--green);color:var(--green)}.review.watch{border-color:var(--orange);color:var(--orange)}.review.blocked{border-color:var(--red);color:var(--red)}.star{display:block;color:#e0a400;font-size:17px;margin-top:5px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 21px}.pagination div{display:flex;gap:8px}.empty{text-align:center;padding:58px 20px}.muted{color:var(--muted)}.small{font-size:12px}.alert{border-radius:12px;padding:13px 15px;margin:0 0 16px}.alert.success{background:#e8f7ef;color:#07623f;border:1px solid #bce8d1}.alert.danger{background:#fff0ef;color:#9e251c;border:1px solid #f3c8c4}.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#dce7ff 0,transparent 38%),#eef2f7}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 30px 70px rgba(15,23,42,.14)}.auth-card .brand-mark{margin-bottom:20px}.auth-card h1{font-size:27px;letter-spacing:-.03em}.auth-card p{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:15px}.setup-card{width:min(520px,100%)}.admin-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stack-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-grid div{background:#f7f9fc;border:1px solid #e8ecf2;border-radius:13px;padding:15px}.feature-grid strong,.feature-grid span{display:block}.feature-grid span{color:var(--muted);font-size:12px;margin-top:5px}.danger-zone{border-color:#f1c4bf}.back{display:inline-block;text-decoration:none;color:#516174;margin-bottom:20px}.detail-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.detail-header h1{font-size:34px;margin:10px 0 5px}.detail-header p{color:var(--muted)}.detail-actions{display:flex;gap:8px}.info-card dl{display:grid;grid-template-columns:170px 1fr;margin:0}.info-card dt,.info-card dd{padding:10px 0;border-bottom:1px solid #edf0f4}.info-card dt{color:var(--muted)}.info-card dd{margin:0;font-weight:650}.checklist{padding-left:19px;color:#455164}.checklist li{margin:10px 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.wide{grid-column:1/-1}.edit-card textarea{resize:vertical}.source-meta small{line-height:1.4}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(3,1fr)}.search-field{grid-column:span 2}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{height:auto;padding:13px 16px;align-items:flex-start}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.brand small{display:none}.container{padding:22px 14px 45px}.hero,.detail-header{align-items:flex-start;flex-direction:column}.source-meta{width:100%}.kpis{grid-template-columns:repeat(2,1fr)}.filter-grid,.admin-grid,.detail-grid,.form-grid,.feature-grid{grid-template-columns:1fr}.search-field,.actions,.wide{grid-column:auto}.actions{flex-wrap:wrap}.scope-tabs{display:grid;grid-template-columns:1fr 1fr}.detail-actions{flex-wrap:wrap}.info-card dl{grid-template-columns:1fr}.info-card dd{padding-top:0}.auth-card{padding:26px}.hero h1,.detail-header h1{font-size:30px}}
/* Devis fournisseurs */
.table-actions{display:flex;flex-direction:column;gap:6px;min-width:145px}.checkbox-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.check-card{display:flex;flex-direction:row;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#f9fafc;cursor:pointer;color:#344054;font-size:13px}.check-card input{width:auto}.check-card:has(input:checked){border-color:#9db9ff;background:#eef3ff;color:#164ca8}.top-gap{margin-top:16px}.send-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;border-color:#b8caef;background:linear-gradient(135deg,#fff,#f4f7ff)}.send-panel p{margin-bottom:0;max-width:700px}.send-actions{display:flex;gap:9px;flex-shrink:0}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.message-preview{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.message-preview summary{cursor:pointer;font-weight:750}.message-preview pre{white-space:pre-wrap;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:16px;max-height:520px;overflow:auto;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.separator{border:0;border-top:1px solid var(--line);margin:22px 0}.inline-form{display:flex;align-items:end;gap:12px}.inline-form label{min-width:280px}.quote-form h2{margin-bottom:16px}.quote-form h3{margin-top:0}.quote-form small{font-weight:400;color:var(--muted);line-height:1.4}.info-card:not(.panel) dl{display:grid;grid-template-columns:150px 1fr;margin:0}.info-card:not(.panel) dt,.info-card:not(.panel) dd{padding:9px 0;border-bottom:1px solid #edf0f4}.info-card:not(.panel) dt{color:var(--muted)}.info-card:not(.panel) dd{margin:0;font-weight:650}
@media(max-width:980px){.checkbox-grid{grid-template-columns:repeat(2,1fr)}.send-panel{align-items:flex-start;flex-direction:column}.send-actions{width:100%;flex-wrap:wrap}.send-actions .btn{flex:1}.inline-form{align-items:stretch;flex-direction:column}.inline-form label{min-width:0}}
@media(max-width:560px){.checkbox-grid{grid-template-columns:1fr}.table-actions{min-width:125px}}
