.nib-lock{overflow:hidden}
button.nib-btn {
    display: inline-block;
    padding: 12px 28px;
    font-size: 18px !important;
    background: #000 !important;
    color: #fff !important;
    text-transform: uppercase;
    border: 0;
    border-radius: 0px;
}
.nib-btn:hover{background:#000 !important; color:#fff !important}

.nib-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .2s ease;font-family:inherit}
.nib-modal[hidden]{display:none}
.nib-modal.is-open{opacity:1}
.nib-backdrop{position:absolute;inset:0;background:rgba(10,10,14,.7);backdrop-filter:blur(4px)}
.nib-dialog{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;color:#111827;border-radius:18px;padding:48px 28px 28px;box-shadow:0 30px 80px rgba(0,0,0,.45);transform:translateY(14px) scale(.98);transition:transform .25s ease;outline:none;border-top:5px solid var(--nib-accent,#111)}
.nib-modal.is-open .nib-dialog{transform:none}
button.nib-close{position:absolute;top:12px;right:14px;padding:0;width:36px;height:36px;border:0;border-radius:50%;background:#f3f4f6 !important;font-size:22px !important;line-height:1;cursor:pointer;transition:background .2s}
.nib-close:hover{background:#e5e7eb !important}
.nib-title{margin:0 0 6px;font-size:40px !important;line-height:1.2;color:#111827}
.nib-intro{margin:0 0 22px;color:#6b7280;font-size:14.5px;line-height:1.5}

.nib-form{display:flex;flex-direction:column;gap:16px}
.nib-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nib-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.nib-field label{font-size:13.5px;font-weight:600;color:#111827}
.nib-field label span{color:#dc2626}
.nib-field input, .nib-field select, .nib-field textarea {
    width: 100% !important;
    box-sizing: border-box;
    padding: 12px 14px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    background: #fff;
    font: inherit;
    font-size: 14px !important;
    transition: border-color .2s, box-shadow .2s !important;
}
.nib-field textarea{resize:vertical;min-height:90px}
.nib-field input:focus,.nib-field select:focus,.nib-field textarea:focus{outline:none;border-color:#111 !important;}
.nib-field.has-error input,.nib-field.has-error select{border-color:#dc2626}
.nib-error{min-height:0;color:#dc2626;font-size:12.5px}
.nib-note{margin:0;font-size:13px;color:#6b7280;background:#f9fafb;border-radius:10px;padding:10px 12px}

.nib-submit, .nib-ghost
 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px !important;
    border-radius: 0 !important;
    font: inherit;
    font-size: 18px !important;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    transition: transform .1s;
    text-align: center;
}
.nib-submit , .nib-actions a{border:0 !important;background:var(--nib-accent,#111) !important;color:#fff !important}

.nib-view-done h2{
	font-size:25px !important;
}
.nib-submit:active{transform:scale(.99)}
.nib-ghost{background:#fff;color:var(--nib-accent,#111);border:1.5px solid var(--nib-accent,#111)}
.nib-ghost:hover{background:#f9fafb}

.nib-preview{
    width: 100%;
    padding: 14px;
    border-width: 1px !important;
    border-radius: 10px;
    background: #f9fafb;
    color: #111827 !important;
    font: inherit;
    font-size: 14px !important;
    line-height: 1.5;
}
.nib-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.nib-actions>*{flex:1 1 180px}
.nib-status{min-height:20px;margin:12px 0 0;font-size:13.5px;color:#059669}

@media(max-width:520px){
  .nib-dialog{padding:50px 18px 20px;border-radius:16px}
  .nib-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.nib-modal,.nib-dialog{transition:none}}
