body{
    font-family:Arial,sans-serif;
    margin:20px;
    color:#222;
    background:#fff;
    font-size:14px;
}

h1{
    font-size:22px;
    margin:0 0 14px;
}

a{
    color:#0645ad;
}

table{
    border-collapse:collapse;
    width:100%;
    background:#fff;
}

th,
td{
    border:1px solid #ccc;
    padding:6px 8px;
    text-align:left;
    vertical-align:middle;
}

th{
    background:#eee;
}

input,
select,
button{
    font-size:14px;
    padding:6px;
}

.topbar{
    display:flex;
    gap:8px;
    align-items:center;
    margin:12px 0;
    flex-wrap:wrap;
}

.msg{
    padding:10px;
    margin:10px 0;
    border:1px solid #ccc;
    background:#f7f7f7;
}

.error{
    border-color:#b00020;
    background:#fff0f0;
}

.ok{
    border-color:#087f23;
    background:#f0fff4;
}

.num{
    text-align:right;
}

.small{
    font-size:12px;
    color:#555;
}

.pager{
    margin:14px 0;
    display:flex;
    gap:8px;
}

.stock-neg{
    background:#ffe8e8;
}

.stock-zero{
    background:#fff6d7;
}

.stock-ok{
    background:#eaffea;
}

.nowrap{
    white-space:nowrap;
}

.btn{
    display:inline-block;
    padding:6px 10px;
    border:1px solid #777;
    background:#eee;
    text-decoration:none;
    color:#111;
}

/* IMAGENES */

.imgcell{
    width:80px;
    min-width:80px;
    text-align:center;
}

.imgcell img{
    width:60px !important;
    height:60px !important;
    max-width:60px !important;
    max-height:60px !important;
    object-fit:contain;
    display:block;
    margin:auto;
}