.omt-app { max-width: 1100px; margin: 0 auto; font-size: 15px; color: #222; }
.omt-card { max-width: 420px; margin: 40px auto; padding: 28px; border:1px solid #ddd; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.06); text-align:center; }
.omt-card h2 { margin-top:0; }
.omt-input { width: 100%; padding: 10px 12px; font-size: 16px; border:1px solid #bbb; border-radius:6px; box-sizing:border-box; margin: 8px 0; }
.omt-btn { padding: 8px 16px; font-size: 14px; border:1px solid #2E5A88; background:#fff; color:#2E5A88; border-radius:6px; cursor:pointer; }
.omt-btn:hover { background:#f0f5fb; }
.omt-btn-primary { background:#2E5A88; color:#fff; }
.omt-btn-primary:hover { background:#24466b; }
.omt-tabs { display:flex; gap:6px; border-bottom:2px solid #2E5A88; margin-bottom:14px; }
.omt-tab { padding:10px 16px; border:none; background:none; font-size:15px; cursor:pointer; color:#555; }
.omt-tab-active { color:#2E5A88; font-weight:bold; border-bottom:3px solid #2E5A88; margin-bottom:-2px; }
.omt-tab-soon { color:#aaa; cursor:default; }
.omt-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.omt-spacer { flex:1; }
.omt-hint { font-size:12.5px; color:#666; background:#f7f9fc; padding:8px 12px; border-radius:6px; }
.omt-count { font-size:13px; color:#2E5A88; margin:6px 0; font-weight:bold; }
.omt-table-wrap { overflow-x:auto; }
.omt-table { border-collapse:collapse; width:100%; font-size:13.5px; }
.omt-table th { background:#2E5A88; color:#fff; padding:8px 6px; position:sticky; top:0; }
.omt-table td { border:1px solid #ddd; padding:3px; }
.omt-table input, .omt-table select { width:100%; border:1px solid transparent; padding:6px 4px; font-size:13.5px; box-sizing:border-box; background:transparent; }
.omt-table input:focus, .omt-table select:focus { border-color:#2E5A88; background:#fff; outline:none; }
.omt-table tr.omt-taikai { background:#fbeaea; }
.omt-del { color:#c00; border:none; background:none; cursor:pointer; font-size:16px; }
.omt-msg { margin-top:10px; padding:8px 12px; border-radius:6px; font-size:14px; display:none; }
.omt-msg.ok { display:block; background:#e7f6e7; color:#1a7a1a; }
.omt-msg.err { display:block; background:#fdecec; color:#c00; }
.omt-notice-form { background:#f7f9fc; padding:18px; border-radius:8px; max-width:540px; }
.omt-field { margin-bottom:14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.omt-field label { display:inline-block; min-width:92px; font-weight:bold; }
.omt-num { width:80px; padding:7px; border:1px solid #bbb; border-radius:4px; font-size:14px; }
.omt-preview { border:1px solid #ccc; border-radius:8px; padding:16px 20px; max-height:460px; overflow-y:auto; background:#fff; }
.omt-preview img { max-width:100%; height:auto; }
.omt-preview h1, .omt-preview h2, .omt-preview h3 { line-height:1.4; }
.omt-preview figure { margin:12px auto; text-align:center; }
.omt-overlay { position:fixed; inset:0; background:rgba(255,255,255,.75); display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:9999; }
.omt-spinner { width:44px; height:44px; border:5px solid #ddd; border-top-color:#2E5A88; border-radius:50%; animation:omtspin 1s linear infinite; }
@keyframes omtspin { to { transform:rotate(360deg); } }
