:root {
  --ink: #111a2c;
  --ink-2: #26334a;
  --navy: #0b1324;
  --navy-2: #121d33;
  --paper: #f4f1ea;
  --paper-2: #ebe7de;
  --surface: #fffdf8;
  --line: #ded9cf;
  --muted: #6c7482;
  --coral: #f26655;
  --coral-soft: #fff0ec;
  --teal: #118b80;
  --teal-soft: #e6f5f1;
  --amber: #d99624;
  --amber-soft: #fff4dc;
  --blue: #3f70d8;
  --blue-soft: #eaf0ff;
  --lime: #d4f56f;
  --shadow-sm: 0 1px 2px rgba(17, 26, 44, 0.05), 0 8px 24px rgba(17, 26, 44, 0.04);
  --shadow-lg: 0 24px 70px rgba(4, 12, 26, 0.18);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
::selection { background: var(--lime); color: var(--navy); }

.app-frame { min-height: 100vh; display: grid; grid-template-columns: 252px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 16px 18px; background: var(--navy); color: #e9edf5; display: flex; flex-direction: column; z-index: 50; overflow: auto; }
.brand-lockup { min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 0 8px 24px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; color: var(--navy); background: var(--lime); box-shadow: inset 0 -5px 12px rgba(17,26,44,.12); transform: rotate(-2deg); }
.brand-mark span { font-weight: 900; font-size: 14px; letter-spacing: -.05em; }
.brand-lockup > div:nth-child(2) { display: flex; flex-direction: column; gap: 2px; }
.brand-lockup strong { font-size: 16px; letter-spacing: -.02em; }
.brand-lockup span { color: #8995aa; font-size: 11px; letter-spacing: .04em; }
.primary-nav { margin-top: 24px; display: flex; flex-direction: column; gap: 4px; }
.nav-label { margin: 0 10px 10px; color: #68748b; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nav-item { min-height: 43px; padding: 0 11px; border-radius: 11px; display: flex; align-items: center; gap: 11px; color: #9ea8ba; font-size: 13px; font-weight: 560; transition: .18s ease; }
.nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-item.active { background: #1a2740; color: #fff; box-shadow: inset 3px 0 0 var(--lime); }
.nav-item.active svg { color: var(--lime); }
.nav-item em { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 7px; display: grid; place-items: center; background: rgba(242,102,85,.15); color: #ff8c7f; font-style: normal; font-size: 11px; font-weight: 800; }
.sidebar-insight { margin: 24px 4px 18px; padding: 16px; border: 1px solid rgba(212,245,111,.18); border-radius: 15px; background: linear-gradient(145deg, rgba(212,245,111,.11), rgba(63,112,216,.07)); display: flex; flex-direction: column; gap: 8px; }
.insight-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--lime); color: var(--navy); }
.sidebar-insight > span { color: var(--lime); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.sidebar-insight strong { color: #f5f7fb; font-size: 12px; line-height: 1.55; }
.sidebar-insight a { display: flex; align-items: center; gap: 3px; color: #aab5c8; font-size: 11px; }
.sidebar-footer { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.user-card { padding: 13px 8px 0; border-top: 1px solid rgba(255,255,255,.08); display: grid; grid-template-columns: 34px minmax(0,1fr) 24px; align-items: center; gap: 9px; }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #31415f; color: #f7f9fc; font-size: 11px; font-weight: 800; }
.user-card > div:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }
.user-card strong { overflow: hidden; color: #f4f6fa; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.user-card span { color: #77849a; font-size: 10px; }
.dots-button { border: 0; background: none; color: #65728a; cursor: pointer; letter-spacing: 1px; }

.content-frame { min-width: 0; }
.topbar { position: sticky; top: 0; height: 72px; padding: 0 32px; border-bottom: 1px solid var(--line); background: rgba(244,241,234,.9); backdrop-filter: blur(16px); display: flex; align-items: center; justify-content: space-between; z-index: 40; }
.command-trigger { width: min(440px, 48vw); height: 40px; padding: 0 11px 0 14px; border: 1px solid #d8d3c9; border-radius: 11px; background: rgba(255,253,248,.72); color: #8a8f98; display: flex; align-items: center; gap: 10px; cursor: pointer; text-align: left; transition: .18s ease; }
.command-trigger:hover { background: var(--surface); border-color: #c7c0b5; box-shadow: var(--shadow-sm); }
.command-trigger span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
kbd { padding: 3px 6px; border: 1px solid #d6d1c8; border-bottom-width: 2px; border-radius: 6px; background: #f7f4ed; color: #7a808b; display: inline-flex; align-items: center; gap: 2px; font-family: inherit; font-size: 10px; }
.topbar-actions { display: flex; align-items: center; gap: 16px; }
.system-health { color: #65717d; display: flex; align-items: center; gap: 7px; font-size: 11px; }
.system-health span { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(17,139,128,.12); }
.icon-button { width: 39px; height: 39px; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); display: grid; place-items: center; cursor: pointer; transition: .18s ease; }
.icon-button:hover { border-color: #c6c0b6; transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.notification-button { position: relative; }
.notification-button i { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; border: 2px solid var(--paper); border-radius: 9px; background: var(--coral); color: #fff; font-size: 9px; font-style: normal; font-weight: 800; }
.popover-wrap { position: relative; }
.notification-popover { position: absolute; top: 50px; right: 0; width: 340px; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-lg); z-index: 80; }
.popover-heading { padding: 10px 11px 12px; display: flex; justify-content: space-between; align-items: center; }
.popover-heading strong { font-size: 14px; }
.popover-heading span { color: var(--coral); font-size: 10px; font-weight: 800; }
.notification-popover button { width: 100%; padding: 11px; border: 0; border-radius: 10px; background: transparent; display: grid; gap: 3px; text-align: left; cursor: pointer; }
.notification-popover button:hover { background: #f3f0e9; }
.notification-popover button b { font-size: 11px; }
.notification-popover button span { color: var(--muted); font-size: 10px; line-height: 1.4; }
.notification-popover time { color: #9a9da3; font-size: 9px; }
.notification-popover > a { margin: 6px 4px 2px; padding: 10px; border-radius: 9px; background: var(--navy); color: #fff; display: block; text-align: center; font-size: 11px; font-weight: 700; }

.page { width: min(1500px, 100%); margin: 0 auto; padding: 34px 36px 52px; }
.dashboard-hero { min-height: 310px; padding: 42px 44px; border-radius: 24px; overflow: hidden; position: relative; background: var(--navy); color: #fff; display: grid; grid-template-columns: 1.25fr .75fr; gap: 36px; align-items: center; box-shadow: 0 18px 50px rgba(11,19,36,.12); }
.dashboard-hero::before { content: ""; position: absolute; width: 460px; height: 460px; right: -220px; top: -250px; border: 1px solid rgba(212,245,111,.2); border-radius: 50%; box-shadow: 0 0 0 58px rgba(212,245,111,.035), 0 0 0 116px rgba(212,245,111,.025); }
.dashboard-hero::after { content: ""; position: absolute; left: 48%; bottom: -150px; width: 300px; height: 220px; background: var(--blue); opacity: .08; filter: blur(60px); }
.hero-copy, .hero-score-card { position: relative; z-index: 1; }
.eyebrow { margin-bottom: 15px; color: #9eacc0; display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 650; letter-spacing: .02em; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(212,245,111,.09); }
.hero-copy h1 { margin: 0; max-width: 600px; font-size: clamp(40px, 4.2vw, 67px); line-height: .98; letter-spacing: -.065em; font-weight: 750; }
.hero-copy h1 em { color: var(--lime); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.hero-copy p { max-width: 570px; margin: 21px 0 0; color: #aeb9ca; font-size: 14px; line-height: 1.65; }
.hero-actions { margin-top: 27px; display: flex; flex-wrap: wrap; gap: 10px; }
.button { min-height: 42px; padding: 0 16px; border: 1px solid transparent; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 11px; font-weight: 750; transition: .18s ease; cursor: pointer; }
.button:hover { transform: translateY(-1px); }
.button.primary { background: var(--lime); color: var(--navy); }
.button.primary:hover { box-shadow: 0 10px 30px rgba(212,245,111,.18); }
.button.secondary { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #dce3ed; }
.hero-score-card { padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 19px; background: rgba(255,255,255,.075); backdrop-filter: blur(14px); }
.score-card-heading { display: flex; justify-content: space-between; align-items: center; color: #aab4c5; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.score-card-heading strong { color: var(--lime); display: flex; align-items: center; gap: 4px; font-size: 10px; }
.score-visual { margin: 18px 0 20px; display: flex; align-items: center; gap: 20px; }
.score-ring { width: 112px; height: 112px; flex: 0 0 112px; padding: 9px; border-radius: 50%; background: conic-gradient(var(--lime) 0 92%, rgba(255,255,255,.1) 92% 100%); transform: rotate(-28deg); }
.score-ring > div { width: 100%; height: 100%; border-radius: 50%; background: #172238; display: flex; align-items: baseline; justify-content: center; padding-top: 29px; transform: rotate(28deg); }
.score-ring b { font-size: 33px; letter-spacing: -.06em; }
.score-ring span { color: #8490a3; font-size: 10px; }
.score-copy { display: flex; flex-direction: column; gap: 6px; }
.score-copy strong { color: var(--lime); font-size: 18px; }
.score-copy span { color: #909caf; font-size: 10px; line-height: 1.5; }
.score-breakdown { display: grid; gap: 11px; }
.score-breakdown > div { display: grid; grid-template-columns: 1fr auto; gap: 5px; align-items: center; color: #a7b1c2; font-size: 9px; }
.score-breakdown b { color: #f3f6fa; }
.score-breakdown i { grid-column: 1 / -1; height: 4px; border-radius: 2px; background: rgba(255,255,255,.1); overflow: hidden; }
.score-breakdown em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--teal), var(--lime)); }

.metric-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.metric-card { min-height: 137px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-sm); position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; align-items: start; }
.metric-card::after { content: ""; position: absolute; width: 74px; height: 74px; right: -23px; bottom: -29px; border: 14px solid currentColor; border-radius: 50%; opacity: .055; }
.metric-card > span { color: #717783; font-size: 10px; font-weight: 650; }
.metric-card > strong { grid-column: 1; margin-top: 5px; font-size: 31px; line-height: 1; letter-spacing: -.055em; }
.metric-card > p { grid-column: 1 / -1; margin: 8px 0 0; color: #8c9098; font-size: 9px; }
.metric-card > p b { color: inherit; font-weight: 750; }
.metric-icon { grid-column: 2; grid-row: 1 / span 2; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; }
.accent-coral { color: var(--coral); }.accent-coral .metric-icon { background: var(--coral-soft); }.accent-coral > span,.accent-coral > strong,.accent-coral > p { color: initial; }.accent-coral > p b { color: var(--coral); }
.accent-amber { color: var(--amber); }.accent-amber .metric-icon { background: var(--amber-soft); }.accent-amber > span,.accent-amber > strong,.accent-amber > p { color: initial; }
.accent-teal { color: var(--teal); }.accent-teal .metric-icon { background: var(--teal-soft); }.accent-teal > span,.accent-teal > strong,.accent-teal > p { color: initial; }.accent-teal > p b { color: var(--teal); }
.accent-blue { color: var(--blue); }.accent-blue .metric-icon { background: var(--blue-soft); }.accent-blue > span,.accent-blue > strong,.accent-blue > p { color: initial; }

.dashboard-grid { margin-top: 18px; display: grid; grid-template-columns: 1.45fr .75fr; gap: 16px; }
.panel { border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-sm); }
.panel-heading { min-height: 75px; padding: 18px 21px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid #ebe7df; }
.panel-heading > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.section-kicker { color: #91949b; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.panel-heading h2 { margin: 0; font-size: 16px; letter-spacing: -.03em; }
.panel-heading > a, .panel-heading > span { color: #6a7180; display: flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 650; }
.change-stack { display: flex; flex-direction: column; }
.change-row { min-height: 112px; padding: 16px 18px; display: grid; grid-template-columns: 4px minmax(0,1fr) auto 20px; gap: 15px; align-items: center; border-bottom: 1px solid #eeeae2; transition: .18s ease; }
.change-row:last-child { border-bottom: 0; }
.change-row:hover { background: #faf7f1; }
.severity-marker { width: 4px; height: 62px; border-radius: 3px; background: var(--amber); }
.severity-kritik { background: var(--coral); }.severity-yuksek { background: var(--amber); }.severity-orta { background: var(--blue); }
.change-main { min-width: 0; }
.change-main > div { display: flex; gap: 10px; color: #8a8f98; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.change-main > div span { color: var(--blue); font-weight: 800; }
.change-main strong { margin-top: 6px; display: block; font-size: 12px; line-height: 1.35; }
.change-main p { margin: 5px 0 0; color: #777d87; overflow: hidden; font-size: 9px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.change-meta { min-width: 88px; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.status-pill { min-height: 21px; padding: 0 8px; border-radius: 7px; display: inline-flex; align-items: center; font-size: 8px; font-weight: 800; }
.status-pill.danger { background: var(--coral-soft); color: #c44738; }.status-pill.warning { background: var(--amber-soft); color: #a76a0f; }.status-pill.neutral { background: var(--blue-soft); color: #3c63b6; }.status-pill.success { background: var(--teal-soft); color: var(--teal); }
.change-meta b { color: #777d87; font-size: 8px; font-weight: 600; }
.row-arrow { color: #afb2b8; transition: .18s ease; }
.change-row:hover .row-arrow { color: var(--ink); transform: translateX(2px); }
.deadline-list { padding: 4px 18px; }
.deadline-item { min-height: 86px; padding: 13px 0; border-bottom: 1px solid #eeeae2; display: grid; grid-template-columns: 45px minmax(0,1fr) auto; gap: 12px; align-items: center; }
.deadline-item:last-child { border-bottom: 0; }
.deadline-item > time { width: 43px; height: 49px; border: 1px solid #ded9cf; border-radius: 10px; background: #f8f5ef; display: grid; place-items: center; align-content: center; }
.deadline-item > time b { font-size: 17px; line-height: 1; }.deadline-item > time span { margin-top: 3px; color: #8b9099; font-size: 7px; font-weight: 800; }
.deadline-item > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.deadline-item > div > span { color: var(--amber); font-size: 8px; font-weight: 750; }.deadline-item > div strong { font-size: 10px; line-height: 1.35; }.deadline-item p { margin: 0; color: #8a8f98; font-size: 8px; }
.deadline-item.urgent > time { border-color: #faccc5; background: var(--coral-soft); color: var(--coral); }.deadline-item.urgent > div > span { color: var(--coral); }.deadline-item > svg { color: var(--coral); }
.panel-cta { min-height: 42px; margin: 0 18px 17px; border-radius: 10px; background: #f1eee7; display: flex; align-items: center; justify-content: center; gap: 6px; color: #5f6672; font-size: 9px; font-weight: 700; }
.coverage-layout { padding: 27px 22px 18px; display: flex; align-items: center; justify-content: center; gap: 34px; }
.coverage-ring { width: 143px; height: 143px; flex: 0 0 143px; padding: 13px; border-radius: 50%; background: conic-gradient(var(--teal) 0 73%, var(--amber) 73% 88%, var(--coral) 88% 94%, #d8d6d0 94% 100%); transform: rotate(-37deg); }
.coverage-ring > div { width: 100%; height: 100%; border-radius: 50%; background: var(--surface); display: grid; place-items: center; align-content: center; transform: rotate(37deg); }
.coverage-ring b { font-size: 26px; letter-spacing: -.05em; }.coverage-ring span { color: #8a8f98; font-size: 8px; }
.coverage-legend { min-width: 150px; display: grid; gap: 13px; }
.coverage-legend > div { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 8px; font-size: 9px; }.coverage-legend span { color: #747a84; }.coverage-legend b { font-size: 10px; }
.legend-dot { width: 7px; height: 7px; border-radius: 50%; }.legend-dot.teal { background: var(--teal); }.legend-dot.amber { background: var(--amber); }.legend-dot.coral { background: var(--coral); }.legend-dot.gray { background: #c9c7c1; }
.positive-chip { padding: 5px 8px; border-radius: 8px; background: var(--teal-soft); color: var(--teal) !important; font-weight: 800 !important; }.ai-badge { color: #684ca8 !important; }.ai-badge svg { color: #8a67d0; }
.text-link { margin: 0 21px 18px; display: inline-flex; align-items: center; gap: 5px; color: var(--blue); font-size: 9px; font-weight: 700; }
.activity-list { padding: 5px 20px; }
.activity-item { min-height: 70px; border-bottom: 1px solid #eeeae2; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.activity-item:last-child { border-bottom: 0; }.activity-avatar { width: 32px; height: 32px; border-radius: 10px; background: #eaeef7; color: #526582; display: grid; place-items: center; font-size: 8px; font-weight: 850; }.activity-item > div:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }.activity-item strong { font-size: 9px; }.activity-item span { color: #858a93; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.activity-item time { color: #9b9da3; font-size: 8px; }
.insight-banner { min-height: 94px; margin-top: 18px; padding: 20px 24px; overflow: hidden; border-radius: 17px; background: linear-gradient(100deg, #18243a, #101a2d); color: #fff; display: grid; grid-template-columns: 42px minmax(0,1fr) auto 80px; gap: 15px; align-items: center; position: relative; }
.insight-spark { width: 40px; height: 40px; border-radius: 12px; background: var(--lime); color: var(--navy); display: grid; place-items: center; }.insight-banner > div:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }.insight-banner span { color: var(--lime); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }.insight-banner strong { font-size: 12px; }.insight-banner p { margin: 0; color: #9ca8ba; font-size: 9px; }.insight-banner > a { min-height: 37px; padding: 0 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; display: flex; align-items: center; gap: 6px; font-size: 9px; font-weight: 700; }.banner-check { position: absolute; right: -15px; width: 90px; height: 90px; border: 17px solid rgba(212,245,111,.07); border-radius: 50%; display: grid; place-items: center; color: rgba(212,245,111,.25); }

.command-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: start center; padding-top: 13vh; }.command-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(5,11,22,.56); backdrop-filter: blur(4px); cursor: default; }.command-panel { width: min(600px, calc(100vw - 28px)); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-lg); position: relative; overflow: hidden; }.command-input-wrap { height: 64px; padding: 0 17px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 11px; }.command-input-wrap input { flex: 1; height: 100%; border: 0; outline: 0; background: transparent; font-size: 14px; }.command-results { padding: 12px; }.command-results > span { display: block; padding: 4px 8px 8px; color: #91959d; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.command-results button { width: 100%; min-height: 45px; padding: 0 11px; border: 0; border-radius: 10px; background: transparent; display: flex; align-items: center; gap: 10px; text-align: left; cursor: pointer; }.command-results button:hover { background: #f0ede6; }.command-results button span { flex: 1; }.command-results button > svg:last-child { color: #a4a8ae; }.command-tip { min-height: 45px; padding: 0 18px; border-top: 1px solid var(--line); background: #f7f4ee; color: #858a93; display: flex; align-items: center; gap: 7px; font-size: 9px; }.command-tip svg { color: #8d6acc; }.empty-command { padding: 24px; color: var(--muted); text-align: center; }
.mobile-only { display: none; }.mobile-scrim { display: none; }

/* Shared product pages */
.page-header { min-height: 112px; margin-bottom: 26px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.page-header > div:first-child { max-width: 760px; }
.page-eyebrow { color: var(--teal); font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.page-header h1 { margin: 7px 0 8px; font-size: clamp(30px, 3.1vw, 46px); line-height: 1; letter-spacing: -.055em; }
.page-header p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.page-actions { padding-bottom: 4px; display: flex; gap: 9px; flex-wrap: wrap; }
.ink-button { border: 1px solid var(--navy); background: var(--navy); color: #fff; }
.ink-button:hover { background: #1b2942; box-shadow: 0 8px 22px rgba(11,19,36,.12); }
.ghost-button { border-color: var(--line); background: var(--surface); color: var(--ink); }
.ghost-button:hover { border-color: #c6c0b5; box-shadow: var(--shadow-sm); }
.back-link { margin: 2px 0 20px; color: #68717f; display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 700; }

.explorer-toolbar { padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); display: grid; grid-template-columns: minmax(260px,1fr) auto 40px; gap: 9px; box-shadow: var(--shadow-sm); }
.filter-search, .select-wrap, .mini-search { min-height: 40px; padding: 0 12px; border: 1px solid #ded9cf; border-radius: 10px; background: #faf8f3; display: flex; align-items: center; gap: 9px; color: #8b9098; }
.filter-search input, .mini-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); }
.select-wrap select, .table-toolbar select { border: 0; outline: 0; background: transparent; color: #626a77; cursor: pointer; }
.segmented-filter { margin: 18px 0 11px; display: flex; align-items: center; gap: 5px; overflow-x: auto; scrollbar-width: none; }
.segmented-filter button { min-height: 34px; padding: 0 12px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #777e89; display: flex; align-items: center; gap: 7px; white-space: nowrap; cursor: pointer; font-size: 10px; font-weight: 700; }
.segmented-filter button:hover { background: #eae6dd; }.segmented-filter button.active { border-color: #cfc9bf; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }.segmented-filter i { min-width: 18px; height: 17px; border-radius: 6px; background: #eeebe4; display: grid; place-items: center; font-style: normal; font-size: 8px; }
.change-list-large { display: grid; gap: 10px; }
.list-caption { min-height: 32px; padding: 0 4px; color: #8c9098; display: flex; justify-content: space-between; align-items: center; font-size: 9px; }
.change-card-large { min-height: 159px; padding: 21px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); display: grid; grid-template-columns: 61px minmax(0,1fr) 150px; align-items: center; gap: 20px; box-shadow: var(--shadow-sm); transition: .2s ease; }
.change-card-large:hover { border-color: #c8c1b6; transform: translateY(-2px); box-shadow: 0 14px 34px rgba(17,26,44,.07); }
.change-date { width: 58px; height: 66px; border-radius: 12px; display: grid; place-items: center; align-content: center; color: var(--blue); background: var(--blue-soft); }.change-date b { font-size: 22px; line-height: 1; letter-spacing: -.04em; }.change-date span { margin-top: 4px; font-size: 8px; font-weight: 850; text-transform: uppercase; }.severity-bg-kritik { background: var(--coral-soft); color: var(--coral); }.severity-bg-yuksek { background: var(--amber-soft); color: var(--amber); }
.change-card-content { min-width: 0; }.change-card-topline { display: flex; align-items: center; gap: 8px; color: #91969e; font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }.change-card-topline > span:first-child { color: var(--blue); font-weight: 850; }.change-card-topline code { font-family: inherit; }.change-card-topline .status-pill { margin-left: auto; }.change-card-content h2 { margin: 9px 0 6px; font-size: 15px; line-height: 1.32; letter-spacing: -.025em; }.change-card-content p { margin: 0; color: #737a85; font-size: 10px; line-height: 1.55; }.change-tags { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 6px; }.change-tags span { padding: 5px 7px; border-radius: 7px; background: #f0ede7; color: #717781; font-size: 8px; }
.change-card-side { height: 100%; padding-left: 21px; border-left: 1px solid #ebe7df; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; position: relative; }.change-card-side > span { margin-bottom: 18px; color: var(--teal); font-size: 9px; font-weight: 800; }.change-card-side p { margin: 0 0 2px; color: #969aa2; font-size: 8px; }.change-card-side strong { max-width: 120px; font-size: 9px; line-height: 1.4; }.change-card-side small { margin-top: 8px; color: #8e939b; font-size: 8px; }.change-card-side svg { position: absolute; right: 0; bottom: 4px; color: #a6abb2; }
.empty-state { min-height: 230px; border: 1px dashed #cec8bd; border-radius: 17px; display: grid; place-items: center; align-content: center; gap: 8px; color: #8b9099; }.empty-state strong { color: var(--ink); }

.detail-hero { min-height: 295px; padding: 40px; border-radius: 23px; background: var(--navy); color: #fff; display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 42px; align-items: center; position: relative; overflow: hidden; }.detail-hero::after { content: ""; position: absolute; width: 330px; height: 330px; border: 58px solid rgba(212,245,111,.035); border-radius: 50%; right: -160px; top: -140px; }.detail-main, .detail-facts { position: relative; z-index: 1; }.detail-topline { display: flex; align-items: center; gap: 10px; color: #9da9bb; font-size: 9px; text-transform: uppercase; }.detail-topline code { font-family: inherit; }.detail-main h1 { max-width: 790px; margin: 16px 0 12px; font-size: clamp(28px,3.2vw,47px); line-height: 1.06; letter-spacing: -.05em; }.detail-main > p { max-width: 720px; margin: 0; color: #aab5c6; line-height: 1.65; }.detail-actions { margin-top: 24px; display: flex; gap: 9px; }.detail-facts { padding: 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.06); display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }.detail-facts div { min-width: 0; display: flex; flex-direction: column; gap: 4px; }.detail-facts span { color: #7f8da2; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }.detail-facts strong { color: #ecf0f5; font-size: 10px; line-height: 1.4; }
.detail-grid { margin-top: 17px; display: grid; grid-template-columns: minmax(0,1.45fr) 360px; gap: 17px; align-items: start; }.detail-side { display: grid; gap: 14px; }.analysis-body { padding: 23px; }.callout { padding: 17px; border: 1px solid #d8e4c7; border-radius: 13px; background: #f3f8e8; color: #405222; display: flex; gap: 12px; }.callout svg { flex: 0 0 auto; color: #6e8f29; }.callout p { margin: 0; font-size: 10px; line-height: 1.6; }.callout strong { display: block; margin-bottom: 3px; }.analysis-body h3 { margin: 24px 0 11px; font-size: 11px; }.diff-block { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.diff-block > div { padding: 16px; border-radius: 12px; }.diff-block span { font-size: 7px; font-weight: 900; letter-spacing: .1em; }.diff-block p { margin: 7px 0 0; font-size: 9px; line-height: 1.6; }.diff-old { background: #f5eeeb; color: #895c55; }.diff-new { background: var(--teal-soft); color: #255f59; }.recommendation-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }.recommendation-list li { padding: 12px; border: 1px solid #e5e0d7; border-radius: 11px; display: flex; gap: 11px; }.recommendation-list li > b { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 8px; background: var(--navy); color: var(--lime); display: grid; place-items: center; font-size: 8px; }.recommendation-list li span { display: flex; flex-direction: column; gap: 3px; }.recommendation-list li strong { font-size: 9px; }.recommendation-list li p { margin: 0; color: #7b818b; font-size: 8px; line-height: 1.5; }
.mini-panel-heading { min-height: 69px; padding: 17px 18px; border-bottom: 1px solid #ebe7df; display: flex; align-items: center; gap: 11px; }.mini-panel-heading > svg { color: var(--teal); }.mini-panel-heading > div { display: flex; flex-direction: column; gap: 3px; }.mini-panel-heading span { color: #8b9098; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }.mini-panel-heading strong { font-size: 11px; }.linked-assets { padding: 7px 13px; }.linked-assets a { min-height: 66px; padding: 10px 5px; border-bottom: 1px solid #eeeae3; display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 8px; }.linked-assets a:last-child { border: 0; }.linked-assets a > svg:first-child { color: #7c86a0; }.linked-assets a span { min-width: 0; display: flex; flex-direction: column; gap: 4px; }.linked-assets code { color: var(--blue); font-family: inherit; font-size: 7px; }.linked-assets strong { overflow: hidden; font-size: 8px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }.linked-assets a > svg:last-child { color: #aaaeb5; }.workflow-steps { padding: 15px 19px; display: grid; }.workflow-steps > div { min-height: 39px; display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 8px; color: #858b95; position: relative; font-size: 9px; }.workflow-steps > div:not(:last-child)::after { content: ""; position: absolute; left: 12px; top: 29px; bottom: -10px; border-left: 1px dashed #d8d3ca; }.workflow-steps i { width: 25px; height: 25px; border: 1px solid #ddd8cf; border-radius: 50%; background: var(--surface); display: grid; place-items: center; font-style: normal; font-size: 8px; z-index: 1; }.workflow-steps .done { color: var(--teal); }.workflow-steps .done i { border-color: #b7ddd6; background: var(--teal-soft); }.workflow-steps .current { color: var(--ink); font-weight: 700; }.workflow-steps .current i { border-color: var(--navy); background: var(--navy); color: #fff; }.source-card { padding: 19px; display: flex; flex-direction: column; gap: 5px; }.source-card span { color: #92969e; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.source-card strong { font-size: 12px; }.source-card p { margin: 0; color: #7d838d; font-size: 9px; }.source-card a { margin-top: 10px; color: var(--blue); display: flex; align-items: center; gap: 5px; font-size: 9px; font-weight: 700; }

.summary-strip { min-height: 94px; margin-bottom: 17px; padding: 15px 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); display: grid; grid-template-columns: 1.3fr repeat(4,1fr); box-shadow: var(--shadow-sm); }.summary-strip > div { padding: 0 18px; border-right: 1px solid #ebe7df; display: flex; align-items: center; gap: 11px; }.summary-strip > div:last-child { border: 0; }.summary-strip > div > svg { color: var(--blue); }.summary-strip span { color: #858a93; display: flex; flex-direction: column; gap: 4px; font-size: 9px; }.summary-strip strong { color: var(--ink); font-size: 20px; letter-spacing: -.03em; }.dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; display: inline-block; }.dot.teal { background: var(--teal); }.dot.amber { background: var(--amber); }.dot.coral { background: var(--coral); }.dot.gray { background: #b9b8b4; }.dot.blue { background: var(--blue); }
.table-panel { overflow: hidden; }.table-toolbar { min-height: 67px; padding: 12px 15px; border-bottom: 1px solid #e9e5dd; display: flex; gap: 9px; align-items: center; }.table-toolbar .filter-search { width: min(360px,42%); }.table-toolbar > select, .table-toolbar > label:not(.filter-search) { min-height: 40px; padding: 0 11px; border: 1px solid #ded9cf; border-radius: 10px; background: #faf8f3; color: #727984; }.table-toolbar input[type="date"] { border: 0; outline: 0; background: transparent; color: inherit; }.data-table-wrap { overflow-x: auto; }.data-table { width: 100%; min-width: 1040px; border-collapse: collapse; }.data-table th { height: 45px; padding: 0 15px; background: #f5f2ec; color: #8a8f98; text-align: left; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }.data-table td { min-height: 78px; padding: 14px 15px; border-top: 1px solid #ece8e0; vertical-align: middle; }.data-table tbody tr:hover { background: #faf8f3; }.data-table td > a, .data-table td:not(:last-child) { color: inherit; }.data-table td a, .data-table td:nth-child(2), .data-table td:nth-child(3), .data-table td:nth-child(4) { display: flex; flex-direction: column; gap: 4px; }.data-table code { color: var(--blue); font-family: inherit; font-size: 8px; font-weight: 750; }.data-table td strong { max-width: 330px; font-size: 9px; line-height: 1.45; }.data-table td span { color: #818690; font-size: 8px; line-height: 1.4; }.score-cell { display: flex; align-items: center; gap: 7px; }.score-cell i { width: 56px; height: 5px; border-radius: 3px; background: #e5e2dc; overflow: hidden; }.score-cell em { height: 100%; display: block; border-radius: inherit; background: var(--teal); }.score-cell b { font-size: 9px; }.state-badge { width: max-content; padding: 5px 8px; border-radius: 7px; background: #eceae5; color: #6e7580 !important; display: inline-flex !important; font-size: 8px !important; font-weight: 800; white-space: nowrap; }.state-uyumlu { background: var(--teal-soft); color: var(--teal) !important; }.state-riskli { background: var(--coral-soft); color: #c54838 !important; }.state-iyileştiriliyor, .state-iyilestiriliyor { background: var(--amber-soft); color: #a66c14 !important; }.state-kanit-bekliyor { background: var(--blue-soft); color: #4469ba !important; }
.obligation-hero { min-height: 210px; padding: 35px 40px; border-radius: 22px; background: linear-gradient(135deg,var(--navy),#172641); color: #fff; display: grid; grid-template-columns: minmax(0,1fr) 200px; align-items: center; gap: 30px; }.obligation-hero h1 { max-width: 850px; margin: 13px 0 9px; font-size: clamp(25px,3vw,42px); line-height: 1.1; letter-spacing: -.045em; }.obligation-hero p { margin: 0; color: #99a6b9; font-size: 10px; }.obligation-score { padding: 19px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.06); display: grid; grid-template-columns: 1fr auto; gap: 7px; }.obligation-score span { color: #92a0b4; font-size: 9px; }.obligation-score strong { font-size: 26px; line-height: 1; }.obligation-score i { grid-column: 1/-1; height: 6px; border-radius: 3px; background: rgba(255,255,255,.1); overflow: hidden; }.obligation-score em { display: block; height: 100%; border-radius: inherit; background: var(--lime); }.obligation-grid { margin-top: 17px; display: grid; grid-template-columns: minmax(0,1.35fr) 360px; gap: 17px; align-items: start; }.obligation-info dl { margin: 0; padding: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.obligation-info dl div { padding: 13px; border-radius: 10px; background: #f4f1eb; display: flex; flex-direction: column; gap: 5px; }.obligation-info dt { color: #898e97; font-size: 8px; }.obligation-info dd { margin: 0; font-size: 10px; font-weight: 700; }.obligation-statement { margin: 0 20px 20px; padding: 17px; border-left: 3px solid var(--blue); background: var(--blue-soft); }.obligation-statement span { color: #4768ad; font-size: 8px; font-weight: 800; text-transform: uppercase; }.obligation-statement p { margin: 7px 0 0; color: #44536d; font-family: Georgia,serif; font-size: 11px; line-height: 1.7; }.evidence-list { padding: 10px 17px 16px; display: grid; }.evidence-list > div { min-height: 48px; border-bottom: 1px solid #eeeae3; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 7px; color: var(--teal); }.evidence-list > div:last-child { border: 0; }.evidence-list span { color: var(--ink); font-size: 8px; }.evidence-list b { font-size: 7px; }.evidence-list .waiting { color: var(--amber); }.evidence-list .waiting i { width: 16px; height: 16px; border-radius: 50%; background: var(--amber-soft); display: grid; place-items: center; font-style: normal; font-size: 8px; }

/* Actions */
.wide-page { width: min(1660px,100%); }.board-toolbar { margin-bottom: 17px; display: flex; align-items: center; justify-content: space-between; }.board-summary { display: flex; align-items: center; gap: 18px; color: #707783; font-size: 9px; }.board-summary span { display: flex; align-items: center; gap: 6px; }.kanban-board { display: grid; grid-template-columns: repeat(4,minmax(250px,1fr)); gap: 12px; overflow-x: auto; padding-bottom: 10px; }.kanban-column { min-width: 250px; border: 1px solid var(--line); border-radius: 15px; background: #eae6de; overflow: hidden; }.kanban-heading { min-height: 54px; padding: 0 13px; background: var(--surface); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }.kanban-heading > div { display: flex; align-items: center; gap: 8px; }.kanban-heading i { width: 8px; height: 8px; border-radius: 50%; background: #8d95a1; }.tone-blue i { background: var(--blue); }.tone-amber i { background: var(--amber); }.tone-teal i { background: var(--teal); }.kanban-heading strong { font-size: 10px; }.kanban-heading span { min-width: 20px; height: 19px; padding: 0 5px; border-radius: 7px; background: #eeebe5; color: #777e89; display: grid; place-items: center; font-size: 8px; }.kanban-heading button { border: 0; background: none; color: #92969e; cursor: pointer; letter-spacing: 1px; }.kanban-stack { min-height: 500px; padding: 10px; display: flex; flex-direction: column; gap: 9px; }.task-card { padding: 14px; border: 1px solid #ded9d0; border-radius: 13px; background: var(--surface); box-shadow: 0 2px 10px rgba(17,26,44,.035); }.task-card-top { display: flex; justify-content: space-between; align-items: center; }.task-card-top > svg { color: #aaaeb5; }.priority { padding: 4px 7px; border-radius: 6px; background: #eceae5; color: #737984; font-size: 7px; font-weight: 850; text-transform: uppercase; }.priority-kritik { background: var(--coral-soft); color: #c34839; }.priority-yuksek { background: var(--amber-soft); color: #a76b10; }.priority-orta { background: var(--blue-soft); color: #476bb9; }.task-card > code { margin-top: 12px; color: var(--blue); display: block; font-family: inherit; font-size: 7px; font-weight: 750; }.task-card h3 { min-height: 35px; margin: 5px 0 13px; font-size: 11px; line-height: 1.45; }.task-owner { display: flex; align-items: center; gap: 8px; }.task-owner > div { width: 28px; height: 28px; border-radius: 50%; background: #dfe5f1; color: #465975; display: grid; place-items: center; font-size: 7px; font-weight: 800; }.task-owner > span { display: flex; flex-direction: column; gap: 2px; }.task-owner strong { font-size: 8px; }.task-owner small { color: #898e97; font-size: 7px; }.task-card-footer { min-height: 38px; margin-top: 12px; border-top: 1px solid #eeeae3; display: flex; justify-content: space-between; align-items: flex-end; color: #7b828d; font-size: 8px; }.task-card-footer > span, .evidence-upload { display: flex; align-items: center; gap: 4px; }.task-card-footer .overdue { color: var(--coral); font-weight: 800; }.evidence-upload { cursor: pointer; }.evidence-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }.status-select { margin-top: 10px; height: 31px; padding: 0 8px; border-radius: 8px; background: #f1eee7; display: flex; align-items: center; }.status-select select { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #666e7a; appearance: none; font-size: 8px; cursor: pointer; }.add-task-inline { min-height: 36px; border: 1px dashed #c9c3b8; border-radius: 10px; background: transparent; color: #777d87; display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 8px; cursor: pointer; }.add-task-inline:hover { border-color: #9d968a; background: rgba(255,255,255,.35); }
.modal-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; }.modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(5,11,22,.58); backdrop-filter: blur(4px); }.modal-card { width: min(610px,calc(100vw - 28px)); padding: 23px; border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-lg); position: relative; display: grid; gap: 15px; }.modal-heading { margin-bottom: 5px; display: flex; justify-content: space-between; align-items: start; }.modal-heading > div { display: flex; flex-direction: column; gap: 4px; }.modal-heading span { color: var(--teal); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }.modal-heading h2 { margin: 0; font-size: 22px; letter-spacing: -.04em; }.modal-heading button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; background: #f3f0ea; display: grid; place-items: center; cursor: pointer; }.modal-card label { color: #676e79; display: flex; flex-direction: column; gap: 6px; font-size: 9px; font-weight: 700; }.modal-card input, .modal-card select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #dcd7ce; border-radius: 9px; outline: 0; background: #faf8f3; color: var(--ink); }.modal-card input:focus, .modal-card select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(63,112,216,.1); }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.modal-actions { margin-top: 5px; padding-top: 15px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; gap: 8px; }.toast { position: fixed; left: 50%; bottom: 24px; z-index: 120; min-height: 42px; padding: 0 15px; border-radius: 11px; background: var(--navy); color: #fff; box-shadow: var(--shadow-lg); display: flex; align-items: center; gap: 7px; transform: translateX(-50%); font-size: 9px; font-weight: 700; }.toast svg { color: var(--lime); }

/* Policies */
.policy-summary { min-height: 104px; margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }.policy-summary > div { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 3px; }.policy-summary span { color: #858b95; font-size: 8px; }.policy-summary strong { font-size: 25px; letter-spacing: -.04em; }.policy-summary small { color: var(--teal); font-size: 8px; }.policy-grid { margin-bottom: 17px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.policy-card { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-sm); display: flex; flex-direction: column; }.policy-card-top { display: flex; justify-content: space-between; align-items: center; }.policy-card-top > span { color: #8b9098; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }.policy-state { padding: 4px 6px; border-radius: 6px; background: #eeeae4; font-size: 7px; }.policy-state.current { background: var(--teal-soft); color: var(--teal); }.policy-state.review { background: var(--blue-soft); color: var(--blue); }.policy-state.needs-work { background: var(--coral-soft); color: var(--coral); }.policy-icon { width: 39px; height: 44px; margin-top: 25px; border-radius: 7px 7px 11px 11px; background: var(--navy); color: var(--lime); display: grid; place-items: center; font-size: 9px; font-weight: 850; box-shadow: inset 0 -6px 0 #1f2d46; }.policy-card h2 { min-height: 43px; margin: 14px 0 4px; font-size: 12px; line-height: 1.45; }.policy-card > p { margin: 0; color: #898e97; font-size: 8px; }.policy-progress { margin-top: 17px; }.policy-progress > span { display: flex; justify-content: space-between; color: #777d87; font-size: 8px; }.policy-progress i { height: 5px; margin-top: 6px; border-radius: 3px; background: #e7e3dc; display: block; overflow: hidden; }.policy-progress em { height: 100%; border-radius: inherit; background: var(--teal); display: block; }.policy-card dl { margin: 16px 0; padding: 11px 0; border-block: 1px solid #eeeae3; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.policy-card dl div:last-child { grid-column: 1/-1; }.policy-card dt { color: #9599a0; font-size: 7px; }.policy-card dd { margin: 2px 0 0; font-size: 8px; font-weight: 700; }.policy-card > button { margin-top: auto; min-height: 33px; border: 0; border-radius: 8px; background: #efebe4; display: flex; align-items: center; justify-content: center; gap: 5px; color: #606874; font-size: 8px; font-weight: 700; cursor: pointer; }.policy-register { overflow: hidden; }.mini-search { min-height: 34px; }.compact-table { padding-bottom: 6px; }.compact-row { min-height: 55px; padding: 0 20px; border-top: 1px solid #eeeae3; display: grid; grid-template-columns: minmax(260px,1.4fr) 1fr 120px 100px; gap: 12px; align-items: center; font-size: 9px; }.compact-row.head { min-height: 36px; border: 0; background: #f5f2ec; color: #898e97; font-size: 7px; font-weight: 800; text-transform: uppercase; }.compact-row > span { color: #777d87; }

/* Sources */
.source-health-hero { min-height: 190px; margin-bottom: 17px; padding: 32px; border-radius: 20px; background: linear-gradient(120deg,var(--navy),#162844); color: #fff; display: grid; grid-template-columns: .85fr 1.15fr; gap: 40px; align-items: center; }.source-health-hero > div:first-child { display: flex; flex-direction: column; }.source-health-hero > div:first-child > span { color: var(--lime); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }.source-health-hero > div:first-child > strong { margin-top: 6px; font-size: 48px; line-height: 1; letter-spacing: -.055em; }.source-health-hero p { max-width: 480px; margin: 10px 0 0; color: #9aa8bc; font-size: 10px; line-height: 1.6; }.health-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.health-grid > div { min-height: 100px; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(255,255,255,.055); display: flex; flex-direction: column; justify-content: space-between; }.health-grid svg { color: var(--lime); }.health-grid span { color: #8d9bb0; display: flex; flex-direction: column; gap: 4px; font-size: 8px; }.health-grid strong { color: #fff; font-size: 12px; }.source-list { overflow: hidden; }.source-list-head, .source-list-row { padding: 0 19px; display: grid; grid-template-columns: minmax(320px,1.5fr) 110px 110px 160px 120px; gap: 12px; align-items: center; }.source-list-head { height: 42px; background: #f3f0e9; color: #878c95; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }.source-list-row { min-height: 75px; border-top: 1px solid #ebe7df; color: #747b86; font-size: 9px; }.source-list-row:hover { background: #faf8f3; }.source-name { display: flex; align-items: center; gap: 11px; }.source-name > div { width: 36px; height: 36px; border-radius: 10px; background: #e9edf6; color: #536683; display: grid; place-items: center; font-size: 8px; font-weight: 800; }.source-name > span { display: flex; flex-direction: column; gap: 3px; }.source-name strong { color: var(--ink); font-size: 9px; }.source-name small { color: #91959d; font-size: 7px; }.source-health { display: flex; align-items: center; gap: 8px; }.source-health i { width: 95px; height: 5px; border-radius: 3px; background: #e4e1db; overflow: hidden; }.source-health em { display: block; height: 100%; border-radius: inherit; background: var(--teal); }.source-health b { color: var(--ink); font-size: 8px; }

/* Reporting */
.report-toolbar { min-height: 56px; margin-bottom: 13px; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }.report-toolbar label { min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: #838892; display: flex; align-items: center; gap: 8px; font-size: 8px; }.report-toolbar select { border: 0; outline: 0; background: transparent; color: var(--ink); font-weight: 700; }.report-hero { min-height: 205px; padding: 30px 35px; border: 0; background: var(--navy); color: #fff; display: grid; grid-template-columns: minmax(0,1fr) 230px; align-items: center; gap: 30px; }.report-hero > div:first-child > span { color: var(--lime); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.report-hero h2 { max-width: 720px; margin: 8px 0 10px; font-size: 25px; line-height: 1.2; letter-spacing: -.04em; }.report-hero p { max-width: 650px; margin: 0; color: #9ba8bb; font-size: 10px; line-height: 1.6; }.report-score { display: grid; grid-template-columns: 88px 1fr; gap: 5px 14px; align-items: center; }.mini-score-ring { width: 88px; height: 88px; grid-row: 1 / span 2; padding: 8px; border-radius: 50%; background: conic-gradient(var(--lime) 0 92%,rgba(255,255,255,.12) 92% 100%); }.mini-score-ring b { width: 100%; height: 100%; border-radius: 50%; background: #17233a; display: grid; place-items: center; font-size: 25px; }.report-score > span { align-self: end; color: #8e9bb0; font-size: 8px; }.report-score > strong { align-self: start; color: var(--lime); font-size: 10px; }.report-grid { margin-top: 14px; display: grid; grid-template-columns: 1.4fr .7fr; gap: 14px; }.chart-panel { overflow: hidden; }.line-chart { height: 245px; padding: 25px 28px 18px; display: grid; grid-template-columns: 30px 1fr; }.chart-y { padding-bottom: 24px; display: flex; flex-direction: column; justify-content: space-between; color: #979ba2; font-size: 7px; }.chart-plot { border-bottom: 1px solid #dcd7ce; background: repeating-linear-gradient(to bottom,#ebe7df 0,#ebe7df 1px,transparent 1px,transparent 33%); position: relative; }.target-line { position: absolute; left: 0; right: 0; top: 10%; border-top: 1px dashed var(--teal); }.chart-bars { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(7,1fr); align-items: end; gap: 10px; }.chart-period { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }.chart-period i { width: min(30px,65%); border-radius: 8px 8px 2px 2px; background: linear-gradient(to top,#214f7e,#5a91d2); position: relative; transition: .2s ease; }.chart-period i:hover { filter: brightness(1.08); }.chart-period em { position: absolute; top: -17px; left: 50%; color: #60718a; transform: translateX(-50%); font-style: normal; font-size: 7px; }.chart-period span { position: absolute; bottom: -20px; color: #898e97; font-size: 7px; }.risk-donut-wrap { min-height: 245px; padding: 25px; display: flex; align-items: center; justify-content: center; gap: 25px; }.risk-donut { width: 130px; height: 130px; flex: 0 0 130px; padding: 17px; border-radius: 50%; background: conic-gradient(var(--coral) 0 8%,var(--amber) 8% 46%,var(--blue) 46% 71%,#c7c6c1 71% 100%); }.risk-donut > div { width: 100%; height: 100%; border-radius: 50%; background: var(--surface); display: grid; place-items: center; align-content: center; }.risk-donut b { font-size: 24px; }.risk-donut span { color: #8c9199; font-size: 7px; }.risk-legend { min-width: 95px; display: grid; gap: 11px; }.risk-legend > div { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; font-size: 8px; }.risk-legend i { width: 7px; height: 7px; border-radius: 50%; background: #c7c6c1; }.risk-legend i.coral { background: var(--coral); }.risk-legend i.amber { background: var(--amber); }.risk-legend i.blue { background: var(--blue); }.risk-legend span { color: #7c838d; }.unit-performance { padding: 19px 23px 24px; display: grid; gap: 14px; }.unit-performance > div { display: grid; grid-template-columns: 150px 1fr 35px 45px; align-items: center; gap: 10px; font-size: 8px; }.unit-performance span { color: #666e7a; }.unit-performance i { height: 7px; border-radius: 4px; background: #e7e4de; overflow: hidden; }.unit-performance em { height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--teal),#4cb7aa); display: block; }.unit-performance b { font-size: 8px; }.unit-performance small { color: #999ca2; text-align: right; font-size: 7px; }.report-library { overflow: hidden; }.report-library > button { width: calc(100% - 28px); min-height: 62px; margin: 7px 14px; padding: 10px; border: 1px solid #e1ddd5; border-radius: 10px; background: #faf8f3; display: grid; grid-template-columns: 22px 1fr auto; gap: 8px; align-items: center; color: #667184; text-align: left; cursor: pointer; }.report-library > button span { display: flex; flex-direction: column; gap: 4px; }.report-library > button strong { color: var(--ink); font-size: 9px; }.report-library > button small { color: #8b9098; font-size: 7px; }

/* Audit & settings */
.audit-proof { min-height: 73px; margin-bottom: 15px; padding: 0 18px; border: 1px solid #cbe3dd; border-radius: 14px; background: var(--teal-soft); color: #2e665f; display: flex; align-items: center; justify-content: space-between; }.audit-proof > div { display: flex; align-items: center; gap: 10px; }.audit-proof span { display: flex; flex-direction: column; gap: 3px; }.audit-proof strong { color: #265d57; font-size: 10px; }.audit-proof small { font-size: 8px; }.audit-proof > div:last-child { font-size: 8px; font-weight: 800; }.audit-panel { overflow: hidden; }.audit-timeline { padding: 8px 20px 18px; }.audit-row { min-height: 68px; display: grid; grid-template-columns: 45px 28px minmax(0,1fr) 140px 90px; gap: 10px; align-items: center; color: #747b86; font-size: 9px; }.audit-row time { color: #999da4; font-size: 8px; }.audit-mark { height: 100%; display: grid; place-items: center; position: relative; }.audit-mark::before { content: ""; position: absolute; top: 0; bottom: 0; border-left: 1px solid #ddd8cf; }.audit-mark i { width: 25px; height: 25px; border: 1px solid #d9d4cb; border-radius: 50%; background: var(--surface); display: grid; place-items: center; z-index: 1; font-style: normal; }.audit-row:first-child .audit-mark i { border-color: #b8dcd5; background: var(--teal-soft); color: var(--teal); }.audit-row > div:nth-child(3) { display: flex; flex-direction: column; gap: 3px; }.audit-row strong { color: var(--ink); font-size: 9px; }.audit-row span { font-size: 8px; }.audit-row code { color: var(--blue); font-family: inherit; font-size: 8px; }.audit-row > b { padding: 4px 6px; border-radius: 6px; background: #eeeae4; color: #737a85; font-size: 7px; font-weight: 700; text-align: center; }
.settings-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 18px; align-items: start; }.settings-nav { position: sticky; top: 92px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); display: grid; }.settings-nav a { min-height: 41px; padding: 0 10px; border-radius: 9px; color: #717884; display: flex; align-items: center; gap: 9px; font-size: 9px; font-weight: 650; }.settings-nav a:hover { background: #f1eee7; }.settings-nav a.active { background: var(--navy); color: #fff; }.settings-content { display: grid; gap: 14px; }.settings-card { padding: 23px; scroll-margin-top: 90px; }.settings-card > div:first-child { max-width: 700px; }.settings-card h2 { margin: 5px 0 7px; font-size: 18px; letter-spacing: -.035em; }.settings-card > div:first-child p { margin: 0; color: #7c838e; font-size: 9px; line-height: 1.6; }.settings-form { margin-top: 21px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.settings-form label { color: #707782; display: flex; flex-direction: column; gap: 6px; font-size: 8px; font-weight: 700; }.settings-form input, .settings-form select { height: 41px; padding: 0 10px; border: 1px solid #dcd7ce; border-radius: 9px; background: #faf8f3; color: var(--ink); outline: 0; }.toggle-list { margin-top: 21px; border-top: 1px solid #e8e4dc; }.toggle-list > label { min-height: 68px; border-bottom: 1px solid #e8e4dc; display: flex; align-items: center; justify-content: space-between; gap: 20px; }.toggle-list span { display: flex; flex-direction: column; gap: 4px; }.toggle-list strong { font-size: 9px; }.toggle-list small { color: #858b95; font-size: 8px; }.toggle-list input { width: 38px; height: 21px; appearance: none; border-radius: 11px; background: #cac7c1; position: relative; cursor: pointer; transition: .18s; }.toggle-list input::after { content: ""; position: absolute; width: 17px; height: 17px; top: 2px; left: 2px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: .18s; }.toggle-list input:checked { background: var(--teal); }.toggle-list input:checked::after { transform: translateX(17px); }

@media (max-width: 1120px) {
  .app-frame { grid-template-columns: 220px minmax(0,1fr); }.sidebar { padding-inline: 12px; }.page { padding-inline: 24px; }.dashboard-hero { grid-template-columns: 1fr .72fr; padding: 34px; }.hero-copy h1 { font-size: 48px; }.metric-grid { grid-template-columns: repeat(2,1fr); }.coverage-layout { gap: 16px; }.system-health { display: none; }
  .change-card-large { grid-template-columns: 55px minmax(0,1fr); }.change-card-side { display: none; }.policy-grid { grid-template-columns: repeat(2,1fr); }.report-grid { grid-template-columns: 1fr; }.report-grid .wide { grid-column: auto; }.detail-grid,.obligation-grid { grid-template-columns: minmax(0,1fr) 320px; }.source-list-head,.source-list-row { grid-template-columns: minmax(280px,1.5fr) 80px 90px 130px 105px; }
}

@media (max-width: 820px) {
  .app-frame { display: block; }.sidebar { position: fixed; left: 0; transform: translateX(-105%); width: 270px; transition: transform .24s ease; box-shadow: 20px 0 70px rgba(4,10,20,.35); }.sidebar.sidebar-open { transform: translateX(0); }.mobile-only { display: grid; }.sidebar-close { margin-left: auto; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.06); color: #fff; }.mobile-scrim { position: fixed; inset: 0; z-index: 45; display: block; width: 100%; height: 100%; border: 0; background: rgba(4,10,20,.52); }.topbar { height: 64px; padding: 0 18px; gap: 12px; }.command-trigger { width: auto; flex: 1; }.command-trigger span { display: none; }.command-trigger kbd { margin-left: auto; }.page { padding: 22px 18px 40px; }.dashboard-hero { grid-template-columns: 1fr; }.hero-score-card { display: none; }.dashboard-grid { grid-template-columns: 1fr; }.insight-banner { grid-template-columns: 42px minmax(0,1fr) auto; }.banner-check { display: none; }
  .page-header { min-height: 92px; align-items: flex-start; flex-direction: column; gap: 16px; }.page-actions { padding: 0; }.detail-hero { grid-template-columns: 1fr; }.detail-facts { display: none; }.detail-grid,.obligation-grid { grid-template-columns: 1fr; }.summary-strip { grid-template-columns: repeat(2,1fr); }.summary-strip > div { min-height: 70px; border-bottom: 1px solid #ebe7df; }.summary-strip > div:nth-child(2),.summary-strip > div:nth-child(4) { border-right: 0; }.policy-grid { grid-template-columns: 1fr 1fr; }.source-health-hero { grid-template-columns: 1fr; }.source-list { overflow-x: auto; }.source-list-head,.source-list-row { min-width: 920px; }.report-hero { grid-template-columns: 1fr; }.report-score { display: none; }.settings-layout { grid-template-columns: 1fr; }.settings-nav { position: static; display: flex; overflow-x: auto; }.settings-nav a { white-space: nowrap; }.compact-table { overflow-x: auto; }.compact-row { min-width: 780px; }.audit-panel { overflow-x: auto; }.audit-panel > * { min-width: 760px; }
}

@media (max-width: 560px) {
  .topbar-actions { gap: 7px; }.command-trigger kbd { display: none; }.notification-popover { position: fixed; top: 67px; left: 12px; right: 12px; width: auto; }.dashboard-hero { min-height: 350px; padding: 30px 24px; }.hero-copy h1 { font-size: 43px; }.hero-actions { align-items: stretch; flex-direction: column; }.button { width: 100%; }.metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }.metric-card { min-height: 126px; padding: 15px; }.metric-card > strong { font-size: 27px; }.metric-icon { width: 32px; height: 32px; }.panel-heading { padding-inline: 16px; }.change-row { grid-template-columns: 4px minmax(0,1fr) 18px; padding-inline: 14px; }.change-meta { display: none; }.coverage-layout { align-items: flex-start; flex-direction: column; }.coverage-ring { align-self: center; }.coverage-legend { width: 100%; }.activity-item { grid-template-columns: 30px minmax(0,1fr); }.activity-item time { display: none; }.insight-banner { grid-template-columns: 38px minmax(0,1fr); padding: 18px; }.insight-banner > a { grid-column: 1 / -1; justify-content: center; }.insight-banner p { line-height: 1.5; }
  .page-actions { width: 100%; }.explorer-toolbar { grid-template-columns: 1fr 40px; }.explorer-toolbar .select-wrap { display: none; }.change-card-large { min-height: 180px; padding: 15px; grid-template-columns: 45px minmax(0,1fr); gap: 13px; }.change-date { width: 44px; height: 54px; }.change-date b { font-size: 18px; }.change-card-topline .status-pill,.change-card-topline i,.change-card-topline code { display: none; }.change-card-content h2 { font-size: 13px; }.change-tags span:nth-child(n+2) { display: none; }.detail-hero,.obligation-hero { padding: 27px 22px; }.detail-main h1 { font-size: 28px; }.detail-actions { flex-direction: column; }.diff-block { grid-template-columns: 1fr; }.summary-strip { padding: 8px; }.summary-strip > div { padding: 10px; }.summary-strip > div:first-child { grid-column: 1/-1; border-right: 0; }.table-toolbar .filter-search { width: 100%; }.table-toolbar select { display: none; }.obligation-hero { grid-template-columns: 1fr; }.obligation-score { display: none; }.obligation-info dl { grid-template-columns: 1fr; }.board-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }.board-toolbar .button { width: 100%; }.kanban-board { grid-template-columns: repeat(4,270px); }.form-grid,.settings-form { grid-template-columns: 1fr; }.modal-card { max-height: 90vh; overflow-y: auto; }.policy-summary { grid-template-columns: 1fr 1fr; }.policy-grid { grid-template-columns: 1fr; }.source-health-hero { padding: 25px 22px; }.health-grid { grid-template-columns: 1fr; }.health-grid > div { min-height: 76px; }.report-toolbar { align-items: stretch; flex-direction: column; }.report-toolbar label,.report-toolbar .button { width: 100%; justify-content: center; }.report-hero { padding: 26px 22px; }.report-hero h2 { font-size: 22px; }.line-chart { padding-inline: 13px; }.risk-donut-wrap { flex-direction: column; }.unit-performance > div { grid-template-columns: 110px 1fr 28px; }.unit-performance small { display: none; }.audit-proof { padding: 15px; }.audit-proof > div:last-child { display: none; }.toggle-list > label { align-items: flex-start; padding: 14px 0; }.settings-card { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* PHP + MySQL application layer */
[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
.nav-symbol { width: 20px; color: #77849a; display: inline-grid; place-items: center; font-size: 17px; font-weight: 700; }
.nav-item.active .nav-symbol { color: var(--lime); }
.global-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); }
.global-search > span { flex: 0 0 auto; }
.mobile-menu { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); place-items: center; }
.flash-stack { position: fixed; top: 84px; right: 24px; z-index: 110; width: min(420px,calc(100vw - 32px)); display: grid; gap: 8px; }
.flash { min-height: 50px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: var(--navy); color: #fff; box-shadow: var(--shadow-lg); display: grid; grid-template-columns: 24px 1fr 24px; align-items: center; gap: 8px; font-size: 11px; }
.flash > span { width: 23px; height: 23px; border-radius: 7px; background: var(--lime); color: var(--navy); display: grid; place-items: center; font-weight: 900; }
.flash-error > span { background: var(--coral); color: #fff; }.flash-warning > span { background: var(--amber); color: #fff; }
.flash button { border: 0; background: transparent; color: #98a4b6; cursor: pointer; font-size: 18px; }
.notification-popover a { margin: 0; padding: 11px; border-radius: 10px; background: transparent; color: inherit; display: grid; gap: 4px; text-align: left; }
.notification-popover a:hover { background: #f3f0e9; }.notification-popover a b { font-size: 11px; }.notification-popover a span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.score-ring { background: conic-gradient(var(--lime) 0 var(--score,0%),rgba(255,255,255,.1) var(--score,0%) 100%); }
.metric-card { grid-template-columns: 42px 1fr; align-items: center; }.metric-card > div:last-child { display: flex; flex-direction: column; }.metric-card > div:last-child > span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }.metric-card > div:last-child > strong { margin: 4px 0 2px; font-size: 28px; letter-spacing: -.05em; }.metric-card small { color: #8a9099; font-size: 8px; }
.change-row .change-meta { min-width: 0; display: flex; flex-direction: row; align-items: center; gap: 8px; }.change-main small { margin-top: 5px; color: #818792; display: block; font-size: 9px; }.change-row .change-card-side { height: auto; padding: 0; border: 0; align-items: center; }.change-row .change-card-side b { color: var(--ink); font-size: 18px; }.change-row .change-card-side span { margin: 0; color: #90949b; font-size: 8px; }
.severity-marker.severity-critical { background: var(--coral); }.severity-marker.severity-high { background: var(--amber); }.severity-marker.severity-medium { background: var(--blue); }.severity-marker.severity-low { background: var(--teal); }.severity-marker.severity-info { background: #9299a5; }
.deadline-score { width: 43px; height: 43px; border-radius: 11px; display: grid; place-items: center; font-weight: 850; }.deadline-score.score-critical { background: var(--coral-soft); color: var(--coral); }.deadline-score.score-high { background: var(--amber-soft); color: #a76a0f; }.deadline-item > div:nth-child(2) { display: flex; }.deadline-item > time { width: auto; height: auto; border: 0; background: none; white-space: nowrap; }.deadline-item > time.overdue { color: var(--coral); font-weight: 800; }
.insight-banner { grid-template-columns: 42px minmax(0,1fr) auto; }.insight-banner code { color: var(--lime); font-family: inherit; }.insight-banner > a { z-index: 1; }
.explorer-toolbar { grid-template-columns: minmax(250px,1fr) minmax(170px,auto) minmax(155px,auto) auto auto; }.compact-toolbar { grid-template-columns: minmax(280px,1fr) 180px auto auto; }
.change-card-content .change-meta { min-width: 0; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; color: #858b95; font-size: 8px; }.change-card-content > small { margin-top: 10px; color: #697282; display: block; font-size: 9px; }.change-card-side > b { font-size: 28px; letter-spacing: -.05em; }.change-card-side > i { position: absolute; right: 0; bottom: 4px; font-style: normal; }
.severity-critical,.priority-critical { background: var(--coral-soft)!important; color: #c44738!important; }.severity-high,.priority-high { background: var(--amber-soft)!important; color: #a66a0f!important; }.severity-medium,.priority-medium { background: var(--blue-soft)!important; color: #3f63b2!important; }.severity-low,.priority-low { background: var(--teal-soft)!important; color: var(--teal)!important; }.severity-info { background: #ececf0!important; color: #697181!important; }
.detail-hero > div:first-child,.detail-action-card,.impact-score-card { position: relative; z-index: 1; }.detail-hero h1 { max-width: 830px; margin: 14px 0 12px; font-size: clamp(28px,3.2vw,48px); line-height: 1.04; letter-spacing: -.055em; }.detail-hero > div:first-child > p { max-width: 760px; margin: 0; color: #aab5c6; line-height: 1.7; }.detail-hero .change-meta { min-width: 0; flex-direction: row; align-items: center; justify-content: flex-start; color: #9aa8bc; }.detail-source { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; gap: 3px; }.detail-source span { color: var(--lime); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }.detail-source strong { font-size: 11px; }.detail-source small { color: #8794a8; font-size: 9px; }
.detail-action-card { padding: 21px; border: 1px solid rgba(255,255,255,.13); border-radius: 17px; background: rgba(255,255,255,.065); display: grid; gap: 12px; }.detail-action-card label { color: #98a5b8; display: grid; gap: 7px; font-size: 9px; }.detail-action-card select { width: 100%; height: 42px; padding: 0 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; background: #18263d; color: #fff; }.detail-action-card a { color: var(--lime); font-size: 9px; text-align: center; }
.detail-main-panel .panel-heading,.compact-facts .panel-heading,.agent-history .panel-heading { border-bottom: 1px solid #ebe7df; }.diff-grid { padding: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.diff-grid .diff-block { padding: 18px; display: flex; flex-direction: column; gap: 8px; }.diff-grid .diff-block span { font-size: 8px; }.diff-grid .diff-block p { margin: 0; white-space: normal; }.diff-grid .diff-block code { margin-top: auto; padding-top: 12px; color: inherit; opacity: .65; overflow-wrap: anywhere; font-size: 7px; }
.compact-facts dl { margin: 0; padding: 7px 18px 18px; }.compact-facts dl div { padding: 12px 0; border-bottom: 1px solid #eeeae3; }.compact-facts dt { color: #92969e; font-size: 8px; }.compact-facts dd { margin: 4px 0 0; font-size: 10px; font-weight: 700; }.compact-facts .full-button { width: calc(100% - 36px); margin: 0 18px 12px; }
.responsive-table { width: 100%; overflow-x: auto; }.responsive-table table { width: 100%; min-width: 900px; border-collapse: collapse; }.responsive-table th { height: 43px; padding: 0 15px; background: #f5f2ec; color: #858b95; text-align: left; font-size: 8px; text-transform: uppercase; letter-spacing: .065em; }.responsive-table td { padding: 14px 15px; border-top: 1px solid #ece8e0; color: #6c7480; vertical-align: middle; font-size: 9px; }.responsive-table tbody tr:hover { background: #faf8f3; }.responsive-table td strong,.responsive-table td small { display: block; }.responsive-table td strong { color: var(--ink); font-size: 9px; line-height: 1.45; }.responsive-table td small { margin-top: 4px; color: #92969e; font-size: 8px; line-height: 1.4; }.responsive-table td a { color: var(--blue); font-weight: 750; }.cell-wrap { min-width: 260px; max-width: 430px; line-height: 1.5; }.row-overdue { box-shadow: inset 3px 0 0 var(--coral); }
.score-badge { width: max-content; min-width: 34px; padding: 6px 8px; border-radius: 8px; background: #eceae5; color: #6f7680; display: inline-flex; justify-content: center; font-size: 9px; font-weight: 850; }.score-critical { background: var(--coral-soft); color: #bf4234; }.score-high { background: var(--amber-soft); color: #a56b12; }.score-medium { background: var(--blue-soft); color: #3e64b7; }.score-low { background: var(--teal-soft); color: var(--teal); }.overdue { color: var(--coral)!important; font-weight: 800; }
.status-open,.status-new { background: var(--amber-soft); color: #a56b12; }.status-accepted,.status-in_progress { background: var(--blue-soft); color: #3e64b7; }.status-done,.status-closed,.status-active { background: var(--teal-soft); color: var(--teal); }.status-not_applicable,.status-archived,.status-cancelled { background: #eceae5; color: #737984; }
.obligation-hero { min-height: 128px; margin: 16px 0; grid-template-columns: 240px 1fr; }.obligation-hero > div:first-child { display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 12px; }.obligation-hero > div:first-child span { grid-column:1/-1; color: #8f9db2; font-size: 8px; text-transform: uppercase; }.obligation-hero > div:first-child strong { color: var(--lime); font-size: 44px; }.obligation-hero > div:first-child small { color: #a1aec0; }.risk-scale { display: flex; align-items: center; gap: 10px; color: #9aa7b9; font-size: 8px; }.risk-scale i { flex: 1; height: 6px; border-radius: 4px; background: linear-gradient(90deg,var(--teal),var(--blue),var(--amber),var(--coral)); }.obligation-detail-hero { grid-template-columns: minmax(0,1fr) 210px; }.impact-score-card { width: 180px; height: 180px; margin-left: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; background: rgba(255,255,255,.055); display: grid; place-items: center; align-content: center; }.impact-score-card span { color: #8594a9; font-size: 8px; text-transform: uppercase; }.impact-score-card strong { color: var(--lime); font-size: 58px; letter-spacing: -.08em; }.impact-score-card small { color: #abb5c5; font-size: 9px; }.impact-edit-grid { grid-template-columns: minmax(0,1fr) 380px; }
.stack-form { padding: 20px; display: grid; gap: 14px; }.stack-form label { color: #69717d; display: grid; gap: 6px; font-size: 9px; font-weight: 700; }.stack-form input,.stack-form select,.stack-form textarea,.setting-card textarea,.inline-role-form select { width: 100%; padding: 0 11px; border: 1px solid #dcd7ce; border-radius: 9px; background: #faf8f3; color: var(--ink); outline: 0; }.stack-form input,.stack-form select { height: 42px; }.stack-form textarea,.setting-card textarea { padding-block: 10px; resize: vertical; }.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(63,112,216,.1); }
.agent-history { margin-top: 17px; }.activity-dot { width: 10px; height: 10px; border-radius: 50%; background: #aaa; }.activity-dot.status-ok { background: var(--teal); }.activity-dot.status-failed { background: var(--coral); }.activity-dot.status-running { background: var(--amber); box-shadow: 0 0 0 4px var(--amber-soft); }.agent-history .activity-item { grid-template-columns: 12px minmax(0,1fr) auto; }.agent-history .activity-item p { margin: 0; color: #777e88; font-size: 8px; line-height: 1.5; }.agent-history .activity-item small { color: #9a9da4; font-size: 7px; }.agent-history .activity-item em { color: #767d87; font-size: 8px; font-style: normal; }
.task-card { display: grid; gap: 8px; }.task-card h3 { min-height: 0; margin: 0; }.task-card > p { margin: 0; color: #7c838d; font-size: 8px; line-height: 1.5; }.task-context { color: var(--blue); font-size: 7px; font-weight: 750; }.task-card-top code { color: #999da4; font-size: 7px; }.priority-critical { background: var(--coral-soft); color: #c34839; }.priority-high { background: var(--amber-soft); color: #a76b10; }.priority-medium { background: var(--blue-soft); color: #476bb9; }.priority-low { background: var(--teal-soft); color: var(--teal); }.inline-task-form select { width: 100%; height: 32px; padding: 0 8px; border: 0; border-radius: 8px; background: #f1eee7; color: #636b77; font-size: 8px; }.evidence-form label { height: 32px; border: 1px dashed #c9c3b8; border-radius: 8px; color: #69717c; display: grid; place-items: center; cursor: pointer; font-size: 8px; font-weight: 700; }.evidence-form input { position: absolute; width: 1px; height: 1px; opacity: 0; }.latest-evidence { color: var(--teal); overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.column-empty { min-height: 80px; border: 1px dashed #cbc5ba; border-radius: 10px; color: #969aa1; display: grid; place-items: center; text-align: center; font-size: 8px; }.tone-coral i { background: var(--coral); }.dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }.dot.coral { background: var(--coral); }.dot.amber { background: var(--amber); }.dot.teal { background: var(--teal); }
.modal-card textarea { width: 100%; padding: 9px 11px; border: 1px solid #dcd7ce; border-radius: 9px; outline: 0; background: #faf8f3; color: var(--ink); resize: vertical; }.modal-overlay:not([hidden]) { display: grid; }
.policy-summary { min-height: 88px; margin-bottom: 16px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); display: grid; grid-template-columns: repeat(3,1fr); box-shadow: var(--shadow-sm); }.policy-summary > div { padding: 0 18px; border-right: 1px solid #ebe7df; display: flex; flex-direction: column; justify-content: center; }.policy-summary > div:last-child { border: 0; }.policy-summary strong { font-size: 25px; letter-spacing: -.04em; }.policy-summary span { color: #818792; font-size: 8px; }
.source-health-hero { min-height: 150px; grid-template-columns: repeat(3,180px) 1fr; }.source-health-hero > div { display: flex!important; flex-direction: column; }.source-health-hero > div span { color: #8e9caf!important; font-size: 8px!important; text-transform: uppercase; }.source-health-hero > div strong { margin-top: 4px!important; color: var(--lime); font-size: 34px!important; }.source-health-hero > p { justify-self: end; }.source-health-hero > p i { width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--teal); display: inline-block; }
.source-grid { display: grid; grid-template-columns: repeat(3,minmax(260px,1fr)); gap: 12px; }.source-card { min-height: 340px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-sm); }.source-card h2 { margin: 15px 0 2px; font-size: 15px; line-height: 1.35; }.source-card > p { min-height: 38px; line-height: 1.5; }.source-card-top { display: flex; justify-content: space-between; align-items: center; }.source-type { color: var(--blue)!important; font-weight: 800; }.source-card dl { margin: 12px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.source-card dl div { padding: 9px; border-radius: 9px; background: #f4f1eb; }.source-card dt { color: #92969e; font-size: 7px; }.source-card dd { margin: 3px 0 0; color: var(--ink); font-size: 8px; font-weight: 700; }.source-stats { display: flex; gap: 16px; color: #7b828d; font-size: 8px; }.source-stats b { color: var(--ink); }.source-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 6px; }.source-actions form { display: flex; }.source-card .source-actions a,.source-card .source-actions button { margin: 0; width: auto; min-height: 34px; padding-inline: 10px; font-size: 8px; }.subtle-button { border-color: transparent; background: #efebe4; color: #67707c; }.source-paused { opacity: .72; }
.report-toolbar { justify-content: flex-start; }.report-toolbar > span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: #777e88; font-size: 8px; }.bar-chart { padding: 24px; display: grid; gap: 17px; }.bar-row { display: grid; grid-template-columns: 90px 1fr 32px; align-items: center; gap: 12px; color: #707782; font-size: 9px; }.bar-row > i { height: 10px; border-radius: 6px; background: #ece8e1; overflow: hidden; }.bar-row em { height: 100%; border-radius: inherit; display: block; }.bar-critical { background: var(--coral); }.bar-high { background: var(--amber); }.bar-medium { background: var(--blue); }.bar-low { background: var(--teal); }.bar-info { background: #8d95a2; }
.donut-layout { min-height: 230px; padding: 20px; display: flex; justify-content: center; align-items: center; gap: 30px; }.css-donut { width: 128px; height: 128px; padding: 17px; border-radius: 50%; background: conic-gradient(var(--coral) 0 calc(var(--open)*1%),#e5e2dc calc(var(--open)*1%) 100%); }.css-donut strong,.css-donut span { width: 100%; height: 50%; background: var(--surface); display: grid; place-items: end center; }.css-donut strong { padding-top: 27px; border-radius: 50% 50% 0 0; font-size: 25px; }.css-donut span { place-items: start center; border-radius: 0 0 50% 50%; color: #888e97; font-size: 7px; }.legend-list { min-width: 140px; display: grid; gap: 10px; }.legend-list div { display: grid; grid-template-columns: 8px 1fr auto; gap: 7px; align-items: center; font-size: 8px; }.legend-list i { width: 7px; height: 7px; border-radius: 50%; background: #aaa; }.legend-list .legend-open { background: var(--coral); }.legend-list .legend-done { background: var(--teal); }.mini-progress { width: 100%; min-width: 90px; height: 7px; border-radius: 4px; background: #e9e5de; overflow: hidden; }.mini-progress i { height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--teal),var(--blue)); display: block; }.agent-health-grid { padding: 17px; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }.agent-health-grid article { min-height: 140px; padding: 15px; border: 1px solid #e3ded6; border-radius: 12px; background: #faf8f3; display: flex; flex-direction: column; gap: 8px; }.agent-health-grid article > span { color: #858b95; font-size: 8px; }.agent-health-grid article > strong { font-size: 20px; }.agent-health-grid small { margin-top: auto; color: #8f949c; font-size: 7px; line-height: 1.5; }.agent-model { width: max-content; padding: 4px 6px; border-radius: 6px; background: var(--blue-soft); color: var(--blue); font-size: 7px; }
.audit-proof { padding: 12px 18px; display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }.audit-proof > div { align-items: flex-start; flex-direction: column; gap: 4px; }.audit-proof > div:not(:last-child) { border-right: 1px solid #b9d8d1; }.audit-proof span { font-size: 8px; text-transform: uppercase; }.audit-layout { display: grid; grid-template-columns: minmax(0,1.35fr) 380px; gap: 15px; align-items: start; }.audit-timeline { padding: 0; }.audit-event { min-height: 88px; padding: 14px 18px; border-top: 1px solid #ece8e0; display: grid; grid-template-columns: 16px 1fr; gap: 12px; }.audit-marker { width: 10px; height: 10px; margin-top: 5px; border: 2px solid var(--surface); border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 2px #b9dcd6; }.audit-event-head { display: flex; justify-content: space-between; gap: 12px; }.audit-event-head strong { font-size: 10px; }.audit-event-head time { color: #999da4; font-size: 8px; }.audit-event p { margin: 5px 0; color: #777e88; font-size: 8px; }.audit-event p span { color: var(--blue); font-weight: 700; }.audit-event code { color: #787f89; font-size: 7px; overflow-wrap: anywhere; }.agent-log { overflow: hidden; }.agent-log > article { min-height: 70px; padding: 12px 16px; border-top: 1px solid #ece8e0; display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 9px; }.agent-log article div { min-width: 0; }.agent-log strong { font-size: 9px; }.agent-log p { margin: 3px 0; overflow: hidden; color: #7e858f; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.agent-log small { color: #999da4; font-size: 7px; }.agent-log em { color: var(--coral); display: block; font-size: 7px; font-style: normal; }.agent-log b { color: #747b85; font-size: 7px; }
.settings-section { scroll-margin-top: 90px; overflow: hidden; }.settings-section .panel-heading { border-bottom: 1px solid #ece8e0; }.settings-section .narrow-form { max-width: 560px; }.stack-form label small { color: #9498a0; font-size: 7px; }.settings-cards { padding: 15px; display: grid; gap: 10px; }.setting-card { padding: 14px; border: 1px solid #e3ded6; border-radius: 11px; background: #faf8f3; display: grid; grid-template-columns: 1fr 100px; gap: 7px 12px; }.setting-card label { grid-row: 1 / span 2; color: #68717c; display: grid; gap: 5px; font-size: 8px; }.setting-card small { color: #9499a1; font-size: 7px; }.setting-card .button { align-self: end; min-height: 32px; }.unit-grid { padding: 15px; display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }.unit-grid article { min-height: 68px; padding: 12px; border: 1px solid #e4dfd7; border-radius: 10px; background: #faf8f3; display: flex; justify-content: space-between; align-items: center; gap: 12px; }.unit-grid article > div { display: flex; flex-direction: column; gap: 4px; }.unit-grid strong { font-size: 9px; }.unit-grid span { color: #858b95; font-size: 8px; }.unit-grid em { padding: 5px 7px; border-radius: 6px; background: var(--teal-soft); color: var(--teal); font-size: 7px; font-style: normal; }.inline-role-form select { height: 34px; }.pagination { min-height: 58px; margin-top: 13px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); display: flex; justify-content: space-between; align-items: center; color: #818792; font-size: 9px; }.pagination a { color: var(--blue); font-weight: 750; }.standalone-empty { margin-top: 50px; }.standalone-empty > span { color: var(--coral); font-size: 14px; font-weight: 850; }.standalone-empty h1 { margin: 0; font-size: 28px; }.standalone-empty p { margin: 0 0 10px; }

/* Login */
.login-page { min-height: 100vh; background: var(--navy); }.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(430px,.85fr); }.login-story { min-height: 100vh; padding: 42px clamp(38px,6vw,92px); background: radial-gradient(circle at 90% 20%,rgba(63,112,216,.18),transparent 34%),linear-gradient(145deg,#0b1324,#111e35); color: #fff; display: flex; flex-direction: column; position: relative; overflow: hidden; }.login-story::after { content:""; position:absolute; width:520px; height:520px; right:-300px; bottom:-290px; border:1px solid rgba(212,245,111,.17); border-radius:50%; box-shadow:0 0 0 70px rgba(212,245,111,.03),0 0 0 140px rgba(212,245,111,.02); }.login-brand { width:max-content; padding-inline:0; border:0; }.login-copy { margin:auto 0; position:relative; z-index:1; }.live-label { color:#a7b3c5; display:flex; align-items:center; gap:8px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.live-label i { width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 5px rgba(212,245,111,.08); }.login-copy h1 { margin:22px 0; font-size:clamp(50px,6vw,88px); line-height:.92; letter-spacing:-.07em; }.login-copy h1 em { color:var(--lime); font-family:Georgia,serif; font-weight:400; }.login-copy p { max-width:630px; margin:0; color:#9facc0; font-size:14px; line-height:1.75; }.login-proof { color:#8391a6; display:flex; gap:10px; align-items:center; font-size:9px; }.login-proof span { color:var(--lime); font-size:16px; font-weight:850; }.login-proof i { width:1px; height:20px; margin-inline:5px; background:rgba(255,255,255,.1); }.login-panel { min-height:100vh; padding:40px; background:var(--paper); display:grid; place-items:center; }.login-card { width:min(430px,100%); padding:35px; border:1px solid var(--line); border-radius:20px; background:var(--surface); box-shadow:0 24px 70px rgba(4,12,26,.14); display:grid; gap:17px; }.login-card-heading span { color:var(--teal); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }.login-card-heading h2 { margin:7px 0; font-size:29px; letter-spacing:-.045em; }.login-card-heading p { margin:0; color:var(--muted); font-size:10px; }.login-card label { color:#656d79; display:grid; gap:7px; font-size:9px; font-weight:700; }.login-card input { height:46px; padding:0 12px; border:1px solid #d8d3ca; border-radius:10px; background:#faf8f3; outline:0; }.login-card input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(63,112,216,.1); }.login-submit { width:100%; min-height:47px; justify-content:space-between; }.login-card small { color:#999da4; font-size:8px; line-height:1.5; text-align:center; }.form-error { padding:11px; border:1px solid #f1c5be; border-radius:9px; background:var(--coral-soft); color:#b94638; font-size:9px; }

@media (max-width: 1120px) {
  .source-grid { grid-template-columns: repeat(2,minmax(250px,1fr)); }.source-health-hero { grid-template-columns: repeat(3,140px); }.source-health-hero > p { grid-column:1/-1; justify-self:start; }.agent-health-grid { grid-template-columns:repeat(2,1fr); }.audit-layout { grid-template-columns:1fr 330px; }
}
@media (max-width: 820px) {
  .explorer-toolbar,.compact-toolbar { grid-template-columns:1fr 1fr; }.explorer-toolbar .filter-search { grid-column:1/-1; }.detail-hero,.obligation-detail-hero { grid-template-columns:1fr; }.detail-action-card { display:none; }.impact-score-card { display:none; }.detail-grid,.impact-edit-grid { grid-template-columns:1fr; }.diff-grid { grid-template-columns:1fr; }.source-health-hero { grid-template-columns:repeat(3,1fr); }.source-grid { grid-template-columns:1fr; }.audit-layout { grid-template-columns:1fr; }.settings-layout { grid-template-columns:1fr; }.login-shell { grid-template-columns:1fr; }.login-story { display:none; }.login-panel { padding:20px; }.unit-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .flash-stack { top:72px; right:12px; }.global-search { min-width:0; }.global-search input { width:100%; }.topbar-actions .notification-button { display:none; }.explorer-toolbar,.compact-toolbar { grid-template-columns:1fr; }.explorer-toolbar .select-wrap { display:flex; }.metric-card { grid-template-columns:1fr; }.metric-card .metric-icon { display:none; }.change-card-large { grid-template-columns:1fr; }.change-date { display:none; }.detail-hero h1 { font-size:27px; }.obligation-hero { grid-template-columns:1fr; }.risk-scale { display:none; }.policy-summary { grid-template-columns:1fr; }.policy-summary > div { min-height:55px; border-right:0; border-bottom:1px solid #ebe7df; }.source-health-hero { grid-template-columns:1fr 1fr; }.source-health-hero > div:last-of-type { grid-column:1/-1; }.report-grid { grid-template-columns:1fr; }.donut-layout { flex-direction:column; }.agent-health-grid { grid-template-columns:1fr; }.audit-proof { grid-template-columns:1fr; }.audit-proof > div { padding:5px 0; border-right:0!important; }.setting-card { grid-template-columns:1fr; }.setting-card label { grid-row:auto; }.pagination span { display:none; }.login-card { padding:24px; }
}
