.login-shell { width:min(540px,100%); margin:8vh auto; padding:20px; }
.login-shell h1 { font-size:1.8rem; margin:14px 0; line-height:1.25; }
.company-logo { max-width:58px; max-height:58px; object-fit:contain; }
.brand { overflow-wrap:anywhere; gap:12px; font-size:1.15rem; }
.staff-entry { padding:16px 0; border-bottom:1px solid var(--line); }
.staff-entry summary { cursor:pointer; font-weight:600; }
.terms-box { white-space:pre-wrap; max-height:280px; overflow:auto; padding:16px; border:1px solid var(--line); border-radius:12px; background:#f7fbfb; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.asset-card { border:1px solid var(--line); border-radius:12px; padding:12px; }
.asset-card img { width:100%; height:180px; object-fit:contain; background:#fff; }
.asset-card figcaption { font-size:.8rem; margin-top:8px; }
.photo-card { position:relative; }
.photo-card .photo-delete { position:absolute; top:5px; right:5px; z-index:1; border:2px solid #fff; border-radius:50%; background:#b92536; color:#fff; width:36px; height:36px; font-size:1.5rem; line-height:1; box-shadow:0 2px 8px #17323f55; cursor:pointer; }
.photo-card .photo-delete:hover,.photo-card .photo-delete:focus-visible { background:#8f1d2d; outline:3px solid #126d80; outline-offset:2px; }
.signature-preview { display:flex; align-items:center; justify-content:center; width:100%; min-height:100px; border:1px dashed #c6d6de; border-radius:12px; background:#f8fafb; color:#58718a; }
.signature-preview img { display:block; width:100%; max-height:130px; object-fit:contain; background:#fff; }
[data-signature-form] > .signature-pad { display:none; }
.signature-pad { display:block; width:100%; border:2px dashed #799da5; border-radius:12px; background:#fff; touch-action:none; }
.signature-dialog { position:fixed; inset:0; box-sizing:border-box; width:100vw; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:18px; border:0; background:#fff; color:#183039; overscroll-behavior:contain; }
.signature-dialog[open] { display:flex; flex-direction:column; gap:12px; }
.signature-dialog::backdrop { background:#153841cc; }
.signature-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; flex-shrink:0; }
.signature-toolbar h2 { font-size:1.25rem; margin:0; }
.signature-controls { display:flex; flex-wrap:wrap; gap:8px; }
.signature-controls .btn { min-height:44px; }
.signature-stage { position:relative; flex:1; min-height:80px; overflow:hidden; border:2px solid #1d2629; background:#fff; }
.signature-stage .signature-pad { position:absolute; top:50%; left:50%; box-sizing:border-box; max-width:none; max-height:none; transform-origin:center; cursor:crosshair; }
.signature-modal-status { flex-shrink:0; margin:0; min-height:1.5em; font-size:.9rem; }
.signature-dialog.is-rotated { padding:20px 48px 20px 60px; }
.signature-dialog.is-rotated .signature-toolbar { position:absolute; left:4px; top:50%; transform:translateY(-50%); z-index:2; }
.signature-dialog.is-rotated .signature-toolbar h2 { display:none; }
.signature-dialog.is-rotated .signature-controls { display:flex; flex-direction:column; width:48px; gap:5px; }
.signature-dialog.is-rotated .signature-controls .btn { writing-mode:vertical-rl; min-width:42px; min-height:58px; padding:8px 6px; font-size:.75rem; }
.signature-dialog.is-rotated::after { content:'Turn handset'; position:absolute; right:12px; top:50%; transform:translateY(-50%); writing-mode:vertical-rl; font-size:1rem; pointer-events:none; }
.signature-dialog.is-rotated .signature-modal-status { position:absolute; bottom:2px; left:62px; right:48px; text-align:center; background:#ffffffdd; font-size:.75rem; }
[data-async-job][aria-busy="true"] { opacity:.8; }
[data-capture-notice][hidden] { display:none; }
[data-one-off-fields][hidden] { display:none; }
@media (max-width:575.98px) { .signature-dialog { padding:10px; gap:8px; } .signature-toolbar h2 { font-size:1.1rem; } .signature-controls { width:100%; gap:6px; } .signature-controls .btn { padding:8px 10px; font-size:.85rem; } }
.form-check { padding-left:1.7em; }
.field-help { display:inline-grid; place-items:center; flex:0 0 21px; width:21px; height:21px; padding:0; vertical-align:middle; border:1px solid #cbdedc; border-radius:50%; background:#e8f4f1; color:#496973; font-size:13px; font-weight:700; line-height:1; cursor:pointer; }
.field-help:hover { background:#dbecea; color:#345b68; }
.field-help:focus-visible { outline:3px solid #1389a8; outline-offset:2px; }
.field-help-inline { display:flex; align-items:center; gap:8px; min-width:0; }
.field-help-inline>.form-control,.field-help-inline>.form-select { flex:1 1 auto; min-width:0; width:100%; }
.field-help-below { display:flex; align-items:center; justify-content:flex-end; min-height:21px; margin:6px 0 0; }
legend>.field-help,h3>.field-help { margin-right:8px; }
.field-help-dialog { box-sizing:border-box; width:min(390px,calc(100vw - 28px)); max-width:none; max-height:min(70vh,440px); margin:auto; padding:0 20px 20px; overflow:auto; border:1px solid #c8e2e2; border-radius:16px; background:#fff; color:#233b43; box-shadow:0 20px 70px #173b433b; }
.field-help-dialog::backdrop { background:#173b4380; }
.field-help-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 0 10px; border-bottom:1px solid #e0eaeb; }
.field-help-dialog h2 { margin:0; color:#126f80; font-size:1.05rem; line-height:1.4; }
.field-help-dialog p { margin:14px 0 0; font-size:.9rem; line-height:1.55; overflow-wrap:anywhere; }
.field-help-close { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; margin:-5px -5px 0 0; padding:0; border:0; border-radius:50%; background:#eaf7f7; color:#126f80; font-size:1.4rem; line-height:1; cursor:pointer; }
.field-help-close:hover { background:#d9eeee; }
.field-help-close:focus-visible { outline:3px solid #1389a8; outline-offset:2px; }
.sidebar-nav .shortcut-entry { width:100%; border:0; background:transparent; text-align:left; }
.shortcut-dialog { box-sizing:border-box; width:min(470px,calc(100vw - 28px)); max-width:none; max-height:78vh; margin:auto; padding:0 20px 20px; overflow:auto; border:1px solid #c8e2e2; border-radius:16px; background:#fff; color:#233b43; box-shadow:0 20px 70px #173b433b; }
.shortcut-dialog::backdrop { background:#173b4380; }
.shortcut-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 0 10px; border-bottom:1px solid #e0eaeb; }
.shortcut-dialog h2 { margin:0; color:#126f80; font-size:1.1rem; }
.shortcut-dialog p { margin:12px 0; font-size:.86rem; line-height:1.55; }
.shortcut-dialog details { padding:10px 0; border-top:1px solid #e0eaeb; }
.shortcut-dialog summary { color:#126f80; cursor:pointer; font-weight:600; }
.shortcut-dialog details p { margin:8px 0 0; }
.card h2 { line-height:1.3; }
.card .status-pill { align-self:flex-start; }
.workflow-content { min-width:0; border:0; padding:0; margin:0; }
.card p,.card label,.card summary,.card td,.card dd { overflow-wrap:anywhere; }
@media(max-width:575.98px) { .login-shell { margin:2vh auto; } .topbar .btn { font-size:.8rem; } }
