
:root{
  --cm-red:#c91522;
  --cm-red-dark:#a90f1a;
  --cm-dark:#17191d;
  --cm-dark2:#202329;
  --cm-bg:#eef1f4;
  --cm-panel:#ffffff;
  --cm-border:#d7dce2;
  --cm-text:#22262b;
  --cm-muted:#707882;
}
*{box-sizing:border-box}
body{background:var(--cm-bg)}
.cm-wrap{
  font-family:Arial,Helvetica,sans-serif;
  background:var(--cm-bg);
  min-height:100vh;
  color:var(--cm-text);
  width:100%;
  margin:0;
  padding:0 0 45px;
}
.cm-header{
  height:78px;
  background:var(--cm-dark);
  color:#fff;
  padding:0 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:4px solid var(--cm-red);
}
.cm-brand{font-size:27px;font-weight:800;letter-spacing:.6px;line-height:1}
.cm-brand span{color:#ff3545}
.cm-sub{font-size:12px;opacity:.72;margin-top:7px}
.cm-user{font-size:13px}
.cm-user a{color:#fff;text-decoration:none}

.cm-nav{
  display:flex;
  gap:0;
  background:#fff;
  padding:0 28px;
  border-bottom:1px solid var(--cm-border);
  min-height:52px;
  align-items:stretch;
  overflow:visible;
}
.cm-nav a{
  display:flex;
  align-items:center;
  padding:0 18px;
  min-height:52px;
  text-decoration:none;
  color:#34383d;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
  border-bottom:3px solid transparent;
}
.cm-nav a:hover{background:#f7f8fa}
.cm-nav a.active{color:var(--cm-red);border-color:var(--cm-red)}

.cm-main{
  width:calc(100% - 48px);
  max-width:none;
  margin:24px auto 0;
  padding:0;
}
.cm-cards{
  display:grid;
  grid-template-columns:repeat(6,minmax(150px,1fr));
  gap:14px;
  margin-bottom:18px;
}
.cm-card,.cm-panel{
  background:var(--cm-panel);
  border:1px solid var(--cm-border);
  border-radius:7px;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.cm-card{
  min-height:100px;
  padding:17px 18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.cm-card span{display:block;color:var(--cm-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.2px}
.cm-card strong{font-size:23px;line-height:1.1}
.cm-panel{padding:20px 22px;margin-bottom:18px}
.cm-panel h2{margin:0 0 16px;font-size:18px}
.cm-grid2{
  display:grid;
  grid-template-columns:420px minmax(0,1fr);
  gap:18px;
}
.cm-form label{display:block;font-weight:700;font-size:12px;margin-bottom:11px;color:#444a50}
.cm-form input,.cm-form select,.cm-form textarea{
  width:100%;
  padding:9px 10px;
  border:1px solid #cbd1d8;
  border-radius:5px;
  background:#fff;
  margin-top:5px;
  font-size:14px;
}
.cm-form textarea{min-height:70px;resize:vertical}
.cm-formgrid{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:12px;
}
.cm-btn{
  display:inline-block;
  background:var(--cm-red);
  color:#fff!important;
  border:0;
  border-radius:5px;
  padding:10px 16px;
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
  font-size:13px;
}
.cm-btn:hover{background:var(--cm-red-dark)}
.cm-tablewrap{overflow:auto;border:1px solid #e2e5e9;border-radius:5px}
.cm-tablewrap table{width:100%;border-collapse:collapse;background:#fff;min-width:920px}
.cm-tablewrap th,.cm-tablewrap td{
  text-align:left;
  padding:10px 11px;
  border-bottom:1px solid #e7eaee;
  vertical-align:middle;
}
.cm-tablewrap th{
  font-size:11px;
  text-transform:uppercase;
  color:#666e77;
  background:#f4f6f8;
  position:sticky;
  top:0;
  z-index:1;
}
.cm-tablewrap td{font-size:13px}
.cm-tablewrap tbody tr:hover{background:#fafbfc}
.cm-status{
  display:inline-block;
  background:#edf0f3;
  border-radius:14px;
  padding:4px 8px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.cm-finalizado{background:#dff4e5}
.cm-incidencia{background:#ffe1e1}
.cm-esperando{background:#fff1c9}
.cm-entrega{background:#e2edff}
.cm-login{
  max-width:540px;
  margin:70px auto;
  background:#fff;
  border:1px solid #ddd;
  border-radius:8px;
  padding:32px;
  text-align:center;
}

/* Escritorio: diseñado para 1366px, 1440px y 1920px */
@media (min-width:1200px){
  .cm-main{width:calc(100% - 60px)}
  .cm-panel{padding:22px 24px}
}
@media (min-width:1600px){
  .cm-header{padding-left:42px;padding-right:42px}
  .cm-nav{padding-left:36px;padding-right:36px}
  .cm-main{width:calc(100% - 84px)}
  .cm-cards{gap:18px}
  .cm-card{min-height:108px}
  .cm-formgrid{grid-template-columns:repeat(6,minmax(160px,1fr))}
}

/* Solo como respaldo para pantallas pequeñas; la interfaz principal es de escritorio */
@media(max-width:1100px){
  .cm-cards{grid-template-columns:repeat(3,1fr)}
  .cm-formgrid{grid-template-columns:repeat(3,1fr)}
  .cm-grid2{grid-template-columns:360px 1fr}
}


/* V1.0.2: modo aplicación de escritorio a pantalla completa */
html, body.cm-app-page { width:100%; min-width:1180px; background:var(--cm-bg)!important; }
body.cm-app-page #page,
body.cm-app-page #content,
body.cm-app-page .site-content,
body.cm-app-page .content-area,
body.cm-app-page .site-main,
body.cm-app-page .entry-content,
body.cm-app-page .wp-block-group,
body.cm-app-page .wp-block-post-content {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.cm-app-page .cm-wrap{
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
}
body.cm-app-page .cm-header{
  width:100%;
  min-height:76px;
  padding-left:36px;
  padding-right:36px;
}
body.cm-app-page .cm-nav{
  width:100%;
  padding-left:28px;
  padding-right:28px;
  overflow-x:auto;
}
body.cm-app-page .cm-main{
  width:calc(100% - 48px)!important;
  max-width:none!important;
  margin:22px 24px 0!important;
}
body.cm-app-page .cm-cards{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
body.cm-app-page .cm-panel{
  width:100%;
}
body.cm-app-page .cm-tablewrap table{
  min-width:100%;
}

.cm-titlebar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.cm-titlebar h2{margin:0}
.cm-hidden{display:none}.cm-formbox{background:#f7f8fa;border:1px solid #e0e4e8;border-radius:6px;padding:18px;margin-top:15px}
.cm-secondary{border:1px solid #bfc6ce;background:#fff;border-radius:5px;padding:8px 12px;font-weight:700;cursor:pointer;margin:5px 0 14px}
.cm-line{display:grid;grid-template-columns:minmax(300px,3fr) 100px 140px 140px;gap:8px;margin-bottom:8px}.cm-line input{padding:9px;border:1px solid #cbd1d8;border-radius:5px}
.cm-inline-create{display:flex;gap:10px;max-width:700px}.cm-inline-create select{flex:1;padding:9px;border:1px solid #cbd1d8;border-radius:5px}
.cm-small{padding:7px 10px;font-size:11px}
.cm-docs{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;margin-top:18px}.cm-doc{display:flex;gap:12px;align-items:center;border:1px solid #e0e4e8;padding:10px;border-radius:6px;background:#fafbfc}.cm-doc img{width:70px;height:60px;object-fit:cover}.cm-fileicon{width:70px;height:60px;background:#e9edf1;display:flex;align-items:center;justify-content:center;font-weight:800}

.cm-notice{background:#e7f7eb;border:1px solid #b7dfc0;padding:11px 14px;border-radius:6px;margin-bottom:16px;font-weight:700}
.cm-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:14px;margin-bottom:18px}
.cm-shortcuts a{display:flex;min-height:112px;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--cm-border);border-radius:7px;padding:18px;text-decoration:none;color:var(--cm-text);box-shadow:0 1px 4px rgba(0,0,0,.05);transition:.15s}
.cm-shortcuts a:hover{transform:translateY(-1px);border-color:#b5bcc4;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.cm-shortcuts strong{font-size:15px;margin-bottom:8px;color:var(--cm-red)}
.cm-shortcuts span{font-size:12px;color:#6c747d;line-height:1.4}
.cm-kpis .cm-card{min-height:86px}
.cm-item-thumb{width:70px!important;height:55px!important;object-fit:cover;border-radius:4px}
@media(max-width:1450px){.cm-shortcuts{grid-template-columns:repeat(4,1fr)}}


/* Acceso de entrega: el cliente no ve WordPress */
body.cm-app-page:not(.logged-in){background:#f0f2f5!important;min-width:0!important}
body.cm-app-page:not(.logged-in) .cm-wrap{min-width:0}
.cm-login-screen{
    width:100vw;min-height:100vh;display:flex;align-items:center;justify-content:center;
    padding:36px;background:
    radial-gradient(circle at 15% 20%,rgba(201,21,34,.08),transparent 30%),
    linear-gradient(135deg,#eef1f4 0%,#f8f9fa 55%,#eceff2 100%);
    box-sizing:border-box;font-family:Arial,Helvetica,sans-serif
}
.cm-login-panel{
    width:460px;max-width:calc(100vw - 50px);background:#fff;border:1px solid #dfe3e8;
    box-shadow:0 18px 50px rgba(20,27,35,.14);border-radius:10px;padding:38px 42px 32px;
    box-sizing:border-box
}
.cm-login-logo{font-size:24px;font-weight:900;letter-spacing:.4px;color:#17191d;margin-bottom:4px}
.cm-login-logo span{color:#c91522}
.cm-login-tagline{font-size:12px;text-transform:uppercase;letter-spacing:1.15px;color:#7a828b;border-bottom:1px solid #e5e8eb;padding-bottom:22px;margin-bottom:26px}
.cm-login-panel h1{font-size:25px;line-height:1.15;margin:0 0 8px!important;color:#17191d}
.cm-login-intro{font-size:14px;line-height:1.5;color:#68717a;margin:0 0 22px}
.cm-login-form label{display:block;font-size:12px;font-weight:800;color:#3c434a;margin-bottom:15px;text-transform:uppercase;letter-spacing:.35px}
.cm-login-form input[type=text],.cm-login-form input[type=password]{
    width:100%;box-sizing:border-box;margin-top:7px;padding:12px 13px;border:1px solid #cbd1d8;border-radius:5px;
    background:#fff;font-size:15px;outline:none
}
.cm-login-form input[type=text]:focus,.cm-login-form input[type=password]:focus{border-color:#c91522;box-shadow:0 0 0 2px rgba(201,21,34,.08)}
.cm-login-form .cm-remember{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:600;color:#68717a}
.cm-login-button{
    display:block;width:100%;border:0;border-radius:5px;background:#c91522;color:#fff!important;
    text-align:center;text-decoration:none;padding:13px 18px;font-size:13px;font-weight:900;letter-spacing:.6px;cursor:pointer
}
.cm-login-button:hover{filter:brightness(.94)}
.cm-login-link{box-sizing:border-box;margin-top:18px}
.cm-login-error{padding:10px 12px;background:#fff1f1;border:1px solid #efb8bc;color:#9d151e;border-radius:5px;font-size:13px;margin-bottom:18px}
.cm-login-foot{font-size:11px;text-align:center;color:#9aa1a8;margin-top:24px}

html,body.cm-app-page{margin:0!important;padding:0!important;width:100%!important;min-height:100vh!important;overflow-x:hidden}
body.cm-app-page .cm-login-screen{min-height:100vh!important}
body.cm-app-page .cm-wrap{width:100vw!important;max-width:none!important;margin:0!important;padding:0!important}
body.cm-app-page .cm-main{width:calc(100% - 48px)!important;max-width:none!important}
body.cm-app-page .cm-header{width:100%!important;box-sizing:border-box}

/* 1.2.2 - Marca en una sola línea */
.cm-login-logo{
    white-space:nowrap!important;
    font-size:24px!important;
    font-weight:900!important;
    letter-spacing:.4px!important;
    color:#17191d!important;
}

/* 1.2.3 - Cabecera propia Vedruna Muebles, independiente del tema */
body.cm-app-page .vedruna-app-header{
    display:flex!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    align-items:center!important;
    padding:0 34px!important;
    margin:0!important;
    box-sizing:border-box!important;
    background:#17191d!important;
    border-bottom:4px solid #c91522!important;
    position:relative!important;
    z-index:9999!important;
}
body.cm-app-page .vedruna-app-brand{
    display:block!important;
    color:#fff!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.7px!important;
    white-space:nowrap!important;
    margin:0!important;
    padding:0!important;
}
body.cm-app-page .cm-login-screen{
    min-height:calc(100vh - 72px)!important;
}

/* 1.2.4 - Restaurar navegación propia de la aplicación */
body.cm-app-page .cm-nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
}
body.cm-app-page .cm-nav a{
    display:flex!important;
}
