@font-face { font-family: 'Speda'; src: local('Speda'); }

body { font-family: 'Speda', Tahoma, Arial, sans-serif; background-color: #f0f0f0; margin: 0; padding: 0; }

.controls { text-align: center; padding: 10px; background: #333; position: sticky; top: 0; z-index: 1000; }

.a4-container {
    width: 210mm;
    height: 297mm;
    padding: 8mm 12mm;
    margin: 0 auto;
    background: white;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    border: 2px solid #000;
    overflow: hidden;
}

.main-header { display: flex; justify-content: space-between; align-items: center; text-align: center; border: 1px solid #000; padding: 5px; margin-bottom: 5px; }
.header-right, .header-left { width: 35%; font-weight: bold; font-size: 12px; }
.logo { max-width: 80px; height: auto; }


.dates-row input { border: 1px solid #ccc; padding: 3px; font-family: 'Speda'; }

.info-section { text-align: center; }
.dates-row { display: flex; justify-content: space-around; margin-bottom: 3px; font-size: 11px; }
.form-title { background: #e9e9e9; padding: 5px; border: 1px solid #000; font-size: 16px; margin: 3px 0; }
.work-hours-box { font-size: 9.5px; line-height: 1.3; border: 1px dashed #000; padding: 3px; margin-bottom: 5px; }

.form-title { background: #f0f0f0; padding: 8px; border: 1px solid #000; font-size: 18px; margin: 5px 0; font-weight: bold; }
.work-hours-box { font-size: 11px; line-height: 1.4; border: 1px dashed #000; padding: 5px; margin-bottom: 10px; background: #fffcf0; }

.tables-container { display: flex; flex-direction: column; gap: 5px; }
.table-header { margin: 0; padding: 4px; color: white; text-align: center; font-size: 13px; border: 1px solid #000; border-bottom: none; }
.accepted { background-color: #2e7d32 !important; }
.rejected { background-color: #c62828 !important; }

table { width: 100%; border-collapse: collapse; table-layout: fixed; }
th, td { border: 1px solid #000; padding: 3px; text-align: center; font-size: 10.5px; word-wrap: break-word; }
th { background-color: #f2f2f2; }

.notes-section { margin-top: 10px; border: 1px solid #000; padding: 8px; background: #fafafa; }
.notes-title { margin: 0 0 5px 0; font-size: 13px; margin-top: 10px; border: 1px solid #000; padding: 8px; background: #fafafa; font-weight: bold; }
.notes-fixed p { margin: 3px 0; font-size: 11px; font-weight: bold; color: #d32f2f; }

.signature-section { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 15px; }
.owner-info { width: 60%; font-size: 12px; }
.admin-info { width: 35%; text-align: left; direction: ltr; font-size: 12px; }

.bottom-footer { text-align: center; border-top: 2px solid #000; padding-top: 5px; font-size: 11px; font-weight: bold; }

@media print {
    @page { size: A4; margin: 0; }
    body { background: none; }
    .no-print { display: none; }
    .a4-container { margin: 0; border: 2px solid #000 !important; width: 210mm; height: 297mm; }
    select { appearance: none; border: none !important; background: transparent; pointer-events: none; }
}

button { padding: 10px 20px; background: #27ae60; color: white; border: none; border-radius: 5px; cursor: pointer; font-family: 'Speda'; font-size: 14px; transition: 0.3s; }
button:hover { background: #219150; }

@media print {
    #smart-search { display: none; }
}
#smart-search:focus {
    border-color: #1a3353 !important;
    box-shadow: 0 0 5px rgba(26, 51, 83, 0.2);
}