body{font:16px system-ui,sans-serif;color:#18232d;margin:0;background:#f7f9fb}nav{display:flex;gap:20px;align-items:center;padding:14px 5%;background:#18354a;color:white}nav a{color:white}nav form{margin-left:auto}main{padding:24px 5%;max-width:1300px}form{margin:16px 0}label{display:block;margin:10px 0;max-width:520px}input:not([type=checkbox]),select{padding:7px;max-width:100%;box-sizing:border-box}label input:not([type=checkbox]),label select{display:block;width:100%}button{padding:8px 16px;cursor:pointer}table{border-collapse:collapse;width:100%;background:white}th,td{border:1px solid #d8dfe5;padding:7px;text-align:left;vertical-align:top}.error{color:#b00}

.request-grid,.request-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px}
.request-grid label{min-width:0;max-width:none;margin:6px 0}
.request-grid label input:not([type=checkbox]),.request-grid label select{width:100%}
.request-actions{display:flex;align-items:center;gap:12px;margin-top:22px}
.button-link{display:inline-block;padding:8px 16px;border:1px solid #667582;border-radius:2px;color:#18354a;text-decoration:none;background:#fff}
.request-detail{background:#fff;border:1px solid #d8dfe5;padding:12px;min-width:0;overflow-wrap:anywhere}
.request-detail strong,.request-detail span{display:block}.request-detail strong{margin-bottom:5px}
@media(max-width:900px){.request-grid,.request-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.request-grid,.request-details-grid{grid-template-columns:1fr}}

.paper-heading{text-align:center;text-decoration:underline;font-size:1.45rem}.form-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.form-meta label{max-width:none}.inline-check{align-self:end}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.service-column{background:white;border:1px solid #9ba9b1;padding:12px;min-width:0}.service-toggle{font-weight:bold;font-size:1.2rem;border-bottom:1px solid #9ba9b1;padding-bottom:8px}.service-column fieldset{border:0;padding:0;margin:0;min-width:0}.service-column legend{position:absolute;width:1px;height:1px;overflow:hidden}.service-row{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:8px;max-width:none;margin:6px 0}.service-row input{width:100%;min-width:0}.detail-row{border:1px solid #d8dfe5;padding:5px;min-height:32px}.detail-row span{overflow-wrap:anywhere}.hint{font-size:.9rem}.table-scroll{overflow-x:auto}.requests-table{min-width:920px}.requests-table th{text-align:center;background:#eaf0f4}.requests-table .status-cell{text-align:center;font-size:1.2rem}.list-filter{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.service-grid,.form-meta{grid-template-columns:1fr}.service-row{grid-template-columns:105px minmax(0,1fr)}}
.service-column fieldset[hidden]{display:none!important}
.list-filter label{margin:0;display:flex;align-items:center;gap:5px;white-space:nowrap}.list-filter input[type=date]{width:145px}.list-filter .button-link{white-space:nowrap}

/* Main header and shared navigation */
.app-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:72px;padding:10px 5%;background:#18354a;color:#fff}
.app-header .brand{font-size:1.55rem;font-weight:800;letter-spacing:.18em}
.app-header .brand-logo{display:block;max-width:min(943px,100%);height:auto;max-height:72px;object-fit:contain}
.app-header .header-logout{position:absolute;right:5%;top:50%;transform:translateY(-50%);margin:0}
.app-header button{background:#fff;border:1px solid #cbd5dd;border-radius:4px;color:#18354a}
nav.breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 5%;background:#e9f0f4;color:#18354a}
.breadcrumbs a,.breadcrumb-current{display:inline-block;padding:6px 12px;border-radius:5px;background:#fff;color:#18354a;text-decoration:none;border:1px solid #cbd5dd}
.breadcrumbs a:hover,.breadcrumbs a[aria-current=page]{background:#d8edf5;border-color:#51a8c5}
.breadcrumb-current{background:transparent;border-color:transparent;font-weight:600}
main{max-width:1300px}
main a:not(.button-link){display:inline-block;padding:7px 12px;border:1px solid #9bb4c4;border-radius:5px;background:#fff;color:#144765;text-decoration:none}
main a:not(.button-link):hover,main .button-link:hover{background:#e5f4fa;border-color:#358dac}
main .button-link{border-radius:5px;border-color:#9bb4c4;white-space:nowrap}
main .table-action{padding:5px 9px;font-size:.9rem}
.details-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 12px}
.details-toolbar .request-actions{margin:0;flex-wrap:wrap}
.details-toolbar .request-actions form{margin:0}
.details-toolbar .print-button{margin-left:auto;background:#e8f5fa}
.back-button{margin-bottom:8px;background:#d9f8f7!important;border-color:#72c9ca!important}
.requests-table .row-new td{background:#fff}
.requests-table .row-processing td{background:#fff9d9}
.requests-table .row-completed td{background:#e6f6e8}
.password-field{display:flex;align-items:stretch;gap:8px}
.password-field input{flex:1;min-width:0}
.password-field button{white-space:nowrap}
.user-form input[readonly]{background:#fff;cursor:text}
@media(max-width:600px){.details-toolbar{align-items:stretch;flex-direction:column}.details-toolbar .print-button{margin-left:0;align-self:flex-end}.app-header .brand{font-size:1.2rem}}

.requests-table .row-cancelled td{background:#f4e0e0;color:#6b3030}
