:root {
  --ink: #10213d;
  --navy: #0c1c36;
  --muted: #65738a;
  --line: #e5eaf1;
  --surface: #f6f8fb;
  --card: #ffffff;
  --blue: #536dff;
  --blue-soft: #edf0ff;
  --green: #31a97b;
  --orange: #f09b5e;
  --red: #dc6b74;
  --violet: #075d80;
  --yellow: #e2bd56;
  --ocean-950: #082d4a;
  --ocean-800: #0d3d5c;
  --ocean-650: #176589;
  --ocean-400: #61c9e6;
  --ocean-200: #b4e8f3;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--surface); color: var(--ink); font-family: "DM Sans", system-ui, sans-serif; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid rgba(83,109,255,.35); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
body:not(.authenticated) .app-shell { display: none; }
body.authenticated .access-gate { display: none; }
.access-gate { min-height: 100vh; display: grid; place-items: center; padding: 25px; background: radial-gradient(circle at 80% 18%, #164675 0, rgba(22,70,117,0) 31%), radial-gradient(circle at 8% 92%, #0b5871 0, rgba(11,88,113,0) 35%), #0a1931; color: white; }
.gate-panel { width: min(100%, 520px); padding: 42px; background: rgba(10,28,54,.68); border: 1px solid rgba(176,205,237,.16); border-radius: 16px; box-shadow: 0 28px 65px rgba(2,9,25,.38); }.gate-mark { display: inline-flex; gap: 4px; align-items: end; height: 35px; margin-bottom: 31px; }.gate-mark i { width: 7px; border-radius: 4px; background: #2a96b5; display: block; }.gate-mark i:nth-child(1) { height: 16px; }.gate-mark i:nth-child(2) { height: 26px; background: #5ac4df; }.gate-mark i:nth-child(3) { height: 34px; background: #a2e0ed; }.gate-panel .eyebrow { color: #85c8d9; }.gate-panel h1 { margin: 0; font-size: clamp(31px, 5vw, 44px); line-height: 1.06; letter-spacing: -1.9px; font-weight: 600; }.gate-panel h1 em { color: #75d1e4; font-style: normal; }.gate-panel > p:not(.eyebrow) { color: #b8c7dc; line-height: 1.55; font-size: 14px; max-width: 390px; margin: 17px 0 28px; }.gate-panel form label { display: block; color: #c4d2e4; font-size: 11px; font-weight: 600; margin-bottom: 7px; }.password-row { display: flex; gap: 8px; }.password-row input { min-width: 0; flex: 1; height: 45px; border: 1px solid rgba(182,205,232,.28); background: rgba(255,255,255,.08); color: white; border-radius: 7px; padding: 0 12px; outline: 0; }.password-row input::placeholder { color: #91a5c1; }.password-row input:focus { border-color: #6dc9e2; box-shadow: 0 0 0 3px rgba(88,193,218,.15); }.password-row button { min-width: 102px; border: 0; border-radius: 7px; background: #4fc0db; color: #082039; font-weight: 700; font-size: 12px; }.password-row button span { margin-left: 6px; }.access-error { min-height: 16px; display: block; color: #ffb7bf; font-size: 11px; margin-top: 8px; }.gate-panel footer { border-top: 1px solid rgba(180,207,235,.16); margin-top: 29px; padding-top: 16px; color: #8193af; font-size: 10px; }

.app-shell { display: grid; grid-template-columns: 246px minmax(0,1fr); min-height: 100vh; }
.sidebar { background: linear-gradient(155deg, var(--ocean-950), var(--ocean-800)); color: var(--ocean-200); padding: 29px 20px 22px; position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ocean-200); text-decoration: none; font-weight: 700; letter-spacing: -.5px; font-size: 20px; margin: 0 8px 47px; }
.brand span span { color: var(--ocean-400); }
.brand-mark { display: inline-flex; gap: 3px; align-items: end; height: 24px; }
.brand-mark i { width: 5px; border-radius: 4px; background: var(--ocean-400); display: block; }
.brand-mark i:nth-child(1) { height: 12px; }.brand-mark i:nth-child(2) { height: 19px; background: var(--ocean-200); }.brand-mark i:nth-child(3) { height: 24px; }
.main-nav { display: grid; gap: 7px; }
.nav-link { display: flex; align-items: center; gap: 12px; color: var(--ocean-200); padding: 12px 13px; border-radius: 9px; text-decoration: none; font-size: 14px; font-weight: 500; transition: .2s ease; }
.nav-link:hover { color: var(--ocean-200); background: rgba(180,232,243,.09); }.nav-link.active { color: var(--ocean-200); background: rgba(97,201,230,.2); }
.nav-icon { color: var(--ocean-400); font-size: 18px; line-height: 1; width: 16px; text-align: center; }
.sidebar-bottom { margin-top: auto; padding: 18px 9px 0; border-top: 1px solid rgba(180,232,243,.18); }.sidebar-bottom p { color: var(--ocean-400); line-height: 1.5; font-size: 11px; margin: 15px 0 0; }
.sidebar-note { display: flex; gap: 9px; align-items: center; }.sidebar-note .dot { width: 8px; height: 8px; background: var(--ocean-400); border-radius: 99px; box-shadow: 0 0 0 4px rgba(97,201,230,.12); }.sidebar-note strong { display: block; color: var(--ocean-200); font-size: 11px; }.sidebar-note small { color: var(--ocean-400); font-size: 10px; }
main { min-width: 0; }
.topbar { height: 76px; padding: 0 42px; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 24px; position: sticky; top: 0; z-index: 10; backdrop-filter: blur(9px); }
.breadcrumb { display: flex; align-items: center; gap: 9px; white-space: nowrap; font-size: 13px; color: var(--muted); }.breadcrumb b { color: #bdc6d4; font-weight: 400; }.breadcrumb strong { color: var(--ink); font-weight: 600; }
.search-wrap { width: min(430px, 37vw); margin-left: auto; position: relative; }.search-wrap input { height: 39px; width: 100%; padding: 0 61px 0 35px; border: 1px solid #e3e8f1; border-radius: 7px; outline: 0; color: var(--ink); background: #fbfcfe; font-size: 12px; }.search-wrap input::placeholder { color: #a1adbf; }.search-wrap input:focus { border-color: #9fafff; background: white; box-shadow: 0 0 0 3px #eef0ff; }.search-icon { position: absolute; left: 12px; top: 7px; font-size: 23px; color: #8794a9; z-index: 1; }.search-wrap kbd { position: absolute; right: 9px; top: 10px; color: #95a0b1; font: 10px "DM Mono", monospace; padding: 2px 4px; background: #f0f2f6; border-radius: 3px; }
.search-panel { position: absolute; top: 46px; left: 0; right: 0; background: white; border: 1px solid #e2e7ef; border-radius: 10px; box-shadow: 0 16px 36px rgba(26,47,79,.15); overflow: hidden; padding: 6px; }.search-group-label { color: #97a4b9; padding: 7px 9px 4px; text-transform: uppercase; font-size: 9px; letter-spacing: .08em; font-weight: 700; }.search-result { width: 100%; border: 0; background: transparent; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 7px; padding: 9px; text-align: left; border-radius: 6px; color: var(--ink); }.search-result:hover, .search-result:focus { background: #f2f4ff; }.search-result span { color: var(--blue); font-size: 17px; }.search-result strong { font-size: 12px; font-weight: 600; }.search-result small { font-size: 10px; color: var(--muted); }.search-result em { color: var(--muted); font-size: 10px; font-style: normal; }.empty-result { color: var(--muted); padding: 17px 10px; text-align: center; font-size: 12px; }
.period-button { border: 1px solid #e1e7f0; background: white; color: var(--ink); height: 39px; border-radius: 7px; padding: 0 11px; font-size: 12px; font-weight: 600; white-space: nowrap; }.period-button span { color: var(--muted); margin-left: 7px; font-size: 14px; }.period-menu { position: fixed; top: 63px; right: 42px; min-width: 185px; background: white; padding: 5px; border-radius: 9px; box-shadow: 0 14px 30px rgba(22,43,76,.16); border: 1px solid var(--line); z-index: 12; }.period-menu button { width: 100%; text-align: left; padding: 9px; border: 0; background: transparent; border-radius: 6px; color: var(--ink); font-size: 12px; font-weight: 600; }.period-menu button:hover,.period-menu .selected { background: #f0f3ff; color: #344cca; }.period-menu small { display: block; font-weight: 400; color: var(--muted); font-size: 10px; margin-top: 2px; }
.menu-toggle { display: none; }
.content { max-width: 1480px; padding: 48px 42px 60px; margin: auto; }
.hero { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 37px; }.eyebrow { color: #7080a2; font-size: 10px; line-height: 1; letter-spacing: .13em; font-weight: 700; margin: 0 0 11px; }.hero h1 { font-size: clamp(32px,3.4vw,48px); letter-spacing: -2.1px; line-height: 1.06; margin: 0; font-weight: 600; }.hero h1 em { font-style: normal; color: var(--blue); }.hero-copy { color: var(--muted); font-size: 14px; line-height: 1.55; max-width: 535px; margin: 15px 0 0; }.hero-asof { display: grid; min-width: 148px; text-align: right; padding-bottom: 5px; }.hero-asof span { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #8491a5; }.hero-asof strong { font: 500 13px "DM Mono", monospace; margin: 5px 0 3px; }.hero-asof small { color: var(--muted); font-size: 10px; }
.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-bottom: 29px; }.metric-card { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 17px 18px 16px; min-height: 121px; position: relative; overflow: hidden; }.metric-card::after { content: ""; width: 58px; height: 58px; position: absolute; right: -19px; top: -20px; border-radius: 50%; opacity: .11; }.accent-blue::after { background: var(--blue); }.accent-green::after { background: var(--green); }.accent-ocean::after { background: var(--violet); }.accent-orange::after { background: var(--orange); }.accent-red::after { background: var(--red); }.metric-top { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; font-weight: 500; position: relative; z-index: 1; }.metric-symbol { font-size: 19px; line-height: 10px; }.accent-blue .metric-symbol { color: var(--blue); }.accent-green .metric-symbol { color: var(--green); }.accent-ocean .metric-symbol { color: var(--violet); }.accent-orange .metric-symbol { color: var(--orange); }.accent-red .metric-symbol { color: var(--red); }.metric-card strong { display: block; font-size: clamp(20px,2vw,27px); letter-spacing: -1px; margin-top: 17px; font-weight: 600; }.metric-card p { margin: 4px 0 0; color: #8793a5; font-size: 10px; }.metric-card p b { color: var(--green); }
.economics-section { margin: 5px 0 29px; padding: 23px; background: linear-gradient(140deg, #f4fafc, #ffffff 57%); border: 1px solid #dceaf0; border-radius: 10px; }.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; }.section-heading h2 { font-size: 18px; letter-spacing: -.5px; margin: 0; }.section-heading p:last-child { color: var(--muted); font-size: 12px; margin: 7px 0 0; }.economic-asof { color: #075d80; border: 1px solid #cfe5ec; border-radius: 99px; background: #eef8fa; padding: 5px 8px; font: 500 10px "DM Mono",monospace; white-space: nowrap; }.economics-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 9px; margin-top: 19px; }.economic-card { min-width: 0; padding: 14px; background: rgba(255,255,255,.78); border: 1px solid #dce9ef; border-radius: 8px; }.economic-card span { display: block; min-height: 29px; color: #60738b; font-size: 10px; line-height: 1.25; }.economic-card strong { display: block; color: #0b3557; font: 500 clamp(18px,1.9vw,23px) "DM Mono",monospace; letter-spacing: -1px; margin-top: 9px; }.economic-card small { display: block; color: #8998a8; font-size: 9px; line-height: 1.35; margin-top: 5px; }.economic-source { color: #8291a2; font-size: 9px; margin: 13px 0 0; }.economic-source a { color: #075d80; text-underline-offset: 2px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(285px,.85fr); gap: 18px; }.panel { min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 23px; }.panel-heading { display: flex; justify-content: space-between; align-items: start; gap: 15px; }.panel h2,.section-header h2,.assumptions-section h2 { font-size: 16px; line-height: 1.25; letter-spacing: -.4px; margin: 0; font-weight: 600; }.panel-heading .eyebrow { margin-bottom: 8px; }.chart-panel { min-height: 358px; }.chart-legend { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 10px; white-space: nowrap; }.legend-line { width: 13px; height: 3px; border-radius: 3px; display: inline-block; vertical-align: middle; margin-right: 4px; }.legend-line.revenue { background: var(--blue); }.legend-line.profit { background: var(--green); }.chart-holder { height: 245px; margin: 21px -2px 0; position: relative; }.chart-footer { display: flex; justify-content: space-between; margin-top: 5px; padding-top: 12px; border-top: 1px solid #edf0f4; color: #8a96a8; font-size: 10px; }.chart-footer strong { color: var(--green); font-weight: 600; }
.drivers-panel { min-height: 358px; }.driver-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0 1px; }.driver-controls label,.payment-controls label { color: #75839a; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; }.driver-controls select,.payment-controls select { display: block; width: 100%; margin-top: 4px; color: #31415d; height: 29px; padding: 0 7px; border: 1px solid #e2e8f1; background: #fbfcfe; border-radius: 5px; font: 500 10px "DM Sans",sans-serif; outline: 0; }.driver-controls select:focus,.payment-controls select:focus { border-color: #65aabe; box-shadow: 0 0 0 3px rgba(9,97,128,.1); }.donut-layout { display: grid; grid-template-columns: 144px 1fr; gap: 13px; align-items: center; height: 211px; }.donut-summary { display: grid; justify-items: center; gap: 8px; }.donut { width: 128px; height: 128px; margin: auto; background: conic-gradient(var(--blue) 0 46.4%, var(--green) 46.4% 79.2%, var(--orange) 79.2% 90%, var(--violet) 90% 96.4%, var(--yellow) 96.4% 100%); border-radius: 50%; position: relative; }.donut::after { content: ""; position: absolute; inset: 22px; border-radius: 50%; background: white; }.donut span { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; text-align: center; }.donut b { font-size: 12px; letter-spacing: -.5px; }.donut-caption { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.3; text-align: center; }.donut-legend { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }.donut-legend li { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; font-size: 10px; }.donut-legend i { width: 7px; height: 7px; border-radius: 50%; }.donut-legend span { color: var(--muted); }.donut-legend b { color: var(--ink); font-size: 9px; font-weight: 600; white-space: nowrap; }.driver-caption { color: #8b97a7; margin: 0; font-size: 9px; }
.cashflow-panel,.valuation-panel { min-height: 278px; }.value-tag { color: var(--green); font: 500 12px "DM Mono",monospace; padding: 6px 7px; border-radius: 5px; background: #edf9f4; }.bar-chart { height: 157px; display: flex; align-items: end; gap: clamp(5px,1vw,11px); padding: 20px 8px 0; border-bottom: 1px solid #e9edf3; }.bar-item { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 5px; }.bar { width: min(100%,29px); min-height: 6px; background: linear-gradient(180deg, #7f91ff,#536dff); border-radius: 5px 5px 0 0; transition: height .5s ease; }.bar-value { color: #687790; font: 9px "DM Mono",monospace; white-space: nowrap; }.bar-year { color: #8995a7; font-size: 9px; }.cashflow-caption { margin-top: 15px; display: grid; grid-template-columns: 1fr auto 1fr; color: #8b97a8; font-size: 10px; }.cashflow-caption strong { color: var(--ink); font-weight: 600; }.cashflow-caption span:last-child { text-align: right; }
.info-button { width: 20px; height: 20px; border-radius: 50%; color: #728099; border: 1px solid #d9e0ea; background: white; font-size: 11px; padding: 0; }.valuation-main { margin-top: 23px; display: flex; align-items: baseline; gap: 8px; }.valuation-main strong { font-size: 27px; letter-spacing: -1px; }.valuation-main span { color: var(--muted); font-size: 10px; }.valuation-adjustment { margin-top: 16px; padding: 10px 11px; border: 1px solid #dce9ef; border-radius: 7px; background: #f9fcfd; }.valuation-adjustment-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #60738b; font-size: 9px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }.valuation-adjustment output { color: var(--ocean-800); font: 500 11px "DM Mono",monospace; letter-spacing: 0; }.valuation-slider { --valuation-progress: 100%; display: block; width: 100%; height: 5px; margin: 10px 0 6px; border-radius: 99px; appearance: none; background: linear-gradient(90deg, var(--ocean-650) 0 var(--valuation-progress), #dce9ef var(--valuation-progress) 100%); cursor: grab; }.valuation-slider:active { cursor: grabbing; }.valuation-slider::-webkit-slider-thumb { width: 15px; height: 15px; border: 2px solid #fff; border-radius: 50%; appearance: none; background: var(--ocean-800); box-shadow: 0 1px 4px rgba(8,45,74,.24); }.valuation-slider::-moz-range-thumb { width: 12px; height: 12px; border: 2px solid #fff; border-radius: 50%; background: var(--ocean-800); box-shadow: 0 1px 4px rgba(8,45,74,.24); }.valuation-slider:focus-visible { outline: 3px solid rgba(97,201,230,.35); outline-offset: 3px; }.valuation-adjustment small { display: block; color: #8292a4; font-size: 8px; }.valuation-bars { margin-top: 20px; display: grid; gap: 10px; }.value-row { display: grid; grid-template-columns: 110px 1fr 61px; gap: 8px; align-items: center; font-size: 10px; }.value-row span { color: var(--muted); }.value-row b { height: 7px; background: #eef1f5; border-radius: 10px; overflow: hidden; }.value-row b i { display: block; height: 100%; border-radius: inherit; }.value-row strong { font: 9px "DM Mono",monospace; font-weight: 500; text-align: right; }.valuation-meta { display: flex; gap: 16px; padding-top: 13px; margin-top: 17px; border-top: 1px solid #edf0f4; color: #8995a7; font-size: 10px; }.valuation-meta b { color: var(--ink); font-weight: 600; margin-left: 3px; }
.section-header { display: flex; justify-content: space-between; align-items: end; margin-top: 48px; margin-bottom: 18px; }.section-header h2 { font-size: 22px; letter-spacing: -.8px; }.section-header > div > p:last-child { color: var(--muted); margin: 7px 0 0; font-size: 12px; }.debt-summary { min-width: 157px; border-left: 2px solid var(--orange); padding: 2px 0 2px 12px; }.debt-summary span { color: var(--muted); display: block; font-size: 10px; }.debt-summary strong { display: block; margin: 3px 0; font: 500 17px "DM Mono",monospace; letter-spacing: -.8px; }.debt-summary small { color: #8994a6; font-size: 10px; }.debt-summary b { color: var(--green); }
.debt-area { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 17px 20px 4px; }.debt-controls { display: flex; justify-content: space-between; gap: 17px; align-items: center; margin-bottom: 13px; }.filter-tabs { display: flex; gap: 2px; flex-wrap: wrap; }.filter-tab { border: 0; background: transparent; color: var(--muted); border-radius: 6px; padding: 7px 9px; font-size: 11px; font-weight: 500; }.filter-tab:hover { background: #f4f6fa; }.filter-tab.selected { background: #edf0ff; color: #3d55d7; }.filter-tab span { font: 9px "DM Mono",monospace; margin-left: 3px; }.table-search { position: relative; }.table-search span { position: absolute; left: 8px; top: 3px; color: #7c8a9f; font-size: 19px; }.table-search input { height: 29px; width: 164px; border: 1px solid #e4e9f0; border-radius: 5px; padding-left: 29px; font-size: 10px; outline: 0; }.table-search input:focus { border-color: #aab7ff; }.table-wrap { overflow-x: auto; }table { width: 100%; border-collapse: collapse; min-width: 710px; }th { color: #8794a6; text-transform: uppercase; letter-spacing: .07em; font-size: 9px; font-weight: 700; padding: 10px 9px; text-align: left; white-space: nowrap; }td { padding: 12px 9px; border-top: 1px solid #edf0f4; font-size: 11px; color: #33435e; }td:nth-child(3),td:nth-child(4),td:nth-child(5) { font: 10px "DM Mono", monospace; text-align: right; color: #20334f; }th:nth-child(3),th:nth-child(4),th:nth-child(5) { text-align: right; }.contract-name { color: var(--ink); font-weight: 600; }.status { display: inline-block; border-radius: 99px; font-size: 9px; padding: 4px 7px; white-space: nowrap; font-weight: 600; }.status.active { background: #eaf8f1; color: #24946d; }.status.inactive { background: #e9f5f8; color: #075d80; }.status.paid { background: #f1f3f6; color: #6e7a8c; }.table-empty { color: var(--muted); font-size: 12px; text-align: center; padding: 24px; }
.debt-overview { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 17px; margin-bottom: 17px; }.debt-kpis { display: grid; gap: 10px; }.debt-kpis article { background: white; padding: 15px; border: 1px solid var(--line); border-radius: 9px; }.debt-kpis article:nth-child(1) { border-left: 3px solid var(--blue); }.debt-kpis article:nth-child(2) { border-left: 3px solid var(--orange); }.debt-kpis article:nth-child(3) { border-left: 3px solid var(--red); }.debt-kpis span { color: var(--muted); display: block; font-size: 10px; }.debt-kpis strong { display: block; margin: 6px 0 3px; font: 500 18px "DM Mono",monospace; letter-spacing: -.8px; }.debt-kpis small { color: #8b97a8; font-size: 9px; }.payment-panel { background: white; border: 1px solid var(--line); border-radius: 10px; padding: 20px; min-width: 0; }.payment-controls { display: flex; gap: 8px; margin-top: 12px; }.payment-controls label { width: 128px; }.payment-chart { height: 180px; display: flex; align-items: end; gap: clamp(4px, 1vw, 10px); margin-top: 8px; padding: 16px 5px 0; border-bottom: 1px solid #e8eef3; }.payment-item { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 5px; }.payment-bar { width: min(100%, 35px); min-height: 5px; border-radius: 5px 5px 0 0; background: linear-gradient(180deg, #1c91b4, #075d80); transition: height .45s ease; }.payment-value { color: #61718a; font: 9px "DM Mono",monospace; white-space: nowrap; }.payment-label { color: #8c98aa; font-size: 9px; }.payment-caption { display: flex; justify-content: space-between; gap: 15px; padding-top: 12px; color: #8b97a8; font-size: 9px; }.payment-caption strong { color: #075d80; font-weight: 600; text-align: right; }
.executive-summary { margin-top: 36px; padding: 27px 29px; background: linear-gradient(130deg, #0b2343, #075d80); border-radius: 11px; color: white; display: grid; grid-template-columns: minmax(280px, .9fr) minmax(300px, 1fr); gap: 34px; }.executive-summary .eyebrow { color: #94d3e2; }.executive-summary h2 { font-size: 20px; line-height: 1.24; letter-spacing: -.7px; margin: 0; font-weight: 500; }.executive-summary p:last-child { color: #d4e3ec; font-size: 12px; line-height: 1.65; margin: 0; align-self: end; }.assumptions-section { display: grid; grid-template-columns: 250px 1fr; gap: 26px; margin-top: 48px; padding-top: 7px; }.assumptions-section > div > p:last-child { color: var(--muted); font-size: 12px; line-height: 1.55; }.assumption-table-wrap { background: white; border: 1px solid var(--line); border-radius: 9px; overflow-x: auto; }.assumption-table { min-width: 560px; }.assumption-table th { padding: 12px 13px; }.assumption-table td { padding: 12px 13px; }.assumption-table th:nth-child(n+2),.assumption-table td:nth-child(n+2) { text-align: right; }.assumption-table td:nth-child(n+2) { color: #075d80; font: 500 11px "DM Mono",monospace; }
.chat-assistant { margin-top: 39px; padding: 28px; background: #0b2343; border-radius: 11px; color: white; display: grid; grid-template-columns: minmax(250px,.8fr) minmax(330px,1fr); gap: 32px; }.chat-assistant .eyebrow { color: #7bd2e4; }.chat-assistant h2 { font-size: 20px; line-height: 1.2; letter-spacing: -.6px; margin: 0; font-weight: 500; }.chat-assistant p:not(.eyebrow) { color: #bed1df; font-size: 12px; line-height: 1.55; margin: 11px 0 0; }.chat-assistant form label { display: block; color: #c7d9e5; font-size: 10px; font-weight: 600; margin-bottom: 7px; }.chat-assistant textarea { display: block; width: 100%; resize: vertical; min-height: 76px; padding: 10px; border: 1px solid rgba(185,212,232,.28); border-radius: 7px; outline: 0; background: rgba(255,255,255,.07); color: white; line-height: 1.45; font-size: 12px; }.chat-assistant textarea::placeholder { color: #7790a5; }.chat-assistant textarea:focus { border-color: #65c7dc; box-shadow: 0 0 0 3px rgba(101,199,220,.14); }.chat-assistant form > div { display: flex; justify-content: space-between; align-items: center; gap: 13px; margin-top: 10px; }.chat-assistant small { color: #9eb5c7; font-size: 9px; }.chat-assistant button { border: 0; border-radius: 6px; background: #6bd0e4; color: #08243a; padding: 10px 12px; font-size: 11px; font-weight: 700; white-space: nowrap; }.chat-assistant button span { margin-left: 5px; }
.toast { position: fixed; left: 50%; bottom: 25px; transform: translate(-50%,15px); background: var(--navy); color: white; font-size: 12px; padding: 10px 14px; border-radius: 7px; opacity: 0; pointer-events: none; transition: .2s ease; box-shadow: 0 9px 25px rgba(7,19,40,.2); }.toast.show { opacity: 1; transform: translate(-50%,0); }
.chart-svg { display: block; width: 100%; height: 100%; overflow: visible; }.chart-grid { stroke: #edf1f5; stroke-width: 1; }.chart-axis { fill: #8c98aa; font: 10px "DM Sans",sans-serif; }.chart-area { fill: url(#areaGradient); }.chart-line { fill: none; stroke: var(--blue); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }.profit-line { fill: none; stroke: var(--green); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 4 4; }.chart-point { fill: white; stroke: var(--blue); stroke-width: 2; }.profit-point { stroke: var(--green); }.chart-tooltip { position: absolute; background: var(--navy); color: white; padding: 8px 9px; border-radius: 6px; pointer-events: none; font-size: 10px; line-height: 1.55; box-shadow: 0 6px 16px rgba(8,24,50,.16); transform: translate(-50%,-100%); white-space: nowrap; opacity: 0; transition: opacity .12s; }.chart-tooltip strong { display: block; font-size: 11px; }
.donut { background: conic-gradient(var(--ocean-400), var(--green)); }.repository-section { margin: 37px 0 32px; padding: 23px; background: linear-gradient(140deg,#f4fafc,#fff 57%); border: 1px solid #dceaf0; border-radius: 10px; }.repository-count { color: var(--ocean-800); border: 1px solid #cfe5ec; border-radius: 99px; background: #eef8fa; padding: 5px 8px; font: 500 10px "DM Mono",monospace; white-space: nowrap; }.repository-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 20px; }.repository-group { min-width: 0; padding: 15px; background: rgba(255,255,255,.78); border: 1px solid #dce9ef; border-radius: 8px; }.repository-group-heading { display: flex; gap: 9px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid #e7eef2; }.repository-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; color: var(--ocean-800); background: #dff3f7; font-size: 13px; }.repository-group-heading h3 { margin: 0; color: var(--ink); font-size: 12px; font-weight: 700; }.repository-group-heading p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }.document-list { display: grid; gap: 8px; margin-top: 11px; }.document-card { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 10px; background: #fbfcfe; border: 1px solid #e7edf2; border-radius: 7px; }.document-kind { display: block; color: var(--ocean-650); font: 500 8px "DM Mono",monospace; letter-spacing: .03em; }.document-card h4 { margin: 4px 0 2px; color: var(--ink); font-size: 10px; line-height: 1.2; }.document-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.35; }.document-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex: 0 0 auto; }.document-actions a { color: var(--ocean-800); text-decoration: none; font-size: 9px; font-weight: 700; }.document-actions a:last-child { padding: 4px 7px; border: 1px solid var(--ocean-400); border-radius: 4px; background: #fff; }.document-actions a:hover { color: var(--ocean-650); }
.growth-controls { display: grid; justify-items: end; gap: 9px; }.growth-controls label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }.growth-controls select { height: 29px; padding: 0 7px; border: 1px solid var(--ocean-400); border-radius: 5px; background: #fff; color: var(--ocean-950); font: 500 10px "DM Sans",sans-serif; outline: 0; }.growth-controls select:focus { border-color: var(--ocean-650); box-shadow: 0 0 0 3px rgba(97,201,230,.22); }.legend-line.revenue { background: var(--ocean-400); }.legend-line.profit { background: var(--ocean-650); }.chart-line { stroke: var(--ocean-400); }.profit-line { stroke: var(--ocean-650); }.chart-point { stroke: var(--ocean-400); }.profit-point { stroke: var(--ocean-650); }.bar { background: linear-gradient(180deg,var(--ocean-400),var(--ocean-650)); }.value-tag { color: var(--ocean-800); background: #eaf7fa; }
.chart-holder { overflow-x: auto; }.chart-holder .chart-svg { display: block; }
@media (max-width: 1060px) { .metric-grid { grid-template-columns: repeat(2,1fr); }.economics-grid { grid-template-columns: repeat(3,1fr); }.dashboard-grid { grid-template-columns: 1fr; }.drivers-panel { min-height: 270px; }.donut-layout { height: 195px; }.debt-overview { grid-template-columns: 1fr; }.debt-kpis { grid-template-columns: repeat(3,1fr); }.assumptions-section { grid-template-columns: 210px 1fr; } }
@media (max-width: 780px) { .gate-panel { padding: 31px 24px; }.password-row { display: grid; }.password-row button { height: 43px; }.app-shell { display: block; }.sidebar { position: fixed; inset: 0 auto 0 0; transform: translateX(-102%); z-index: 30; width: 246px; transition: transform .25s ease; box-shadow: 12px 0 35px rgba(10,25,50,.22); }.sidebar.open { transform: translateX(0); }.topbar { height: 63px; padding: 0 17px; gap: 11px; }.menu-toggle { display: block; padding: 4px; color: var(--ink); background: transparent; border: 0; font-size: 20px; }.breadcrumb { display: none; }.search-wrap { width: auto; flex: 1; margin: 0; }.search-wrap kbd { display: none; }.period-button { font-size: 10px; padding: 0 8px; }.period-menu { right: 17px; top: 53px; }.content { padding: 32px 17px 50px; }.hero { display: block; margin-bottom: 27px; }.hero h1 { font-size: 34px; }.hero-asof { margin-top: 19px; text-align: left; }.metric-grid { gap: 10px; margin-bottom: 17px; }.metric-card { min-height: 117px; padding: 14px; }.metric-card strong { font-size: 19px; margin-top: 15px; }.economics-section { padding: 17px; }.section-heading { display: block; }.economic-asof { display: inline-block; margin-top: 12px; }.economics-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.economic-card { padding: 12px; }.dashboard-grid { gap: 12px; }.panel { padding: 17px; }.chart-panel { min-height: 365px; }.chart-panel .panel-heading { display: block; }.growth-controls { justify-items: start; margin-top: 12px; }.chart-holder { height: 216px; }.chart-legend { gap: 7px; font-size: 9px; }.donut-layout { grid-template-columns: 125px 1fr; height: 198px; }.donut { width: 115px; height: 115px; }.donut::after { inset: 19px; }.donut b { font-size: 11px; }.donut-legend { gap: 7px; }.donut-legend li { font-size: 9px; gap: 5px; }.section-header { display: block; margin-top: 37px; }.debt-summary { margin-top: 18px; }.debt-overview { gap: 12px; }.debt-kpis { grid-template-columns: 1fr; }.payment-controls { display: grid; grid-template-columns: 1fr 1fr; }.payment-controls label { width: auto; }.debt-controls { display: block; }.table-search { display: block; margin-top: 9px; }.table-search input { width: 100%; }.assumptions-section { display: block; margin-top: 37px; }.assumption-table-wrap { margin-top: 18px; }.chat-assistant { display: block; margin-top: 32px; padding: 23px; }.chat-assistant form { margin-top: 20px; }.chat-assistant form > div { align-items: flex-end; }.valuation-meta { gap: 8px; flex-wrap: wrap; } }
@media (max-width: 410px) { .metric-grid { grid-template-columns: 1fr; }.value-row { grid-template-columns: 96px 1fr 54px; }.donut-layout { grid-template-columns: 112px 1fr; }.driver-controls { grid-template-columns: 1fr; }.payment-chart { gap: 3px; }.payment-value { font-size: 8px; } }
@media (max-width: 780px) { .repository-section { padding: 17px; }.repository-groups { grid-template-columns: 1fr; }.document-card { align-items: flex-start; }.document-actions { padding-top: 1px; } }

/* Atualizações de identidade e acesso */
.activities-section,.calendar-section { margin: 37px 0 32px; padding: 23px; background: linear-gradient(140deg,#f4fafc,#fff 57%); border: 1px solid #dceaf0; border-radius: 10px; }.activity-count { color: var(--ocean-800); border: 1px solid #cfe5ec; border-radius: 99px; background: #eef8fa; padding: 5px 8px; font: 500 10px "DM Mono",monospace; white-space: nowrap; }.activity-controls { display: flex; justify-content: flex-end; gap: 9px; margin: 18px 0 13px; }.activity-controls label,.calendar-filter { display: grid; gap: 4px; color: #75839a; font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }.activity-controls select,.calendar-filter select { min-width: 166px; height: 29px; padding: 0 7px; color: var(--ocean-800); border: 1px solid #cfe5ec; border-radius: 5px; background: #fff; font: 500 10px "DM Sans",sans-serif; outline: 0; }.activity-controls select:focus,.calendar-filter select:focus { border-color: var(--ocean-400); box-shadow: 0 0 0 3px rgba(97,201,230,.18); }.activity-flow { display: grid; grid-template-columns: repeat(5,minmax(180px,1fr)); gap: 9px; overflow-x: auto; padding-bottom: 4px; }.activity-column { min-width: 180px; background: rgba(255,255,255,.8); border: 1px solid #dce9ef; border-radius: 8px; overflow: hidden; }.activity-column header { display: flex; align-items: center; gap: 7px; padding: 11px; background: #eaf7fa; border-bottom: 1px solid #d7e9ee; }.activity-column header span { color: var(--ocean-800); font: 500 10px "DM Mono",monospace; }.activity-column h3 { margin: 0; color: var(--ocean-950); font-size: 11px; }.activity-column > div { display: grid; gap: 7px; padding: 8px; }.activity-step { padding: 9px; border: 1px solid #e4edf1; border-radius: 6px; background: #fff; }.activity-step > span { display: block; color: var(--ocean-650); font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }.activity-step h4 { margin: 4px 0 5px; color: var(--ink); font-size: 10px; line-height: 1.25; }.activity-step p { margin: 0; color: #52647a; font-size: 9px; line-height: 1.38; }.activity-step small { display: block; margin-top: 7px; color: #8795a8; font-size: 8px; }.activity-empty { margin: 4px 0; color: #9aa7b7; font-size: 9px; text-align: center; }.activity-caption { margin: 13px 0 0; color: #8291a2; font-size: 9px; }.calendar-section { margin-top: 0; }.calendar-heading { display: flex; justify-content: space-between; align-items: baseline; margin: 19px 0 8px; }.calendar-heading strong { color: var(--ocean-950); font-size: 14px; }.calendar-heading span { color: #8291a2; font-size: 10px; }.calendar-weekdays,.calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }.calendar-weekdays { border: 1px solid #dce9ef; border-bottom: 0; border-radius: 8px 8px 0 0; overflow: hidden; background: #eaf7fa; }.calendar-weekdays span { padding: 8px 5px; color: var(--ocean-800); font-size: 9px; font-weight: 700; text-align: right; }.calendar-grid { border-left: 1px solid #dce9ef; border-top: 1px solid #dce9ef; }.calendar-day { min-height: 108px; padding: 7px; border-right: 1px solid #dce9ef; border-bottom: 1px solid #dce9ef; background: rgba(255,255,255,.8); }.calendar-day.outside { background: #f8fafc; }.calendar-day > strong { display: block; color: #63748a; font: 500 10px "DM Mono",monospace; text-align: right; }.calendar-day.has-event > strong { color: var(--ocean-800); }.calendar-day > div { display: grid; gap: 4px; margin-top: 5px; }.calendar-event { display: block; padding: 4px 5px; border-radius: 4px; font-size: 8px; line-height: 1.25; }.calendar-event b { display: block; margin-bottom: 2px; font: 500 8px "DM Mono",monospace; }.calendar-event.board { color: #0d3d5c; background: #dceff5; }.calendar-event.managers { color: #176589; background: #e3f6fb; }.calendar-event.report { color: #805f24; background: #fff5d9; }.calendar-event.executive { color: #1e7558; background: #e4f5ed; }.calendar-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; color: #718197; font-size: 9px; }.calendar-legend span { display: flex; align-items: center; gap: 5px; }.calendar-legend i { width: 8px; height: 8px; border-radius: 50%; }.calendar-legend .board { background: #0d3d5c; }.calendar-legend .managers { background: #61c9e6; }.calendar-legend .report { background: #e2bd56; }.calendar-legend .executive { background: var(--green); }
@media (max-width: 780px) { .activities-section,.calendar-section { padding: 17px; }.activity-controls { display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; }.activity-controls select { min-width: 0; width: 100%; }.calendar-heading { display: block; }.calendar-heading span { display: block; margin-top: 4px; }.calendar-day { min-height: 94px; padding: 4px; }.calendar-event { padding: 3px; font-size: 7px; overflow-wrap: anywhere; }.calendar-event b { font-size: 7px; }.calendar-weekdays span { padding: 7px 3px; font-size: 8px; }.calendar-legend { gap: 8px; } } .hero::after { display: block; }
.access-gate { background: radial-gradient(circle at 80% 18%, var(--ocean-650) 0, rgba(23,101,137,0) 31%), radial-gradient(circle at 8% 92%, var(--ocean-800) 0, rgba(13,61,92,0) 35%), var(--ocean-950); }.gate-panel { background: rgba(8,45,74,.82); border-color: rgba(180,232,243,.2); box-shadow: 0 28px 65px rgba(3,24,40,.42); }.gate-mark i { background: var(--ocean-650); }.gate-mark i:nth-child(2) { background: var(--ocean-400); }.gate-mark i:nth-child(3) { background: var(--ocean-200); }.gate-panel .eyebrow { color: var(--ocean-400); }.gate-panel h1 em { color: var(--ocean-400); }.gate-panel > p:not(.eyebrow) { color: var(--ocean-200); }.gate-panel form label { color: var(--ocean-200); }.password-row input { border-color: rgba(180,232,243,.3); background: rgba(255,255,255,.07); }.password-row input::placeholder { color: rgba(180,232,243,.68); }.password-row input:focus { border-color: var(--ocean-400); box-shadow: 0 0 0 3px rgba(97,201,230,.18); }.password-row button { background: var(--ocean-400); color: var(--ocean-950); }.gate-panel footer { border-color: rgba(180,232,243,.18); color: var(--ocean-200); }.access-transition { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at center, var(--ocean-650) 0, var(--ocean-800) 42%, var(--ocean-950) 100%); color: var(--ocean-200); visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .28s ease, visibility 0s linear .28s; }.access-transition.show { visibility: visible; opacity: 1; transition-delay: 0s; }.access-transition.leaving { opacity: 0; }.shell-loader { display: grid; justify-items: center; gap: 17px; }.shell-loader img { display: block; width: min(48vw,260px); height: auto; filter: drop-shadow(0 12px 30px rgba(1,21,37,.28)); transform-origin: center; }.shell-loader span { color: var(--ocean-200); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; opacity: 0; }.access-transition.show .shell-loader img { animation: shell-enter 1.98s cubic-bezier(.22,.76,.26,1) both; }.access-transition.show .shell-loader span { animation: loader-label 1.98s ease both; }.hero-asof { display: none; }.hero::after { content: ""; width: min(26vw,280px); height: 108px; flex: 0 0 auto; align-self: flex-end; background: url("assets/boat-logo-deep-blue.png") center / contain no-repeat; opacity: .96; }.donut { box-shadow: inset 0 0 0 1px rgba(8,45,74,.08), 0 4px 12px rgba(8,45,74,.07); }.donut-legend i { box-shadow: 0 0 0 2px rgba(8,45,74,.06); }.donut-legend li { padding: 2px 0; }@keyframes shell-enter { 0% { opacity: 0; transform: rotate(-38deg) scale(.34); } 15% { opacity: 1; } 70% { opacity: 1; transform: rotate(470deg) scale(1.05); } 100% { opacity: .04; transform: rotate(720deg) scale(2.55); } }@keyframes loader-label { 0%,12% { opacity: 0; transform: translateY(5px); } 28%,72% { opacity: .95; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-4px); } }@media (max-width: 780px) { .hero::after { width: min(76vw,260px); height: 88px; margin-top: 21px; align-self: start; }.shell-loader img { width: min(64vw,230px); } }@media (prefers-reduced-motion: reduce) { .access-transition.show .shell-loader img,.access-transition.show .shell-loader span { animation: none; opacity: 1; transform: none; } }

/* Acompanhamento de metas por indicador */
.cycles-goals-kpi-fields { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 10px; margin: 2px 0 4px; }.cycles-goals-kpi-fields label { display: grid; gap: 5px; color: #62758e; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.cycles-goals-kpi-fields select { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid #cfe0e8; border-radius: 7px; background: #fff; color: var(--ocean-950); font: 500 12px "DM Sans",sans-serif; outline: 0; }.cycles-goals-kpi-fields select:focus { border-color: var(--ocean-400); box-shadow: 0 0 0 3px rgba(97,201,230,.18); }.cycles-goals-kpi-help { grid-column: 1 / -1; margin: -1px 0 3px; padding: 9px 10px; border-left: 3px solid var(--ocean-400); border-radius: 0 6px 6px 0; background: #edf8fb; color: #587087; font-size: 10px; line-height: 1.45; }.cycles-goals-kpi-help b { color: var(--ocean-800); }.cycles-goals-form select:disabled { opacity: 1; color: var(--ocean-800); background: #f4fafc; cursor: default; }.cycles-goals-table { min-width: 1260px; }.cycles-goals-table td { vertical-align: top; white-space: normal; }.cycles-goals-table td:nth-child(n) { color: #33435e; font-family: "DM Sans",sans-serif; text-align: left; }.cycles-goals-table .cycle-goal-kpi-cell { min-width: 200px; }.cycles-goals-table .cycle-goal-measure { min-width: 135px; }.cycles-goals-table .cycle-goal-forecast { min-width: 220px; }.cycles-goals-table .cycle-goal-kpi-cell strong,.cycles-goals-table .cycle-goal-measure strong,.cycles-goals-table .cycle-goal-forecast strong { display: block; color: var(--ocean-950); font-size: 11px; line-height: 1.35; }.cycles-goals-table .cycle-goal-kpi-cell small,.cycles-goals-table .cycle-goal-measure small,.cycles-goals-table .cycle-goal-forecast small { display: block; margin-top: 4px; color: #7b8da1; font-size: 9px; line-height: 1.4; }.cycles-goals-table .is-positive strong { color: var(--green); }.cycles-goals-table .is-negative strong { color: #b84545; }
@media (max-width: 780px) { .cycles-goals-kpi-fields { grid-template-columns: 1fr; }.cycles-goals-kpi-help { margin-bottom: 4px; } }
/* Resumo de Ciclos e Metas e quadro em largura total */
.cycle-quick-control { position: relative; }.cycles-goals-popover { position: absolute; z-index: 70; top: calc(100% + 8px); right: 0; width: min(365px,calc(100vw - 34px)); padding: 14px; border: 1px solid #cfe1e8; border-radius: 9px; background: #fff; box-shadow: 0 14px 30px rgba(8,45,74,.18); }.cycles-goals-popover[hidden] { display: none; }.cycles-goals-popover header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid #e5edf1; }.cycles-goals-popover header strong { display: block; color: var(--ocean-950); font-size: 12px; }.cycles-goals-popover header span { display: block; margin-top: 3px; color: #718399; font-size: 9px; }.cycles-goals-popover header b { display: grid; min-width: 31px; height: 24px; place-items: center; border-radius: 99px; color: var(--ocean-800); background: #eaf7fa; font: 700 10px "DM Mono",monospace; }.cycles-goals-popover ul { display: grid; gap: 8px; margin: 11px 0; padding: 0; list-style: none; }.cycles-goals-popover li { display: flex; align-items: start; justify-content: space-between; gap: 10px; }.cycles-goals-popover li > div { min-width: 0; }.cycles-goals-popover li strong { display: block; overflow: hidden; color: var(--ocean-950); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.cycles-goals-popover li > div small { display: block; margin-top: 3px; color: #718399; font-size: 8px; line-height: 1.35; }.cycles-goals-popover li > span { flex: 0 0 auto; min-width: 78px; padding: 4px 5px; border-radius: 5px; font-size: 8px; font-weight: 700; text-align: right; }.cycles-goals-popover li > span small { display: block; margin-top: 3px; font-size: 8px; font-weight: 500; }.cycles-goals-popover .is-achieved { color: #18714b; background: #e8f7ef; }.cycles-goals-popover .is-forecast { color: #176589; background: #eaf7fa; }.cycles-goals-popover .is-attention { color: #9a5f1d; background: #fff4dc; }.cycles-goals-popover-empty,.cycles-goals-popover-more { margin: 11px 0; color: #718399; font-size: 9px; line-height: 1.45; }.cycles-goals-popover-detail { width: 100%; min-height: 32px; border: 0; border-radius: 6px; color: #fff; background: var(--ocean-950); font: 700 10px "DM Sans",sans-serif; cursor: pointer; }.cycles-goals-popover-detail:hover { background: var(--ocean-800); }
.cycles-goals-layout { grid-template-columns: minmax(0,1fr) !important; }.cycles-goals-layout .cycles-goals-table-wrap { order: 1; grid-column: 1 / -1; width: 100%; }.cycles-goals-layout .cycles-goals-form { order: 2; grid-column: 1 / -1; width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }.cycles-goals-form > .cycles-goals-kpi-fields { grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }.cycle-goal-frequency { display: inline-flex; align-items: center; min-height: 16px; margin-left: 4px; padding: 0 5px; border-radius: 99px; color: var(--ocean-800); background: #eaf7fa; font-size: 7px; font-weight: 700; text-transform: uppercase; }
@media (max-width: 900px) { .cycles-goals-layout .cycles-goals-form,.cycles-goals-form > .cycles-goals-kpi-fields { grid-template-columns: repeat(2,minmax(0,1fr)) !important; } }
@media (max-width: 640px) { .cycles-goals-layout .cycles-goals-form,.cycles-goals-form > .cycles-goals-kpi-fields { grid-template-columns: 1fr !important; }.cycles-goals-popover { right: -49px; } }