.principal-choice{margin:0 0 22px;padding:15px 19px 18px;border:1px solid #cfe0cf;border-radius:12px;background:#edf5ed}
.principal-choice legend{padding:0 7px;color:#2a6240;font-size:13px;font-weight:700}
.principal-choice .field{max-width:560px}
.principal-choice select{background:#fff}
.principal-choice p{margin:10px 0 0;color:#5d7463;font-size:12px;line-height:1.5}
.ficha-role{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #d6e5d5;border-radius:10px;background:#f3f8f2;padding:14px 16px;margin:15px 0 22px;color:#506d55;font-size:12px;line-height:1.5}
.ficha-role strong{color:#24543b;font-size:13px;flex:none}
.shared-details{border:1px solid #e0e8dd;background:#f8faf6;border-radius:10px;padding:17px;margin-top:20px}
.shared-details h4{margin:0 0 15px;font:600 14px Arial,sans-serif;color:#315b3c}
.shared-details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}
.shared-details p{margin:0;border-bottom:1px solid #e4ece2;padding-bottom:8px;min-width:0}
.shared-details p span,.shared-details p strong{display:block;font-size:11px;overflow-wrap:anywhere}
.shared-details p span{color:#718475;margin-bottom:4px}
.shared-details p strong{color:#31503c}
.shared-details small{display:block;color:#63796a;line-height:1.5;margin-top:14px}
.room-assignment{border:1px solid #a9c8b0;background:#e9f3e9;padding:18px;border-radius:11px;margin-bottom:22px}
.room-assignment h4{margin:0 0 14px;color:#285a3b;font-size:15px}
.room-assignment .field{max-width:410px}
.room-assignment select{background:white}
.room-assignment p{margin:10px 0 0;color:#5c7360;font-size:12px;line-height:1.5}
@media(max-width:600px){.ficha-role{display:block}.ficha-role strong{display:block;margin-bottom:5px}}
@media(max-width:600px){.shared-details>div{grid-template-columns:1fr}}
.ficha-room-picker{border:1px solid #b5d7e5;background:#edf7fb;border-radius:12px;padding:18px;margin:0 0 18px}
.ficha-room-heading{display:flex;gap:8px 18px;align-items:baseline;flex-wrap:wrap;margin-bottom:14px}
.ficha-room-heading strong{font-size:16px;color:#18475b}
.ficha-room-heading span,.ficha-room-picker p{font-size:14px;color:#456a79;line-height:1.5}
.ficha-room-picker p{margin:14px 0 0}
.ficha-room-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}
.ficha-room-row{min-width:0;font-size:14px}
.ficha-room-row select{background:#fff}
.principal-scope{border:1px solid #cfe0cf;background:#edf5ed;border-radius:12px;padding:15px 18px;margin:0 0 17px}
.principal-scope strong{color:#24543b;font-size:15px}
.principal-scope legend{color:#24543b;font-size:15px;font-weight:700;padding:0 6px}
.principal-scope label{display:flex;gap:9px;align-items:center;color:#315740;font-size:14px;line-height:1.5;margin:8px 0;cursor:pointer}
.principal-scope input{min-height:0;width:18px;height:18px;margin:0;accent-color:#245742;flex:none}
.principal-scope p,.primary-instruction{font-size:14px;color:#55705e;line-height:1.5;margin:10px 0 0}
.primary-instruction{margin:0 0 14px}
.room-precheck{border:1px solid #cfe0cf;border-radius:12px;background:#f5faf5;padding:18px;margin:16px 0}
.room-precheck h4{margin:0 0 7px;color:#24543b}
.room-precheck p,.room-precheck small{color:#526d5c;line-height:1.5;font-size:13px}
.room-precheck-list{display:grid;gap:9px;margin:14px 0}
.room-precheck-card{border:1px solid #d9e7db;border-radius:9px;background:white;padding:13px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.room-precheck-card strong,.room-precheck-card span{display:block}
.room-precheck-card span{color:#637b67;font-size:13px;margin-top:3px}
.room-precheck-actions{display:flex;gap:7px;flex-wrap:wrap}
.room-precheck-actions .btn{font-size:13px;display:inline-flex;align-items:center;padding:9px 12px;min-height:42px;cursor:pointer}
.room-precheck-actions label{position:relative}
.room-precheck-actions .precheck-file{position:absolute;width:1px;height:1px;opacity:0;left:50%;bottom:0}
.room-precheck-actions label:focus-within{outline:3px solid #408f60;outline-offset:2px}
.guest-tabs{gap:10px}
.guest-tab-group{display:flex;min-width:0;max-width:100%;border:1px solid #d8e3d9;border-radius:9px;background:#fafcf9;overflow:hidden}
.guest-tab-group:has(.tab.selected){border-color:#245742}
.guest-tab-group .tab{border:0;border-radius:0;text-align:left;min-width:130px;max-width:min(100%,270px);font-size:14px;line-height:1.35;padding:10px 12px}
.guest-tab-group .tab span{display:block;font-weight:400;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}
.guest-tab-group .primary-star{border:0;border-left:1px solid #d8e3d9;background:#fff;color:#4f6f58;font-size:23px;line-height:1;padding:0 12px;min-width:45px}
.guest-tab-group .primary-star.chosen{color:#c18c37;background:#fff6e8}
.guest-tab-group .primary-star:not(:disabled):hover{background:#f8e8c6}
.guest-tab-group .primary-star:focus-visible,.guest-tab-group .tab:focus-visible{outline:3px solid #4e936a;outline-offset:-3px}
@media(max-width:600px){.ficha-room-picker{padding:15px}.guest-tab-group{width:100%}.guest-tab-group .tab{max-width:none;flex:1;min-width:0}.guest-tab-group .primary-star{flex:none}}
.reserve-plan{border:1px solid #d6e5d5;background:#f7fbf6;border-radius:12px;padding:18px;margin:15px 0}
.reserve-plan h4{color:#24543b;font-size:17px;margin:0 0 14px}
.reserve-plan-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reserve-plan-fields .field{min-width:0}
.reserve-plan-fields select,.reserve-plan-fields input{width:100%}
.plan-total{border-radius:9px;padding:12px 15px;font-size:14px;font-weight:600;background:#edf5ed;color:#24543b}
.plan-total.plan-mismatch{background:#fff4e8;color:#844619}
.booking-plans-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px;margin:17px 0}
.booking-plans-summary>div{border:1px solid #d6e5d5;border-radius:9px;padding:13px;background:#f7fbf6}
.booking-plans-summary strong,.booking-plans-summary span{display:block;line-height:1.5}
.booking-plans-summary strong{color:#24543b;font-size:14px}.booking-plans-summary span{font-size:13px;color:#506d55}
@media(max-width:700px){.reserve-plan-fields{grid-template-columns:1fr}.reserve-plan{padding:15px}}
