:root{--bg:#f4f7fb;--panel:#fff;--text:#172033;--muted:#667085;--primary:#0b4aa2;--primary2:#2667c9;--line:#dce3ec;--danger:#b42318;--ok:#067647;--warn:#b54708;--shadow:0 12px 35px rgba(13,42,76,.09)}
[data-theme="dark"]{--bg:#0c1320;--panel:#121d2d;--text:#eef4ff;--muted:#9fb0c8;--line:#26364d;--primary:#3b82f6;--primary2:#60a5fa;--shadow:0 14px 40px rgba(0,0,0,.32)}
[data-theme="violet"]{--primary:#6d28d9;--primary2:#8b5cf6}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.app{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{background:#071b34;color:#eaf2ff;padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar .brand-logo{width:100%;max-width:210px;margin:0 auto 22px;display:block}.nav a{display:flex;gap:10px;align-items:center;padding:11px 13px;margin:4px 0;border-radius:10px;text-decoration:none;color:#cfe0f6}.nav a:hover,.nav a.active{background:#143d6d;color:#fff}.main{min-width:0}.topbar{height:70px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.content{padding:22px;max-width:1600px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title h1{font-size:24px;margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 22px}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;padding:18px}.metric{cursor:pointer;text-decoration:none}.metric .n{font-size:26px;font-weight:800;margin-top:7px}.metric .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:10px 14px;text-decoration:none;cursor:pointer;font-weight:650}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:var(--panel);border:1px solid var(--line);color:var(--text)}.btn.danger{background:#fee4e2;color:#b42318}.btn.small{padding:6px 9px;font-size:12px}.table-wrap{overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:rgba(127,127,127,.035);position:sticky;top:0}tr:hover td{background:rgba(38,103,201,.035)}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750;background:#e8eef7}.badge.ok{background:#dcfae6;color:#067647}.badge.danger{background:#fee4e2;color:#b42318}.badge.warn{background:#fef0c7;color:#b54708}.badge.info{background:#e0f2fe;color:#075985}.form-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}form.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{font-weight:650;display:block}input,select,textarea{width:100%;margin-top:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;padding:10px 11px;font:inherit}textarea{min-height:90px;resize:vertical}.span2{grid-column:1/-1}.alert{padding:11px 13px;border-radius:10px;margin-bottom:12px;background:#eef4ff}.alert.ok{background:#dcfae6;color:#067647}.alert.danger{background:#fee4e2;color:#b42318}.alert.warn{background:#fef0c7;color:#b54708}.muted{color:var(--muted)}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#071b34,#0b4aa2 60%,#3b82f6)}.login-card,.install-card{width:min(460px,100%);background:#fff;color:#172033;border-radius:18px;padding:26px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.login-card .brand-logo,.install-card .brand-logo{width:100%;max-width:320px}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.doc{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel)}.doc img{max-width:100%;max-height:220px;display:block;margin:auto}.split{display:grid;grid-template-columns:2fr 1fr;gap:18px}.timeline{border-left:3px solid var(--line);padding-left:16px}.timeline .event{margin-bottom:13px}.search{min-width:240px}.footer-note{font-size:12px;color:var(--muted);margin-top:24px}.theme-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:7px 9px;cursor:pointer}
@media(max-width:1050px){.app{grid-template-columns:84px 1fr}.sidebar .brand-logo{display:none}.nav a{justify-content:center;font-size:0}.nav a span:first-child{font-size:20px}.cards{grid-template-columns:repeat(2,1fr)}.grid2,.split{grid-template-columns:1fr}}
@media(max-width:680px){.app{display:block}.sidebar{position:static;height:auto}.nav{display:flex;overflow:auto}.nav a{min-width:52px}.topbar{padding:0 12px}.content{padding:14px}.cards{grid-template-columns:1fr 1fr}.page-title{align-items:flex-start;flex-direction:column}form.grid{grid-template-columns:1fr}.span2{grid-column:auto}.doc-grid{grid-template-columns:1fr}.search{min-width:0;width:100%}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.app{display:block}.content{padding:0}.card,.table-wrap{box-shadow:none;border:0}body{background:#fff;color:#000}}
/* SIGC-DRHKAT v1.1 - propriétés avancées des listes et colonnes */
.list-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 9px;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.list-search{width:min(330px,100%);margin:0}.page-size-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.page-size-label select{width:auto;margin:0;padding:6px 28px 6px 8px}.pager{display:inline-flex;gap:5px;margin-left:auto}.column-panel{display:flex;flex-wrap:wrap;gap:7px 14px;padding:10px 12px;margin:-3px 0 9px;background:var(--panel);border:1px solid var(--line);border-radius:11px}.column-panel label{font-weight:500;font-size:12px;display:flex;gap:5px;align-items:center}.column-panel input{width:auto;margin:0}.smart-table th{user-select:none;position:relative}.smart-table th:not(:last-child){cursor:pointer}.resize-handle{position:absolute;right:-3px;top:0;width:7px;height:100%;cursor:col-resize;z-index:3}.column-filters th{padding:5px 7px;background:var(--panel);top:34px}.column-filters input{margin:0;padding:6px 7px;font-size:11px;min-width:70px}.row-number{font-weight:700;color:var(--muted);white-space:nowrap}.actions{white-space:nowrap;display:flex;gap:5px;align-items:center}.actions form{display:inline}.danger-link{color:var(--danger)}.edit-banner{border-left:4px solid var(--primary)}.smart-table tbody tr[data-href]{cursor:pointer}.smart-table tbody tr[data-href]:hover td{background:rgba(38,103,201,.07)}
@media(max-width:680px){.list-tools{align-items:stretch}.list-search{width:100%}.pager{margin-left:0}.column-panel{max-height:220px;overflow:auto}}
@media print{.column-filters,.list-tools,.column-panel,.actions,.no-export{display:none!important}.smart-table th,.smart-table td{display:table-cell!important}}
