:root {
  --navy: #102d4f;
  --navy-2: #173b63;
  --navy-3: #24537f;
  --blue: #2f6f9f;
  --sky: #e9f2f8;
  --teal: #168578;
  --green: #23845f;
  --green-soft: #e6f5ef;
  --amber: #bd7a16;
  --amber-soft: #fff3dc;
  --red: #b8453f;
  --red-soft: #fae9e7;
  --gold: #c9a258;
  --ink: #1b2a3a;
  --muted: #667689;
  --line: #dfe5eb;
  --surface: #ffffff;
  --canvas: #f4f6f8;
  --shadow: 0 10px 35px rgba(25, 52, 77, .08);
  --radius: 16px;
  --sidebar: 248px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, Aptos, "Segoe UI", system-ui, sans-serif; font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(47,111,159,.2); outline-offset: 1px; }
input, select, textarea { color: var(--ink); }
[hidden] { display: none !important; }

.login-screen { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: radial-gradient(circle at 15% 15%, rgba(61,124,166,.22), transparent 34%), linear-gradient(135deg, #0b2643, #123c62 58%, #17675f); position: relative; overflow: hidden; }
.login-screen::before, .login-screen::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.login-screen::before { width: 520px; height: 520px; right: -180px; top: -230px; }
.login-screen::after { width: 360px; height: 360px; left: -160px; bottom: -190px; }
.login-card { position: relative; z-index: 1; width: min(470px, 100%); background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.45); border-radius: 22px; padding: 30px; box-shadow: 0 28px 90px rgba(1,18,32,.35); }
.login-brand { display: flex; align-items: center; gap: 14px; padding-bottom: 21px; border-bottom: 1px solid var(--line); }
.login-brand img { width: 56px; height: 66px; object-fit: contain; }
.login-brand span, .login-brand strong { display: block; }
.login-brand span { color: var(--blue); font-size: 8px; font-weight: 900; letter-spacing: 1.2px; }
.login-brand strong { color: var(--navy); margin-top: 5px; font: 500 22px Georgia, serif; }
.login-copy { padding: 24px 0 18px; }
.login-copy h1 { margin: 5px 0 8px; color: var(--navy); font: 500 32px Georgia, serif; }
.login-copy > p:last-child { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.login-form { display: grid; gap: 13px; }
.login-form label { color: #536474; font-size: 10px; font-weight: 800; }
.login-form input { width: 100%; height: 46px; margin-top: 6px; border: 1px solid var(--line); border-radius: 10px; background: #f9fbfc; padding: 0 13px; font-size: 13px; }
.login-form .btn { width: 100%; min-height: 46px; margin-top: 3px; }
.login-error { padding: 10px 12px; border: 1px solid #edc9c5; border-radius: 9px; color: var(--red); background: var(--red-soft); font-size: 10px; line-height: 1.4; }
.login-profiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 20px; }
.login-profiles span { display: flex; align-items: center; gap: 6px; min-height: 38px; padding: 8px 9px; border-radius: 9px; background: var(--sky); color: #526a80; font-size: 8.5px; font-weight: 700; }
.login-profiles i { color: var(--blue); font-style: normal; }
.login-footer { display: block; margin-top: 18px; text-align: center; color: #96a1ab; font-size: 8px; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); background: linear-gradient(180deg, var(--navy), #0c2744 75%); color: #fff; padding: 24px 17px 18px; display: flex; flex-direction: column; overflow: hidden; z-index: 50; box-shadow: 8px 0 30px rgba(10, 35, 60, .12); }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 9px 25px; border-bottom: 1px solid rgba(255,255,255,.1); }
.brand-mark { width: 45px; height: 52px; display: grid; place-items: center; background: transparent; filter: drop-shadow(0 5px 8px rgba(0,0,0,.24)); padding: 0; flex: 0 0 auto; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand strong { font-size: 14px; letter-spacing: 1.9px; display: block; }
.brand small { display: block; margin-top: 3px; color: #aebed0; font-size: 11px; letter-spacing: .5px; }
.main-nav { flex: 1 1 auto; min-height: 0; padding: 18px 4px 10px 0; display: flex; flex-direction: column; gap: 5px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
.main-nav::-webkit-scrollbar { width: 5px; }
.main-nav::-webkit-scrollbar-thumb { border-radius: 5px; background: rgba(255,255,255,.22); }
.nav-label { margin: 18px 11px 5px; font-size: 9px; letter-spacing: 1.7px; color: #6f8ba6; font-weight: 800; }
.nav-item { width: 100%; border: 0; color: #b9c8d7; background: transparent; display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 8px; padding: 11px 12px; border-radius: 10px; text-align: left; font-size: 13px; transition: .18s ease; }
.nav-item:hover { background: rgba(255,255,255,.06); color: #fff; transform: translateX(2px); }
.nav-item.active { color: #fff; background: rgba(255,255,255,.11); box-shadow: inset 3px 0 var(--gold); }
.nav-icon { width: 21px; font-size: 19px; text-align: center; line-height: 1; }
.nav-badge { background: #d15b52; color: #fff; padding: 2px 7px; border-radius: 12px; font-size: 10px; min-width: 20px; text-align: center; }
.sidebar-foot { flex: 0 0 auto; margin-top: 10px; }
.ai-status { border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.04); border-radius: 11px; padding: 11px; display: flex; align-items: center; gap: 9px; margin-bottom: 10px; }
.ai-status i { width: 9px; height: 9px; background: #6fd6ad; border-radius: 50%; box-shadow: 0 0 0 5px rgba(111,214,173,.12); }
.ai-status i.off { background: #e47870; box-shadow: 0 0 0 5px rgba(228,120,112,.12); }
.ai-status strong, .ai-status small { display: block; }
.ai-status strong { font-size: 11px; }
.ai-status small { font-size: 9px; color: #8fa6bc; margin-top: 2px; }
.profile { display: grid; grid-template-columns: 36px 1fr auto; gap: 9px; align-items: center; padding: 11px 7px 0; border-top: 1px solid rgba(255,255,255,.08); }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #315678; font-size: 11px; font-weight: 800; }
.profile strong, .profile small { display: block; }
.profile strong { font-size: 10px; }
.profile small { font-size: 9px; color: #7891a9; margin-top: 2px; }
.profile > button { border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(255,255,255,.06); color: #a9bed0; padding: 6px 7px; font-size: 8px; font-weight: 800; }
.profile > button:hover { color: #fff; background: rgba(255,255,255,.12); }
.role-compras .ai-status { display: none; }
.role-compras .main-nav .nav-label { margin-top: 9px; }

.process-access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 1040px; }
.process-access-card { position: relative; min-height: 210px; display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: 1fr auto; gap: 18px; align-items: start; overflow: hidden; border: 1px solid #d6e0e6; border-radius: 17px; background: linear-gradient(145deg, #fff, #f7fafc); padding: 26px; color: var(--ink); text-align: left; box-shadow: 0 12px 28px rgba(15,45,72,.07); cursor: pointer; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.process-access-card::after { content: ""; position: absolute; inset: auto -45px -55px auto; width: 145px; height: 145px; border-radius: 50%; background: rgba(42,120,170,.06); }
.process-access-card:hover { transform: translateY(-3px); border-color: #9fc7db; box-shadow: 0 17px 36px rgba(15,45,72,.12); }
.process-access-card:focus-visible { outline: 3px solid rgba(42,120,170,.28); outline-offset: 3px; }
.process-access-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: var(--navy); color: #fff; font-size: 26px; box-shadow: 0 9px 18px rgba(16,45,79,.18); }
.process-access-card.price-records .process-access-icon { background: var(--green); }
.process-access-copy { display: block; }
.process-access-copy small, .process-access-copy strong, .process-access-copy em { display: block; }
.process-access-copy small { color: var(--blue); font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.process-access-copy strong { margin-top: 7px; color: var(--navy); font: 500 24px Georgia, serif; }
.process-access-copy em { max-width: 420px; margin-top: 9px; color: var(--muted); font-size: 10px; font-style: normal; line-height: 1.55; }
.process-access-stats { grid-column: 1 / 3; display: grid; grid-template-columns: auto auto 1fr; align-items: baseline; gap: 6px; z-index: 1; }
.process-access-stats b { color: var(--navy); font-size: 25px; }
.process-access-stats small { color: var(--muted); font-size: 9px; font-weight: 800; }
.process-access-stats i { justify-self: end; border-radius: 12px; background: var(--gold-soft); color: #8a641d; padding: 5px 9px; font-size: 8px; font-style: normal; font-weight: 900; }
.process-access-arrow { align-self: center; color: var(--blue); font-size: 25px; transition: transform .2s ease; }
.process-access-card:hover .process-access-arrow { transform: translateX(4px); }

.bll-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; margin: -3px 0 16px; padding: 15px 17px; border: 1px solid #bcd8e5; border-radius: 13px; background: linear-gradient(100deg, #edf8fc, #fbfdfd 60%, #eef7f2); }
.bll-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.bll-heading-actions .btn:disabled { cursor: wait; opacity: .68; }
.bll-hero-mark { width: 48px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--navy); color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .8px; }
.bll-hero strong, .bll-hero p, .bll-update small { display: block; margin: 0; }
.bll-hero > div:nth-child(2) > strong { color: var(--navy); font-size: 11px; }
.bll-hero p { max-width: 680px; margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.bll-update { min-width: 170px; padding-left: 17px; border-left: 1px solid #c9dee7; text-align: right; }
.bll-update small { color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .55px; }
.bll-update strong { display: block; margin-top: 4px; color: var(--navy); font-size: 10px; }
.bll-panel { padding: 0; overflow: hidden; }
.bll-toolbar { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(200px, .38fr) minmax(190px, .32fr); }
.bll-toolbar .search-box { width: auto; max-width: none; }
.bll-state { min-height: 150px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 24px; color: var(--muted); }
.bll-state strong, .bll-state p { display: block; margin: 0; }
.bll-state strong { color: var(--navy); font-size: 11px; }
.bll-state p { margin-top: 4px; font-size: 9px; }
.bll-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; padding: 16px; background: #f5f7f9; border-top: 1px solid var(--line); }
.bll-bid-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 6px 18px rgba(15, 45, 75, .06); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.bll-bid-card:hover { transform: translateY(-2px); border-color: #aec8d8; box-shadow: 0 13px 28px rgba(15, 45, 75, .1); }
.bll-card-main { flex: 1; padding: 17px 18px 15px; border-top: 4px solid var(--green); }
.bll-card-status-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.bll-card-status-row .status-pill { max-width: 66%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bll-deadline { color: #a4691a; font-size: 9px; white-space: nowrap; }
.bll-bid-card h3 { margin: 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 500; }
.bll-card-process { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.bll-card-object { min-height: 82px; margin: 13px 0; color: #435264; font-size: 9px; font-weight: 700; line-height: 1.55; }
.bll-card-promoter { display: flex; align-items: flex-start; gap: 9px; padding-top: 12px; border-top: 1px solid var(--line); }
.bll-card-promoter > span { width: 27px; height: 27px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: var(--blue); background: #e9f3f8; font-size: 12px; }
.bll-card-promoter p { margin: 0; }
.bll-card-promoter small, .bll-card-promoter strong, .bll-card-promoter em { display: block; }
.bll-card-promoter small { margin-bottom: 2px; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .55px; }
.bll-card-promoter strong { color: var(--navy); font-size: 9px; line-height: 1.4; }
.bll-card-promoter em { margin-top: 2px; color: var(--muted); font-size: 8px; font-style: normal; }
.bll-card-data { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border-top: 1px solid var(--line); }
.bll-card-data > div { min-width: 0; padding: 12px 15px; background: #f8fafb; }
.bll-card-data small, .bll-card-data strong { display: block; }
.bll-card-data small { margin-bottom: 4px; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .5px; }
.bll-card-data strong { overflow: hidden; color: var(--navy); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.bll-card-foot { min-height: 47px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 15px; }
.bll-card-foot > small { max-width: 58%; color: var(--muted); font-size: 7px; line-height: 1.35; }
.bll-card-foot > a { color: var(--blue); font-size: 8px; font-weight: 900; text-align: right; text-decoration: none; }
.bll-card-foot > a:hover { text-decoration: underline; }
.bll-status-tabs { display: flex; gap: 7px; overflow-x: auto; padding: 12px 16px; border-top: 1px solid var(--line); background: #f8fafb; scrollbar-width: thin; }
.bll-status-tabs button { min-width: max-content; height: 34px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: #526273; font-size: 8px; font-weight: 800; }
.bll-status-tabs button span { color: var(--blue); font-size: 11px; }
.bll-status-tabs button b { min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 9px; background: #e8eef2; color: var(--navy); font-size: 7px; }
.bll-status-tabs button:hover, .bll-status-tabs button.active { border-color: var(--navy); background: var(--navy); color: #fff; }
.bll-status-tabs button.active span, .bll-status-tabs button.active b { color: #fff; }
.bll-status-tabs button.active b { background: rgba(255,255,255,.16); }

@media (max-width: 850px) {
  .process-access-grid { grid-template-columns: 1fr; }
  .bll-hero { grid-template-columns: auto 1fr; align-items: start; }
  .bll-update { grid-column: 1 / -1; min-width: 0; padding: 11px 0 0; border-top: 1px solid #c9dee7; border-left: 0; text-align: left; }
  .bll-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bll-toolbar { grid-template-columns: 1fr 1fr; }
  .bll-toolbar .search-box { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .process-access-card { grid-template-columns: auto 1fr; min-height: 0; padding: 20px; }
  .process-access-stats { grid-column: 1 / -1; grid-template-columns: auto auto; }
  .process-access-stats i { grid-column: 1 / -1; justify-self: start; }
  .process-access-arrow { display: none; }
  .bll-toolbar { grid-template-columns: 1fr; }
  .bll-toolbar .search-box { grid-column: auto; }
  .bll-card-grid { grid-template-columns: 1fr; padding: 11px; }
  .bll-card-object { min-height: 0; }
  .bll-heading-actions { width: 100%; justify-content: flex-start; }
}

.main-content { margin-left: var(--sidebar); min-height: 100vh; }
.topbar { height: 69px; padding: 0 34px; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); display: flex; align-items: center; position: sticky; top: 0; z-index: 40; }
.topbar-crest { width: 27px; height: 34px; object-fit: contain; margin: 0 11px 0 2px; }
.breadcrumb { display: flex; align-items: center; gap: 10px; color: #8a97a5; font-size: 12px; }
.breadcrumb strong { color: var(--ink); }
.breadcrumb b { color: #c8d0d8; }
.top-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.search-trigger { width: 235px; height: 38px; border: 1px solid var(--line); color: #7d8a98; background: #f7f9fa; border-radius: 10px; display: flex; align-items: center; gap: 8px; padding: 0 10px; text-align: left; }
.search-trigger span:nth-child(2) { flex: 1; }
kbd { border: 1px solid #d8dee4; border-radius: 5px; padding: 2px 6px; background: #fff; font-size: 9px; color: #8995a2; box-shadow: 0 1px 1px rgba(0,0,0,.05); }
.icon-btn { width: 38px; height: 38px; display: grid; place-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; color: var(--navy); }
.notification-btn { position: relative; font-size: 19px; }
.notification-btn b { position: absolute; top: -5px; right: -5px; background: var(--red); color: white; border: 2px solid #fff; border-radius: 50%; width: 19px; height: 19px; font-size: 9px; display: grid; place-items: center; }
.today-chip { border-left: 1px solid var(--line); padding-left: 14px; margin-left: 3px; }
.today-chip small, .today-chip strong { display: block; }
.today-chip small { font-size: 8px; letter-spacing: 1.4px; color: #9aa5b0; font-weight: 800; }
.today-chip strong { font-size: 12px; margin-top: 3px; }
.menu-btn { display: none; }
.demo-banner { margin: 16px 34px -2px; padding: 9px 13px; background: #fff8e9; color: #80611f; border: 1px solid #eddbac; border-radius: 9px; font-size: 11px; }
.demo-banner span { font-weight: 800; letter-spacing: 1px; margin-right: 7px; }

.page { display: none; padding: 30px 34px 44px; max-width: 1600px; margin: auto; animation: pageIn .24s ease; }
.page.active { display: block; }
@keyframes pageIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.page-heading { margin-bottom: 25px; }
.page-heading h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: clamp(29px, 3vw, 39px); letter-spacing: -.8px; margin: 3px 0 7px; color: var(--navy); }
.page-heading > p:last-child, .page-heading > div > p:last-child { color: var(--muted); margin: 0; }
.heading-row { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.eyebrow { margin: 0; color: var(--blue); letter-spacing: 1.7px; font-size: 9px; font-weight: 900; }
.button-row { display: flex; gap: 9px; }
.btn { min-height: 40px; border: 0; border-radius: 9px; padding: 0 15px; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; gap: 7px; transition: .18s; white-space: nowrap; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--navy); box-shadow: 0 8px 16px rgba(16,45,79,.16); }
.btn-primary:hover { background: var(--navy-2); }
.btn-outline { color: var(--navy); border: 1px solid var(--line); background: #fff; }
.btn-soft { color: var(--navy); background: var(--sky); }
.btn-danger { color: var(--red); background: var(--red-soft); }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.full { width: 100%; }
.text-btn { border: 0; background: transparent; color: var(--blue); font-size: 11px; font-weight: 800; padding: 5px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 15px; }
.metric-grid.compact { grid-template-columns: repeat(4, minmax(180px, 1fr)); }
.metric-card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; min-height: 126px; padding: 18px; position: relative; overflow: hidden; box-shadow: 0 3px 12px rgba(17,46,76,.03); }
.metric-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--metric, var(--blue)); }
.metric-top { display: flex; justify-content: space-between; color: var(--muted); align-items: center; font-size: 10px; letter-spacing: .7px; font-weight: 800; }
.metric-icon { width: 31px; height: 31px; display: grid; place-items: center; background: var(--metric-soft, var(--sky)); color: var(--metric, var(--blue)); border-radius: 9px; font-size: 17px; }
.metric-card strong { display: block; font-family: Georgia, serif; font-size: 29px; font-weight: 500; margin: 11px 0 4px; color: var(--navy); }
.metric-card p { margin: 0; color: var(--muted); font-size: 10px; }
.metric-card.alert { --metric: var(--red); --metric-soft: var(--red-soft); }
.metric-card.success { --metric: var(--green); --metric-soft: var(--green-soft); }
.metric-card.warning { --metric: var(--amber); --metric-soft: var(--amber-soft); }
.metric-card.metric-filter { width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.metric-card.metric-filter:hover { transform: translateY(-2px); border-color: #9fb9ca; box-shadow: 0 9px 21px rgba(17,46,76,.09); }
.metric-card.metric-filter.selected { border-color: var(--metric, var(--blue)); box-shadow: 0 0 0 2px var(--metric-soft, var(--sky)), 0 8px 18px rgba(17,46,76,.08); }
.metric-card.metric-filter.selected::after { content: "FILTRO ATIVO"; position: absolute; right: 17px; bottom: 11px; color: var(--metric, var(--blue)); font-size: 6px; font-weight: 900; letter-spacing: .6px; }
.dashboard-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 15px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 4px 15px rgba(19,49,78,.035); padding: 20px; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.panel-head h2 { margin: 4px 0 0; color: var(--navy); font-family: Georgia, serif; font-weight: 500; font-size: 20px; }
.alert-stack { display: flex; flex-direction: column; }
.contract-alert-row { display: grid; grid-template-columns: 42px 1.25fr .85fr .75fr auto; gap: 11px; align-items: center; border-top: 1px solid #eef1f4; padding: 13px 2px; }
.contract-alert-row:first-child { border-top: 0; }
.alert-days { width: 38px; height: 38px; border-radius: 10px; background: var(--amber-soft); color: var(--amber); display: grid; place-items: center; font-size: 10px; font-weight: 900; line-height: 1; text-align: center; }
.alert-days.expired { background: var(--red-soft); color: var(--red); }
.alert-days b { display: block; font-size: 13px; }
.contract-alert-row strong, .contract-alert-row small { display: block; }
.contract-alert-row strong { font-size: 12px; }
.contract-alert-row small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.trend { font-size: 10px; font-weight: 800; border-radius: 12px; padding: 5px 8px; }
.positive { color: var(--green); background: var(--green-soft); }
.progress-hero { display: flex; align-items: center; justify-content: center; gap: 28px; min-height: 173px; }
.donut { --progress: 0; width: 128px; height: 128px; border-radius: 50%; background: conic-gradient(var(--teal) calc(var(--progress) * 1%), #e8edf1 0); display: grid; place-items: center; position: relative; flex: none; }
.donut::before { content: ""; width: 92px; height: 92px; background: #fff; border-radius: 50%; position: absolute; }
.donut > div { z-index: 1; text-align: center; }
.donut strong, .donut small { display: block; }
.donut strong { font-family: Georgia, serif; font-size: 26px; color: var(--navy); font-weight: 500; }
.donut small { font-size: 9px; color: var(--muted); }
.progress-legend { min-width: 110px; display: flex; flex-direction: column; gap: 12px; }
.legend-row { display: grid; grid-template-columns: 8px 1fr auto; gap: 7px; align-items: center; font-size: 10px; color: var(--muted); }
.legend-row i { width: 8px; height: 8px; border-radius: 50%; }
.legend-row b { color: var(--ink); }
.priority-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.priority-item { border: 1px solid var(--line); border-radius: 11px; padding: 13px; min-height: 115px; display: flex; flex-direction: column; }
.priority-item > span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .7px; }
.priority-item strong { margin: 7px 0; font-size: 12px; line-height: 1.4; }
.priority-item small { color: var(--muted); margin-top: auto; }
.mini-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.mini-stat { background: #f7f9fa; border-radius: 10px; padding: 14px; }
.mini-stat strong { display: block; color: var(--navy); font-family: Georgia, serif; font-size: 21px; font-weight: 500; }
.mini-stat span { font-size: 9px; color: var(--muted); }

.table-panel { padding: 0; overflow: visible; }
.table-toolbar { display: flex; align-items: center; gap: 9px; padding: 15px; border-bottom: 1px solid var(--line); }
.search-box { height: 38px; min-width: 270px; flex: 1; border: 1px solid var(--line); background: #f8fafb; border-radius: 9px; display: flex; align-items: center; gap: 7px; padding: 0 11px; color: #8e9aa7; }
.search-box input { width: 100%; border: 0; background: transparent; outline: 0; font-size: 12px; }
select, input[type="date"] { height: 38px; border: 1px solid var(--line); background: #fff; border-radius: 9px; padding: 0 10px; font-size: 11px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { background: #f8fafb; color: #7d8b99; font-size: 9px; letter-spacing: .8px; text-transform: uppercase; padding: 11px 14px; text-align: left; white-space: nowrap; }
.sort-button { border: 0; background: transparent; color: inherit; display: inline-flex; align-items: center; gap: 6px; padding: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.sort-button:hover, .sort-button.active { color: var(--navy); }
.sort-button span { color: #a8b2bb; font-size: 12px; line-height: 1; }
.sort-button.active span { color: var(--blue); }
td { border-top: 1px solid #edf1f4; padding: 13px 14px; font-size: 11px; vertical-align: middle; }
td strong, td small { display: block; }
td strong { font-size: 11px; }
td small { margin-top: 3px; color: var(--muted); }
.object-cell { min-width: 210px; max-width: 330px; line-height: 1.35; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; border-radius: 12px; padding: 5px 8px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.status-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-active { color: var(--green); background: var(--green-soft); }
.status-alert { color: var(--amber); background: var(--amber-soft); }
.status-alert-note { color: var(--amber); font-weight: 700; }
.status-expired { color: var(--red); background: var(--red-soft); }
.status-undated { color: #6e7883; background: #edf0f2; }
.row-actions { display: flex; gap: 4px; }
.row-actions button { width: 28px; height: 28px; border: 0; border-radius: 7px; background: #f2f5f7; color: var(--navy); }
.row-actions button:disabled { opacity: .38; cursor: not-allowed; }
.row-actions .file-download-ready { color: var(--green); background: var(--green-soft); }
.selection-cell { width: 66px; min-width: 66px; padding-left: 12px; padding-right: 4px; text-align: center; }
.selection-cell input { width: 16px; height: 16px; margin: 0; accent-color: var(--blue); cursor: pointer; }
.select-all-label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.select-all-label span { font-size: 8px; letter-spacing: .4px; }
tbody tr.row-selected td { background: #f0f7fb; }
.bulk-delete-btn { margin-left: auto; white-space: nowrap; }
.table-footer { min-height: 47px; display: flex; align-items: center; justify-content: space-between; padding: 0 15px; color: var(--muted); border-top: 1px solid var(--line); font-size: 10px; }
.empty-state { padding: 50px; text-align: center; color: var(--muted); }
.empty-state span { font-size: 35px; color: #b2bec8; }
.empty-state h3 { color: var(--navy); margin-bottom: 4px; }
.empty-state p { margin: 0; }
.export-menu { position: relative; }
.export-options { position: absolute; right: 0; top: 44px; min-width: 145px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); padding: 5px; display: none; z-index: 15; }
.export-options.open { display: block; }
.export-options button { display: block; border: 0; background: transparent; width: 100%; padding: 9px; text-align: left; border-radius: 6px; font-size: 11px; }
.export-options button:hover { background: var(--sky); }

.assistant-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 15px; height: calc(100vh - 220px); min-height: 570px; }
.chat-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; min-width: 0; box-shadow: var(--shadow); }
.chat-head { height: 70px; display: flex; align-items: center; gap: 11px; padding: 0 18px; border-bottom: 1px solid var(--line); }
.assistant-orb { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: radial-gradient(circle at 30% 20%, #4e87ac, var(--navy)); box-shadow: 0 7px 15px rgba(18,49,81,.22); font-size: 19px; }
.chat-head strong, .chat-head span { display: block; }
.chat-head strong { font-size: 12px; }
.chat-head span { color: var(--muted); font-size: 9px; margin-top: 3px; }
.chat-head span i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #4caf81; margin-right: 4px; }
.voice-toggle { margin-left: auto; color: var(--muted); font-size: 9px; display: flex; align-items: center; gap: 6px; }
.voice-toggle input { display: none; }
.voice-toggle span { width: 28px; height: 16px; border-radius: 10px; background: #d7dfe5; position: relative; }
.voice-toggle span::after { content: ""; position: absolute; width: 12px; height: 12px; border-radius: 50%; background: #fff; top: 2px; left: 2px; transition: .2s; }
.voice-toggle input:checked + span { background: var(--teal); }
.voice-toggle input:checked + span::after { transform: translateX(12px); }
.chat-messages { padding: 22px; overflow-y: auto; flex: 1; display: flex; flex-direction: column; gap: 14px; }
.message { display: flex; gap: 9px; max-width: 82%; }
.message.user { align-self: flex-end; flex-direction: row-reverse; }
.message-content { min-width: 0; }
.message-avatar { width: 27px; height: 27px; flex: none; border-radius: 8px; display: grid; place-items: center; background: var(--navy); color: #fff; font-size: 9px; font-weight: 800; }
.message.assistant .message-avatar { background: var(--sky); color: var(--navy); }
.message-bubble { padding: 11px 13px; border-radius: 4px 13px 13px 13px; background: #f1f5f7; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.message.user .message-bubble { background: var(--navy); color: #fff; border-radius: 13px 4px 13px 13px; }
.message.loading .message-bubble { color: var(--muted); }
.inline-citation { color: var(--blue); font-weight: 800; text-decoration: underline; text-decoration-color: rgba(42, 105, 151, .35); text-underline-offset: 2px; }
.web-result-meta { margin-top: 7px; }
.web-used-badge { display: inline-flex; align-items: center; gap: 4px; color: #28745f; background: #e9f6f1; border: 1px solid #cce8dc; border-radius: 12px; padding: 4px 7px; font-size: 8px; font-weight: 900; letter-spacing: .2px; }
.message-sources { margin-top: 7px; display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.message-sources strong { width: 100%; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .7px; }
.message-sources a { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; border: 1px solid #d9e3eb; background: #fff; color: var(--blue); border-radius: 7px; padding: 5px 7px; font-size: 8px; font-weight: 700; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-sources a:hover { background: var(--sky); border-color: #bfd2df; }
.typing { display: inline-flex; gap: 3px; }
.typing i { width: 5px; height: 5px; background: #8fa0af; border-radius: 50%; animation: typing 1s infinite alternate; }
.typing i:nth-child(2) { animation-delay: .2s; }.typing i:nth-child(3) { animation-delay: .4s; }
@keyframes typing { to { opacity: .2; transform: translateY(-3px); } }
.prompt-chips { display: flex; gap: 6px; padding: 0 17px 10px; overflow-x: auto; }
.prompt-chips button { border: 1px solid #d9e3eb; background: #f8fbfd; color: var(--blue); border-radius: 15px; padding: 7px 10px; font-size: 9px; white-space: nowrap; }
.chat-compose { margin: 0 17px; border: 1px solid #ccd7df; border-radius: 12px; padding: 7px; display: flex; align-items: end; gap: 7px; box-shadow: 0 3px 12px rgba(20,48,74,.05); }
.chat-compose textarea { flex: 1; resize: none; min-height: 38px; max-height: 120px; border: 0; outline: 0; padding: 9px; }
.mic-btn { width: 36px; height: 36px; border: 0; background: #eef3f6; color: var(--red); border-radius: 9px; font-size: 10px; }
.mic-btn.listening { background: var(--red-soft); animation: pulse 1s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 6px rgba(184,69,63,.12); } }
.send-btn { height: 36px; padding: 0 13px; border: 0; border-radius: 9px; background: var(--navy); color: #fff; font-size: 10px; font-weight: 800; }
.ai-disclaimer { display: block; text-align: center; color: #9aa5af; padding: 7px 10px 10px; font-size: 8px; }
.insight-rail { display: flex; flex-direction: column; gap: 10px; }
.insight-card { background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 15px; display: flex; gap: 11px; }
.insight-card.critical { border-left: 3px solid var(--amber); }
.insight-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: var(--sky); color: var(--blue); font-weight: 900; }
.critical .insight-icon { background: var(--amber-soft); color: var(--amber); }
.insight-card small, .insight-card strong, .insight-card p { display: block; }
.insight-card small { color: var(--muted); font-size: 8px; letter-spacing: .8px; font-weight: 900; }
.insight-card strong { margin-top: 5px; font-size: 13px; }
.insight-card p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.privacy-note { margin-top: auto; background: var(--navy); color: #fff; border-radius: 13px; padding: 14px; display: flex; gap: 10px; }
.privacy-note strong { font-size: 11px; }
.privacy-note p { margin: 4px 0 0; color: #a9bed0; font-size: 9px; line-height: 1.4; }

.kanban-toolbar { display: grid; grid-template-columns: minmax(270px, 1fr) repeat(4, minmax(150px, .4fr)) auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.kanban-toolbar .search-box { width: auto; max-width: none; }
.kanban-toolbar select { width: 100%; height: 39px; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 0 9px; color: var(--ink); font-size: 9px; }
.kanban-clear-filters { height: 39px; white-space: nowrap; }
.kanban-helper { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 13px; color: var(--muted); font-size: 8px; }
.kanban-helper span:first-child { color: var(--navy); font-weight: 900; }
.kanban-board { display: grid; grid-template-columns: repeat(var(--stage-count, 4), minmax(250px, 1fr)); gap: 11px; align-items: start; overflow-x: auto; padding-bottom: 12px; }
.kanban-column { background: #e9edf1; border: 1px solid #dbe1e6; border-radius: 13px; min-height: 470px; padding: 9px; }
.kanban-column.collapsed { min-height: 58px; width: 62px; min-width: 62px; }
.kanban-column.collapsed header { height: auto; min-height: 40px; flex-direction: column; gap: 8px; padding: 3px; }
.kanban-column.collapsed header > div:first-child { flex-direction: column; writing-mode: vertical-rl; }
.kanban-column.collapsed .kanban-list, .kanban-column.collapsed .column-actions button:not([data-stage-collapse]) { display: none; }
.kanban-column.over { outline: 2px dashed var(--blue); outline-offset: 2px; }
.kanban-column header { height: 40px; padding: 0 5px 8px; display: flex; align-items: center; justify-content: space-between; }
.kanban-column header > div { display: flex; align-items: center; gap: 7px; }
.kanban-column header strong { font-size: 11px; }
.kanban-column header span { background: #d5dce2; color: var(--muted); min-width: 20px; height: 20px; border-radius: 10px; display: grid; place-items: center; font-size: 9px; }
.kanban-column header button { border: 0; background: transparent; font-size: 17px; color: #71808d; }
.kanban-column header button:hover { color: var(--navy); }
.kanban-column header button:disabled { opacity: .35; cursor: not-allowed; }
.kanban-column header .column-actions { gap: 1px; }
.kanban-column header .column-actions button { width: 23px; height: 25px; padding: 0; border-radius: 6px; font-size: 13px; }
.kanban-column header .column-actions button:hover { background: rgba(255,255,255,.75); }
.dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }.dot.slate { background: #7a8792; }.dot.blue { background: #347cb5; }.dot.amber { background: #d28d21; }.dot.green { background: #2d966e; }
.kanban-list { min-height: 410px; display: flex; flex-direction: column; gap: 8px; }
.task-card { position: relative; overflow: hidden; background: #fff; border: 1px solid #dde3e8; border-radius: 10px; padding: 15px 12px 12px; cursor: grab; box-shadow: 0 2px 6px rgba(20,44,67,.04); transition: .15s; }
.task-card:hover { border-color: #bdcbd7; transform: translateY(-1px); box-shadow: 0 6px 13px rgba(20,44,67,.07); }
.task-card.dragging { opacity: .45; }
.task-card.overdue { border-color: #e8b7b2; }
.task-card.due-soon { border-color: #e5c58d; }
.task-cover { position: absolute; inset: 0 0 auto; height: 4px; }
.priority-cover-alta { background: var(--red); }.priority-cover-media { background: var(--amber); }.priority-cover-baixa { background: var(--green); }
.task-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.priority-tag { padding: 4px 6px; border-radius: 6px; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .5px; }
.priority-alta { background: var(--red-soft); color: var(--red); }.priority-media { background: var(--amber-soft); color: var(--amber); }.priority-baixa { background: var(--green-soft); color: var(--green); }
.task-actions { display: flex; align-items: center; gap: 1px; }
.task-actions button { width: 23px; height: 23px; border: 0; background: transparent; color: #8995a0; border-radius: 6px; padding: 0; }
.task-actions button:hover { background: #eef3f6; color: var(--navy); }
.task-card h3 { margin: 10px 0 5px; font-size: 12px; line-height: 1.35; }
.task-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.task-tags { display: flex; gap: 4px; flex-wrap: wrap; margin: 10px 0; }
.task-tags span { padding: 3px 6px; background: var(--sky); color: var(--blue); border-radius: 5px; font-size: 8px; }
.task-checklist { margin: 9px 0; padding: 8px; border-radius: 8px; background: #f7f9fa; }
.task-checklist-progress { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 6px; color: var(--muted); font-size: 7px; font-weight: 800; }
.task-checklist-progress > div { height: 4px; overflow: hidden; border-radius: 2px; background: #dfe6eb; }
.task-checklist-progress > div i { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.task-checklist-items { display: grid; gap: 4px; margin-top: 7px; }
.task-checklist-items label { display: grid; grid-template-columns: 14px 1fr; align-items: start; gap: 4px; color: #536272; font-size: 8px; cursor: pointer; }
.task-checklist-items input { width: 12px; height: 12px; margin: 0; accent-color: var(--green); }
.task-checklist-items input:checked + span { color: #87929d; text-decoration: line-through; }
.task-checklist-items small { color: var(--muted); font-size: 7px; }
.task-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 9px; border-top: 1px solid #edf1f3; color: var(--muted); font-size: 8px; }
.owner-mini { display: flex; align-items: center; gap: 5px; }.owner-mini i { width: 20px; height: 20px; border-radius: 50%; background: #dce8ef; color: var(--navy); display: grid; place-items: center; font-style: normal; font-size: 7px; font-weight: 800; }
.task-due { text-align: right; }.task-due.overdue { color: var(--red); font-weight: 900; }.task-due.due-soon { color: var(--amber); font-weight: 900; }.task-due.completed { color: var(--green); font-weight: 900; }

.process-flow-panel { margin-bottom: 14px; overflow: hidden; }
.process-flow-note { color: var(--blue); background: var(--sky); border-radius: 15px; padding: 6px 10px; font-size: 9px; font-weight: 800; }
.process-flow-reference { display: grid; grid-template-columns: repeat(7, minmax(116px, 1fr)); gap: 15px; overflow-x: auto; padding: 5px 2px 7px; }
.process-flow-step { position: relative; display: flex; align-items: center; gap: 8px; min-width: 116px; }
.process-flow-step:not(:last-child)::after { content: "›"; position: absolute; right: -11px; color: #aab8c3; font-size: 20px; }
.process-flow-step > span { width: 27px; height: 27px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: #fff; font-size: 9px; font-weight: 900; }
.process-flow-step strong, .process-flow-step small { display: block; }
.process-flow-step strong { color: var(--navy); font-size: 9px; line-height: 1.25; }
.process-flow-step small { color: var(--muted); font-size: 7px; line-height: 1.25; margin-top: 2px; }
.process-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) 245px 255px; gap: 9px; align-items: center; margin-bottom: 12px; }
.process-toolbar .search-box { max-width: none; }
.process-toolbar select { height: 39px; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 0 10px; color: var(--ink); font-size: 10px; }
.priority-process-list { display: flex; flex-direction: column; gap: 11px; }
.priority-process-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 17px 18px; box-shadow: 0 3px 12px rgba(17,46,76,.03); }
.priority-process-head { display: flex; justify-content: space-between; gap: 15px; align-items: flex-start; }
.process-number { display: inline-block; color: var(--blue); background: var(--sky); border-radius: 6px; padding: 4px 7px; font-size: 8px; font-weight: 900; letter-spacing: .45px; }
.priority-process-head h2 { margin: 7px 0 0; color: var(--navy); font: 500 19px Georgia, serif; }
.process-card-actions { display: flex; gap: 4px; }
.process-card-actions button { width: 30px; height: 30px; border: 0; border-radius: 8px; background: #f0f3f5; color: #6f7e8b; }
.process-card-actions button:hover { background: var(--sky); color: var(--navy); }
.priority-process-meta { display: grid; grid-template-columns: 1.3fr 1fr 1fr .65fr; gap: 9px; margin: 15px 0; }
.priority-process-meta > div { min-width: 0; background: #f7f9fa; border-radius: 9px; padding: 10px; }
.priority-process-meta small, .priority-process-meta strong { display: block; }
.priority-process-meta small { color: var(--muted); font-size: 7px; letter-spacing: .45px; }
.priority-process-meta strong { color: var(--ink); margin-top: 5px; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.process-progress-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 3px; }
.process-progress-head span { display: block; color: var(--muted); font-size: 8px; }
.process-progress-head strong { display: block; color: var(--navy); margin-top: 3px; font-size: 11px; }
.process-progress-head strong small { color: var(--muted); font-weight: 500; }
.process-progress-head b { color: var(--blue); font: 500 20px Georgia, serif; }
.process-progress-track { height: 7px; border-radius: 8px; background: #e8edf1; margin: 8px 0 10px; overflow: hidden; }
.process-progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--teal)); }
.process-stage-dots { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.process-stage-dots span { height: 23px; display: grid; place-items: center; border: 1px solid #dce3e8; border-radius: 6px; color: #8b98a3; background: #fafbfc; font-size: 8px; font-weight: 800; }
.process-stage-dots span.done { background: var(--green-soft); border-color: #c6e5d9; color: var(--green); }
.process-stage-dots span.current { background: var(--navy); border-color: var(--navy); color: #fff; box-shadow: 0 4px 10px rgba(16,45,79,.16); }
.priority-process-footer { display: grid; grid-template-columns: minmax(260px, 390px) 1fr; gap: 16px; align-items: end; margin-top: 14px; padding-top: 13px; border-top: 1px solid #edf1f3; }
.priority-process-footer label { color: var(--muted); font-size: 8px; font-weight: 800; }
.priority-process-footer select { display: block; width: 100%; height: 37px; margin-top: 5px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 0 9px; font-size: 10px; }
.priority-process-footer p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.priority-process-footer p strong { color: var(--ink); }
.process-empty { background: #fff; border: 1px dashed #cbd5dd; border-radius: 14px; }

.status-warning { color: var(--amber); background: var(--amber-soft); }
.executive-official-source { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -2px 0 14px; padding: 11px 14px; border: 1px solid #cce5da; border-radius: 11px; background: linear-gradient(90deg, #eef9f5, #f8fcfb); }
.executive-official-source > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.executive-official-source > div > span { width: 27px; height: 27px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-size: 10px; font-weight: 900; }
.executive-official-source p, .executive-official-source small { margin: 0; }
.executive-official-source strong, .executive-official-source small { display: block; }
.executive-official-source strong { color: var(--navy); font-size: 10px; }
.executive-official-source small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.executive-official-source a { flex: none; color: var(--green); font-size: 9px; font-weight: 900; }
.executive-library-panel { padding: 0; overflow: hidden; }
.executive-library-head { padding: 17px 18px 12px; margin: 0; }
.executive-toolbar { display: grid; grid-template-columns: minmax(280px, 1fr) 250px 190px; gap: 9px; padding: 0 18px 14px; border-bottom: 1px solid var(--line); }
.executive-toolbar .search-box { max-width: none; }
.executive-toolbar select { height: 39px; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 0 10px; color: var(--ink); font-size: 10px; }
.executive-agenda-library { padding: 14px 18px 18px; display: flex; flex-direction: column; gap: 12px; }
.executive-agenda-card { border: 1px solid var(--line); border-radius: 13px; background: #fff; overflow: hidden; box-shadow: 0 3px 12px rgba(17,46,76,.035); }
.executive-agenda-card-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 15px 16px 12px; }
.executive-agenda-card-head h2 { margin: 7px 0 3px; color: var(--navy); font: 500 19px Georgia, serif; }
.executive-agenda-card-head p { margin: 0; color: var(--muted); font-size: 9px; }
.executive-agenda-card-actions { display: flex; align-items: center; gap: 5px; }
.executive-agenda-card-actions > button { width: 30px; height: 30px; border: 0; border-radius: 8px; background: #f0f3f5; color: #6f7e8b; }
.executive-agenda-card-actions > button:hover { color: var(--navy); background: var(--sky); }
.executive-agenda-card-actions > .executive-agenda-pdf { width: auto; padding: 0 10px; color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .2px; white-space: nowrap; }
.executive-agenda-summary { display: grid; grid-template-columns: 1fr 1.4fr .45fr; gap: 9px; padding: 0 16px 13px; }
.executive-agenda-summary > div { min-width: 0; background: #f7f9fa; border-radius: 8px; padding: 9px 10px; }
.executive-agenda-summary small, .executive-agenda-summary strong { display: block; }
.executive-agenda-summary small { color: var(--muted); font-size: 7px; letter-spacing: .45px; }
.executive-agenda-summary strong { margin-top: 4px; color: var(--ink); font-size: 9px; line-height: 1.35; overflow-wrap: anywhere; }
.executive-agenda-table-wrap, .executive-items-table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.executive-agenda-table, .executive-items-table { width: 100%; border-collapse: collapse; font-size: 9px; }
.executive-agenda-table { min-width: 980px; }
.executive-agenda-table th, .executive-agenda-table td { padding: 10px; text-align: left; vertical-align: top; border-bottom: 1px solid #edf1f3; line-height: 1.42; }
.executive-agenda-table th { background: #f7f9fa; color: #71808c; font-size: 7px; letter-spacing: .45px; text-transform: uppercase; }
.executive-agenda-table td:first-child { width: 36px; text-align: center; color: var(--blue); font-weight: 900; }
.executive-agenda-table td:nth-child(2), .executive-agenda-table td:nth-child(3) { min-width: 190px; }
.executive-agenda-table td:nth-child(4) { min-width: 120px; }
.executive-agenda-table tr:last-child td { border-bottom: 0; }
.deadline-overdue { color: var(--red); font-weight: 800; }
.executive-empty { padding: 32px 18px; }
.executive-agenda-header-form { margin-bottom: 18px; }
.form-grid .official-holder { display: block; min-height: 15px; margin-top: 4px; color: var(--blue); font-size: 8px; font-weight: 600; line-height: 1.35; }
.executive-items-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 3px 0 9px; }
.executive-items-heading h3 { margin: 3px 0 0; color: var(--navy); font: 500 17px Georgia, serif; }
.executive-items-table-wrap { border: 1px solid var(--line); border-radius: 10px; }
.executive-items-table { min-width: 1180px; }
.executive-items-table th { padding: 8px; background: #f3f6f8; color: #657581; font-size: 7px; text-align: left; letter-spacing: .4px; text-transform: uppercase; }
.executive-items-table td { padding: 7px; vertical-align: top; border-top: 1px solid var(--line); }
.executive-items-table th:first-child, .executive-items-table td:first-child { width: 40px; text-align: center; }
.executive-items-table th:nth-child(2), .executive-items-table th:nth-child(3) { min-width: 230px; }
.executive-items-table th:nth-child(4) { min-width: 140px; }
.executive-items-table th:nth-child(5) { min-width: 125px; }
.executive-items-table th:nth-child(6) { min-width: 135px; }
.executive-items-table th:nth-child(7) { min-width: 180px; }
.executive-items-table input, .executive-items-table select, .executive-items-table textarea { width: 100%; min-height: 37px; border: 1px solid var(--line); border-radius: 7px; background: #fbfcfd; padding: 7px; color: var(--ink); font: inherit; resize: vertical; }
.executive-items-table select, .executive-items-table input[type="date"] { height: 37px; }
.executive-row-number { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--sky); color: var(--blue); font-weight: 900; }
.remove-executive-row { width: 29px; height: 29px; border: 0; border-radius: 7px; background: var(--red-soft); color: var(--red); font-size: 16px; }
.remove-executive-row:disabled { opacity: .35; cursor: not-allowed; }

.secure-pill { background: var(--green-soft); color: var(--green); border-radius: 16px; padding: 8px 11px; font-size: 9px; font-weight: 800; }
.meeting-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 14px; align-items: stretch; }
.meeting-form-panel, .meeting-result-panel { min-height: 520px; }
.step-title { display: flex; gap: 10px; align-items: center; margin: 3px 0 10px; }
.step-title > span { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: #fff; font-size: 10px; font-weight: 800; }
.step-title h2 { margin: 0; font-size: 14px; }.step-title p { margin: 2px 0 0; color: var(--muted); font-size: 9px; }
.large-input, .manual-transcript textarea { width: 100%; border: 1px solid var(--line); background: #f9fafb; border-radius: 10px; padding: 12px; resize: vertical; margin-bottom: 19px; font-size: 11px; line-height: 1.5; }
.upload-zone { border: 1.5px dashed #b8c8d5; border-radius: 12px; min-height: 150px; background: #f8fbfd; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; text-align: center; color: var(--navy); transition: .18s; cursor: pointer; padding: 18px; }
.upload-zone:hover, .upload-zone.dragover { background: var(--sky); border-color: var(--blue); }
.upload-zone input { display: none; }
.upload-zone strong { font-size: 12px; }.upload-zone small { color: var(--muted); font-size: 9px; }
.upload-symbol { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 11px; background: var(--sky); color: var(--blue); font-size: 20px; }
.audio-zone { min-height: 130px; }
.recorder-panel { border: 1px solid #d9e2e8; border-radius: 13px; background: linear-gradient(145deg, #fbfcfd, #f3f7f9); padding: 14px; }
.recorder-status { display: grid; grid-template-columns: 11px 1fr auto; gap: 9px; align-items: center; }
.recording-indicator { width: 9px; height: 9px; border-radius: 50%; background: #a9b3bc; box-shadow: 0 0 0 4px rgba(169,179,188,.12); }
.recorder-status strong, .recorder-status small { display: block; }
.recorder-status strong { color: var(--navy); font-size: 11px; }
.recorder-status small { color: var(--muted); margin-top: 2px; font-size: 8px; }
.recorder-status time { color: var(--navy); font: 500 21px Georgia, serif; letter-spacing: 1px; }
.recorder-panel.recording .recording-indicator { background: var(--red); box-shadow: 0 0 0 4px rgba(187,57,57,.12); animation: recordingPulse 1.15s infinite; }
.recorder-panel.paused .recording-indicator { background: var(--amber); box-shadow: 0 0 0 4px rgba(194,138,50,.12); }
.recorder-panel.ready .recording-indicator { background: var(--green); box-shadow: 0 0 0 4px rgba(35,132,95,.12); }
@keyframes recordingPulse { 50% { transform: scale(.7); opacity: .55; } }
.recording-wave { height: 39px; display: flex; align-items: center; justify-content: center; gap: 4px; margin: 10px 0; padding: 0 9px; border-radius: 8px; background: #fff; border: 1px solid #e5eaee; overflow: hidden; }
.recording-wave i { width: 3px; height: 8px; border-radius: 3px; background: #b6c2cb; }
.recorder-panel.recording .recording-wave i { background: var(--red); animation: soundBar .8s ease-in-out infinite alternate; }
.recorder-panel.recording .recording-wave i:nth-child(2n) { animation-delay: -.25s; }.recorder-panel.recording .recording-wave i:nth-child(3n) { animation-delay: -.5s; }.recorder-panel.recording .recording-wave i:nth-child(4n) { animation-delay: -.65s; }
@keyframes soundBar { from { height: 7px; opacity: .55; } to { height: 29px; opacity: 1; } }
.recorder-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.recorder-actions .btn { min-height: 35px; font-size: 10px; padding: 0 11px; }
.recorder-actions button[hidden], #recordingPreview[hidden] { display: none; }
.btn-record { color: #fff; background: var(--red); box-shadow: 0 7px 14px rgba(187,57,57,.15); }
.btn-record:hover { background: #9e3030; }
.btn-quiet { color: var(--muted); background: transparent; }
.btn-quiet:hover { color: var(--red); background: var(--red-soft); }
#recordingPreview { width: 100%; height: 38px; margin-top: 11px; }
.upload-divider { display: flex; align-items: center; gap: 9px; margin: 11px 0; color: #96a2ac; font-size: 8px; text-transform: uppercase; letter-spacing: .7px; }
.upload-divider::before, .upload-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.manual-transcript { margin: 13px 0; }
.manual-transcript summary { color: var(--blue); font-size: 10px; cursor: pointer; }
.manual-transcript textarea { margin: 9px 0 0; }
.form-actions { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: 12px; }
.form-actions label { font-size: 9px; color: var(--muted); }.form-actions label input { display: block; margin-top: 4px; }
.meeting-result-panel { display: grid; place-items: center; }
.result-placeholder { max-width: 350px; text-align: center; color: var(--muted); }
.result-placeholder h2 { font-family: Georgia, serif; color: var(--navy); font-weight: 500; }.result-placeholder p { font-size: 11px; line-height: 1.55; }
.radar-icon { margin: auto; width: 78px; height: 78px; border: 1px solid #cbdae5; border-radius: 50%; display: grid; place-items: center; color: var(--blue); font-size: 35px; background: radial-gradient(circle, #edf6fa 40%, transparent 41%), repeating-radial-gradient(circle, #d7e6ef 0 1px, transparent 1px 16px); }
#meetingResult { width: 100%; align-self: start; }
.meeting-score { display: flex; align-items: center; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.score-ring { --score: 0; width: 100px; height: 100px; border-radius: 50%; background: conic-gradient(var(--green) calc(var(--score)*1%), #e9edf0 0); display: grid; place-items: center; position: relative; flex: none; }
.score-ring::before { content: ""; width: 72px; height: 72px; background: #fff; border-radius: 50%; position: absolute; }.score-ring strong { z-index: 1; font: 500 22px Georgia, serif; color: var(--navy); }
.meeting-score h2 { margin: 0 0 5px; color: var(--navy); font: 500 20px Georgia, serif; }.meeting-score p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.agenda-results { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; max-height: 250px; overflow-y: auto; }
.agenda-result { border: 1px solid var(--line); border-radius: 9px; padding: 10px; display: grid; grid-template-columns: 23px 1fr auto; gap: 8px; align-items: start; }
.agenda-result > span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; font-size: 9px; background: var(--green-soft); color: var(--green); }.agenda-result.missed > span { background: var(--red-soft); color: var(--red); }
.agenda-result strong { display: block; font-size: 10px; }.agenda-result p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }.agenda-result b { color: var(--blue); font-size: 9px; }
.result-section { margin-top: 14px; }.result-section h3 { color: var(--navy); font-size: 11px; }.result-section ul { padding-left: 18px; margin: 6px 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.history-panel { margin-top: 14px; }.history-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }.history-item { border: 1px solid var(--line); border-radius: 10px; padding: 12px; }.history-item strong { display: block; font-size: 11px; }.history-item p { color: var(--muted); font-size: 9px; line-height: 1.4; }.history-item footer { display: flex; justify-content: space-between; color: var(--blue); font-size: 9px; font-weight: 800; }

.plan-hero { border-radius: 18px; background: linear-gradient(115deg, var(--navy), #1d4f72); color: #fff; padding: 23px 27px; display: grid; grid-template-columns: 1fr 1.25fr; gap: 25px; align-items: center; margin-bottom: 14px; box-shadow: 0 12px 28px rgba(14,48,78,.16); }
.plan-score { display: flex; align-items: center; gap: 21px; }.donut.large { width: 144px; height: 144px; background: conic-gradient(#65d0ad calc(var(--progress)*1%), rgba(255,255,255,.14) 0); }.donut.large::before { width: 104px; height: 104px; background: var(--navy-2); }.donut.large strong { color: #fff; font-size: 30px; }.donut.large small { color: #adc1d2; }
.plan-score .eyebrow { color: #8ccfbf; }.plan-score h2 { margin: 6px 0; font: 500 22px Georgia, serif; }.plan-score p:last-child { margin: 0; color: #aec0d0; font-size: 10px; line-height: 1.5; }
.plan-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }.plan-kpi { padding: 14px; border: 0; border-left: 1px solid rgba(255,255,255,.16); background: transparent; color: #fff; text-align: left; cursor: pointer; }.plan-kpi:hover, .plan-kpi.selected { background: rgba(255,255,255,.08); }.plan-kpi.selected { box-shadow: inset 0 -2px #6cc5a6; }.plan-kpi strong { display: block; font: 500 25px Georgia, serif; }.plan-kpi span { display: block; margin-top: 4px; color: #aabed0; font-size: 9px; }
.plan-grid { display: grid; grid-template-columns: 1.45fr .75fr; gap: 14px; margin-bottom: 14px; }.bar-list { display: flex; flex-direction: column; gap: 12px; }.bar-row { display: grid; grid-template-columns: 150px 1fr 35px; gap: 10px; align-items: center; font-size: 9px; }.bar-row > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.bar-track { height: 7px; background: #e9eef1; border-radius: 8px; overflow: hidden; }.bar-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--teal)); }.bar-row b { text-align: right; color: var(--navy); }
.stage-chart { min-height: 160px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }.stage-row { display: grid; grid-template-columns: 11px 1fr auto; gap: 8px; align-items: center; }.stage-row i { width: 9px; height: 9px; border-radius: 3px; }.stage-row span { font-size: 10px; color: var(--muted); }.stage-row b { font: 500 18px Georgia, serif; color: var(--navy); }
.proposal-panel { padding: 0; }.proposal-list { padding: 8px 15px 15px; display: flex; flex-direction: column; gap: 8px; }.proposal-item { border: 1px solid var(--line); border-radius: 11px; padding: 13px; display: grid; grid-template-columns: 1.4fr .65fr 1fr auto; align-items: center; gap: 15px; }.proposal-main strong { font-size: 11px; display: block; }.proposal-main p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }.proposal-meta span { display: block; font-size: 9px; }.proposal-meta small { color: var(--muted); font-size: 8px; }.proposal-progress { display: grid; grid-template-columns: 1fr 35px; gap: 8px; align-items: center; }.proposal-progress .bar-track { height: 8px; }.proposal-progress b { font-size: 9px; color: var(--navy); }.proposal-actions { display: flex; align-items: center; gap: 3px; }.proposal-actions button { width: 27px; height: 27px; border: 0; background: #eff3f6; color: var(--navy); border-radius: 7px; }.proposal-actions .complete-btn.done { color: var(--green); background: var(--green-soft); }

.modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 20px; }
.modal.open { display: flex; }.modal-backdrop { position: absolute; inset: 0; background: rgba(7,25,43,.58); backdrop-filter: blur(3px); }
.modal-card { position: relative; width: min(590px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 17px; padding: 24px; box-shadow: 0 24px 70px rgba(0,0,0,.25); animation: modalIn .2s ease; }
.modal-lg { width: min(690px, 100%); }.modal-xl { width: min(1280px, 96vw); }.modal-card h2 { margin: 5px 0 6px; color: var(--navy); font: 500 27px Georgia, serif; }.modal-card > p:not(.eyebrow) { color: var(--muted); font-size: 11px; margin: 0 0 17px; }
@keyframes modalIn { from { opacity: 0; transform: scale(.97) translateY(7px); } }
.modal-close { position: absolute; top: 13px; right: 14px; width: 31px; height: 31px; border: 0; border-radius: 8px; background: #f0f3f5; color: #73808c; font-size: 20px; }
.modal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.file-queue { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; max-height: 180px; overflow-y: auto; }.file-row { display: grid; grid-template-columns: 31px 1fr auto; gap: 8px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 8px; }.file-row > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 7px; background: var(--red-soft); color: var(--red); font-size: 9px; font-weight: 800; }.file-row strong, .file-row small { display: block; }.file-row strong { font-size: 10px; }.file-row small { color: var(--muted); font-size: 8px; }.file-row button { border: 0; background: transparent; color: #8995a0; }
.queue-summary { margin-top: 10px; min-height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--sky); color: var(--navy); font-size: 9px; font-weight: 800; letter-spacing: .2px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 17px; }.form-grid label { font-size: 9px; color: #5c6b78; font-weight: 700; }.form-grid label small { font-weight: 400; }.form-grid input, .form-grid select, .form-grid textarea { width: 100%; margin-top: 5px; border: 1px solid var(--line); background: #fbfcfd; border-radius: 8px; padding: 9px; font-size: 11px; }.form-grid input, .form-grid select { height: 39px; }.form-grid textarea { resize: vertical; }.span-2 { grid-column: 1 / -1; }.form-grid output { float: right; color: var(--blue); }.form-grid input[type="range"] { height: 20px; padding: 0; }
.stage-form-card { width: min(500px, 100%); }
.form-grid input[type="color"] { padding: 4px; cursor: pointer; }
.form-grid .check-field { display: flex; align-items: center; gap: 9px; min-height: 39px; margin-top: 18px; }
.form-grid .check-field input { width: 17px; height: 17px; margin: 0; flex: none; accent-color: var(--blue); }
.form-grid .check-field span { color: var(--navy); font-size: 10px; line-height: 1.35; }
.detail-card { width: min(650px, 100%); }.detail-header { padding-right: 40px; }.detail-header h2 { font-size: 23px; }.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 17px 0; }.detail-field { background: #f7f9fa; border-radius: 9px; padding: 11px; }.detail-field small, .detail-field strong { display: block; }.detail-field small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .5px; }.detail-field strong { margin-top: 5px; font-size: 11px; }.detail-object { border-top: 1px solid var(--line); padding-top: 14px; }.detail-object h3 { font-size: 10px; color: var(--muted); text-transform: uppercase; }.detail-object p { line-height: 1.55; font-size: 11px; }.detail-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; }
.document-availability { display: block; margin-top: 5px; color: var(--amber); font-size: 8px; line-height: 1.3; }
.document-availability.available { color: var(--green); }
.toast-container { position: fixed; right: 20px; bottom: 20px; z-index: 200; display: flex; flex-direction: column; gap: 8px; }.toast { width: min(360px, calc(100vw - 40px)); background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--green); border-radius: 11px; padding: 12px 14px; box-shadow: var(--shadow); animation: toastIn .25s ease; }.toast.error { border-left-color: var(--red); }.toast strong { display: block; font-size: 11px; }.toast p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }@keyframes toastIn { from { opacity: 0; transform: translateX(20px); } }
.loading-overlay { position: fixed; inset: 0; z-index: 180; background: rgba(8,27,46,.64); backdrop-filter: blur(3px); display: grid; place-items: center; }.loading-overlay[hidden] { display: none; }.loading-card { background: #fff; border-radius: 15px; padding: 25px; width: min(340px, calc(100vw - 35px)); text-align: center; box-shadow: var(--shadow); }.spinner { width: 37px; height: 37px; margin: 0 auto 13px; border: 3px solid #e2e9ee; border-top-color: var(--blue); border-radius: 50%; animation: spin .75s linear infinite; }@keyframes spin { to { transform: rotate(360deg); } }.loading-card strong { display: block; color: var(--navy); }.loading-card p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.global-search { position: fixed; inset: 0; z-index: 190; background: rgba(7,25,43,.55); backdrop-filter: blur(5px); padding: 10vh 20px; }.global-search[hidden] { display: none; }.global-search-box { max-width: 650px; margin: auto; background: #fff; border-radius: 15px; box-shadow: 0 30px 80px rgba(0,0,0,.28); overflow: hidden; }.global-search-box > label { height: 58px; display: flex; align-items: center; gap: 9px; padding: 0 16px; border-bottom: 1px solid var(--line); }.global-search-box input { border: 0; outline: 0; flex: 1; font-size: 14px; }.global-search-box > small { display: block; padding: 9px 14px; color: #9aa5af; background: #f8fafb; font-size: 8px; }.search-result { padding: 11px 15px; border-bottom: 1px solid #eef1f3; cursor: pointer; }.search-result:hover { background: var(--sky); }.search-result small, .search-result strong { display: block; }.search-result small { color: var(--blue); font-size: 8px; font-weight: 900; text-transform: uppercase; }.search-result strong { margin-top: 3px; font-size: 11px; }

@media (max-width: 1180px) {
  :root { --sidebar: 214px; }
  .search-trigger { width: 185px; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .priority-list { grid-template-columns: repeat(3, 1fr); }
  .assistant-layout { grid-template-columns: 1fr 235px; }
  .meeting-layout { grid-template-columns: 1fr; }
  .meeting-form-panel, .meeting-result-panel { min-height: auto; }
  .plan-hero { grid-template-columns: 1fr; }
}

@media (max-width: 850px) {
  .sidebar { transform: translateX(-105%); transition: .25s; width: 250px; }
  .sidebar.open { transform: none; }
  .main-content { margin-left: 0; }
  .menu-btn { display: grid; }
  .topbar { padding: 0 18px; }
  .topbar-crest { width: 24px; height: 30px; margin-left: 8px; }
  .breadcrumb span, .breadcrumb b { display: none; }
  .search-trigger { width: 38px; }.search-trigger span:nth-child(2), .search-trigger kbd { display: none; }
  .today-chip { display: none; }
  .demo-banner { margin-left: 18px; margin-right: 18px; }
  .page { padding: 25px 18px 40px; }
  .heading-row { align-items: flex-start; flex-direction: column; }
  .metric-grid, .metric-grid.compact { grid-template-columns: repeat(2, 1fr); width: 100%; overflow: visible; }
  .assistant-layout { grid-template-columns: 1fr; height: auto; }.chat-panel { min-height: 610px; }.insight-rail { display: grid; grid-template-columns: repeat(3, 1fr); }.privacy-note { grid-column: 1/-1; }
  .kanban-board { grid-template-columns: repeat(var(--stage-count, 4), 270px); }
  .kanban-toolbar { grid-template-columns: 1fr 1fr; }
  .kanban-toolbar .search-box { grid-column: 1 / -1; }
  .process-toolbar { grid-template-columns: 1fr 1fr; }
  .process-toolbar .search-box { grid-column: 1 / -1; }
  .executive-toolbar { grid-template-columns: 1fr 1fr; }
  .executive-toolbar .search-box { grid-column: 1 / -1; }
  .executive-agenda-summary { grid-template-columns: 1fr 1fr; }
  .priority-process-meta { grid-template-columns: 1fr 1fr; }
  .plan-grid { grid-template-columns: 1fr; }
  .proposal-item { grid-template-columns: 1fr 1fr; }
  .table-toolbar { flex-wrap: wrap; }.search-box { min-width: 100%; }.bulk-delete-btn { margin-left: 0; }
  .contract-alert-row { grid-template-columns: 38px 1fr auto; }.contract-alert-row > div:nth-child(3), .contract-alert-row > div:nth-child(4) { display: none; }
}

@media (max-width: 560px) {
  .login-screen { padding: 16px; }
  .login-card { padding: 23px 20px; border-radius: 17px; }
  .login-profiles { grid-template-columns: 1fr; }
  .metric-grid, .metric-grid.compact { grid-template-columns: 1fr; }
  .metric-card { min-height: 104px; }
  .priority-list { grid-template-columns: 1fr; }
  .assistant-layout { min-height: 0; }.insight-rail { grid-template-columns: 1fr; }.message { max-width: 94%; }
  .button-row { width: 100%; }.button-row .btn { flex: 1; }
  .kanban-toolbar { grid-template-columns: 1fr; }
  .kanban-toolbar .search-box { grid-column: auto; min-width: 0; }
  .kanban-helper { align-items: flex-start; flex-direction: column; }
  .plan-score { flex-direction: column; text-align: center; }.plan-kpis { grid-template-columns: 1fr; }.plan-kpi { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .proposal-item { grid-template-columns: 1fr; }
  .process-toolbar { grid-template-columns: 1fr; }
  .process-toolbar .search-box { grid-column: auto; min-width: 0; }
  .executive-toolbar { grid-template-columns: 1fr; }
  .executive-toolbar .search-box { grid-column: auto; min-width: 0; }
  .executive-agenda-card-head { flex-direction: column; }
  .executive-agenda-card-actions { width: 100%; }
  .executive-agenda-summary { grid-template-columns: 1fr; }
  .executive-official-source { align-items: flex-start; flex-direction: column; }
  .priority-process-meta, .priority-process-footer { grid-template-columns: 1fr; }
  .priority-process-card { padding: 15px; }
  .history-list { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }.span-2 { grid-column: auto; }
  .detail-grid { grid-template-columns: 1fr 1fr; }
  .top-actions { gap: 5px; }
  .demo-banner { font-size: 9px; }
}

.agreement-guide { display: flex; align-items: center; gap: 11px; margin: -2px 0 14px; padding: 12px 14px; border: 1px solid #cbdfea; border-radius: 11px; background: linear-gradient(90deg, #eef7fb, #f9fcfd); }
.agreement-guide > span { width: 31px; height: 31px; flex: none; display: grid; place-items: center; border-radius: 9px; background: var(--navy); color: #fff; font-size: 14px; }
.agreement-guide strong, .agreement-guide p { display: block; margin: 0; }
.agreement-guide strong { color: var(--navy); font-size: 10px; }
.agreement-guide p { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.agreement-panel { padding: 0; overflow: hidden; }
.agreement-toolbar { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(190px, .7fr) 130px minmax(190px, .7fr) minmax(170px, .6fr); }
.agreement-toolbar .search-box { width: auto; max-width: none; }
.agreement-toolbar select { min-width: 0; }
.agreement-table { min-width: 1240px; }
.agreement-table th:nth-child(1) { width: 205px; }
.agreement-table th:nth-child(2) { min-width: 300px; }
.agreement-table th:nth-child(3) { min-width: 190px; }
.agreement-table th:nth-child(4) { min-width: 180px; }
.agreement-table th:nth-child(5) { min-width: 210px; }
.agreement-table th:nth-child(6) { min-width: 170px; }
.agreement-table td { vertical-align: top; }
.agreement-table td strong, .agreement-table td small { display: block; }
.agreement-table td small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.agreement-origin { display: inline-block; margin-top: 7px; padding: 3px 6px; border-radius: 5px; color: var(--blue); background: var(--sky); font-size: 7px; font-weight: 900; letter-spacing: .35px; text-transform: uppercase; }
.agreement-value-track { width: 100%; height: 5px; margin-top: 8px; overflow: hidden; border-radius: 6px; background: #e6ecef; }
.agreement-value-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--green)); }
.agreement-status-select { width: 100%; min-width: 150px; height: 34px; border: 0; border-radius: 17px; padding: 0 27px 0 10px; font-size: 8px; font-weight: 900; }
.agreement-status-select:disabled { opacity: .62; }
.agreement-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.agreement-requirements-btn { display: inline-flex; align-items: center; gap: 5px; margin-top: 9px; border: 1px solid #c7d9e3; border-radius: 7px; background: #f3f8fb; color: var(--navy); padding: 6px 8px; font-size: 8px; font-weight: 800; cursor: pointer; }
.agreement-requirements-btn:hover { border-color: var(--blue); background: var(--sky); }
.agreement-requirements-btn.has-pending { border-color: #e3c38e; background: #fff7e9; color: #8a5a12; }
.agreement-requirements-btn b { min-width: 25px; border-radius: 9px; background: rgba(255,255,255,.78); padding: 2px 5px; text-align: center; }
.agreement-requirements-card { width: min(1380px, 97vw); }
.agreement-requirements-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 13px 0 17px; }
.agreement-requirements-summary span { display: inline-flex; align-items: baseline; gap: 5px; border: 1px solid var(--line); border-radius: 8px; background: #f7f9fa; padding: 7px 10px; color: var(--muted); font-size: 8px; }
.agreement-requirements-summary b { color: var(--navy); font-size: 13px; }
.agreement-requirements-layout { display: grid; grid-template-columns: minmax(285px, .62fr) minmax(620px, 1.38fr); gap: 16px; align-items: start; }
.agreement-requirement-form { display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafb; padding: 15px; }
.agreement-requirement-form h3, .agreement-requirements-table-heading h3 { margin: 3px 0 0; color: var(--navy); font: 500 18px Georgia, serif; }
.agreement-requirement-form > div > p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.agreement-requirement-form label { color: #4c5a65; font-size: 8px; font-weight: 800; }
.agreement-requirement-form input, .agreement-requirement-form select, .agreement-requirement-form textarea { width: 100%; margin-top: 5px; }
.requirement-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.requirement-form-actions { display: flex; justify-content: flex-end; gap: 7px; padding-top: 3px; }
.agreement-requirements-table-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.agreement-requirements-table-heading { padding: 14px 15px 10px; }
.agreement-requirements-table { min-width: 890px; }
.agreement-requirements-table th, .agreement-requirements-table td { padding: 10px; vertical-align: top; border-top: 1px solid #edf1f3; font-size: 9px; line-height: 1.4; }
.agreement-requirements-table th { border-top: 0; }
.agreement-requirements-table td:first-child { min-width: 240px; }
.agreement-requirements-table td:nth-child(2) { min-width: 155px; }
.agreement-requirements-table td:nth-child(3) { min-width: 140px; }
.agreement-requirements-table td:nth-child(4) { min-width: 95px; }
.agreement-requirements-table td small { display: block; margin-top: 3px; color: var(--red); font-size: 7px; }
.requirement-status { display: inline-flex; align-items: center; min-height: 25px; border-radius: 13px; padding: 0 9px; font-size: 7px; font-weight: 900; white-space: nowrap; }
.compact-empty { padding: 26px 16px; }

@media (max-width: 1180px) {
  .agreement-toolbar { grid-template-columns: 1fr 1fr 1fr; }
  .agreement-toolbar .search-box { grid-column: 1 / -1; }
  .agreement-requirements-layout { grid-template-columns: 1fr; }
}

@media (max-width: 850px) {
  .agreement-toolbar { grid-template-columns: 1fr 1fr; }
  .agreement-toolbar .search-box { grid-column: 1 / -1; min-width: 0; }
}

@media (max-width: 560px) {
  .agreement-guide { align-items: flex-start; }
  .agreement-toolbar { grid-template-columns: 1fr; }
  .agreement-toolbar .search-box { grid-column: auto; }
  .agreement-form-grid { grid-template-columns: 1fr; }
  .agreement-form-grid .span-2 { grid-column: auto; }
  .requirement-form-row { grid-template-columns: 1fr; }
}

.official-data-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; margin: -3px 0 16px; padding: 14px 16px; border: 1px solid #bcd8e5; border-radius: 12px; background: linear-gradient(100deg, #edf8fc 0%, #f9fcfd 60%, #eef7f2 100%); }
.official-data-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--green); font-size: 16px; font-weight: 900; box-shadow: 0 6px 13px rgba(35,132,95,.15); }
.official-data-hero strong, .official-data-hero p, .official-data-hero small { display: block; margin: 0; }
.official-data-hero > div:nth-child(2) > strong { color: var(--navy); font-size: 11px; }
.official-data-hero p { margin-top: 4px; color: var(--muted); font-size: 8px; }
.official-data-update { min-width: 170px; padding-left: 17px; border-left: 1px solid #c9dee7; text-align: right; }
.official-data-update small { color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .55px; }
.official-data-update strong { margin-top: 4px; color: var(--navy); font-size: 11px; }
.transferegov-panel { padding: 0; overflow: hidden; }
.transferegov-tabs { display: flex; gap: 3px; padding: 12px 14px 0; border-bottom: 1px solid var(--line); background: #f8fafb; overflow-x: auto; }
.transferegov-tabs button { min-height: 39px; display: inline-flex; align-items: center; gap: 7px; flex: none; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); padding: 0 13px; font-size: 9px; font-weight: 900; cursor: pointer; }
.transferegov-tabs button:hover { color: var(--blue); }
.transferegov-tabs button.active { border-bottom-color: var(--blue); color: var(--navy); }
.transferegov-tabs b { min-width: 22px; height: 19px; display: grid; place-items: center; border-radius: 10px; background: #e5edf2; color: var(--navy); font-size: 8px; }
.transferegov-tabs button.active b { background: var(--blue); color: #fff; }
.transferegov-toolbar { display: grid; grid-template-columns: minmax(280px, 1fr) 132px minmax(175px, .55fr) minmax(175px, .55fr) auto; }
.transferegov-toolbar .search-box { width: auto; max-width: none; }
.transferegov-state { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 150px; padding: 24px; color: var(--muted); text-align: left; }
.transferegov-state strong, .transferegov-state p { display: block; margin: 0; }
.transferegov-state strong { color: var(--navy); font-size: 11px; }
.transferegov-state p { max-width: 500px; margin-top: 4px; font-size: 9px; line-height: 1.45; }
.mini-spinner { width: 25px; height: 25px; flex: none; border: 3px solid #dce7ed; border-top-color: var(--blue); border-radius: 50%; animation: spin .75s linear infinite; }
.official-error { width: 28px; height: 28px; display: grid; place-items: center; flex: none; border-radius: 50%; background: var(--red-soft); color: var(--red); font-size: 14px; font-weight: 900; }
.transferegov-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; padding: 16px; border-top: 1px solid var(--line); background: #f5f7f9; }
.transferegov-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 6px 18px rgba(15, 45, 75, .06); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.transferegov-card.official-click-row:hover { transform: translateY(-2px); border-color: #aec8d8; background: #fff; box-shadow: 0 13px 28px rgba(15, 45, 75, .1); }
.transferegov-card.official-click-row:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; background: #fff; }
.transferegov-card-main { flex: 1; padding: 17px 18px 15px; border-top: 4px solid var(--blue); }
.transferegov-card-agreement .transferegov-card-main { border-top-color: var(--green); }
.transferegov-card-program .transferegov-card-main { border-top-color: #bd872a; }
.transferegov-card-pac .transferegov-card-main { border-top-color: #6559a5; }
.transferegov-card-project .transferegov-card-main { border-top-color: #4f7e8c; }
.transferegov-card-status { min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-bottom: 12px; }
.transferegov-card-status .status-pill { max-width: 75%; overflow: hidden; display: inline-flex; text-overflow: ellipsis; white-space: nowrap; }
.transferegov-card-status > small { color: var(--muted); font-size: 8px; font-weight: 800; white-space: nowrap; }
.transferegov-card-kicker { margin: 0 0 4px; color: var(--blue); font-size: 7px; font-weight: 900; letter-spacing: .7px; text-transform: uppercase; }
.transferegov-card h3 { margin: 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: 16px; font-weight: 500; line-height: 1.25; }
.transferegov-card-code { margin: 5px 0 0; color: var(--muted); font-size: 8px; font-weight: 800; }
.transferegov-card-description { min-height: 63px; margin: 12px 0; color: #435264; font-size: 8px; font-weight: 700; line-height: 1.52; }
.transferegov-card-detail { padding-top: 10px; border-top: 1px solid var(--line); }
.transferegov-card-detail + .transferegov-card-detail { margin-top: 9px; }
.transferegov-card-detail small, .transferegov-card-detail strong, .transferegov-card-detail em { display: block; }
.transferegov-card-detail small { margin-bottom: 3px; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .55px; }
.transferegov-card-detail strong { color: var(--navy); font-size: 9px; line-height: 1.4; }
.transferegov-card-detail em { margin-top: 2px; color: var(--muted); font-size: 7px; font-style: normal; line-height: 1.35; }
.transferegov-card-data { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border-top: 1px solid var(--line); }
.transferegov-card-data > div { min-width: 0; padding: 12px 15px; background: #f8fafb; }
.transferegov-card-data small, .transferegov-card-data strong { display: block; }
.transferegov-card-data small { margin-bottom: 4px; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .5px; }
.transferegov-card-data strong { overflow: hidden; color: var(--navy); font-size: 9px; line-height: 1.35; text-overflow: ellipsis; }
.transferegov-card-links { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 10px 15px; }
.transferegov-card-links .official-row-link { margin: 0; }
.transferegov-card-links .official-data-link { margin-left: auto; text-align: right; }
.transferegov-card-links > small { color: var(--muted); font-size: 8px; }
.official-click-row { cursor: pointer; transition: background .16s ease, box-shadow .16s ease; }
.official-click-row:hover { background: #f4f9fc; box-shadow: inset 3px 0 0 var(--blue); }
.official-click-row:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; background: #f4f9fc; }
.official-origin-tag { display: inline-flex; margin-top: 7px; border-radius: 6px; background: var(--sky); color: var(--blue); padding: 4px 7px; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .3px; }
.official-row-link { display: inline-flex; margin-top: 7px; color: var(--blue); font-size: 8px; font-weight: 800; text-decoration: none; }
.official-row-link:hover { text-decoration: underline; }
.official-data-link { margin-left: 10px; color: var(--muted); font-weight: 700; }
.official-consultations { display: grid; grid-template-columns: minmax(240px, .6fr) minmax(500px, 1.4fr); gap: 18px; align-items: center; margin-top: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.official-consultations h2, .official-consultations p { margin: 0; }
.official-consultations h2 { margin-top: 3px; color: var(--navy); font-size: 15px; }
.official-consultations > div > p:last-child { margin-top: 5px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.official-consultation-links { display: grid; grid-template-columns: repeat(5, minmax(105px, 1fr)); gap: 8px; }
.official-consultation-links a { min-height: 66px; display: flex; flex-direction: column; justify-content: center; padding: 10px; border: 1px solid #d9e3e9; border-radius: 9px; background: #f7fafc; color: var(--navy); text-decoration: none; transition: border-color .16s ease, transform .16s ease; }
.official-consultation-links a:hover { border-color: var(--blue); transform: translateY(-1px); }
.official-consultation-links strong { font-size: 8px; line-height: 1.35; }
.official-consultation-links small { margin-top: 5px; color: var(--blue); font-size: 7px; line-height: 1.35; }
.transferegov-disclaimer { display: flex; align-items: flex-start; gap: 10px; margin-top: 13px; padding: 12px 14px; border: 1px solid #e2d2ae; border-radius: 10px; background: #fff9ed; color: #6d5a35; }
.transferegov-disclaimer > span { width: 21px; height: 21px; display: grid; place-items: center; flex: none; border-radius: 50%; background: #e8c983; color: #4f3d19; font: 700 11px Georgia, serif; }
.transferegov-disclaimer p { margin: 0; font-size: 8px; line-height: 1.55; }

@media (max-width: 1050px) {
  .transferegov-toolbar { grid-template-columns: 1fr 1fr; }
  .transferegov-toolbar .search-box { grid-column: 1 / -1; }
  .transferegov-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .official-consultations { grid-template-columns: 1fr; }
  .official-consultation-links { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
}

@media (max-width: 560px) {
  .official-data-hero { grid-template-columns: auto 1fr; align-items: start; }
  .official-data-update { grid-column: 1 / -1; min-width: 0; padding: 11px 0 0; border-top: 1px solid #c9dee7; border-left: 0; text-align: left; }
  .transferegov-toolbar { grid-template-columns: 1fr; }
  .transferegov-toolbar .search-box { grid-column: auto; min-width: 0; }
  .transferegov-card-grid { grid-template-columns: 1fr; padding: 11px; }
  .transferegov-card-description { min-height: 0; }
  .transferegov-tabs { padding-left: 8px; }
  .transferegov-tabs button { padding: 0 9px; }
  .official-consultation-links { grid-template-columns: 1fr; }
}
