/* Shared UI */
:root{
  --roch-bg:#f5f7fb; --roch-card:#ffffff; --roch-primary:#4570ff; --roch-text:#0e1330; --roch-muted:#667085;
  --roch-ring:rgba(69,112,255,.25); --radius:18px; --shadow:0 8px 24px rgba(18, 38, 63, .08);
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.roch-wrap{max-width:1100px;margin:24px auto;padding:0 16px}
.roch-card{background:var(--roch-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;border:1px solid #eef1f6}
.roch-title{font-weight:800;letter-spacing:.2px;color:var(--roch-text);margin:0 0 12px 0}
.roch-sub{color:var(--roch-muted)}
.roch-btn{display:inline-flex;align-items:center;gap:8px;background:var(--roch-primary);color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer;text-decoration:none}
.roch-btn:hover{filter:brightness(0.95)}
.roch-input,.roch-select,.roch-textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #e6e9f2;background:#fff;outline:none}
.roch-input:focus,.roch-select:focus,.roch-textarea:focus{box-shadow:0 0 0 4px var(--roch-ring);border-color:var(--roch-primary)}
.roch-grid{display:grid;gap:16px}
@media(min-width:900px){.roch-grid.cols-2{grid-template-columns:1fr 1fr}.roch-grid.cols-3{grid-template-columns:1fr 1fr 1fr}}

.widefat.roch-table{border-radius:14px;overflow:hidden;border:1px solid #eef1f6}

/* Légère lueur latérale */
.roch-bg-grad{position:relative}
.roch-bg-grad:before{
  content:"";position:absolute;inset:-60px -80px auto auto;width:360px;height:600px;filter:blur(60px);
  background:radial-gradient(40% 40% at 50% 50%, rgba(69,112,255,.30), transparent 70%);
  pointer-events:none;z-index:-1
}

/* Kanban (front & admin) */
.roch-kanban{display:grid;gap:16px;grid-template-columns:repeat(5,1fr)}
.kan-col{background:#fff;border:1px solid #eef1f6;border-radius:14px;box-shadow:var(--shadow);min-height:200px;display:flex;flex-direction:column}
.kan-head{padding:12px 14px;border-bottom:1px solid #eef1f6;font-weight:700;color:#0e1330}
.kan-list{list-style:none;margin:0;padding:10px;min-height:160px}
.kan-card{background:#f8fafc;border:1px solid #e6e9f2;border-radius:12px;padding:10px 12px;margin:8px 0;cursor:grab}
.kan-card .tit{font-weight:600}
.kan-card .sub{color:#667085;font-size:12px}
.kan-list.drag-over{outline:2px dashed var(--roch-primary);outline-offset:-6px}
