:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
body{padding-bottom:var(--safe-bottom)}.top{padding-top:calc(18px + var(--safe-top))}.environment{text-align:center;padding:10px 16px;background:#fff1c8;color:#513c04;font-weight:600;font-size:.875rem}.connection{padding:12px 16px;background:#fff0f0;color:#8c1d1d;font-size:.9rem;line-height:1.5}.update-notice{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:#e8f0ff}.install-card{padding-top:0}.install-card .card{margin-bottom:0}#testAccess{border-top:1px solid #d8e0ec;margin-top:22px;padding-top:6px}#fillTest{margin-top:12px;width:100%}#installHelp{margin-bottom:0}button,input,select,textarea{touch-action:manipulation}dialog{overscroll-behavior:contain}body,.meta{overflow-wrap:anywhere}
@media(max-width:640px){.top{flex-wrap:wrap;gap:12px;padding-top:calc(16px + var(--safe-top))}.top #identity{width:100%;justify-content:space-between}.toolbar> .row{width:100%}.toolbar #dayControl{flex:1;min-width:160px}.toolbar #periodType{max-width:100%}.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.tabs button{flex:0 0 auto}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:1.5rem}.modal-head h2{max-width:calc(100% - 52px)}dialog{max-height:calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom))}.shell{max-width:100%}.toolbar .row{gap:10px}.update-notice{justify-content:space-between}.install-card{padding-top:0}}
@media(min-width:641px){.login{margin-top:32px}}@media(display-mode:standalone){#installPanel{display:none}}

/* Keep Safari's native date control inside its flex item. */
#appPanel>.toolbar>.row{flex:1 1 360px;min-width:0;align-items:flex-end}
#dayControl{flex:0 1 220px;min-width:0;max-width:100%}
#periodDate,#entryDate{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;-webkit-appearance:none;appearance:none}
#periodDate::-webkit-date-and-time-value,#entryDate::-webkit-date-and-time-value{text-align:left;min-width:0}
#periodCaption{flex:0 0 100%;width:100%;min-width:0;margin-top:2px}
@media(max-width:640px){#appPanel>.toolbar>.row{flex-basis:100%}#dayControl{flex:1 1 100%;width:100%;min-width:0}#periodDate{height:46px}}
.media-grid,#mediaQueue{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0}.media-card{min-width:0;border:1px solid #d8e0ec;padding:14px;border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere}.media-card img,.media-card video{width:100%;max-height:280px;object-fit:contain;background:#edf1f7;border-radius:6px}.media-card textarea{min-height:80px}.media-card p{margin:0}.media-caption{white-space:pre-wrap}#mediaDialog{max-width:900px}#mediaStatus{white-space:pre-wrap}#mediaDialog input[type=file][hidden]{display:none!important}@media(max-width:640px){.media-grid,#mediaQueue{grid-template-columns:1fr}#mediaDialog .actions button{width:100%}}

html:not(.media-ready) [data-media-entry],html:not(.media-ready) #saveWithMedia{display:none!important}
.work-text{white-space:pre-wrap;min-width:180px}

.contract-work-list{display:grid;gap:12px;margin-top:16px}.contract-work-list .entry{margin:0;min-width:0}.contract-work-list strong{overflow-wrap:break-word}.summaries table{min-width:300px;overflow-wrap:normal}.media-entry{display:inline-flex;align-items:center;gap:10px;max-width:100%}.media-mini{display:flex;gap:4px;flex-shrink:0}.media-mini img{width:44px;height:44px;object-fit:cover;border-radius:5px;background:#dce5f3}.media-preview{position:relative}.media-preview a{display:block}.media-preview .meta{display:block;padding-top:6px}

.media-open{display:block;width:100%;padding:0;background:transparent;color:inherit;text-align:left;font-weight:normal;border-radius:6px}.media-open .meta{display:block;padding:8px 0}.media-open img{display:block}#imageViewer{position:fixed;inset:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;padding:0;border-radius:0;background:#122033;color:#fff;overflow:hidden}#imageViewer[open]{display:flex;flex-direction:column}.image-viewer-head{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;background:#122f5e}.image-viewer-head button{background:white;color:#174b96;min-height:48px;flex-shrink:0}#imageViewerName{font-size:.875rem;overflow-wrap:anywhere}.image-viewer-body{flex:1;min-height:0;overflow:auto;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));text-align:center;touch-action:pan-x pan-y pinch-zoom}#imageViewerImage{display:block;max-width:100%;height:auto;margin:auto}#imageViewerStatus{color:white}
#capturePreview{display:block;width:100%;max-height:55vh;object-fit:contain;background:#122033;border-radius:8px}#captureDialog .actions{position:sticky;bottom:0;background:white;padding:12px 0}#captureStop{background:#a82020}
