/* SPORTONOM Phase 3 owner workspace */
.owner-shell { min-height: calc(100vh - 78px); background: #f5f8fb; color: #07111f; padding: 3.2rem 0 7rem; }
.owner-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 2.2rem; align-items: start; }
.owner-sidebar { position: sticky; top: 1.3rem; border-radius: 22px; padding: 1.15rem .8rem; background: #07111f; color: #fff; box-shadow: 0 18px 45px rgba(7,17,31,.14); }
.owner-sidebar-brand { display: flex; align-items: center; gap: .7rem; padding: .65rem .6rem 1.3rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.owner-sidebar-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: linear-gradient(135deg,#1685ff,#8cf04a); color: #07111f; }
.owner-sidebar-brand strong,.owner-sidebar-brand small { display: block; }.owner-sidebar-brand strong { font: 700 .9rem "Space Grotesk"; }.owner-sidebar-brand small { color: #7890a6; font-size: .63rem; margin-top: .12rem; }
.owner-sidebar nav { display: grid; gap: .25rem; padding: 1rem 0; }.owner-sidebar a { display: flex; align-items: center; gap: .7rem; border-radius: 11px; padding: .75rem .7rem; color: #8fa6b8; font-size: .8rem; font-weight: 700; }.owner-sidebar a:hover,.owner-sidebar a.active { background: rgba(22,133,255,.18); color: #fff; }.owner-sidebar a.active i { color: #8cf04a; }.owner-sidebar a i { width: 18px; color: #6f8da3; font-size: 1rem; }
.owner-sidebar-foot { border-top: 1px solid rgba(255,255,255,.1); padding-top: .8rem; display: grid; gap: .2rem; }
.owner-main { min-width: 0; }.owner-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.2rem; }.owner-page-heading.compact { margin-bottom: 1.5rem; }.owner-page-heading h1 { font-size: clamp(2.7rem,5vw,4.8rem); margin: .75rem 0 .6rem; }.owner-page-heading p { color: #7890a1; margin: 0; }.owner-gradient { background: linear-gradient(100deg,#1685ff,#21d5ba,#8cf04a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.owner-status-panel { display: flex; align-items: center; gap: 1rem; border: 1px solid #cde8f8; background: #e8f6ff; border-radius: 18px; padding: 1.2rem 1.35rem; margin-bottom: 1rem; }.owner-status-panel.is-danger { border-color: #f3c6ca; background: #fff0f1; }.owner-status-panel h2 { font-size: 1.25rem; margin: .3rem 0; }.owner-status-panel p { color: #6f8493; margin: 0; font-size: .85rem; }.owner-status-icon { flex: 0 0 auto; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: #fff; color: #1685ff; font-size: 1.35rem; }
.owner-metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .85rem; margin-bottom: .85rem; }.owner-metric { background: #fff; border: 1px solid #e5edf1; border-radius: 17px; padding: 1.2rem; }.owner-metric span,.owner-metric small { display: block; color: #7890a1; font-size: .72rem; }.owner-metric strong { display: block; font: 700 1.9rem "Space Grotesk"; margin: .45rem 0; }.owner-metric small i { color: #1685ff; margin-right: .2rem; }.owner-metric-dark { color: #fff; background: #09243c; border-color: transparent; }.owner-metric-dark span,.owner-metric-dark small { color: #9eb4c4; }.owner-metric-green { background: #ecfce9; border-color: #d4f1cb; }.owner-metric-green strong { color: #127b52; font-size: 1.55rem; }
.owner-content-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.75fr); gap: .85rem; }.owner-card { border: 1px solid #e5edf1; border-radius: 19px; padding: 1.35rem; background: #fff; }.owner-card-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.owner-card-heading h2 { font-size: 1.5rem; margin: .35rem 0 0; }.owner-quick-card { background: linear-gradient(145deg,#09243c,#0b5262); color: #fff; border: 0; }.owner-quick-card h2 { font-size: 2rem; margin: .8rem 0; }.owner-quick-card p { color: #b4ced5; font-size: .85rem; margin-bottom: 1.5rem; }.owner-quick-card .btn-ghost { margin-top: .6rem; color: #e7f3f6; background: rgba(255,255,255,.1); }
.owner-booking-list { border-top: 1px solid #edf1f3; }.owner-booking-row { display: flex; align-items: center; gap: .8rem; padding: .8rem 0; border-bottom: 1px solid #edf1f3; }.owner-date-tile,.slot-admin-date { flex: 0 0 42px; border-radius: 10px; background: #eef7fc; text-align: center; padding: .28rem; }.owner-date-tile strong,.owner-date-tile span,.slot-admin-date strong,.slot-admin-date span { display: block; }.owner-date-tile strong,.slot-admin-date strong { color: #1685ff; font: 700 1.15rem "Space Grotesk"; line-height: 1.1; }.owner-date-tile span,.slot-admin-date span { color: #7190a6; font-size: .61rem; text-transform: uppercase; }.owner-booking-info { flex: 1; min-width: 0; }.owner-booking-info strong,.owner-booking-info span,.owner-booking-side strong { display: block; }.owner-booking-info strong { font-size: .86rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.owner-booking-info span,.owner-booking-side strong { font-size: .72rem; color: #8198a8; }.owner-booking-side { text-align: right; }.owner-booking-side .status-badge { display: inline-block; margin-top: .25rem; }
.owner-notification-list { border-top: 1px solid #edf1f3; }.owner-notification { display: flex; gap: .7rem; padding: .75rem 0; border-bottom: 1px solid #edf1f3; color: #7890a1; }.owner-notification > i { color: #1685ff; font-size: 1.1rem; }.owner-notification strong,.owner-notification span,.owner-notification small { display: block; }.owner-notification strong { color: #07111f; font-size: .8rem; }.owner-notification span { font-size: .72rem; }.owner-notification small { font-size: .63rem; margin-top: .2rem; }.owner-notification.unread { border-left: 3px solid #8cf04a; padding-left: .55rem; }
.owner-ground-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }.owner-ground-card { overflow: hidden; border: 1px solid #e5edf1; border-radius: 19px; background: #fff; }.owner-ground-cover { height: 165px; display: grid; place-items: center; position: relative; background: linear-gradient(140deg,#073957,#0c7380); color: rgba(255,255,255,.5); font-size: 3rem; background-position: center; background-size: cover; }.owner-ground-cover.has-photo:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent,rgba(7,17,31,.48)); }.owner-ground-cover .status-badge { position: absolute; z-index: 1; top: 1rem; left: 1rem; }.owner-ground-body { padding: 1.1rem; }.owner-ground-title { display: flex; justify-content: space-between; gap: 1rem; }.owner-ground-title h2 { font-size: 1.3rem; margin: 0 0 .25rem; }.owner-ground-title p,.owner-ground-address { color: #7890a1; font-size: .75rem; margin: 0; }.owner-ground-title p i { color: #1685ff; }.owner-card-arrow { color: #1685ff; }.owner-ground-address { margin-top: .8rem; min-height: 2.1em; }.owner-ground-stats { display: flex; gap: 1rem; border-top: 1px solid #edf1f3; border-bottom: 1px solid #edf1f3; margin: 1rem 0; padding: .7rem 0; }.owner-ground-stats span { color: #7890a1; font-size: .66rem; }.owner-ground-stats strong { color: #07111f; font-size: .95rem; margin-right: .15rem; }.owner-ground-actions { display: flex; flex-wrap: wrap; gap: .4rem; }.owner-ground-actions .btn { padding: .55rem .7rem; font-size: .7rem; }.owner-toggle-form { margin-top: .8rem; }
.text-button { border: 0; background: transparent; color: #1685ff; font-weight: 700; font-size: .72rem; padding: .25rem; }.text-button:hover { color: #07111f; }.text-button.danger { color: #b52d39; }.text-button.success { color: #16814e; }
.owner-empty,.owner-empty-large { text-align: center; }.owner-empty { display: flex; align-items: center; gap: .9rem; padding: 1.4rem 0; color: #7890a1; }.owner-empty > i { color: #1685ff; font-size: 1.7rem; }.owner-empty h3 { color: #07111f; font-size: 1rem; margin: 0; }.owner-empty p { margin: .2rem 0 0; font-size: .8rem; }.owner-empty-large { padding: 4rem 1rem; }.owner-empty-icon { display: grid; place-items: center; width: 65px; height: 65px; border-radius: 19px; color: #1685ff; background: #e7f3fb; margin: 0 auto 1rem; font-size: 1.7rem; }.owner-empty-large h2 { font-size: 2rem; }.owner-empty-large p { color: #7890a1; max-width: 440px; margin: 0 auto 1.4rem; }
.owner-form-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .85rem; }.owner-form label { display: block; color: #587186; font-size: .74rem; font-weight: 700; margin: .8rem 0 .35rem; }.owner-form input:not([type="checkbox"]),.owner-form select,.owner-form textarea,.owner-upload-form input[type="file"],.owner-filter-bar select { width: 100%; border: 1px solid #dce7ed; border-radius: 10px; background: #fff; color: #17334b; outline: none; padding: .72rem .8rem; }.owner-form textarea { resize: vertical; }.owner-form input:focus,.owner-form select:focus,.owner-form textarea:focus { border-color: #1685ff; box-shadow: 0 0 0 3px rgba(22,133,255,.12); }.owner-form-note { display: flex; gap: .45rem; color: #7890a1; font-size: .7rem; margin-top: 1rem; }.owner-form-note i { color: #1685ff; }.form-help { color: #7890a1; font-size: .76rem; margin: 0 0 .8rem; }.owner-sport-checks { display: grid; grid-template-columns: repeat(2,1fr); gap: .5rem; margin-top: .5rem; }.owner-sport-checks label { margin: 0; }.owner-sport-checks label span { display: flex; gap: .4rem; align-items: center; border: 1px solid #dce7ed; border-radius: 9px; padding: .55rem .6rem; color: #587186; font-weight: 600; }.owner-sport-checks input { position: absolute; opacity: 0; }.owner-sport-checks input:checked + span { border-color: #1685ff; color: #1685ff; background: #eef7ff; }.owner-sport-checks i { color: #21d5ba; }.owner-form-actions { display: flex; justify-content: flex-end; gap: .6rem; padding-top: 1rem; }.back-link-dark { color: #1685ff; display: block; font-size: .8rem; margin-bottom: 1.2rem; }.owner-map,.public-map { min-height: 285px; border-radius: 13px; overflow: hidden; background: #dbeaf0; }.map-search-row { display: flex; gap: .5rem; margin-bottom: .6rem; }.map-search-row input { flex: 1; border: 1px solid #dce7ed; border-radius: 9px; padding: .65rem .75rem; }.coordinate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }.coordinate-grid label { margin-top: .6rem; }.owner-upload-card { margin-bottom: 1rem; }.owner-upload-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .65rem; }.owner-upload-form label { grid-column: 1/-1; color: #587186; font-size: .75rem; font-weight: 700; }.owner-upload-form .form-help { grid-column: 1/-1; margin: 0; }.owner-photo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }.owner-photo-card { overflow: hidden; border-radius: 15px; border: 1px solid #e5edf1; background: #fff; }.owner-photo-card img { display: block; width: 100%; height: 180px; object-fit: cover; }.owner-photo-meta { display: flex; justify-content: space-between; gap: .4rem; align-items: center; padding: .65rem; }.photo-primary { color: #a06c00; font-size: .7rem; font-weight: 700; }
.owner-ground-switcher { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; margin: -1rem 0 1rem; color: #7890a1; font-size: .72rem; }.owner-ground-switcher a { border: 1px solid #dce7ed; border-radius: 30px; background: #fff; color: #587186; padding: .45rem .7rem; font-weight: 700; }.owner-ground-switcher a.active { border-color: #1685ff; color: #1685ff; background: #eef7ff; }.slots-layout { align-items: start; }.slot-admin-list { border-top: 1px solid #edf1f3; }.slot-admin-row { display: flex; align-items: center; gap: .7rem; padding: .7rem 0; border-bottom: 1px solid #edf1f3; }.slot-admin-info { flex: 1; min-width: 0; }.slot-admin-info strong,.slot-admin-info span { display: block; }.slot-admin-info strong { font-size: .82rem; }.slot-admin-info span { color: #7890a1; font-size: .7rem; }.slot-admin-actions { display: flex; gap: .2rem; }
.owner-filter-bar { display: flex; gap: .5rem; margin-bottom: .85rem; }.owner-filter-bar select { flex: 1; }.owner-table-card { overflow: hidden; }.owner-bookings-table { margin: 0; }.owner-bookings-table td small,.owner-bookings-table td strong { display: block; }.owner-bookings-table td small { color: #7890a1; font-size: .68rem; margin-top: .2rem; }.decision-actions { display: flex; align-items: center; gap: .4rem; }.decision-actions form { margin: 0; }.owner-profile-status { background: linear-gradient(145deg,#09243c,#0b5262); color: #fff; min-height: 300px; }.owner-profile-status p { color: #b4ced5; font-size: .85rem; }.profile-status-icon { display: grid; place-items: center; width: 55px; height: 55px; border-radius: 16px; background: rgba(140,240,74,.15); color: #8cf04a; font-size: 1.5rem; margin-top: 2rem; }.checkin-grid { align-items: start; }.qr-reader { overflow: hidden; min-height: 290px; border-radius: 14px; background: #07111f; }.qr-reader video { width: 100%!important; border-radius: 14px; }.scanner-unavailable { display: grid; place-items: center; min-height: 290px; color: #9eb4c4; text-align: center; }.checkin-rule-list { display: grid; gap: .7rem; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid #edf1f3; color: #587186; font-size: .78rem; }.checkin-rule-list i { color: #21b56f; margin-right: .35rem; }
.public-map { min-height: 230px; margin-top: 1rem; }
@media (max-width: 991.98px) { .owner-layout { grid-template-columns: 1fr; }.owner-sidebar { position: static; display: flex; align-items: center; gap: 1rem; overflow-x: auto; padding: .6rem; }.owner-sidebar-brand { border: 0; padding: .35rem .5rem; flex: 0 0 auto; }.owner-sidebar nav { display: flex; padding: 0; }.owner-sidebar nav a { white-space: nowrap; }.owner-sidebar nav a span,.owner-sidebar-foot { display: none; }.owner-sidebar nav a { padding: .6rem; }.owner-metric-grid { grid-template-columns: repeat(2,1fr); }.owner-ground-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 650px) { .owner-shell { padding-top: 1.5rem; }.owner-page-heading { display: block; }.owner-page-heading .btn { margin-top: 1.2rem; }.owner-metric-grid,.owner-content-grid,.owner-form-grid,.owner-ground-grid { grid-template-columns: 1fr; }.owner-booking-row { align-items: flex-start; }.owner-booking-side { margin-left: auto; }.owner-booking-side strong { font-size: .66rem; }.owner-upload-form { grid-template-columns: 1fr; }.owner-photo-grid { grid-template-columns: repeat(2,1fr); }.owner-photo-card img { height: 145px; }.owner-filter-bar { display: block; }.owner-filter-bar select,.owner-filter-bar .btn { display: block; margin-bottom: .5rem; }.owner-form-actions { justify-content: stretch; }.owner-form-actions .btn { flex: 1; }.owner-ground-stats { gap: .6rem; }.slot-admin-row { flex-wrap: wrap; }.slot-admin-actions { margin-left: auto; }.owner-sidebar { margin-inline: -.4rem; }.owner-sidebar-brand small { display: none; } }
.photo-order-actions { display: flex; align-items: center; gap: .1rem; }
.slot-admin-body { flex: 1; min-width: 0; }
.slot-admin-title { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.slot-admin-time, .slot-admin-price { display: block; font-size: .78rem; }
.slot-admin-price { color: #7890a1; }
.slot-duration-help { display: block; }
