.nfp{border:1px solid #d8d7cc;border-top:3px solid var(--accent);border-radius:20px;background:#fffdf8;overflow:hidden;box-shadow:0 16px 36px #142d4808}
.nfp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 24px;border-bottom:1px solid #e5e3db}
.nfp-toolbar>span{font-size:13px;font-weight:600}
.nfp-toolbar button{display:flex;align-items:center;gap:14px;min-height:44px;border:1px solid #d5d9da;border-radius:24px;background:#f6f3ec;padding:10px 18px;font-size:13px;color:var(--ink)}
.nfp-toolbar button span{font-size:20px}
.nfp-paper{padding:32px 24px 22px;background:#fff}
.nfp-title{text-align:center}
.nfp-title h3{font-size:clamp(30px,4vw,44px);letter-spacing:.12em;text-transform:uppercase;color:#424d40;margin:0 0 10px}
.nfp-title>div{display:flex;justify-content:center;align-items:center;color:#b18b50;gap:10px;margin:auto;width:230px}
.nfp-title>div:before,.nfp-title>div:after{content:"";height:1px;background:#dbcfb8;flex:1}
.nfp-title>div span{font-size:12px}
.nfp-title>p{font-size:12px;letter-spacing:.09em;color:#596653;margin:8px 0 22px}
.nfp .nfp-stage{min-height:145px;padding:20px 10px 26px;overflow:auto;background:#fff;border:0;border-radius:0;overscroll-behavior-x:contain}
.nfp .nfp-stage img{display:block;min-width:720px;width:100%;max-width:none;height:auto;object-fit:contain;margin:auto}
.nfp-caption{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#64705d;margin-top:12px}
.nfp-configurations{background:#edf0ef;padding:18px 24px;border-top:1px solid #d8ddda}
.nfp-configurations>span{display:block;font-size:12px;font-weight:600;margin-bottom:12px}
.nfp .nfd-layout-choices{margin:0;gap:8px}
.nfp .nfd-layout-choices button{min-height:44px;border-radius:8px;padding:10px 15px;border:1px solid #ccd4cc;background:#fffdf8;color:var(--ink);font-size:13px}
.nfp .nfd-layout-choices button[aria-pressed=true]{background:var(--ink);color:#fff;border-bottom:3px solid var(--accent)}
.nfp .nfp-hint{font-size:12px;line-height:1.6;color:#64705d;padding:16px 24px;margin:0}
.nfp-key{display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 24px;border-top:1px solid #e4e5dc;background:#fffdf8}
.nfp-key>span{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:#53624f}
.nfp-key i{display:block;width:17px;height:17px;border:1px solid #65716630;border-radius:2px}
.nfp-key--permanent{background:#cdb8c1}.nfp-key--bathroom{background:#c5d8e7}.nfp-key--furniture{background:#ded9d6}.nfp-key--seating{background:#fff3ad}.nfp-key--additional{background:#b28abe}.nfp-key--galley{background:#acc0b7}
.nfd .nfd-plan-dialog{max-width:1400px;border-radius:20px;background:#fffdf8}
.nfd .nfd-plan-dialog .nfd-view-tools{flex-wrap:wrap}
.nfd .nfd-plan-dialog .nfd-view-stage{max-height:60svh;overflow:auto;padding:30px 20px;background:#fff;touch-action:none;cursor:grab;overscroll-behavior:contain}
.nfd .nfd-plan-dialog .nfd-view-stage:active{cursor:grabbing}
.nfd .nfd-plan-dialog .nfd-view-stage img{width:calc(100% * var(--nfp-zoom,1));min-width:900px;max-width:none;height:auto;object-fit:contain;display:block;margin:0}
.nfd .nfd-plan-dialog [data-view-caption]{font-size:13px;margin-top:16px}
.nfd [data-plan-zoom-controls]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0}
.nfd [data-plan-zoom-controls] output{min-width:56px;font-size:13px;font-weight:600;text-align:center}
.nfd [data-plan-zoom-controls] button{min-height:44px;min-width:44px;padding:8px 15px;border:1px solid #cbd4d7;border-radius:24px;background:#f6f3ec;color:var(--ink)}
.nfd [data-plan-zoom-controls]>span{font-size:12px;color:#64705d;margin-left:auto}
@media(max-width:700px){.nfp-toolbar{padding:12px 14px}.nfp-toolbar>span{font-size:11px}.nfp-toolbar button{font-size:12px;padding:8px 12px;gap:8px}.nfp-paper{padding:24px 10px 16px}.nfp-title h3{font-size:29px}.nfp-title>p{font-size:11px}.nfp-caption{padding:0 6px;font-size:10px}.nfp-caption>span:last-child{max-width:160px;text-align:right}.nfp-configurations{padding:16px 14px}.nfp-key{padding:16px 14px;gap:11px 16px}.nfp .nfp-hint{padding:14px}.nfd .nfd-plan-dialog{width:calc(100% - 12px);max-height:calc(100svh - 12px)}.nfd .nfd-plan-dialog .nfd-view-stage{padding:24px 10px}.nfd [data-plan-zoom-controls]>span{width:100%;margin:4px 0 0}}
