/* Optional guide component only; inherits installed MIKI fonts/theme. */
.craft-plan{min-inline-size:0;max-inline-size:100%;margin-block:1rem;line-height:1.5;color:inherit;font:inherit}
.craft-plan *{box-sizing:border-box;min-inline-size:0}
.craft-plan h2,.craft-plan h3,.craft-plan h4{margin-block:.75rem .5rem;color:inherit;font-family:inherit}
.craft-plan p{margin-block:.5rem;overflow-wrap:anywhere}
.craft-plan .craft-plan-families{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.75rem}
.craft-plan .craft-plan-families a{display:inline-flex;align-items:center;min-block-size:2.75rem;padding:.5rem .75rem;border:1px solid var(--line,currentColor);border-radius:.375rem;max-inline-size:100%;overflow-wrap:anywhere}
.craft-plan .craft-plan-families a[aria-current=page]{border-color:var(--accent,currentColor);font-weight:600}
.craft-plan .craft-plan-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(7rem,1fr) minmax(10rem,1fr);gap:.75rem;align-items:start;margin-block:1rem}
.craft-plan .craft-plan-form label,.craft-plan .craft-plan-form small{display:block;overflow-wrap:anywhere}
.craft-plan .craft-plan-form label{margin-block-end:.375rem;font-weight:600}
.craft-plan .craft-plan-form select,.craft-plan .craft-plan-form input,.craft-plan .craft-plan-form button{inline-size:100%;max-inline-size:100%;min-block-size:2.75rem;padding:.5rem .625rem;font:inherit;color:inherit;background:var(--panel,transparent);border:1px solid var(--line,currentColor);border-radius:.375rem}
.craft-plan .craft-plan-form button{grid-column:1/-1;inline-size:auto;justify-self:start;cursor:pointer;padding-inline:1rem}
.craft-plan [aria-invalid=true]{border-color:currentColor;border-width:2px}
.craft-plan .craft-plan-errors{border-inline-start:3px solid currentColor;padding:.5rem .75rem;margin-block:.75rem}
.craft-plan .craft-plan-error{font-weight:600;overflow-wrap:anywhere}
.craft-plan a:focus-visible,.craft-plan input:focus-visible,.craft-plan select:focus-visible,.craft-plan button:focus-visible,.craft-plan summary:focus-visible,.craft-plan .craft-plan-table-region:focus-visible,.craft-plan .craft-plan-errors:focus-visible{outline:2px solid var(--accent,currentColor);outline-offset:3px}
.craft-plan .craft-plan-native{display:block;font-size:.8rem;overflow-wrap:anywhere;font-weight:400;text-transform:none;letter-spacing:normal}
.craft-plan .craft-plan-table-region{max-inline-size:100%;overflow-x:auto;border:1px solid var(--line,currentColor);border-radius:.375rem;margin-block:.75rem}
.craft-plan .craft-plan-table-region table{inline-size:100%;min-inline-size:0;table-layout:fixed;border-collapse:collapse;font:inherit;font-size:.875rem!important;color:inherit}
.craft-plan .craft-plan-table-region caption{text-align:start;padding:.625rem;font-weight:600;white-space:normal!important;overflow-wrap:anywhere!important}
.craft-plan .craft-plan-table-region th,.craft-plan .craft-plan-table-region td{padding:.625rem;text-align:start;vertical-align:top;line-height:1.5;border-block-start:1px solid var(--line,currentColor);font-size:inherit!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;letter-spacing:normal!important;text-transform:none!important}
.craft-plan .craft-plan-table-region thead th:first-child{inline-size:40%!important}
.craft-plan .craft-plan-table-region thead th:nth-child(2),.craft-plan .craft-plan-table-region thead th:nth-child(3){inline-size:30%!important}
.craft-plan .craft-plan-table-region tbody th{font-weight:500}
.craft-plan .craft-plan-totals{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:.5rem .75rem;margin-block:1rem}
.craft-plan .craft-plan-totals dt,.craft-plan .craft-plan-totals dd{margin:0;overflow-wrap:anywhere;white-space:normal!important}
.craft-plan .craft-plan-totals dd{font-weight:600}
.craft-plan summary{cursor:pointer;min-block-size:2.75rem;padding-block:.5rem;overflow-wrap:anywhere}
.craft-plan .guide-fact-source{overflow-wrap:anywhere}
.craft-plan .guide-fact-source dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.375rem .75rem}
.craft-plan .guide-fact-source dt,.craft-plan .guide-fact-source dd{margin:0;overflow-wrap:anywhere;white-space:normal!important}
.craft-plan li,.craft-plan code{overflow-wrap:anywhere;white-space:normal!important}
@media(max-width:40rem){.craft-plan .craft-plan-form{grid-template-columns:minmax(0,1fr)}.craft-plan .craft-plan-totals,.craft-plan .guide-fact-source dl{grid-template-columns:minmax(0,1fr)}.craft-plan .craft-plan-totals dd{margin-block-end:.5rem}.craft-plan .craft-plan-table-region th,.craft-plan .craft-plan-table-region td{padding:.5rem;font-size:.875rem!important}}

/* Practical proposal: additions stay inside the existing component/theme. */
.craft-plan .craft-personal-search,.craft-plan .craft-personal-filters,.craft-plan .craft-personal-inputs{grid-column:1/-1}
.craft-plan .craft-personal-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.craft-plan .craft-personal-capabilities label,.craft-plan .craft-personal-fields label{display:grid;gap:.375rem;align-content:start}
.craft-plan .craft-personal-fields{display:grid;gap:.75rem}
.craft-plan .craft-personal-resource{padding:.625rem;border:1px solid var(--line,currentColor);border-radius:.375rem}
.craft-plan .craft-personal-resource>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-block-start:.5rem}
.craft-plan .craft-plan-technical pre{max-inline-size:100%;font:inherit;font-size:.8rem;white-space:pre-wrap!important;overflow-wrap:anywhere!important}
.craft-plan .craft-personal-purchase li{margin-block:.375rem}
.craft-plan .craft-plan-filter-count{font-size:.875rem}
@media(max-width:40rem){.craft-plan .craft-personal-capabilities,.craft-plan .craft-personal-resource>div{grid-template-columns:minmax(0,1fr)}}
