.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;}
