.owner-shell {
    width: min(calc(100% - 32px), 880px);
    margin: 32px auto 80px;
}
.owner-shell--wide {
    width: min(calc(100% - 24px), 980px);
    margin-bottom: 24px;
    padding-bottom: 8px;
}
.owner-head, .ow-nav, .owner-head__actions, .owner-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}
.owner-auth, .owner-empty, .owner-card, .ow-step, .ow-progress {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
    padding: 24px;
    margin-bottom: 16px;
}
.owner-form, .ow-form { display: grid; gap: 14px; }
.owner-form label, .ow-form label { display: grid; gap: 6px; font-weight: 600; color: var(--navy); }
.owner-form input, .ow-form input, .ow-form select, .ow-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 10px 12px;
    background: #fff;
}
.owner-list { list-style: none; display: grid; gap: 14px; }
.owner-card { display: grid; grid-template-columns: 160px 1fr; gap: 16px; }
.owner-card__media { background: #e8eef3; border-radius: 12px; overflow: hidden; min-height: 110px; }
.owner-card__media img { width: 100%; height: 100%; object-fit: cover; }
.owner-status { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #eef3f8; font-size: 13px; }
.owner-status--pending { background: #fff4d6; }
.owner-status--published { background: #e4f7ef; }
.owner-status--rejected, .owner-status--paused { background: #fdecea; }
.owner-note { background: #fff7e6; padding: 10px 12px; border-radius: 10px; margin: 8px 0; }
.ow-progress { position: relative; top: auto; z-index: 2; }
.ow-bar { height: 8px; background: #e8eef3; border-radius: 99px; overflow: hidden; margin: 10px 0; }
.ow-bar i { display: block; height: 100%; background: var(--blue); }
.ow-save { color: var(--muted); font-size: 13px; }
.ow-save.is-err { color: #b42318; }
.ow-step { display: none; }
.ow-step.is-on { display: grid; gap: 16px; margin-bottom: 96px; }
.ow-cards, .ow-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.ow-grid--3 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.ow-card { border: 1px solid var(--line); border-radius: 14px; padding: 14px; cursor: pointer; background: #f9fbfd; }
.ow-card:has(input:checked) { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(8,117,209,.15); }
.ow-card input { position: absolute; opacity: 0; }
.ow-radios {
    display: grid;
    gap: 8px;
    font-weight: 500;
}
.ow-radios label {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f9fbfd;
}
.ow-radios input,
.ow-check input,
.ow-card input {
    width: auto;
    padding: 0;
    border: 0;
    box-shadow: none;
}
.ow-check { display: flex !important; align-items: center; gap: 8px; font-weight: 500; }
.ow-stepper { display: flex; align-items: center; gap: 6px; }
.ow-stepper input { width: 72px; text-align: center; }
.ow-stepper__btn { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }
.ow-map { height: 280px; border-radius: 14px; overflow: hidden; background: #d9e2ea; }
.ow-search { display: flex; gap: 8px; }
.ow-drop { border: 2px dashed var(--line); border-radius: 16px; padding: 24px; text-align: center; background: #f9fbfd; }
.ow-drop.is-over { border-color: var(--blue); }
.ow-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.ow-photo { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 8px; display: grid; gap: 6px; }
.ow-photo img { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; }
.ow-season, .ow-unit { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 8px; margin-bottom: 8px; }
.ow-review__row { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ow-nav {
    position: sticky;
    bottom: 0;
    z-index: 6;
    background: #f7f8fa;
    padding: 12px 0 16px;
    border-top: 1px solid var(--line);
    justify-content: flex-start;
}
.ow-nav .btn[hidden],
.ow-nav .btn.is-hidden,
.btn[hidden],
.is-hidden { display: none !important; }
@media (max-width: 700px) {
    .owner-card, .ow-season, .ow-unit { grid-template-columns: 1fr; }
    .ow-nav { justify-content: stretch; }
    .ow-nav .btn { flex: 1 1 46%; }
    .ow-nav .btn[hidden],
    .ow-nav .btn.is-hidden { flex: 0 0 0 !important; }
}
