/* Layout only; controls/panels use the canonical app.css primitives. */
.owner-page { margin: 0; line-height: 1.55; }
.owner-page *, .owner-page *::before, .owner-page *::after { box-sizing: border-box; }
.owner-page [hidden] { display: none !important; }
.owner-page h1, .owner-page h2, .owner-page p { margin: 0; overflow-wrap: anywhere; }
.owner-page h1 { font-size: clamp(24px, 4vw, 36px); color: #f8fafc; }
.owner-page h2 { font-size: 17px; }
.owner-page a { color: #7dd3fc; }
.owner-page button, .owner-page input { font: inherit; }
.owner-page button { cursor: pointer; }
.owner-page :focus-visible { outline: 2px solid #c084fc; outline-offset: 3px; }
.owner-stack { display: grid; gap: var(--ui-space-5); }
.owner-stack > *, .owner-toolbar > * { min-width: 0; }
.owner-eyebrow { color: #c4b5fd; font-size: 12px; letter-spacing: .08em; }
.owner-muted { color: #94a3b8; font-size: 14px; }
.owner-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ui-space-4); }
.owner-periods { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); margin-top: var(--ui-space-2); }
.owner-page fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.owner-button { width: auto; }
.owner-primary, .owner-periods [aria-pressed="true"] { border-color: #a855f7; background: #38204d; }
.owner-page button:disabled { opacity: .6; cursor: wait; }
.owner-number { font-size: clamp(28px, 4vw, 40px); font-weight: 700; color: #d8b4fe; }
.owner-page .ui-field-label { margin-bottom: var(--ui-space-2); }
#owner-message { color: #7dd3fc; }
#owner-message[data-error="true"] { color: #fca5a5; }
#owner-message:empty { display: none; }
#owner-chart { display: block; width: 100%; height: auto; min-height: 120px; }
#owner-chart-day { width: 100%; min-height: 42px; margin: 0; accent-color: #c084fc; cursor: pointer; }
.owner-chart-detail { font-variant-numeric: tabular-nums; color: #e2e8f0; min-height: 24px; }
.owner-ranking { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--ui-space-5); }
.owner-ranking li { min-width: 0; }
.owner-ranking span { overflow-wrap: anywhere; }
.owner-ranking strong { color: #d8b4fe; font-variant-numeric: tabular-nums; }
.owner-ranking progress { display: block; width: 100%; height: 8px; margin-top: var(--ui-space-2); border: 0; border-radius: 8px; overflow: hidden; background: #1e293b; }
.owner-ranking progress::-webkit-progress-bar { background: #1e293b; border-radius: 8px; }
.owner-ranking progress::-webkit-progress-value { background: linear-gradient(90deg, #7c3aed, #38bdf8); border-radius: 8px; }
.owner-ranking progress::-moz-progress-bar { background: #a78bfa; border-radius: 8px; }
.owner-page summary { cursor: pointer; list-style: none; }
.owner-page summary::-webkit-details-marker { display: none; }
.owner-table-wrap { padding: var(--ui-space-4); }
.owner-page table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.owner-page th, .owner-page td { text-align: left; padding: 12px 4px; border-bottom: 1px solid #334155; overflow-wrap: anywhere; vertical-align: top; }
.owner-page th { color: #c4b5fd; }
.owner-page th:not(:first-child), .owner-page td:not(:first-child) { text-align: right; }
@media (max-width: 700px) { .owner-page .ui-equal-grid { grid-template-columns: minmax(0, 1fr); } }
.owner-page .ui-control-wrap:has(> .ui-popover:not([hidden])) { z-index: 80; }
.owner-page .ui-control-action[aria-hidden="true"] { pointer-events: none; }
