/* 休止と申込期限ページのツール部分。色: 罫線 #dde3e8 / 墨 #14243a / 藍 #2c4f8f / 達成 #2e7d5b / 警告 #a12820 */
.tool-form { margin:0 0 14px; padding:16px 18px; border:1px solid #dde3e8; border-radius:0; background:#fff; }
.tool-form .field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; margin-bottom:14px; }
.tool-form label, .tool-form legend { font-size:.86rem; font-weight:700; }
.tool-form label span, .tool-form legend { display:block; margin-bottom:5px; padding:0; }
.tool-form fieldset { grid-column:1 / -1; margin:0; padding:0; border:0; }
.tool-form .radio { display:block; margin:0 0 4px; font-weight:600; }
.tool-form input[type=date], .tool-form select { width:100%; padding:10px 12px; border:1px solid #b9c4cf; border-radius:6px; background:#fff; color:#14243a; font:inherit; font-weight:600; font-variant-numeric:tabular-nums; }
.tool-form input:focus-visible, .tool-form select:focus-visible, .tool-result a:focus-visible, .tool-form button:focus-visible { outline:3px solid #2c4f8f; outline-offset:2px; }
.tool-form .primary-button { display:block; width:100%; padding:12px 16px; border:0; border-radius:6px; background:#2c4f8f; color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.tool-form .primary-button:hover { background:#223f73; }
.tool-form .form-note { margin:10px 0 0; color:#51606e; font-size:.78rem; }
.tool-result { margin:0 0 18px; }
.tool-result .verdict { margin:0 0 12px; padding:14px 16px; border:1px solid #dde3e8; border-left-width:4px; background:#fff; }
.tool-result .verdict-ok { border-left-color:#2e7d5b; }
.tool-result .verdict-ng { border-left-color:#a12820; }
.tool-result .verdict strong { display:block; margin-bottom:4px; }
.tool-result .verdict p { margin:0; font-size:.92rem; }
.tool-actions { margin:0 0 6px; }
.tool-note { margin:8px 0 0; color:#51606e; font-size:.82rem; }
.tool-error { margin:0 0 8px; color:#a12820; font-size:.88rem; font-weight:700; }
.tool-warning { margin:8px 0 0; padding:8px 11px; border:1px solid #e0b866; border-radius:0; background:#fff8e8; color:#5f4310; font-size:.82rem; font-weight:600; }
.tool-result small { color:#51606e; font-size:.78rem; }
.deadline-past { color:#a12820; font-weight:700; }
.source-line { margin:8px 0 0; color:#51606e; font-size:.78rem; line-height:1.7; }
.article-body .data-table th[scope=row] { width:11em; text-align:left; }
@media (max-width:640px) { .tool-form .field-grid { grid-template-columns:1fr; } .article-body .data-table th[scope=row] { width:auto; } }
