/* =====================================================================
   RZ Org Account — rz-konto.css  v1.2.0
   ===================================================================== */

:root {
    --rz-red:       #8B1A1A;
    --rz-red-dk:    #6B1212;
    --rz-blue:      #2A6496;
    --rz-blue-dk:   #1d4a70;
    --rz-gold:      #E8A000;
    --rz-green:     #1E7E34;
    --rz-green-lt:  #D4EDDA;
    --rz-err:       #C62828;
    --rz-err-lt:    #FDECEA;
    --rz-warn-lt:   #FFF3CC;
    --rz-gray-bg:   #F5F4F0;
    --rz-gray-brd:  #D0CFC9;
    --rz-gray-mid:  #9E9D97;
    --rz-text:      #1A1A1A;
    --rz-text-muted:#666;
    --rz-radius:    8px;
    --rz-shadow:    0 2px 16px rgba(0,0,0,.09);
    --rz-field-bg:  #FAFAF8;
    --rz-field-brd: #C5C4BE;
}

/* == WRAPPER == */
.rz-oa-wrap {
    max-width: 520px;
    margin: 0 auto;
    padding: 12px 16px 48px;
    font-family: inherit;
    font-size: .95rem;
}

/* == CARDS == */
.rz-oa-card {
    background: #fff;
    border: 1px solid var(--rz-gray-brd);
    border-radius: var(--rz-radius);
    padding: 28px 32px;
    margin-bottom: 16px;
    box-shadow: var(--rz-shadow);
}
.rz-oa-card--header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    background: linear-gradient(135deg, #fff 0%, var(--rz-gray-bg) 100%);
    border-bottom: 2px solid var(--rz-red);
    border-radius: var(--rz-radius) var(--rz-radius) 0 0;
    margin-bottom: 0;
}
.rz-oa-card--body {
    border-radius: 0 0 var(--rz-radius) var(--rz-radius);
    border-top: none;
    margin-top: 0;
}
.rz-oa-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--rz-blue);
    margin: 0 0 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--rz-gray-brd);
}

/* == ORG HEADER == */
.rz-oa-org-avatar {
    width: 52px; height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--rz-red) 0%, var(--rz-red-dk) 100%);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(139,26,26,.35);
}
.rz-oa-org-info { flex: 1; min-width: 0; }
.rz-oa-org-name {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 3px;
    color: var(--rz-text);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rz-oa-org-meta {
    font-size: .78rem;
    color: var(--rz-text-muted);
    margin: 0;
}
.rz-oa-logout-form { margin-left: auto; flex-shrink: 0; }

/* == INFO GRID == */
.rz-oa-dl {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 8px 12px;
    margin: 0;
    font-size: .88rem;
}
.rz-oa-dl dt {
    color: var(--rz-text-muted);
    font-weight: 600;
    padding: 4px 0;
    white-space: nowrap;
}
.rz-oa-dl dd {
    margin: 0;
    color: var(--rz-text);
    padding: 4px 0;
    border-bottom: 1px solid var(--rz-gray-bg);
}
.rz-oa-dl dd:last-child { border-bottom: none; }

/* == STEPS == */
.rz-oa-steps { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.rz-oa-step { display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--rz-gray-bg); }
.rz-oa-step:last-child { border-bottom:none; }
.rz-oa-step__icon { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; flex-shrink:0; margin-top:2px; }
.rz-oa-step--done   .rz-oa-step__icon { background:var(--rz-green); color:#fff; }
.rz-oa-step--active .rz-oa-step__icon { background:var(--rz-blue);  color:#fff; }
.rz-oa-step--locked .rz-oa-step__icon { background:var(--rz-gray-brd); color:var(--rz-gray-mid); }
.rz-oa-step__body strong { display:block; font-size:.9rem; margin-bottom:2px; }
.rz-oa-step__body p { font-size:.82rem; color:var(--rz-text-muted); margin:0; }
.rz-oa-step--locked .rz-oa-step__body strong { color:var(--rz-gray-mid); }

/* == FORM FIELDS == */
.rz-oa-form { display:flex; flex-direction:column; gap:14px; }
.rz-oa-field { display:flex; flex-direction:column; gap:5px; }
.rz-oa-field label { font-size:.83rem; font-weight:600; color:#444; letter-spacing:.01em; }
.rz-oa-field label span[aria-hidden] { color:var(--rz-red); margin-left:2px; }
.rz-oa-field input[type="text"],
.rz-oa-field input[type="email"],
.rz-oa-field input[type="password"],
.rz-oa-field input[type="tel"],
.rz-oa-field input[type="url"] {
    width:100%; box-sizing:border-box; padding:10px 13px;
    font-size:.93rem; font-family:inherit; color:var(--rz-text);
    background:var(--rz-field-bg);
    border:1.5px solid var(--rz-field-brd);
    border-radius:6px;
    box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.9);
    transition:border-color .18s,box-shadow .18s,background .18s;
    outline:none; -webkit-appearance:none;
}
.rz-oa-field input:hover { border-color:#AAAA9F; }
.rz-oa-field input:focus {
    border-color:var(--rz-blue); background:#fff;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.04),0 0 0 3px rgba(42,100,150,.13);
}
.rz-oa-field input::placeholder { color:#B0AFA9; font-size:.88rem; }
.rz-oa-field input.is-valid {
    border-color:var(--rz-green); background:#FAFFF9;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3px rgba(30,126,52,.1);
}
.rz-oa-field input.is-invalid {
    border-color:var(--rz-err); background:#FFFAFA;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3px rgba(198,40,40,.1);
}
.rz-oa-field input:disabled,
.rz-oa-field textarea:disabled { opacity:.55; cursor:not-allowed; }

/* == ICO ROW == */
.rz-oa-ico-row { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.rz-oa-ico-row input { width:160px !important; flex-shrink:0; font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.rz-oa-ico-result { flex:1; min-width:160px; display:flex; align-items:center; gap:7px; font-size:.83rem; padding:10px 0; min-height:40px; }
.rz-oa-ico-result--loading { color:var(--rz-text-muted); }
.rz-oa-ico-result--ok  { color:var(--rz-green); font-weight:600; }
.rz-oa-ico-result--err { color:var(--rz-err); }
.rz-oa-ico-result svg { flex-shrink:0; }
.rz-oa-hint { font-size:.78rem; color:var(--rz-text-muted); margin:0; line-height:1.4; }

/* == CHECKBOX == */
.rz-oa-field--check { flex-direction:row; align-items:flex-start; gap:9px; padding:4px 0; }
.rz-oa-field--check input[type="checkbox"] { width:16px; height:16px; margin-top:2px; flex-shrink:0; accent-color:var(--rz-blue); cursor:pointer; }
.rz-oa-field--check label { font-size:.85rem; font-weight:400; color:var(--rz-text); cursor:pointer; }

/* == PASSWORD STRENGTH == */
.rz-oa-pass-strength { height:3px; border-radius:2px; background:var(--rz-gray-brd); transition:background .3s; margin-top:2px; }
.rz-oa-pass-strength.weak   { background:var(--rz-err); }
.rz-oa-pass-strength.medium { background:var(--rz-gold); }
.rz-oa-pass-strength.strong { background:var(--rz-green); }

/* == FORM FOOTER == */
.rz-oa-form-footer { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-top:4px; }
.rz-oa-form-login-link { font-size:.83rem; color:var(--rz-text-muted); }
.rz-oa-form-login-link a { color:var(--rz-blue); text-decoration:none; font-weight:600; }
.rz-oa-form-login-link a:hover { text-decoration:underline; }

/* == BUTTONS == */
.rz-oa-btn {
    display:inline-flex; align-items:center; gap:6px;
    padding:9px 20px; border:none; border-radius:6px;
    font-size:.88rem; font-weight:700; font-family:inherit;
    cursor:pointer; text-decoration:none;
    transition:background .18s,box-shadow .18s,transform .1s;
    line-height:1.3; white-space:nowrap;
}
.rz-oa-btn:hover { text-decoration:none; }
.rz-oa-btn:active { transform:translateY(1px); }
.rz-oa-btn--primary {
    background:linear-gradient(135deg,var(--rz-red) 0%,var(--rz-red-dk) 100%);
    color:#fff; box-shadow:0 2px 8px rgba(139,26,26,.3);
}
.rz-oa-btn--primary:hover {
    background:linear-gradient(135deg,#9F1E1E 0%,var(--rz-red) 100%);
    box-shadow:0 3px 12px rgba(139,26,26,.4); color:#fff;
}
.rz-oa-btn--secondary {
    background:var(--rz-blue); color:#fff; box-shadow:0 2px 8px rgba(42,100,150,.25);
}
.rz-oa-btn--secondary:hover { background:var(--rz-blue-dk); color:#fff; }
.rz-oa-btn--ghost {
    background:transparent; color:var(--rz-text-muted);
    border:1.5px solid var(--rz-gray-brd); box-shadow:none; padding:7px 14px;
}
.rz-oa-btn--ghost:hover { border-color:#AAAA9F; background:var(--rz-gray-bg); color:var(--rz-text); }
.rz-oa-btn--sm { padding:6px 14px; font-size:.82rem; }
.rz-oa-link {
    background:none; border:none; padding:0; color:var(--rz-blue);
    cursor:pointer; font-size:inherit; font-family:inherit; text-decoration:underline;
}
.rz-oa-link:hover { color:var(--rz-blue-dk); }

/* == NOTICES == */
.rz-oa-notice {
    display:block; padding:10px 14px; border-radius:6px; border-left:4px solid;
    font-size:.88rem; line-height:1.5; margin-bottom:14px;
}
.rz-oa-notice--info    { background:#EFF6FF; border-color:var(--rz-blue); color:#1e4d7a; }
.rz-oa-notice--success { background:var(--rz-green-lt); border-color:var(--rz-green); color:#155724; }
.rz-oa-notice--error   { background:var(--rz-err-lt); border-color:var(--rz-err); color:#7B1818; }
.rz-oa-notice--warn    { background:var(--rz-warn-lt); border-color:var(--rz-gold); color:#7A5500; }

/* == SUCCESS STATE == */
.rz-oa-success { text-align:center; padding:36px 24px 28px; }
.rz-oa-success__icon {
    width:68px; height:68px; border-radius:50%; background:var(--rz-green-lt);
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 18px; border:3px solid var(--rz-green);
}
.rz-oa-success__icon svg { color:var(--rz-green); }
.rz-oa-success h2 { font-size:1.3rem; font-weight:700; color:var(--rz-text); margin:0 0 10px; }
.rz-oa-success p { font-size:.9rem; color:var(--rz-text-muted); max-width:360px; margin:0 auto 6px; line-height:1.6; }
.rz-oa-success p strong { color:var(--rz-text); }
.rz-oa-success__actions { margin-top:22px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }

/* == BADGE == */
.rz-oa-badge { display:inline-block; padding:2px 9px; border-radius:20px; font-size:.74rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.rz-oa-badge--pending        { background:var(--rz-warn-lt); color:#7A5500; }
.rz-oa-badge--email_verified { background:#E3F2FD; color:#0D47A1; }
.rz-oa-badge--verified       { background:var(--rz-green-lt); color:#155724; }
.rz-oa-badge--active         { background:var(--rz-green-lt); color:#155724; }
.rz-oa-badge--suspended      { background:var(--rz-err-lt); color:#7B1818; }

/* == MISC == */
.rz-oa-card--login { max-width:420px; margin:0 auto; }
.rz-oa-divider { border:none; border-top:1px solid var(--rz-gray-brd); margin:18px 0; }
.rz-oa-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }

/* == PROFILE FORM == */
.rz-oa-wrap--wide { max-width:720px; }
.rz-oa-card__subtitle { font-size:.78rem; font-weight:400; color:var(--rz-text-muted); margin-left:4px; }

.rz-oa-textarea {
    width:100%; box-sizing:border-box; padding:10px 13px;
    font-size:.93rem; font-family:inherit; color:var(--rz-text);
    background:var(--rz-field-bg);
    border:1.5px solid var(--rz-field-brd);
    border-radius:6px;
    box-shadow:inset 0 2px 4px rgba(0,0,0,.05);
    transition:border-color .18s,box-shadow .18s;
    outline:none; resize:vertical; line-height:1.55;
}
.rz-oa-textarea:focus {
    border-color:var(--rz-blue); background:#fff;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.04),0 0 0 3px rgba(42,100,150,.13);
}
.rz-oa-textarea:disabled { opacity:.55; cursor:not-allowed; }

.rz-oa-char-count { font-size:.75rem; font-weight:400; color:var(--rz-text-muted); float:right; }

.rz-oa-form--grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px) { .rz-oa-form--grid { grid-template-columns:1fr; } }

.rz-oa-logo-upload { display:flex; gap:20px; align-items:flex-start; }
.rz-oa-logo-preview {
    width:88px; height:88px; border-radius:var(--rz-radius);
    border:1.5px solid var(--rz-gray-brd); background:var(--rz-gray-bg);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden; flex-shrink:0;
}
.rz-oa-logo-preview img { width:100%; height:100%; object-fit:contain; }
.rz-oa-logo-placeholder { font-size:.72rem; color:var(--rz-gray-mid); text-align:center; padding:4px; }
.rz-oa-logo-controls { display:flex; flex-direction:column; gap:8px; }

.rz-oa-purposes-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.rz-oa-purpose-item {
    display:flex; align-items:center; gap:8px; padding:9px 12px;
    border:1.5px solid var(--rz-gray-brd); border-radius:6px; cursor:pointer;
    font-size:.85rem; color:var(--rz-text); background:#fff;
    transition:border-color .15s,background .15s; user-select:none;
}
.rz-oa-purpose-item:hover { border-color:var(--rz-blue); background:#F0F5FB; }
.rz-oa-purpose-item input[type="checkbox"] { width:15px; height:15px; flex-shrink:0; accent-color:var(--rz-blue); cursor:pointer; }
.rz-oa-purpose-item--checked { border-color:var(--rz-blue); background:#EEF5FB; font-weight:600; color:var(--rz-blue-dk); }

.rz-oa-profil-submit-bar { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }

/* == PAYMENT PANEL == */
.rz-oa-payment-panel {
    background:linear-gradient(135deg,#FDFCF8 0%,#F7F4EE 100%);
    border:2px solid var(--rz-gold);
}
.rz-oa-payment-panel__title { font-size:1.15rem; font-weight:700; margin:0 0 6px; color:var(--rz-text); }
.rz-oa-payment-panel__lead  { font-size:.9rem; color:var(--rz-text-muted); margin:0 0 22px; }
.rz-oa-payment-panel__note  { display:flex; align-items:center; gap:6px; font-size:.8rem; color:var(--rz-text-muted); margin:18px 0 0; }

.rz-oa-packages { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
@media (max-width:580px) { .rz-oa-packages { grid-template-columns:1fr; } }

.rz-oa-package {
    position:relative; display:flex; flex-direction:column; align-items:center;
    text-align:center; gap:3px; padding:22px 14px 18px;
    background:#fff; border:2px solid var(--rz-gray-brd); border-radius:var(--rz-radius);
    text-decoration:none; color:var(--rz-text);
    transition:border-color .18s,box-shadow .18s,transform .15s;
}
.rz-oa-package:hover {
    border-color:var(--rz-blue); box-shadow:0 4px 20px rgba(42,100,150,.15);
    transform:translateY(-2px); text-decoration:none; color:var(--rz-text);
}
.rz-oa-package--featured {
    border-color:var(--rz-gold);
    background:linear-gradient(180deg,#FFFDF5 0%,#FFF8E1 100%);
}
.rz-oa-package--featured:hover { border-color:#C98000; box-shadow:0 4px 20px rgba(232,160,0,.22); }

.rz-oa-package__badge {
    position:absolute; top:-11px; left:50%; transform:translateX(-50%);
    background:var(--rz-gold); color:#fff; font-size:.68rem; font-weight:700;
    padding:2px 11px; border-radius:20px; white-space:nowrap;
    letter-spacing:.04em; text-transform:uppercase;
}
.rz-oa-package__name   { font-size:1rem; font-weight:700; margin-top:4px; }
.rz-oa-package__period { font-size:.76rem; color:var(--rz-text-muted); }
.rz-oa-package__price  { font-size:1.9rem; font-weight:800; color:var(--rz-red); line-height:1.1; margin:8px 0 4px; }
.rz-oa-package__cta    { font-size:.78rem; color:var(--rz-blue); font-weight:600; margin-top:4px; }

/* == LOCKED PROFILE PREVIEW == */
.rz-oa-profil-locked { position:relative; }
.rz-oa-locked-overlay {
    position:absolute; inset:0;
    background:rgba(245,244,240,.82);
    backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
    z-index:10; display:flex; align-items:flex-start; justify-content:center;
    padding-top:56px; border-radius:var(--rz-radius); pointer-events:none;
}
.rz-oa-locked-badge {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--rz-text); color:#fff; font-size:.87rem; font-weight:600;
    padding:10px 22px; border-radius:30px; box-shadow:0 4px 20px rgba(0,0,0,.25);
    pointer-events:none;
}

/* == RESPONSIVE == */
@media (max-width:480px) {
    .rz-oa-card { padding:18px 16px; }
    .rz-oa-ico-row { flex-direction:column; }
    .rz-oa-ico-row input { width:100% !important; }
    .rz-oa-ico-result { padding:0; }
    .rz-oa-dl { grid-template-columns:110px 1fr; }
    .rz-oa-form-footer { flex-direction:column; align-items:flex-start; }
    .rz-oa-logo-upload { flex-direction:column; }
    .rz-oa-profil-submit-bar { flex-direction:column; align-items:flex-start; }
}
