.wbp-wrap { max-width: 980px; margin: 2rem auto; padding: 0 1rem; }
.wbp-panel { border: 1px solid rgba(0,0,0,.14); border-radius: 18px; padding: clamp(1rem, 3vw, 2rem); background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.06); }
.wbp-header h2 { margin: .25rem 0 .75rem; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.05; }
.wbp-kicker { margin: 0; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; opacity: .7; }
.wbp-security-summary { margin: 1.25rem 0; padding: 1rem; border-left: 4px solid #111; background: rgba(0,0,0,.035); }
.wbp-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.wbp-field { margin: 1rem 0; }
.wbp-field label { display: block; font-weight: 650; margin-bottom: .35rem; }
.wbp-field input[type="text"], .wbp-field input[type="email"], .wbp-field select, .wbp-field textarea { width: 100%; box-sizing: border-box; padding: .8rem .9rem; border: 1px solid rgba(0,0,0,.22); border-radius: 10px; font: inherit; background: #fff; }
.wbp-help { margin: .35rem 0 0; font-size: .9rem; opacity: .78; }
.wbp-toolbar { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .5rem; }
.wbp-toolbar button, .wbp-submit { border: 1px solid rgba(0,0,0,.2); border-radius: 10px; padding: .55rem .75rem; cursor: pointer; font: inherit; background: #f8f8f8; }
.wbp-toolbar button:hover, .wbp-submit:hover { background: #eee; }
.wbp-submit { background: #111; color: #fff; padding: .85rem 1.15rem; }
.wbp-submit:disabled { opacity: .6; cursor: not-allowed; }
.wbp-editor { min-height: 260px; padding: 1rem; border: 1px solid rgba(0,0,0,.22); border-radius: 10px; overflow: auto; line-height: 1.55; }
.wbp-editor:empty:before { content: attr(data-placeholder); opacity: .45; }
.wbp-checkbox { display: grid; grid-template-columns: auto 1fr; gap: .65rem; align-items: start; padding: 1rem; background: rgba(0,0,0,.035); border-radius: 12px; }
.wbp-checkbox label { margin: 0; font-weight: 500; }
.wbp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.wbp-status { font-weight: 600; }
.wbp-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.wbp-notice { max-width: 900px; margin: 2rem auto; padding: 1rem; border-radius: 10px; border: 1px solid rgba(0,0,0,.16); }
.wbp-notice-warning { background: #fff8e5; }
@media (max-width: 760px) { .wbp-grid { grid-template-columns: 1fr; } }
