.sop-alignment{margin:28px 0;padding:24px;border:1px solid #d7e3df;border-radius:14px;background:#f7faf8;color:#1b303c;min-width:0;scroll-margin-top:110px}
.sop-alignment h3,.sop-alignment h4{color:#183e36;margin:0 0 14px;line-height:1.4}
.sop-alignment h4{margin-top:22px;font-size:1.05rem}
.sop-alignment p,.sop-alignment li{line-height:1.75;text-align:left!important;hyphens:none}
.sop-alignment .sop-basis{font-size:.875rem;color:#526673;margin-bottom:0}
.sop-alignment .sop-label{display:block;font-size:.75rem;letter-spacing:.07em;font-weight:700;color:#47665b;margin-bottom:10px}
.sop-table-wrap{max-width:100%;overflow-x:auto;margin:18px 0;overscroll-behavior-x:contain}
.sop-table{width:100%;border-collapse:collapse;font-size:.9375rem;text-align:left;background:white}
.sop-table th,.sop-table td{padding:14px;vertical-align:top;border-bottom:1px solid #dce5e1;line-height:1.65;overflow-wrap:break-word}
.sop-table th{background:#e8f0eb;color:#203f34;font-weight:700}
.sop-table th:first-child,.sop-table td:first-child{min-width:130px}
.sop-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.sop-form-grid label{display:flex;flex-direction:column;gap:7px;font-size:.9375rem;font-weight:600;min-width:0}
.sop-form-grid input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #aebfb7;background:#fff9e9;padding:10px 12px;border-radius:7px;color:#243d34;font:inherit;min-height:44px}
.sop-form-grid small{font-size:.8125rem;font-weight:400;line-height:1.5;color:#526673}
.sop-form-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.sop-form-actions button{font:inherit;min-height:44px;padding:9px 16px;border:1px solid #8ba99d;border-radius:7px;background:#fff;color:#204b3e;cursor:pointer}
.sop-result{margin-top:20px;padding:18px;background:#fff;border:1px solid #d9e6df;border-radius:10px}
.sop-result dl{display:grid;grid-template-columns:minmax(0,2fr) minmax(100px,1fr);gap:12px 18px;margin:0}
.sop-result dt,.sop-result dd{margin:0;padding:8px 0;border-bottom:1px solid #e4eae7;line-height:1.6}
.sop-result dd{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.sop-error{color:#9b352b;font-weight:600}
.sop-calculator [hidden]{display:none!important}
.sop-calculator input:focus-visible,.sop-form-actions button:focus-visible{outline:3px solid #a75a10;outline-offset:3px}
@media(max-width:760px){
 .sop-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sop-alignment{padding:18px}
 .sop-alignment .sop-table,.sop-alignment .sop-table tbody{display:block;width:100%;min-width:0;table-layout:auto}
 .sop-alignment .sop-table thead{display:none}
 .sop-alignment .sop-table tr{display:block;margin-bottom:16px;border:1px solid #dce5e1;border-radius:8px;overflow:hidden}
 .sop-alignment .sop-table td{display:block;width:auto!important;min-width:0!important;max-width:none!important;padding:12px!important;white-space:normal!important;text-align:left!important}
 .sop-alignment .sop-table td:last-child{border-bottom:0}
 .sop-alignment .sop-table td::before{content:attr(data-label);display:block;font-size:.8125rem;line-height:1.5;font-weight:700;color:#526673;margin-bottom:6px}
}
@media(max-width:450px){.sop-form-grid{grid-template-columns:minmax(0,1fr)}.sop-alignment{padding:16px}.sop-result{padding:12px}.sop-result dl{grid-template-columns:minmax(0,1fr) minmax(95px,1fr);gap:7px}.sop-result dd{overflow-wrap:anywhere}}
@media print{.sop-alignment{break-inside:auto;border-color:#bbb;background:white}.sop-form-actions{display:none}.sop-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sop-table{min-width:0}.sop-table tr,.sop-result{break-inside:avoid}}
