.ownext-app {
  min-height: 100%;
  padding: 28px;
  color: #172529;
  background: linear-gradient(145deg, #f6f3ea 0%, #edf5f2 100%);
  overflow: auto;
}

.ownext-header {
  display: flex;
  justify-content: space-between;
  padding: 26px 30px;
  border: 1px solid #d7e0dc;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 30px rgba(29, 72, 69, 0.08);
}

.ownext-eyebrow { margin: 0 0 8px; color: #2f736e; font-size: 12px; font-weight: 800; letter-spacing: 0.14em; }
.ownext-title-line { display: flex; align-items: center; gap: 12px; }
.ownext-title-line h1 { margin: 0; font-size: clamp(30px, 4vw, 52px); }
.ownext-header p:last-child { margin: 8px 0 0; color: #647277; }
.ownext-preview, .ownext-module-status { display: inline-flex; padding: 5px 10px; border-radius: 999px; background: #dff2ec; color: #1f625c; font-size: 12px; font-weight: 800; }

.ownext-modules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.ownext-module-card { min-height: 130px; padding: 18px; border: 1px solid #d8dfdc; border-radius: 14px; background: #fff; }
.ownext-module-card.active { border: 2px solid #2f7b75; box-shadow: 0 8px 20px rgba(47, 123, 117, 0.1); }
.ownext-module-card.planned { opacity: 0.68; }
.ownext-module-card h3 { margin: 0 0 8px; font-size: 18px; }
.ownext-module-card p { min-height: 42px; margin: 0 0 12px; color: #68767a; }

.ownext-controls { display: grid; grid-template-columns: minmax(240px, 2fr) minmax(180px, 1fr) auto; gap: 14px; align-items: end; padding: 18px; border: 1px solid #d8dfdc; border-radius: 14px 14px 0 0; background: #fff; }
.ownext-controls label { display: grid; gap: 7px; color: #43565a; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; }
.ownext-controls select, .ownext-refresh { min-height: 44px; border: 1px solid #b8c9c5; border-radius: 8px; background: #fff; color: #183d41; padding: 0 12px; font: inherit; }
.ownext-refresh { border-color: #1f6f69; background: #1f6f69; color: #fff; font-weight: 800; cursor: pointer; }
.ownext-refresh:disabled { opacity: 0.6; cursor: wait; }
.ownext-certification { padding: 11px 18px; border: solid #d8dfdc; border-width: 0 1px 1px; background: #f5faf8; color: #4b625f; font-size: 13px; }
.ownext-content { padding: 20px; border: solid #d8dfdc; border-width: 0 1px 1px; border-radius: 0 0 14px 14px; background: #fff; }
.ownext-summary { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
.ownext-kpi { padding: 16px; border: 1px solid #dbe4e1; border-radius: 10px; background: #f8fbfa; }
.ownext-kpi span { display: block; color: #6a777a; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; }
.ownext-kpi strong { display: block; margin-top: 6px; color: #174f52; font-size: 26px; }
.ownext-table-wrap { overflow-x: auto; }
.ownext-table { width: 100%; border-collapse: collapse; }
.ownext-table th, .ownext-table td { padding: 12px; border-bottom: 1px solid #e1e7e5; text-align: right; }
.ownext-table th:first-child { text-align: left; }
.ownext-table thead th { color: #526568; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; }
.ownext-table td.negative { color: #a03939; }
.ownext-source { margin: 16px 0 0; color: #66777a; font-size: 13px; }
.ownext-loading, .ownext-empty, .ownext-error { margin-top: 20px; padding: 20px; border-radius: 12px; background: #fff; color: #526568; }
.ownext-error { border: 1px solid #e4baba; background: #fff5f5; color: #8e3434; }

.ownext-open-report { display:block; margin-top:14px; padding:9px 14px; border:1px solid #286e68; border-radius:7px; color:#fff; background:#286e68; font:inherit; font-weight:700; cursor:pointer; }
.ownext-report-title { margin:0 0 16px; font-size:26px; }
.ownext-report-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; padding:14px; background:#f4f7f5; border-radius:10px; }
.ownext-report-filters label { display:grid; gap:6px; font-size:12px; font-weight:700; color:#43565a; }
.ownext-report-filters select { max-width:100%; min-height:38px; padding:6px 10px; background:white; border:1px solid #bbc9c5; border-radius:6px; font:inherit; }
.ownext-report-filters input { min-height:38px; box-sizing:border-box; padding:6px 10px; border:1px solid #bbc9c5; border-radius:6px; font:inherit; max-width:100%; }
.ownext-controls [hidden] { display:none !important; }
.ownext-filter-context { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:14px 0; color:#5c6f6c; font-size:13px; }
.ownext-link-button { border:0; border-radius:4px; background:transparent; color:#216c67; font:inherit; text-align:left; text-decoration:underline; text-underline-offset:3px; cursor:pointer; padding:4px; }
.ownext-link-button:focus-visible,.ownext-open-report:focus-visible { outline:3px solid #bd985d; outline-offset:3px; }
.ownext-link-button:disabled { color:#8b9694; cursor:default; text-decoration:none; }
.ownext-financial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ownext-financial-card { min-width:0; overflow:hidden; border:1px solid #d2dcd7; border-radius:12px; background:#fff; }
.ownext-financial-card>h3,.ownext-card-header { margin:0; padding:14px 16px; background:#ede5d8; color:#3f4238; }
.ownext-card-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ownext-card-header h3,.ownext-card-header h2 { margin:0; }
.ownext-financial-card .ownext-table-wrap { max-height:400px; overflow:auto; }
.ownext-financial-card .ownext-table th,.ownext-financial-card .ownext-table td { padding:9px 10px; font-size:13px; }
.ownext-financial-card thead { position:sticky; top:0; background:#f5f8f6; z-index:1; }
.ownext-kpi-detail { grid-column:1/-1; }
.ownext-no-rows { padding:10px 16px; color:#697a75; }
.ownext-drillthrough { width:min(1450px,calc(100vw - 48px)); max-height:calc(100dvh - 48px); padding:0; border:1px solid #bbc9c5; border-radius:14px; color:#172529; box-shadow:0 24px 100px #162a2b44; }
.ownext-drillthrough::backdrop { background:#173d3f88; }
.ownext-drillthrough .ownext-table-wrap { max-height:calc(100dvh - 260px); overflow:auto; }
.ownext-drillthrough .ownext-table { min-width:1150px; }
.ownext-drillthrough td { max-width:280px; white-space:normal; overflow-wrap:anywhere; }
.ownext-drill-context { padding:0 16px; color:#58716b; }
.ownext-drill-pagination { display:flex; align-items:center; justify-content:end; flex-wrap:wrap; gap:16px; padding:12px 16px; }

@media (max-width: 760px) {
  .ownext-app { padding: 14px; }
  .ownext-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ownext-controls { grid-template-columns: 1fr; }
  .ownext-summary { grid-template-columns: 1fr; }
  .ownext-financial-grid { grid-template-columns:1fr; }
  .ownext-report-filters { display:grid; grid-template-columns:1fr; }
  .ownext-drillthrough { width:calc(100vw - 24px); }
}

@media (max-width: 440px) {
  .ownext-modules { grid-template-columns: 1fr; }
}
