/* Visual language shared with paginaPrincipalPrueba. Loaded after legacy styles. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root {
  --md-ui-bg:#ffffff; --md-ui-surface:#fff; --md-ui-text:#17233b;
  --md-ui-muted:#69758a; --md-ui-line:#e7edf5; --md-ui-line-strong:#d9e1ed;
  --md-ui-primary:#1c2d52; --md-ui-radius:10px;
  --md-ui-shadow:0 8px 22px rgba(15,23,42,.045);
  --color-primary:var(--md-ui-primary); --color-bg:var(--md-ui-bg);
  --color-text:var(--md-ui-text); --radius:10px; --shadow:var(--md-ui-shadow);
}
* { box-sizing:border-box; }
body { margin:0; padding-top:0; background:var(--md-ui-bg); color:var(--md-ui-text); font:14px/1.6 Inter,'Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:none; }
main { min-width:0; padding:20px 0 40px; }
.container { max-width:1320px; }
h1,h2,h3,h4,h5,h6 { color:var(--md-ui-text); letter-spacing:0; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
h1 { font-size:clamp(24px,2.3vw,34px); }
h2 { font-size:clamp(21px,2vw,29px); }
h3 { font-size:clamp(20px,1.8vw,26px); }
h5 { font-size:16px; }
a { color:var(--md-ui-primary); }
.text-muted,small { color:var(--md-ui-muted) !important; }
.navbar { position:sticky; top:0; background:#f9fafb; border-bottom:3px solid var(--md-ui-primary); box-shadow:none; padding:12px 0; z-index:1030; }
.navbar > .container { max-width:1120px; min-height:38px; }
.navbar .navbar-brand,.navbar .nav-link { color:var(--md-ui-text) !important; font-size:14px; font-weight:500; }
.navbar-brand { display:flex; align-items:center; gap:10px; min-width:0; white-space:normal; margin-right:12px; }
.brand-logo { width:36px; height:36px; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; line-height:1.3; }
.brand-copy small { font-size:11px; font-weight:400; }
.navbar-toggler { border:1px solid var(--md-ui-line-strong); border-radius:7px; min-height:42px; }
.dropdown-menu { border:1px solid var(--md-ui-line); border-radius:10px; padding:6px; box-shadow:var(--md-ui-shadow); }
.dropdown-item { padding:9px 12px; border-radius:6px; font-size:13px; white-space:normal; }
.navbar .dropdown-item:hover,.dropdown-item:focus { background:#edf1f7; color:var(--md-ui-primary); }
.dropdown-divider { border-color:var(--md-ui-line); margin:4px 0; }
.card,.modal-content,.empty-state { background:#fff; border:1px solid var(--md-ui-line) !important; border-radius:10px !important; box-shadow:var(--md-ui-shadow); }
.card-body { padding:20px; min-width:0; }
.card-header,.modal-header,.modal-footer { background:#fff; border-color:var(--md-ui-line); padding:16px 20px; }
.card-header h3 { margin:0; }
.modal-body { padding:20px; }
.modal-content { overflow:hidden; }
.btn { border-radius:999px; font-size:13px; font-weight:600; letter-spacing:0; padding:10px 18px; white-space:normal; box-shadow:none; }
.btn-primary,.btn-success,.btn-info { background:var(--md-ui-primary); border-color:var(--md-ui-primary); color:#fff; }
.btn-primary:hover,.btn-success:hover,.btn-info:hover { background:#2d426d; border-color:#2d426d; filter:none; }
.btn-secondary,.btn-light,.btn-outline-primary,.btn-outline-success { background:#fff; color:var(--md-ui-primary); border:1px solid var(--md-ui-line-strong); }
.btn-secondary:hover,.btn-light:hover,.btn-outline-primary:hover,.btn-outline-success:hover { background:#edf1f7; color:var(--md-ui-primary); border-color:#aab7ca; }
.btn-warning { background:#fff5dc; color:#805600; border-color:#eeddb3; }
.btn-danger,.btn-outline-danger { background:#fff2f2; color:#b42332; border-color:#f2ced2; }
.btn-danger:hover,.btn-outline-danger:hover { background:#b42332; border-color:#b42332; color:#fff; }
.form-control,select,textarea,.custom-select { border:1px solid var(--md-ui-line-strong); border-radius:7px; background:#fff; color:var(--md-ui-text); font-size:14px; min-height:42px; }
textarea.form-control { min-height:100px; }
.form-control:focus,select:focus,textarea:focus { border-color:#aab7ca; box-shadow:0 0 0 3px rgba(28,45,82,.08); }
label { font-size:13px; font-weight:600; }
.input-group-text { background:#f7f9fc; border-color:var(--md-ui-line-strong); }
.input-group > .form-control:not(:last-child) { border-radius:7px 0 0 7px; }
.table { background:#fff; color:var(--md-ui-text); }
.table thead th,.custom-table th { background:#f7f9fc; color:#5e6b80; font-size:11px; text-transform:uppercase; border:1px solid var(--md-ui-line); }
.table td { font-size:13px; border-color:var(--md-ui-line); vertical-align:middle; }
.custom-table tbody tr:nth-child(even) { background:#fafbfd; }
.table-responsive { border:1px solid var(--md-ui-line); border-radius:10px; margin-bottom:16px; }
.table-responsive > .table { margin-bottom:0; }
.table-container { max-width:1320px; margin:0 auto; padding:24px; }
.badge-soft,.badge { border-radius:999px; font-weight:600; }
.badge-soft { background:#edf1f7; color:var(--md-ui-primary); }
.gap-1 { gap:4px; } .gap-2 { gap:8px; }
.inventory-toolbar { flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.inventory-card { height:100%; }
.inventory-card .card-body { display:flex; flex-direction:column; }
.inventory-card .card-body > .d-flex { margin-top:auto !important; padding-top:14px; }
.inventory-card .card-text { line-height:1.6 !important; margin-bottom:8px; }
.inventory-card .card-title img { width:20px; height:20px; }
.inventory-card img.card-img-top { object-fit:contain !important; border-radius:7px; }
.inventory-card .custom-btn { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:42px; margin:0; background:#f7f9fc; color:var(--md-ui-primary); border:1px solid var(--md-ui-line-strong); }
.inventory-card .custom-btn-delete { color:#b42332; background:#fff2f2; border-color:#f2ced2; }
.inventory-card .custom-btn:hover { background:#e7edf5; }
.product-details { padding:10px 20px 0; }
.product-details summary { cursor:pointer; color:var(--md-ui-muted); font-size:12px; }
.product-details .popup-content { padding-top:10px; overflow-wrap:anywhere; }
.product-details .popup-content p,.product-details strong { text-shadow:none; font-size:12px; }
.auth-page { max-width:520px; padding-top:32px !important; }
.auth-page .col-md-4,.auth-page .col-md-6 { flex:0 0 100%; max-width:100%; }
.auth-page .card-body { padding:28px; }
.swal2-popup { border-radius:12px !important; font-family:Inter,'Segoe UI',sans-serif; }
.swal2-confirm { background:var(--md-ui-primary) !important; border-radius:999px !important; }
.swal2-cancel { border-radius:999px !important; }
:focus-visible { outline:3px solid #8095ba; outline-offset:3px; }
@media (max-width:991.98px) {
 .navbar > .container { padding:0 16px; }
 .navbar-collapse { padding-top:12px; }
 .navbar .nav-link { padding:12px 8px; }
 .dropdown-menu { box-shadow:none; }
}
@media (max-width:575.98px) {
 main { padding-top:8px; }
 main > .container.p-4,main > .table-container { padding:20px 16px !important; }
 .brand-copy { font-size:13px; } .brand-copy small { font-size:10px; }
 .brand-logo { width:30px; height:30px; }
 .navbar-brand { max-width:calc(100% - 64px); }
 .inventory-toolbar > .btn { width:100%; }
 .modal-dialog { margin:8px; }
 .modal-body { padding:16px; overflow-x:auto; }
 .modal-footer { flex-wrap:wrap; gap:8px; }
 .modal-footer .btn { flex:1 1 auto; margin:0; }
 .table-responsive .table { min-width:600px; }
 .form-control,select,textarea { font-size:16px; }
 .d-flex.align-items-center { flex-wrap:wrap; gap:8px; }
 .auth-page .card-body { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }
/* Scale signature coordinates in remision.hbs to preserve drawing on touch screens. */
#canvasEntrega,#canvasRecibe { max-width:100%; height:auto; touch-action:none; border-radius:7px; background:#fff; }
/* Header aligned with paginaPrincipalPrueba: 64px content + 3px lower border. */
html, body { background:var(--md-ui-bg); }
.navbar { padding:0; background:hsl(210,20%,98%); border-bottom:3px solid hsl(218,55%,20%); }
.navbar > .container { width:min(1120px,calc(100% - 32px)); max-width:1120px; min-height:64px; padding:0; }
.navbar-brand { gap:12px; padding:0; margin-top:0; margin-bottom:0; }
.navbar .brand-logo { display:block; height:36px; width:auto; flex-shrink:0; }
.navbar .brand-copy { display:inline; color:hsl(215,45%,15%); font-size:14px; font-weight:500; line-height:1.2; letter-spacing:0; }
@media(max-width:991.98px) {
 .navbar-collapse { padding:0 0 12px; }
 .navbar-brand,.navbar-toggler { margin-top:11px; margin-bottom:11px; }
}
@media(max-width:768px) {
 .navbar > .container { min-height:62px; }
 .navbar .brand-logo { height:32px; }
 .navbar .brand-copy { white-space:normal; }
 .navbar-brand { max-width:calc(100% - 66px); }
 .navbar-toggler { margin-top:10px; margin-bottom:10px; }
}

