/* RN Dulce y Salado — panel administrativo */
:root{
  --rn-brand:#c2410c; --rn-brand-600:#ea580c; --rn-brand-700:#9a3412; --rn-brand-50:#fff4ed; --rn-brand-100:#ffe4d0;
  --rn-dulce:#db2777; --rn-dulce-50:#fdf2f8;
  --rn-cocoa:#2b1d16; --rn-cocoa-2:#3a2820;
  --rn-bg:#f7f4f0; --rn-card:#ffffff; --rn-text:#1f1b18; --rn-muted:#6b635d; --rn-border:#e9e3dc; --rn-soft:#f3eee8;
  --st-nueva:#2563eb; --st-confirmada:#7c3aed; --st-lista:#0d9488; --st-en_ruta:#ea580c; --st-entregada:#16a34a; --st-cancelada:#6b7280;
  --pg-pagado:#16a34a; --pg-por_confirmar:#d97706; --pg-pendiente:#dc2626; --pg-credito:#4f46e5;
  --tr-no_vencido:#16a34a; --tr-vencido:#d97706; --tr-atrasado:#dc2626;
  --rn-radius:14px; --rn-shadow:0 1px 2px rgba(43,29,22,.06),0 4px 16px rgba(43,29,22,.06);
  --rn-side-w:244px;
}
html,body{background:var(--rn-bg)}
body.rn-admin{font-family:'Ubuntu',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--rn-text);font-size:15px}
a{color:var(--rn-brand)} a:hover{color:var(--rn-brand-700)}
.text-muted{color:var(--rn-muted)!important}
.btn{border-radius:10px;font-weight:500}
.btn-primary,.btn-brand{background:var(--rn-brand);border-color:var(--rn-brand);color:#fff}
.btn-primary:hover,.btn-brand:hover,.btn-primary:focus,.btn-brand:focus{background:var(--rn-brand-700);border-color:var(--rn-brand-700);color:#fff}
.btn-primary:not(:disabled):not(.disabled):active{background:var(--rn-brand-700);border-color:var(--rn-brand-700)}
.btn-primary:disabled,.btn-primary.disabled,.btn-brand:disabled,.btn-brand.disabled{background:var(--rn-brand);border-color:var(--rn-brand);color:#fff;opacity:.45}
.btn-outline-primary{color:var(--rn-brand);border-color:var(--rn-brand)}
.btn-outline-primary:hover{background:var(--rn-brand);border-color:var(--rn-brand);color:#fff}
.btn-soft{background:var(--rn-soft);border-color:var(--rn-soft);color:var(--rn-text)}
.btn-soft:hover{background:#ebe4dc}
.form-control,.custom-select{border-radius:10px;border-color:#ddd4ca}
.form-control:focus,.custom-select:focus{border-color:var(--rn-brand-600);box-shadow:0 0 0 .2rem rgba(234,88,12,.15)}
.custom-control-input:checked~.custom-control-label::before{background:var(--rn-brand);border-color:var(--rn-brand)}
.modal-content{border:0;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.modal-header{border-bottom-color:var(--rn-border)} .modal-footer{border-top-color:var(--rn-border)}
.dropdown-menu{border-radius:12px;border-color:var(--rn-border);box-shadow:var(--rn-shadow)}
.table td,.table th{border-top-color:var(--rn-border);vertical-align:middle}
.table thead th{border-bottom:1px solid var(--rn-border);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--rn-muted);font-weight:500;background:#fbf9f6}

/* --- Estructura --- */
.rn-app{display:flex;min-height:100vh}
.rn-side{width:var(--rn-side-w);background:var(--rn-cocoa);color:#e9dfd6;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:1040;transition:transform .25s}
.rn-side-brand{padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.06)}
.rn-side-brand a{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:15px;line-height:1.15}
.rn-side-brand img{width:38px;height:38px;border-radius:10px;object-fit:cover;background:#fff}
.rn-nav{flex:1;overflow-y:auto;padding:8px 10px 16px}
.rn-nav-group{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#a8968a;padding:14px 10px 6px}
.rn-nav-item{display:flex;align-items:center;gap:10px;color:#e9dfd6;padding:9px 10px;border-radius:10px;text-decoration:none!important;font-size:14.5px;margin-bottom:2px}
.rn-nav-item i{color:#c9b8ab;width:18px}
.rn-nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.rn-nav-item.active{background:var(--rn-brand);color:#fff}
.rn-nav-item.active i{color:#fff}
.rn-nav-badge{margin-left:auto;background:#ef4444;color:#fff;border-radius:999px;font-size:11px;font-weight:700;min-width:20px;height:20px;line-height:20px;text-align:center;padding:0 6px}
.rn-nav-badge-soft{background:rgba(255,255,255,.18)}
.rn-side-foot{padding:12px 16px;border-top:1px solid rgba(255,255,255,.06);font-size:13px}
.rn-side-foot a{color:#c9b8ab;text-decoration:none} .rn-side-foot a:hover{color:#fff}
.rn-main{flex:1;margin-left:var(--rn-side-w);min-width:0;display:flex;flex-direction:column}
.rn-top{height:64px;background:#fff;border-bottom:1px solid var(--rn-border);display:flex;align-items:center;gap:14px;padding:0 22px;position:sticky;top:0;z-index:1020}
.rn-top-title{min-width:0}
.rn-top-title h1{font-size:19px;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rn-top-title small{color:var(--rn-muted);font-size:12.5px}
.rn-top-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.rn-top-date{color:var(--rn-muted);font-size:13px}
.rn-user{display:flex;align-items:center;gap:8px;border:1px solid var(--rn-border);background:#fff;border-radius:999px;padding:4px 12px 4px 4px;font-size:14px;color:var(--rn-text)}
.rn-user img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.rn-burger{display:none;border:0;background:var(--rn-soft);width:40px;height:40px;border-radius:10px;font-size:18px;color:var(--rn-text)}
.rn-content{padding:22px;flex:1}
.rn-content-embed{padding:12px}
.rn-side-backdrop{display:none}
@media (max-width:991.98px){
  .rn-side{transform:translateX(-100%)}
  body.rn-side-open .rn-side{transform:none}
  body.rn-side-open .rn-side-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1030}
  .rn-main{margin-left:0}
  .rn-burger{display:inline-block}
  .rn-content{padding:14px}
  .rn-top{padding:0 12px}
}

/* --- Componentes --- */
.rn-card{background:var(--rn-card);border:1px solid var(--rn-border);border-radius:var(--rn-radius);box-shadow:var(--rn-shadow)}
.rn-card-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--rn-border)}
.rn-card-h h2,.rn-card-h h3{font-size:16px;font-weight:700;margin:0}
.rn-card-b{padding:16px 18px}
.rn-section-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--rn-muted);font-weight:500;margin:22px 0 10px}
.rn-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.rn-kpi{background:#fff;border:1px solid var(--rn-border);border-radius:var(--rn-radius);padding:14px 16px;box-shadow:var(--rn-shadow);position:relative;overflow:hidden}
.rn-kpi-l{font-size:12.5px;color:var(--rn-muted);display:flex;align-items:center;gap:6px}
.rn-kpi-v{font-size:26px;font-weight:700;line-height:1.15;margin-top:4px;font-variant-numeric:tabular-nums}
.rn-kpi-s{font-size:12.5px;color:var(--rn-muted);margin-top:2px}
.rn-kpi-ico{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--rn-brand-50);color:var(--rn-brand)}
.rn-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;color:#fff;background:#64748b}
.rn-st-nueva{background:var(--st-nueva)} .rn-st-confirmada{background:var(--st-confirmada)} .rn-st-lista{background:var(--st-lista)}
.rn-st-en_ruta{background:var(--st-en_ruta)} .rn-st-entregada{background:var(--st-entregada)} .rn-st-cancelada{background:var(--st-cancelada)}
.rn-pg-pagado{background:#dcfce7;color:#166534} .rn-pg-por_confirmar{background:#fef3c7;color:#92400e}
.rn-pg-pendiente{background:#fee2e2;color:#991b1b} .rn-pg-credito{background:#e0e7ff;color:#3730a3}
.rn-tr-no_vencido{color:var(--tr-no_vencido)} .rn-tr-vencido{color:var(--tr-vencido)} .rn-tr-atrasado{color:var(--tr-atrasado)}
.rn-tr-bg-no_vencido{background:#dcfce7;color:#166534} .rn-tr-bg-vencido{background:#fef3c7;color:#92400e} .rn-tr-bg-atrasado{background:#fee2e2;color:#991b1b} .rn-tr-bg-al_dia{background:#f1f5f9;color:#475569}
.rn-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.rn-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--rn-border);color:var(--rn-text);font-size:14px;cursor:pointer;text-decoration:none!important;user-select:none}
.rn-tab:hover{border-color:#d6cbbf;color:var(--rn-text)}
.rn-tab.active{background:var(--rn-cocoa);border-color:var(--rn-cocoa);color:#fff}
.rn-tab .n{background:var(--rn-soft);color:var(--rn-text);border-radius:999px;font-size:12px;font-weight:700;min-width:22px;text-align:center;padding:1px 7px}
.rn-tab.active .n{background:rgba(255,255,255,.2);color:#fff}
.rn-table-wrap{overflow-x:auto}
.rn-table{width:100%;margin:0}
.rn-table td{padding:10px 12px;font-size:14px} .rn-table th{padding:10px 12px}
.rn-table tbody tr:hover{background:#fcfaf7}
.rn-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.rn-ordnum{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}
.rn-ordnum small{display:block;font-weight:400;font-size:11.5px;color:var(--rn-muted)}
.rn-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--rn-soft);flex:none}
.rn-avatar-lg{width:72px;height:72px}
.rn-empty{text-align:center;color:var(--rn-muted);padding:36px 12px}
.rn-empty i{font-size:34px;color:#d6cbbf;display:block;margin-bottom:10px}
.rn-chip{display:inline-flex;align-items:center;gap:6px;background:var(--rn-soft);border-radius:999px;padding:4px 10px;font-size:12.5px;color:var(--rn-text)}
.rn-help{font-size:12.5px;color:var(--rn-muted)}
.rn-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.rn-toolbar .form-control,.rn-toolbar .custom-select{width:auto}
.rn-grow{flex:1}
.rn-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#94a3b8}
.rn-alert-soft{background:var(--rn-brand-50);border:1px solid var(--rn-brand-100);border-radius:12px;padding:10px 14px;color:var(--rn-brand-700)}
.rn-link{cursor:pointer;color:var(--rn-brand)} .rn-link:hover{text-decoration:underline}
.rn-copy{cursor:pointer;color:var(--rn-muted)} .rn-copy:hover{color:var(--rn-brand)}

/* --- Zona de imagen (subir / pegar / arrastrar) --- */
.rn-drop{border:2px dashed #d6cbbf;border-radius:14px;padding:16px;text-align:center;color:var(--rn-muted);cursor:pointer;background:#fcfaf7;transition:.15s;outline:none;position:relative}
.rn-drop:hover,.rn-drop:focus,.rn-drop.over{border-color:var(--rn-brand-600);background:var(--rn-brand-50);color:var(--rn-brand-700)}
.rn-drop i{font-size:26px;display:block;margin-bottom:6px}
.rn-drop img{max-width:100%;max-height:220px;border-radius:10px;display:block;margin:0 auto}
.rn-drop .rn-drop-x{position:absolute;top:6px;right:6px;background:#fff;border:1px solid var(--rn-border);border-radius:50%;width:28px;height:28px;line-height:26px;color:#991b1b}
.rn-thumb{width:46px;height:46px;border-radius:8px;object-fit:cover;cursor:zoom-in;border:1px solid var(--rn-border)}

/* --- Toasts --- */
.rn-toasts{position:fixed;right:16px;bottom:16px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:360px}
.rn-toast{background:var(--rn-cocoa);color:#fff;border-radius:12px;padding:11px 14px;box-shadow:0 8px 24px rgba(0,0,0,.2);font-size:14px;display:flex;gap:10px;align-items:flex-start;animation:rnIn .2s ease-out}
.rn-toast.ok{background:#166534} .rn-toast.error{background:#991b1b} .rn-toast.warn{background:#92400e}
@keyframes rnIn{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}

/* --- Línea de tiempo --- */
.rn-timeline{list-style:none;padding:0;margin:0}
.rn-timeline li{position:relative;padding:0 0 12px 22px;font-size:13.5px}
.rn-timeline li::before{content:'';position:absolute;left:5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--rn-brand)}
.rn-timeline li::after{content:'';position:absolute;left:9px;top:16px;bottom:0;width:1px;background:var(--rn-border)}
.rn-timeline li:last-child::after{display:none}
.rn-timeline small{color:var(--rn-muted)}

@media print{
  .rn-side,.rn-top,.rn-toasts,.no-print,.btn{display:none!important}
  .rn-main{margin:0} .rn-content{padding:0} body{background:#fff}
  .rn-card,.rn-kpi{box-shadow:none}
}
