:root { --shima-app-safe-bottom: env(safe-area-inset-bottom, 0px); }
html.shima-app-standalone body { padding-top: env(safe-area-inset-top, 0px); }
.shima-app-dialog { box-sizing: border-box; width: min(580px, calc(100% - 24px)); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; padding: 22px; border: 1px solid #a9c5e1; border-radius: 18px; color: #20354a; background: #fff; box-shadow: 0 18px 55px #102e5540; font: 16px/1.6 system-ui, sans-serif; }
.shima-app-dialog::backdrop { background: #14283e88; }
.shima-app-dialog h2 { margin: 0; font-size: 1.3rem; }
.shima-app-dialog h3 { margin: 1.35rem 0 .45rem; font-size: 1rem; }
.shima-app-dialog p { margin: .5rem 0; }
.shima-app-dialog header { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 0 0 12px; margin: 0; border: 0; background: transparent; box-shadow: none; text-align: left; }
.shima-app-dialog header::before { display: none; }
.shima-app-dialog header h2 { min-width: 0; overflow-wrap: anywhere; }
.shima-app-dialog header button { flex: 0 0 auto; white-space: nowrap; writing-mode: horizontal-tb; }
.shima-app-dialog button, .shima-app-dialog a.shima-app-button { min-height: 44px; padding: 10px 14px; border: 1px solid #acc9e7; border-radius: 10px; background: #edf5ff; color: #194e80; font: inherit; cursor: pointer; text-decoration: none; }
.shima-app-dialog button:disabled { opacity: .55; cursor: default; }
.shima-app-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.shima-app-status { padding: 10px 12px; border-radius: 10px; background: #f2f6fb; font-size: .9rem; overflow-wrap: anywhere; }
.shima-app-dialog progress { width: 100%; height: 12px; accent-color: #357cc1; }
.shima-app-dialog input[type=file] { display: block; max-width: 100%; font: inherit; margin: 8px 0; }
.shima-app-export { padding: 14px; margin: 10px 0 18px; border: 2px solid #83b8e8; border-radius: 12px; background: #f3f9ff; }
.shima-app-export[hidden] { display: none; }
.shima-app-export-count { font-weight: 700; }
.shima-app-export-warning { color: #854d0e; }
.shima-app-dialog .shima-app-export-save { display: block; box-sizing: border-box; margin: 12px 0; text-align: center; background: #245f94; color: #fff; font-weight: 700; }
.shima-app-export-details summary { padding: 10px 0; cursor: pointer; }
.shima-app-export-details label { display: block; margin-top: 8px; }
.shima-app-dialog .shima-app-export textarea { box-sizing: border-box; width: 100%; min-height: 160px; margin: 6px 0 10px; padding: 10px; font: 16px/1.5 monospace; color: #20354a; background: #fff; resize: vertical; }
.shima-app-dialog :focus-visible { outline: 3px solid #246baf; outline-offset: 3px; }
@media (max-width: 680px) { .shima-app-dialog { padding: 16px; } .shima-app-dialog input, .shima-app-dialog select, .shima-app-dialog textarea { font-size: 16px; } }
@media (display-mode: standalone) { body { padding-top: env(safe-area-inset-top, 0px); } }
