.administrator-dashboard,.commercial-dashboard,.administration-dashboard,.technician-dashboard { display:none; }
body[data-role="administrator"] .administrator-dashboard { display:grid; }
body[data-role="commercial"] .commercial-dashboard { display:grid; }
body[data-role="administration"] .administration-dashboard { display:grid; }
body[data-role="technician"] .technician-dashboard { display:grid; }
.workspace-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.single-workspace { grid-template-columns:minmax(0,560px); }
.workspace-card { display:grid; min-height:144px; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:15px; padding:22px; text-align:left; color:var(--ink); border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 4px 14px #173d4c0c; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.workspace-card:hover { transform:translateY(-2px); border-color:#87b9d8; box-shadow:0 8px 22px #173d4c18; }
.workspace-icon { display:grid; width:40px; height:40px; place-items:center; border-radius:11px; color:#fff; background:var(--blue); font-weight:900; font-size:1.05rem; }
.workspace-card strong { display:block; color:var(--navy); font-size:1.15rem; }
.workspace-card small { display:block; margin-top:5px; color:var(--muted); font-weight:500; font-size:.89rem; }
.workspace-card > b { color:var(--blue); white-space:nowrap; }
.module-group { gap:10px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 2px 5px #173d4c08; }.module-label { margin:0; color:var(--navy); font-weight:800; font-size:.95rem; }
.two-choice-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); max-width:430px; }.commercial-client-type { margin-top:20px; }.commercial-visit-fields { margin-top:20px; }
.commercial-request-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); max-width:650px; }.drawing-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-top:22px; }.drawing-heading h3 { margin:0; font-size:1rem; }.drawing-tools { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }.drawing-tools .button { padding:8px 10px; font-size:.85rem; }.drawing-tools .is-active { color:#fff; background:var(--blue); }.commercial-drawing { display:block; width:100%; height:360px; margin-top:12px; border:2px solid #b9cad2; border-radius:12px; background:#fff; touch-action:none; }
.commercial-admin-list { display:grid; gap:12px; }.commercial-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }.commercial-item h2 { margin:0; font-size:1.1rem; }.commercial-item p { margin:5px 0 0; color:var(--muted); }.quote-status { appearance:none; border:0; border-radius:99px; padding:8px 11px; color:#785000; background:#fff1cd; font-weight:800; }.quote-status[data-status="En préparation"] { color:#075985; background:#e0f2fe; }.quote-status[data-status="Terminé"] { color:#0d663d; background:#dcf5e7; }
.commercial-detail { display:grid; gap:18px; }.commercial-detail-grid { display:grid; grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr); gap:18px; }.detail-card { padding:22px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 2px 5px #173d4c08; }.detail-card h2 { margin:0 0 15px; font-size:1.12rem; }.detail-row { display:grid; grid-template-columns:130px 1fr; gap:14px; padding:9px 0; border-bottom:1px solid #edf1f5; }.detail-row:last-child { border-bottom:0; }.detail-row strong { color:var(--navy); }.detail-notes { white-space:pre-wrap; line-height:1.6; }.detail-drawing { display:block; width:100%; max-height:500px; object-fit:contain; border:1px solid var(--line); border-radius:10px; background:#fff; }.detail-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:12px; }.detail-photos button { padding:0; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#fff; }.detail-photos img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }.status-control { display:flex; align-items:center; justify-content:space-between; gap:12px; }.status-control select { min-width:180px; padding:10px; border:1px solid var(--line); border-radius:8px; background:#fff; }
body[data-role="administrator"] .administrator-only { display:block !important; } body[data-role="administrator"] .office-only,body[data-role="administration"] .office-only { display:block !important; } body[data-role="commercial"] .office-only,body[data-role="commercial"] .administrator-only { display:none !important; }
@media (max-width:650px) { .workspace-grid { grid-template-columns:1fr; }.workspace-card { min-height:122px; padding:18px; }.commercial-request-grid { grid-template-columns:1fr; }.drawing-heading { flex-direction:column; }.drawing-tools { justify-content:flex-start; }.commercial-drawing { height:280px; }.commercial-item { grid-template-columns:1fr; }.commercial-detail-grid { grid-template-columns:1fr; }.detail-row { grid-template-columns:1fr; gap:3px; }.status-control { align-items:flex-start; flex-direction:column; }.status-control select { width:100%; } }
