:root{font-family:Arial,Helvetica,sans-serif;color:#17324d;background:#eef3f7}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;background:#0d3155;color:#fff;position:sticky;top:0;z-index:5}nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}nav a,nav button{color:#fff;background:none;border:0;text-decoration:none;font:inherit;cursor:pointer;padding:6px}.user-badge{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.15);font-size:.82rem}main{max-width:1180px;margin:auto;padding:20px}.card,.hero{background:#fff;border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 8px 30px rgba(23,50,77,.1)}.narrow{max-width:520px;margin:40px auto}.admin-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.admin-wide{width:100%}label{display:block;font-weight:700;margin:12px 0}input,select,textarea{display:block;width:100%;margin-top:6px;padding:13px;border:1px solid #b9c7d5;border-radius:10px;font:inherit;background:#fff}textarea{min-height:90px;resize:vertical}.button,button{display:inline-block;padding:12px 18px;border-radius:10px;border:1px solid #0d3155;text-decoration:none;cursor:pointer;font:inherit}.primary{background:#0d5ea8;color:#fff;border-color:#0d5ea8}.danger{background:#fff;color:#b42318;border-color:#f1b4ae}.full,.finish{width:100%}.finish{font-size:1.1rem;margin:0 0 40px}.error,.flash.error{color:#8a1c13;background:#fff0ee;border-color:#f1b4ae}.flash.success{color:#17643a;background:#edf9f1;border-color:#99d5ae}.flash{padding:14px 16px;border:1px solid;border-radius:12px;margin:0 0 18px}.hint{color:#5f7182;font-weight:400}.optional{font-weight:400;color:#718190}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.accordion-list{display:grid;gap:12px}.accordion-item{border:1px solid #d7e0e8;border-radius:12px;background:#fff;overflow:hidden}.accordion-item summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;cursor:pointer;list-style:none}.accordion-item summary::-webkit-details-marker{display:none}.accordion-item summary span:first-child{display:grid;gap:4px}.accordion-item summary small{font-weight:400;color:#5f7182}.detail-form{padding:0 16px 18px;border-top:1px solid #e0e7ee}.vehicle-detail img{display:block;width:100%;max-height:320px;object-fit:cover}.camera-flow{min-height:380px}.camera-step{text-align:center}.step-number{display:inline-block;padding:5px 10px;border-radius:999px;background:#e8f1f9;color:#174d7d;font-weight:700}.camera-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}.camera-preview{display:grid;place-items:center;min-height:220px;margin:18px 0;border:2px dashed #b9c7d5;border-radius:14px;background:#f6f9fb;color:#6a7d8f;overflow:hidden}.camera-preview img{width:100%;max-height:420px;object-fit:contain;background:#111}.camera-button{font-size:1.08rem;min-height:54px}.progress-row{display:grid;gap:8px;margin-bottom:16px}.progress{height:10px;background:#dce6ee;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:#0d5ea8;transition:width .25s}.checks{display:grid;gap:14px}.checks label,fieldset{border:1px solid #d7e0e8;border-radius:12px;padding:14px}fieldset{margin:0 0 14px}.vehicle-detail{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:16px;padding:16px;border-top:1px solid #e0e7ee}.vehicle-detail .detail-form{padding:0;border:0}
@media(max-width:820px){header{align-items:flex-start;flex-direction:column}main{padding:12px}.card,.hero{padding:18px;border-radius:14px}.admin-layout{grid-template-columns:1fr}.vehicle-detail{grid-template-columns:1fr}.action-row>*{flex:1}.user-badge{width:100%}.camera-preview{min-height:260px}.accordion-item summary{padding:14px}.button,button,input,select,textarea{min-height:48px}}
@media(max-width:480px){header strong{font-size:.96rem}nav{width:100%;justify-content:space-between}main{padding:8px}.card,.hero{padding:15px;margin-bottom:12px;border-radius:12px}h1{font-size:1.65rem}h2{font-size:1.3rem}.camera-button{position:sticky;bottom:10px;z-index:3}.camera-preview{min-height:300px}.action-row{flex-direction:column}.action-row>*{width:100%}}

.progress-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.capture-instruction{margin:18px 0;padding:14px 16px;border-radius:12px;background:#fff4d6;border:1px solid #f0cd76;color:#4c3900;font-size:1.08rem;line-height:1.45;text-align:left}.camera-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.camera-action-row .camera-button{width:100%}.photo-counter-inline{display:grid;place-items:center;min-width:72px;min-height:54px;padding:8px 12px;border-radius:12px;background:#e8f1f9;color:#0d3155;font-size:1.1rem;font-weight:800}.captured-gallery{margin:14px 0 18px;padding:12px;border:1px solid #d7e0e8;border-radius:14px;background:#f7fafc}.gallery-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.gallery-items{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.gallery-items figure{flex:0 0 110px;margin:0;scroll-snap-align:start}.gallery-items img{display:block;width:110px;height:82px;object-fit:cover;border-radius:10px;background:#111}.gallery-items figcaption{margin-top:5px;font-size:.75rem;line-height:1.2;color:#4b6072;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.note-card{border:1px solid #d7e0e8;border-radius:14px;overflow:hidden;background:#fff}.note-card label{border:0!important;margin:0;padding:14px}.note-photo{background:#eef3f7;min-height:150px;display:grid;place-items:center}.note-photo img{display:block;width:100%;height:220px;object-fit:cover;background:#111}
@media(max-width:820px){.note-checks{grid-template-columns:1fr}}
@media(max-width:480px){.camera-action-row{grid-template-columns:minmax(0,1fr) 68px}.photo-counter-inline{min-width:68px;padding:6px}.capture-instruction{font-size:1rem}.note-photo img{height:190px}}

.capture-target{margin:18px 0}.capture-target-label{margin:0 0 12px;font-size:1.35rem;font-weight:800;color:#0d3155;text-align:center}.vehicle-guide{width:min(100%,380px);margin:0 auto;padding:10px 12px;border:1px solid #d7e0e8;border-radius:16px;background:#fff}.vehicle-guide svg{display:block;width:100%;height:auto}.guide-lines{fill:none;stroke:#172b3d;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.guide-marker{fill:rgba(218,35,35,.66);stroke:#c01919;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 3px 5px rgba(150,0,0,.22));animation:guidePulse 1.45s ease-in-out infinite}.vehicle-guide-front .guide-marker,.vehicle-guide-rear .guide-marker{transform-origin:center}.vehicle-guide-side-left .guide-marker,.vehicle-guide-side-right .guide-marker{transform-origin:center}.vehicle-guide-cargo .guide-marker,.vehicle-guide-cab .guide-marker{transform-origin:center}@keyframes guidePulse{0%,100%{opacity:.62}50%{opacity:.95}}.gallery-items figure{flex-basis:150px;padding:8px;border:1px solid #d7e0e8;border-radius:12px;background:#fff}.gallery-items img{width:100%;height:100px;object-fit:cover;border-radius:8px}.gallery-items figcaption{margin:0 0 7px;font-size:.8rem;font-weight:800;color:#17324d;white-space:normal;min-height:2.2em}.gallery-delete{width:100%;margin-top:8px;padding:8px 6px;border-color:#e3aaa5;background:#fff4f3;color:#9d2018;font-size:.76rem;line-height:1.2}.note-preview-title{padding:11px 14px;background:#e8f1f9;color:#0d3155;font-weight:800;border-bottom:1px solid #d7e0e8}
@media(max-width:480px){.capture-target-label{font-size:1.2rem}.vehicle-guide{max-width:330px;padding:8px}.gallery-items figure{flex-basis:140px}.gallery-items img{height:96px}}
.capture-target{display:flex;flex-direction:column;align-items:center}.capture-target-label{order:2;margin:.75rem 0 0;font-size:1.15rem;font-weight:800;text-align:center;color:#0d3155}.damage-card{display:grid;gap:1rem}.damage-camera-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.damage-photo-preview{min-height:120px;border:2px dashed #a9b8c7;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#f6f9fc;color:#52687c;overflow:hidden}.damage-photo-preview img{width:100%;max-height:260px;object-fit:cover;display:block}.damage-camera-button{width:100%}

.password-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.6rem;
    align-items: stretch;
}

.password-field input {
    min-width: 0;
}

.password-toggle {
    white-space: nowrap;
    padding-inline: 1rem;
}

@media (max-width: 420px) {
    .password-field {
        grid-template-columns: 1fr;
    }
}

.section-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.damage-list {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.protocol-items {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.protocol-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem;
    border: 1px solid #d8e0e8;
    border-radius: 12px;
    background: #fff;
}

.protocol-item div {
    display: grid;
    gap: 0.25rem;
}

.protocol-item small {
    color: #526b82;
}

@media (max-width: 640px) {
    .protocol-item {
        align-items: stretch;
        flex-direction: column;
    }

    .protocol-item .button {
        width: 100%;
        text-align: center;
    }
}

.protocol-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 8px;
    margin: 18px 0;
}

.protocol-tab {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f2742;
    border-radius: 999px;
    padding: 10px 14px;
    white-space: nowrap;
    cursor: pointer;
    font-weight: 700;
}

.protocol-tab.is-active {
    background: #0f2742;
    color: #ffffff;
    border-color: #0f2742;
}

.protocol-panel {
    display: grid;
    gap: 12px;
}

.protocol-group {
    border: 1px solid #d7e0ea;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
}

.protocol-group > summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 14px 16px;
    background: #f6f8fb;
}

.table-scroll {
    width: 100%;
    overflow-x: auto;
}

.protocol-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 840px;
}

.protocol-table th,
.protocol-table td {
    padding: 12px;
    text-align: left;
    border-top: 1px solid #e5eaf0;
    vertical-align: top;
}

.protocol-table th {
    font-size: 0.84rem;
    color: #526579;
    background: #fbfcfd;
}

.protocol-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.protocol-actions form {
    margin: 0;
}

@media (max-width: 700px) {
    .protocol-tabs {
        margin-left: -4px;
        margin-right: -4px;
    }
}

[hidden]{display:none!important}
.damage-list{display:grid;gap:12px;margin-bottom:14px}.add-damage-button{margin-top:8px}.damage-card{border:1px solid #d7e0e8;border-radius:12px;background:#fff;overflow:hidden}.damage-card>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px;cursor:pointer;list-style:none}.damage-card>summary::-webkit-details-marker{display:none}.damage-summary-status{font-size:.85rem;color:#5f7182;text-align:right}.damage-card-content{padding:0 14px 16px;border-top:1px solid #e0e7ee}.damage-photo-preview{display:grid;place-items:center;min-height:160px;margin:14px 0;border:2px dashed #b9c7d5;border-radius:12px;overflow:hidden;color:#6a7d8f}.damage-photo-preview img{width:100%;max-height:360px;object-fit:contain;background:#111}.damage-camera-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important}.protocol-focus header{display:none}.protocol-focus main{padding-top:8px}.protocol-focus-zone{scroll-margin-top:8px}
