.plan-storage{margin-top:1.25rem;border:1px solid #cadbd5;border-radius:10px;padding:1rem;background:#f7fbf9;color:#173b32;text-align:left;overflow-wrap:anywhere}
.plan-storage summary{cursor:pointer;font-weight:700;min-height:44px;padding:.55rem 0}
.plan-storage p{max-width:72ch;line-height:1.6;color:#314f47}
.plan-storage .plan-storage-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}
.plan-storage button{min-height:44px;border:1px solid #086b57;border-radius:6px;padding:.65rem .85rem;font:inherit;line-height:1.4;color:#075b49;background:#fff;cursor:pointer;white-space:normal}
.plan-storage button:hover{background:#e7f5ef}
.plan-storage label{display:block;font-weight:600;line-height:1.6}
.plan-storage input[type=file]{display:block;box-sizing:border-box;max-width:100%;width:100%;min-height:44px;margin-top:.5rem;font:inherit}
.plan-storage button:focus-visible,.plan-storage summary:focus-visible,.plan-storage input:focus-visible{outline:3px solid #b76604;outline-offset:3px}
.plan-storage-preview{margin-top:1rem;padding-top:1rem;border-top:2px solid #bad1c8}
.plan-storage-preview[hidden]{display:none}
.plan-storage-preview dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.35rem 1rem;margin:.5rem 0 1rem}
.plan-storage-preview dt{font-weight:600}
.plan-storage-preview dd{margin:0;min-width:0}
.plan-storage .plan-storage-status{min-height:1.6em;font-weight:600}
.plan-storage .plan-storage-error{color:#8c271c;border-left:3px solid #a43324;padding-left:.6rem}
@media(max-width:420px){.plan-storage-preview dl{grid-template-columns:minmax(0,1fr);gap:.15rem}.plan-storage-preview dd{margin-bottom:.5rem}.plan-storage .plan-storage-actions>*{width:100%}}
@media print{.plan-storage{display:none!important}}
