.srv-wrap h1 { font-weight: 700; }
.srv-muted { color: #556; font-size: 15px; }
.srv-cards { display:flex; gap:16px; margin:20px 0; flex-wrap:wrap; }
.srv-card { background:#fff; border:1px solid #dcdcde; border-radius:10px; padding:18px 22px; min-width:180px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.srv-card h2 { margin:0; font-size:32px; color:#0b5cab; }
.srv-card p { margin:8px 0 0; color:#555; }
.srv-panel { background:#fff; border:1px solid #dcdcde; border-left:4px solid #0b5cab; padding:16px 20px; max-width:920px; margin-top:18px; }
.srv-table th { width:220px; }
.srv-status { display:inline-block; padding:4px 8px; border-radius:14px; font-weight:600; font-size:12px; }
.srv-available, .srv-signed { background:#d1fae5; color:#065f46; }
.srv-assigned, .srv-sent { background:#dbeafe; color:#1e40af; }
.srv-in_repair, .srv-draft { background:#fef3c7; color:#92400e; }
.srv-returned, .srv-cancelled { background:#fee2e2; color:#991b1b; }

/* Portal login form */
.srv-portal-login { max-width: 520px; margin: 50px auto; padding: 0 16px; }
.srv-login-card { background: #fff; border: 1px solid #dcdcde; border-radius: 14px; padding: 28px 32px; box-shadow: 0 12px 32px rgba(0,0,0,.08); }
.srv-login-card h2 { margin-top: 0; color: #005c45; }
.srv-login-card .login-username label,
.srv-login-card .login-password label { display: block; font-weight: 700; margin-bottom: 6px; }
.srv-login-card input[type="text"],
.srv-login-card input[type="password"] { width: 100%; padding: 10px 12px; border: 1px solid #cfd6de; border-radius: 8px; }
.srv-login-card .button-primary { background: #005c45; border-color: #005c45; padding: 6px 18px; border-radius: 8px; }
.srv-login-help { margin-bottom: 0; }

/* Drag and drop file uploads */
.srv-dropzone {
    border: 2px dashed #9dbab1;
    background: #f7fbfa;
    border-radius: 12px;
    padding: 16px;
    max-width: 520px;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.srv-dropzone:hover,
.srv-dropzone.srv-dropzone-over {
    border-color: #005c45;
    background: #edf7f4;
    box-shadow: 0 2px 12px rgba(0,92,69,.08);
}
.srv-dropzone-title {
    font-weight: 700;
    color: #005c45;
    margin-bottom: 4px;
}
.srv-dropzone-subtitle {
    color: #5f6d79;
    margin-bottom: 10px;
}
.srv-dropzone input[type="file"] {
    display: block;
    margin: 8px 0;
}
.srv-dropzone-files {
    font-size: 12px;
    color: #5f6d79;
    margin-top: 6px;
    word-break: break-word;
}

/* Vehicle document previews */
.srv-doc-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
    margin-top: 12px;
}
.srv-doc-preview-card {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.srv-doc-preview-thumb {
    width: 74px;
    height: 74px;
    flex: 0 0 74px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #d8e2df;
    background: #f7fbfa;
    display: flex;
    align-items: center;
    justify-content: center;
}
.srv-doc-preview-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.srv-doc-pdf-thumb,
.srv-doc-file-thumb {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: .5px;
}
.srv-doc-pdf-thumb { background: #fee2e2; color: #991b1b; }
.srv-doc-file-thumb { background: #e0f2fe; color: #075985; }
.srv-doc-preview-body { min-width: 0; flex: 1; }
.srv-doc-preview-label {
    font-weight: 700;
    color: #005c45;
    margin-bottom: 4px;
}
.srv-doc-preview-name {
    color: #556;
    font-size: 12px;
    line-height: 1.3;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 10px;
}
.srv-doc-preview-actions .button { margin-right: 4px; margin-bottom: 4px; }

.srv-rental-status{display:inline-block;padding:6px 10px;border-radius:14px;font-weight:700;font-size:12px;}
.srv-rental-status.srv-active{background:#d1fae5;color:#065f46;}
.srv-rental-status.srv-ended{background:#fee2e2;color:#991b1b;}
.srv-danger-button{border-color:#b91c1c!important;color:#b91c1c!important;}

/* v4.0.5 - show each saved vehicle document beside its upload field */
.srv-doc-field-row{display:flex;gap:18px;align-items:flex-start;max-width:1050px;}
.srv-doc-upload-column{flex:1 1 520px;min-width:0;}
.srv-doc-current-column{flex:0 1 390px;min-width:260px;}
.srv-doc-current-column .srv-doc-preview-card{margin:0;max-width:100%;box-sizing:border-box;background:#f8fbfa;}
.srv-doc-current-column .srv-doc-preview-label{font-size:13px;}
.srv-doc-current-multiple{display:grid;gap:10px;}
.srv-doc-empty{min-height:96px;border:1px dashed #c7d3cf;border-radius:12px;background:#fafcfc;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;color:#6b7280;font-size:12px;text-align:center;}
@media (max-width:782px){.srv-doc-field-row{display:block}.srv-doc-current-column{min-width:0;margin-top:10px}.srv-doc-empty{min-height:54px}.srv-doc-preview-card{padding:10px}.srv-doc-preview-thumb{width:58px;height:58px;flex-basis:58px}}


/* v4.0.39 - clearer separation between Vehicle document records */
#srv_vehicle_documents .form-table.srv-table{border-collapse:separate;border-spacing:0 12px;margin-top:10px;}
#srv_vehicle_documents .form-table.srv-table>tbody>tr>th{width:190px;padding:18px 16px 18px 14px;vertical-align:top;background:#f8fafc;border:1px solid #dbe4ee;border-right:0;border-radius:14px 0 0 14px;color:#102a43;font-weight:800;}
#srv_vehicle_documents .form-table.srv-table>tbody>tr>td{padding:12px 14px;vertical-align:top;background:#f8fafc;border:1px solid #dbe4ee;border-left:0;border-radius:0 14px 14px 0;}
#srv_vehicle_documents .srv-doc-field-row{max-width:none;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;box-sizing:border-box;}
#srv_vehicle_documents .srv-doc-current-column .srv-doc-preview-card{background:#fbfefd;border-color:#cfdad6;box-shadow:none;}
#srv_vehicle_documents .srv-doc-empty{background:#fff;}
@media (max-width:782px){
 #srv_vehicle_documents .form-table.srv-table{border-spacing:0 14px;}
 #srv_vehicle_documents .form-table.srv-table>tbody>tr{display:block;}
 #srv_vehicle_documents .form-table.srv-table>tbody>tr>th{display:block;width:auto;border-right:1px solid #dbe4ee;border-bottom:0;border-radius:14px 14px 0 0;padding:12px 14px 8px;}
 #srv_vehicle_documents .form-table.srv-table>tbody>tr>td{display:block;border-left:1px solid #dbe4ee;border-top:0;border-radius:0 0 14px 14px;padding:8px 12px 12px;}
 #srv_vehicle_documents .srv-doc-field-row{padding:10px;}
}
