:root{font-family:system-ui,-apple-system,sans-serif;color:#16233d;background:#f5f7fc;font-size:15px}body{margin:0}header{background:white;border-bottom:1px solid #e5eaf3;padding:22px max(24px,calc((100vw - 1120px)/2));display:flex;gap:24px;align-items:center}strong{color:#2975fa;letter-spacing:4px}main{max-width:1120px;margin:38px auto;padding:0 24px 60px}h1{font-size:28px}h2{font-size:19px;margin-top:0}p{color:#6b7690;line-height:1.7}section{background:white;border:1px solid #e5eaf3;border-radius:22px;padding:24px;margin:18px 0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.columns section{margin:0}label{display:block;font-weight:600;margin:12px 0}textarea{box-sizing:border-box;width:100%;height:260px;resize:vertical;border:1px solid #d8deea;border-radius:12px;padding:14px;font:12px ui-monospace,monospace;background:#fafbff}input[type=password]{padding:10px;border:1px solid #d8deea;border-radius:9px}input[type=file]{max-width:100%;margin:12px 0}button{border:0;border-radius:12px;background:#2975fa;color:white;font:inherit;font-weight:600;padding:12px 18px;cursor:pointer;margin:5px 6px 5px 0}button:disabled{opacity:.4;cursor:default}.small{font-size:12px}.actions{margin:18px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;border-bottom:1px solid #edf1f8;padding:12px 6px}#notice[data-error=true]{color:#d9534f}@media(max-width:740px){.columns{grid-template-columns:1fr}main{padding:0 14px 40px}section{padding:18px}}
[hidden]{display:none!important}input:not([type=checkbox]):not([type=file]),select{box-sizing:border-box;max-width:100%;min-width:250px;border:1px solid #d8deea;border-radius:10px;padding:11px;font:inherit}a{color:#2975fa;margin-left:16px}#notice{white-space:pre-wrap}#plan-json{height:300px}
pre{max-height:420px;overflow:auto;padding:14px;border-radius:12px;background:#f5f7fc}details{margin:14px 0}summary{cursor:pointer;color:#6b7690}

.criterion-row{display:grid;grid-template-columns:130px 1fr 1fr 90px;gap:8px;align-items:center;margin:12px 0}.criterion-row input,.criterion-row select{min-width:0!important;width:100%}@media(max-width:650px){.criterion-row{grid-template-columns:1fr 1fr 90px}.criterion-row label{grid-column:1/-1}}
table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
th,td{border-bottom:1px solid #E3E8F2;padding:6px 8px;text-align:left;vertical-align:top}
th{color:#6B7690;font-weight:600}
td input{width:12em;margin-right:6px}
textarea#col-body{min-height:10em;width:100%}
