:root {
  color-scheme: dark;
  --navy: #0a1628;
  --navy-2: #0d1f3c;
  --panel: rgba(13, 31, 60, 0.96);
  --panel-strong: #122b4b;
  --cream: #f4f0e8;
  --cream-warm: #e8dfd0;
  --cream-light: #fffaf1;
  --ink: #0a1628;
  --line: rgba(200, 165, 90, 0.3);
  --line-soft: rgba(255, 255, 255, 0.08);
  --gold: #c8a55a;
  --gold-light: #e2c67d;
  --text: #fffaf1;
  --muted: #aeb9c8;
  --green: #58c99a;
  --red: #f47d79;
  --orange: #e8a94f;
  --blue: #79a8d8;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-height: 100vh; color: var(--text); background: var(--cream); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.login-page { min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0%,rgba(42,85,132,.42),transparent 42%),var(--navy); }
.login-card { width:min(430px,100%);display:grid;gap:28px;padding:38px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(16,40,70,.98),rgba(7,23,45,.98));box-shadow:0 30px 90px rgba(0,0,0,.34); }
.login-card>img { width:165px;height:auto; }
.login-card span { color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.18em; }
.login-card h1 { margin:8px 0 9px;font-family:Georgia,serif;font-size:38px;font-weight:400; }
.login-card p { margin:0;color:var(--muted);font-size:13px;line-height:1.6; }
.login-card form { display:grid;gap:10px; }
.login-card label { color:#c8d2df;font-size:11px;font-weight:800; }
.login-card input { width:100%;min-height:52px;padding:0 15px;border:1px solid var(--line);border-radius:9px;outline:0;color:var(--text);background:rgba(255,255,255,.04);font-size:16px; }
.login-card input:focus { border-color:var(--gold);box-shadow:0 0 0 3px rgba(210,181,101,.1); }
.login-card button { margin-top:6px;min-height:50px; }
.login-card button:disabled { opacity:.7;cursor:wait; }
.login-card .login-error { min-height:20px;color:var(--red);font-size:11px; }
.login-card>small { padding-top:20px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:10px;text-align:center; }
@media (max-width:520px) { .login-page { padding:14px; }.login-card { padding:28px 22px;border-radius:14px; }.login-card h1 { font-size:33px; } }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 252px minmax(0, 1fr); }
.sidebar { height: 100vh; position: sticky; top: 0; display: flex; flex-direction: column; gap: 26px; padding: 26px 18px 20px; border-right: 1px solid var(--line); background: rgba(5, 19, 38, .94); backdrop-filter: blur(24px); z-index: 10; }
.brand { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 8px 18px; border-bottom: 1px solid var(--line-soft); }
.brand img { width: 132px; height: auto; }
.brand span { color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .18em; }
nav { display: grid; gap: 6px; overflow-y: auto; scrollbar-width: thin; }
.nav-item { width: 100%; min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 0 14px; border: 1px solid transparent; border-radius: 9px; color: #a9b5c7; background: transparent; text-align: left; font-weight: 700; }
.nav-item > span { width: 20px; color: #7f91aa; font-size: 19px; }
.nav-item b { margin-left: auto; display: grid; place-items: center; min-width: 22px; height: 22px; border-radius: 99px; color: var(--navy); background: var(--gold); font-size: 11px; }
.nav-item:hover { color: white; background: rgba(255,255,255,.04); }
.nav-item.active { color: var(--gold-light); border-color: var(--line); background: linear-gradient(90deg, rgba(210,181,101,.16), rgba(210,181,101,.04)); }
.nav-item.active > span { color: var(--gold); }
.sidebar-card { margin-top: auto; display: grid; gap: 8px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); }
.sidebar-card span, .sidebar-card small { color: var(--muted); font-size: 11px; }
.sidebar-card strong { font-family: Georgia, serif; font-size: 20px; }
.progress { height: 4px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.09); }
.progress i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-light)); transition: width .4s ease; }
.user-card { display: grid; grid-template-columns: 34px 1fr 26px; align-items: center; gap: 10px; padding-top: 16px; border-top: 1px solid var(--line-soft); }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--navy); background: var(--gold); font-size: 11px; font-weight: 900; }
.user-card strong, .user-card small { display: block; }
.user-card strong { font-size: 12px; }.user-card small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.user-card button { border: 0; color: var(--muted); background: transparent; font-size: 20px; }

main { min-width: 0; }
.topbar { height: 76px; position: sticky; top: 0; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 0 34px; border-bottom: 1px solid var(--line-soft); background: rgba(7,23,45,.82); backdrop-filter: blur(20px); }
.global-search { width: min(520px, 50vw); display: flex; align-items: center; gap: 10px; }
.global-search span { color: var(--gold); font-size: 22px; }
.global-search input, .inline-search input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; }
.global-search input::placeholder, .inline-search input::placeholder { color: #718096; }
.topbar-actions, .heading-actions { display: flex; align-items: center; gap: 14px; }
.save-status { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }.save-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px rgba(72,199,142,.65); }
.menu-button { display: none; border: 0; color: var(--gold); background: transparent; font-size: 22px; }
.primary, .ghost, .text-button { min-height: 40px; border-radius: 8px; padding: 0 16px; font-weight: 800; }
.primary { border: 1px solid var(--gold); color: #101b2d; background: linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow: 0 8px 25px rgba(210,181,101,.12); }
.ghost { border: 1px solid var(--line); color: #d9e0e9; background: rgba(255,255,255,.03); }
.text-button { border: 0; color: var(--gold); background: transparent; font-size: 12px; }
.primary:hover, .ghost:hover { transform: translateY(-1px); filter: brightness(1.05); }

.content { padding: 34px; }
.view { display: none; }.view.active { display: block; animation: fade-in .2s ease; }
@keyframes fade-in { from { opacity: 0; transform: translateY(3px); } }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading p { margin: 0 0 5px; color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.page-heading h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(31px, 3vw, 44px); font-weight: 400; letter-spacing: -.025em; }
.page-heading > div > span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; }
.compact-heading { align-items: center; }.compact-heading h1 { font-size: 36px; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.kpi-card { position: relative; overflow: hidden; min-height: 132px; padding: 20px; border: 1px solid var(--line-soft); border-radius: 11px; background: linear-gradient(145deg, rgba(17,42,74,.92), rgba(10,30,56,.82)); }
.kpi-card::after { content: ""; position: absolute; inset: auto -25px -45px auto; width: 100px; height: 100px; border: 1px solid rgba(210,181,101,.08); border-radius: 50%; }
.kpi-card > span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.kpi-card strong { display: block; margin: 13px 0 8px; font-family: Georgia, serif; font-size: 29px; font-weight: 400; }
.kpi-card small { color: #9eb0c5; font-size: 11px; }.kpi-card small b { color: var(--green); }
.kpi-card.warn { border-color: rgba(246,183,90,.3); }.kpi-card.warn strong { color: var(--orange); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr); gap: 18px; margin-bottom: 18px; }
.panel { border: 1px solid var(--line-soft); border-radius: 11px; background: linear-gradient(145deg, rgba(14,35,64,.92), rgba(9,28,52,.82)); box-shadow: 0 18px 50px rgba(0,0,0,.08); }
.panel-head { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid var(--line-soft); }
.panel-head h2 { margin: 3px 0 0; font-family: Georgia, serif; font-size: 20px; font-weight: 400; }.panel-head > h2 { margin: 0; }
.eyebrow { color: var(--gold); font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.priority-list { display: grid; }
.priority-item { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 76px; padding: 12px 20px; border-bottom: 1px solid var(--line-soft); }
.priority-item:last-child { border: 0; }.priority-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: var(--orange); background: rgba(246,183,90,.12); font-weight: 900; }
.priority-item.overdue .priority-icon { color: var(--red); background: rgba(255,122,130,.12); }
.priority-item strong, .priority-item small { display: block; }.priority-item strong { font-size: 13px; }.priority-item small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.priority-item button { border: 0; color: var(--gold); background: transparent; font-size: 18px; }
.empty-state { padding: 34px 20px; color: var(--muted); text-align: center; }

.funnel { display: grid; gap: 13px; padding: 20px; }
.funnel-row { display: grid; grid-template-columns: 96px 1fr 28px; align-items: center; gap: 10px; }
.funnel-row label { color: #b8c2d1; font-size: 11px; }.funnel-row b { text-align: right; font-size: 12px; }
.funnel-bar { height: 9px; border-radius: 99px; background: rgba(255,255,255,.055); }.funnel-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8c7848, var(--gold-light)); }

.deals-table-panel { overflow: hidden; }.legend { display: flex; gap: 14px; color: var(--muted); font-size: 10px; }.dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; }.dot.hot { background: var(--red); }.dot.warm { background: var(--orange); }
.table-wrap { overflow-x: auto; }table { width: 100%; border-collapse: collapse; }th, td { padding: 14px 20px; border-bottom: 1px solid var(--line-soft); text-align: left; white-space: nowrap; }th { color: #72839a; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }td { font-size: 12px; }tbody tr:last-child td { border: 0; }tbody tr:hover { background: rgba(255,255,255,.025); }.deal-cell { display: flex; align-items: center; gap: 10px; }.deal-cell .deal-mark { width: 3px; height: 27px; border-radius: 9px; background: var(--gold); }.deal-cell strong, .deal-cell small { display: block; }.deal-cell small { margin-top: 3px; color: var(--muted); font-size: 10px; }.stage-pill { display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border: 1px solid rgba(111,168,255,.22); border-radius: 99px; color: #a9caff; background: rgba(111,168,255,.08); font-size: 10px; font-weight: 800; }.stage-pill.gagne { color: #83e4b7; border-color: rgba(72,199,142,.22); background: rgba(72,199,142,.08); }.due { color: var(--muted); }.due.overdue { color: var(--red); }.row-action { border: 0; color: var(--gold); background: transparent; font-size: 17px; }

.pipeline-board { display: grid; grid-template-columns: repeat(6, minmax(230px, 1fr)); gap: 13px; overflow-x: auto; padding-bottom: 18px; scroll-snap-type: x proximity; }
.pipeline-column { min-height: 500px; scroll-snap-align: start; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(5,20,40,.38); }
.pipeline-column-head { display: flex; align-items: center; justify-content: space-between; padding: 14px; border-bottom: 1px solid var(--line-soft); }.pipeline-column-head strong { font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }.pipeline-column-head span { color: var(--muted); font-size: 10px; }.pipeline-cards { display: grid; gap: 10px; padding: 10px; }
.deal-card { padding: 14px; border: 1px solid var(--line-soft); border-top: 2px solid var(--gold); border-radius: 9px; background: linear-gradient(150deg, rgba(21,48,82,.94), rgba(12,34,62,.96)); box-shadow: 0 10px 24px rgba(0,0,0,.11); }
.deal-card.overdue { border-top-color: var(--red); }.deal-card h3 { margin: 0 0 4px; font-family: Georgia, serif; font-size: 15px; font-weight: 400; }.deal-card > span { color: var(--muted); font-size: 10px; }.deal-card-value { display: flex; align-items: end; justify-content: space-between; margin: 16px 0 12px; }.deal-card-value strong { font-size: 14px; }.deal-card-value small { color: var(--muted); font-size: 9px; }.deal-card-action { min-height: 42px; margin: 0 -4px 10px; padding: 8px; border-radius: 6px; color: #bac5d3; background: rgba(255,255,255,.035); font-size: 10px; line-height: 1.35; }.deal-card-action b { color: var(--gold); }.deal-card-footer { display: flex; gap: 7px; }.deal-card select { min-width: 0; flex: 1; padding: 6px; border: 1px solid var(--line-soft); border-radius: 6px; color: #b9c6d8; background: #0d294b; font-size: 9px; }.deal-card button { width: 30px; border: 1px solid var(--line); border-radius: 6px; color: var(--gold); background: transparent; }

.contacts-panel { overflow: hidden; }.contact-toolbar { display: flex; justify-content: space-between; gap: 18px; padding: 16px 20px; border-bottom: 1px solid var(--line-soft); }.inline-search { width: min(420px, 70%); display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--line-soft); border-radius: 8px; color: var(--gold); background: rgba(255,255,255,.025); }.contact-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; background: var(--line-soft); }.contact-card { min-height: 165px; display: grid; gap: 12px; padding: 20px; background: #0d2747; }.contact-card-head { display: flex; gap: 12px; align-items: center; }.contact-avatar { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-light); background: rgba(210,181,101,.08); font-weight: 900; }.contact-card h3, .contact-card p { margin: 0; }.contact-card h3 { font-family: Georgia, serif; font-size: 16px; font-weight: 400; }.contact-card p { color: var(--muted); font-size: 11px; }.contact-details { display: grid; gap: 5px; color: #b6c1d0; font-size: 10px; }.contact-card button { justify-self: start; border: 0; color: var(--gold); background: transparent; padding: 0; font-size: 10px; font-weight: 800; }

.task-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.7fr); gap: 18px; }.segmented { display: flex; padding: 3px; border: 1px solid var(--line-soft); border-radius: 7px; background: rgba(0,0,0,.1); }.segmented button { min-height: 28px; border: 0; border-radius: 5px; padding: 0 10px; color: var(--muted); background: transparent; font-size: 10px; }.segmented button.active { color: var(--navy); background: var(--gold); font-weight: 800; }.task-list { display: grid; }.task-item { display: grid; grid-template-columns: 28px minmax(0,1fr) auto auto; align-items: center; gap: 12px; min-height: 66px; padding: 10px 20px; border-bottom: 1px solid var(--line-soft); }.task-item:last-child { border: 0; }.task-check { width: 20px; height: 20px; accent-color: var(--gold); }.task-item strong, .task-item small { display: block; }.task-item strong { font-size: 12px; }.task-item small { margin-top: 4px; color: var(--muted); font-size: 10px; }.task-date { color: #b8c6d7; font-size: 10px; }.task-date.overdue { color: var(--red); }.priority-tag { padding: 4px 7px; border-radius: 99px; color: var(--orange); background: rgba(246,183,90,.09); font-size: 9px; }.activity-list { padding: 8px 20px 20px; }.activity-item { position: relative; padding: 12px 0 12px 20px; border-left: 1px solid var(--line); }.activity-item::before { content: ""; position: absolute; left: -4px; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }.activity-item strong, .activity-item span, .activity-item small { display: block; }.activity-item strong { font-size: 11px; }.activity-item span { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }.activity-item small { margin-top: 5px; color: #63748c; font-size: 9px; }

select, input, textarea { border: 1px solid var(--line-soft); border-radius: 7px; outline: 0; color: var(--text); background: #0b2443; padding: 10px; }input:focus, select:focus, textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(210,181,101,.08); }textarea { resize: vertical; }
dialog { width: min(720px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--line); border-radius: 13px; color: var(--text); background: #0a203b; box-shadow: 0 30px 100px rgba(0,0,0,.5); }dialog::backdrop { background: rgba(2,10,22,.76); backdrop-filter: blur(5px); }.dialog-card { padding: 0; }.dialog-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--line-soft); }.dialog-head h2 { margin: 4px 0 0; font-family: Georgia, serif; font-weight: 400; }.close-button { width: 34px; height: 34px; border: 0; border-radius: 50%; color: var(--muted); background: rgba(255,255,255,.05); font-size: 22px; }.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 20px 22px; }.dialog-card > label { display: grid; gap: 7px; margin: 16px 22px; }.form-grid label { display: grid; gap: 7px; color: #98a8bc; font-size: 10px; font-weight: 800; }.form-grid label.full { grid-column: 1/-1; }.dialog-actions { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; padding: 16px 22px; border-top: 1px solid var(--line-soft); }.danger { color: var(--red); border-color: rgba(255,122,130,.28); }.small-dialog { max-width: 520px; }.small-dialog .form-grid { padding-top: 0; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 40; padding: 13px 18px; border: 1px solid var(--line); border-radius: 9px; color: var(--navy); background: var(--gold-light); box-shadow: 0 15px 50px rgba(0,0,0,.35); font-size: 12px; font-weight: 800; opacity: 0; transform: translateY(20px); pointer-events: none; transition: .22s ease; }.toast.show { opacity: 1; transform: translateY(0); }
.mobile-fab { display: none; }

/* CRM métier Insignia */
.muted-copy { color: var(--muted); font-size: 11px; }
.button-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.project-heading select { min-width: 240px; }
.project-hero { display: grid; grid-template-columns: minmax(0,1.5fr) repeat(4,minmax(120px,.55fr)); gap: 1px; margin-bottom: 14px; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 11px; background: var(--line-soft); }
.project-hero > div { min-height: 94px; display: grid; align-content: center; gap: 6px; padding: 17px 19px; background: linear-gradient(145deg, rgba(14,35,64,.96), rgba(9,28,52,.92)); }
.project-hero h2 { margin: 0; font-family: Georgia,serif; font-size: 22px; font-weight: 400; }.project-hero span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }.project-hero strong { font-size: 14px; }.project-hero .hero-main span { text-transform: none; letter-spacing: 0; }
.project-tabs { display: flex; gap: 4px; overflow-x: auto; margin-bottom: 14px; padding: 4px; border: 1px solid var(--line-soft); border-radius: 9px; background: rgba(5,20,40,.45); }
.project-tabs button { min-height: 38px; flex: 0 0 auto; padding: 0 14px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 800; }.project-tabs button.active { color: var(--navy); background: var(--gold); }
.project-tab { display: none; }.project-tab.active { display: block; animation: fade-in .18s ease; }
.project-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); gap: 14px; margin-bottom: 14px; }
.observation-list { display: grid; }.observation-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: start; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }.observation-row:last-child { border: 0; }.observation-number { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--navy); background: var(--gold); font-size: 11px; font-weight: 900; }.observation-row strong,.observation-row small { display:block; }.observation-row strong { font-size: 12px; line-height: 1.4; }.observation-row small { margin-top: 5px; color: var(--muted); font-size: 10px; }.observation-actions { display: flex; align-items: center; gap: 6px; }.observation-actions select { max-width: 105px; padding: 6px; font-size: 9px; }.observation-photo { width: 58px; height: 45px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); }
.lot-progress { display: grid; gap: 14px; padding: 18px; }.lot-progress-row { display: grid; grid-template-columns: minmax(100px,1fr) 2fr 38px; align-items: center; gap: 10px; }.lot-progress-row label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #bcc8d7; font-size: 10px; }.lot-progress-row .bar { height: 7px; border-radius: 99px; background: rgba(255,255,255,.06); }.lot-progress-row .bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--gold),var(--gold-light)); }.lot-progress-row b { text-align:right; font-size: 10px; }
.report-history { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }.report-history-card { min-height: 108px; padding: 17px; border-right: 1px solid var(--line-soft); }.report-history-card:last-child { border:0; }.report-history-card strong,.report-history-card span,.report-history-card small { display:block; }.report-history-card strong { font-family:Georgia,serif;font-size:16px;font-weight:400; }.report-history-card span { margin-top:7px;color:#c4cedc;font-size:11px; }.report-history-card small { margin-top:9px;color:var(--muted);font-size:9px; }
.report-workspace { display:grid;grid-template-columns:minmax(390px,.8fr) minmax(520px,1.2fr);gap:14px;align-items:start; }.report-editor,.report-preview-shell { overflow:hidden; }.report-preview-shell { position:sticky;top:90px; }.report-preview-shell .panel-head > div { display:flex;align-items:center;gap:10px; }.compact-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line-soft); }.compact-form-grid label { display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800; }.compact-form-grid .full { grid-column:1/-1; }.compact-form-grid button { min-height:36px; }
.subsection-head { min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;border-bottom:1px solid var(--line-soft);background:rgba(255,255,255,.018); }.subsection-head h3 { margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em; }
.attendance-list { display:grid;grid-template-columns:repeat(2,1fr); }.attendance-item { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 18px;border-bottom:1px solid var(--line-soft);font-size:10px; }.attendance-item span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.attendance-item select { padding:5px;font-size:9px; }
.check-label { display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:9px; }.check-label input { width:auto; }
.report-sheet { min-height:620px;margin:18px;padding:34px;color:#1b2838;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.22);font-family:Arial,sans-serif; }.report-sheet header { display:grid;grid-template-columns:1fr auto;gap:20px;padding-bottom:18px;border-bottom:3px solid #c7a85c; }.report-sheet header img { width:130px;filter:brightness(.25); }.report-sheet h1 { margin:8px 0 3px;font-family:Georgia,serif;font-size:24px; }.report-sheet h2 { margin:25px 0 10px;font-family:Georgia,serif;font-size:17px;color:#153253; }.report-sheet p { margin:4px 0;font-size:10px;line-height:1.55; }.report-sheet .report-meta { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0; }.report-sheet .report-meta div { padding:10px;background:#eef2f6; }.report-sheet .report-meta span { display:block;color:#6c7887;font-size:8px;text-transform:uppercase; }.report-sheet .report-observation { display:grid;grid-template-columns:30px 1fr 92px;gap:10px;padding:11px 0;border-bottom:1px solid #dce2e8; }.report-sheet .report-observation > b { display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:#153253;font-size:9px; }.report-sheet .report-observation img { width:90px;height:68px;object-fit:cover; }.report-sheet .status-print { display:inline-block;margin-top:5px;padding:3px 6px;border-radius:99px;color:#35506d;background:#e7edf3;font-size:7px;text-transform:uppercase; }
.planning-editor { display:grid; }.planning-row { display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,.8fr) 130px 130px minmax(150px,1fr);gap:10px;align-items:center;padding:11px 18px;border-bottom:1px solid var(--line-soft); }.planning-row:last-child { border:0; }.planning-row input { min-width:0;padding:7px;font-size:10px; }.planning-row input[type=range] { padding:0; }.planning-row strong { font-size:11px; }
.stakeholder-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft); }.stakeholder-card { min-height:130px;display:grid;align-content:start;gap:7px;padding:17px;background:#0d2747; }.stakeholder-card input { padding:7px;font-size:10px; }.stakeholder-card strong { font-family:Georgia,serif;font-size:15px;font-weight:400; }.stakeholder-card span { color:var(--muted);font-size:10px; }
.upload-form { display:grid;grid-template-columns:180px minmax(240px,1fr) auto;gap:12px;align-items:end;padding:16px 18px;border-bottom:1px solid var(--line-soft); }.upload-form label { display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800; }.document-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px; }.document-card { min-height:130px;display:grid;align-content:space-between;gap:10px;padding:14px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(255,255,255,.025); }.document-card strong,.document-card small { display:block; }.document-card strong { font-size:11px;word-break:break-word; }.document-card small { color:var(--muted);font-size:9px; }.document-card a { color:var(--gold);font-size:10px;font-weight:800;text-decoration:none; }
.camera-field { position:relative;min-height:72px;display:grid!important;place-items:center;border:1px dashed var(--line);border-radius:9px;color:var(--gold)!important;background:rgba(210,181,101,.04); }.camera-field input { position:absolute;inset:0;opacity:0;cursor:pointer; }.camera-field span { text-align:center; }
.finance-grid { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:14px;margin-bottom:14px; }.cash-chart { height:280px;display:flex;align-items:end;gap:8px;padding:26px 22px 18px; }.cash-bar { flex:1;min-width:24px;display:grid;align-content:end;gap:8px;height:100%;text-align:center; }.cash-bar i { display:block;min-height:4px;border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,var(--gold-light),#94793c); }.cash-bar.negative i { background:linear-gradient(180deg,var(--red),#934b52); }.cash-bar span { color:var(--muted);font-size:8px; }.cash-bar b { font-size:8px; }
.finance-project-list { display:grid; }.finance-project { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-soft); }.finance-project:last-child { border:0; }.finance-project strong,.finance-project small { display:block; }.finance-project strong { font-size:11px; }.finance-project small { margin-top:4px;color:var(--muted);font-size:9px; }.money-in { color:var(--green); }.money-out { color:var(--red); }.import-button { display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:8px;color:var(--gold);font-size:10px;font-weight:800;cursor:pointer; }.import-button input { display:none; }
.analytics-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }.analytics-list { display:grid;padding:14px 18px;gap:15px; }.analytics-row { display:grid;grid-template-columns:minmax(90px,1fr) 2fr auto;align-items:center;gap:10px; }.analytics-row label { color:#c0cad8;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.analytics-row .bar { height:8px;border-radius:99px;background:rgba(255,255,255,.06); }.analytics-row .bar i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8c7848,var(--gold-light)); }.analytics-row b { font-size:10px; }
.platform-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }.platform-card { min-height:188px;display:grid;align-content:space-between;gap:18px;padding:19px;border:1px solid var(--line-soft);border-radius:11px;background:linear-gradient(145deg,rgba(17,42,74,.92),rgba(10,30,56,.82)); }.platform-card-head { display:flex;align-items:start;justify-content:space-between;gap:12px; }.platform-icon { display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;color:var(--gold-light);background:rgba(210,181,101,.08);font-size:16px;font-weight:900; }.platform-card h3 { margin:12px 0 5px;font-family:Georgia,serif;font-size:17px;font-weight:400; }.platform-card p { margin:0;color:var(--muted);font-size:10px;line-height:1.5; }.platform-card small { color:var(--gold);font-size:8px;text-transform:uppercase;letter-spacing:.1em; }.platform-card a { min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;color:var(--gold-light);text-decoration:none;font-size:10px;font-weight:800;background:rgba(255,255,255,.025); }
.connector-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px; }.connector-card { min-height:210px;padding:22px; }.connector-card h2 { margin:12px 0;font-family:Georgia,serif;font-size:22px;font-weight:400; }.connector-card code,.connector-endpoints code { display:block;padding:10px;border:1px solid var(--line-soft);border-radius:7px;color:var(--gold-light);background:#071b32;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;overflow-wrap:anywhere; }.connector-card p { margin:16px 0 0;color:var(--muted);font-size:11px;line-height:1.6; }.connector-ready { color:var(--green);font-size:10px;font-weight:800; }.connector-endpoints { display:grid;grid-template-columns:repeat(3,1fr); }.connector-endpoints article { min-height:145px;padding:18px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft); }.connector-endpoints article:nth-child(3n) { border-right:0; }.connector-endpoints article:nth-last-child(-n+3) { border-bottom:0; }.connector-endpoints b,.connector-endpoints span { display:block; }.connector-endpoints b { margin-bottom:9px;font-size:12px; }.connector-endpoints span { margin-top:10px;color:var(--muted);font-size:10px;line-height:1.5; }

@media (max-width:1250px) { .report-workspace { grid-template-columns:1fr; }.report-preview-shell { position:static; }.project-hero { grid-template-columns:repeat(3,1fr); }.project-hero .hero-main { grid-column:1/-1; }.platform-grid { grid-template-columns:repeat(3,1fr); }.document-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:980px) { .project-dashboard-grid,.finance-grid { grid-template-columns:1fr; }.analytics-grid { grid-template-columns:1fr 1fr; }.platform-grid { grid-template-columns:repeat(2,1fr); }.stakeholder-grid { grid-template-columns:repeat(2,1fr); }.planning-row { grid-template-columns:1fr 1fr 1fr; }.planning-row strong { grid-column:1/-1; } }
@media (max-width:760px) { .project-heading select { min-width:0;width:100%; }.project-hero { grid-template-columns:1fr 1fr; }.project-hero .hero-main { grid-column:1/-1; }.project-hero > div { min-height:76px;padding:13px; }.report-workspace { display:block; }.report-preview-shell { margin-top:12px; }.report-sheet { margin:8px;padding:18px;min-height:480px; }.report-sheet .report-meta { grid-template-columns:1fr; }.report-sheet .report-observation { grid-template-columns:26px 1fr; }.report-sheet .report-observation img { grid-column:2;width:100%;height:auto;max-height:180px; }.attendance-list { grid-template-columns:1fr; }.planning-row { grid-template-columns:1fr 1fr; }.planning-row strong { grid-column:1/-1; }.stakeholder-grid,.analytics-grid,.platform-grid { grid-template-columns:1fr; }.document-grid { grid-template-columns:1fr 1fr; }.upload-form { grid-template-columns:1fr; }.report-history { grid-template-columns:1fr; }.report-history-card { border-right:0;border-bottom:1px solid var(--line-soft); }.finance-view .panel-head { align-items:flex-start; }.observation-row { grid-template-columns:30px 1fr; }.observation-actions { grid-column:2; }.mobile-fab { bottom:calc(16px + env(safe-area-inset-bottom)); } }
.connector-grid { grid-template-columns:repeat(3,1fr); }
@media (max-width:980px) { .connector-grid { grid-template-columns:1fr; }.connector-endpoints { grid-template-columns:repeat(2,1fr); }.connector-endpoints article:nth-child(n) { border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft); }.connector-endpoints article:nth-child(2n) { border-right:0; }.connector-endpoints article:nth-last-child(-n+2) { border-bottom:0; } }
@media (max-width:760px) { .connector-endpoints { grid-template-columns:1fr; }.connector-endpoints article:nth-child(n) { border-right:0;border-bottom:1px solid var(--line-soft); }.connector-endpoints article:last-child { border-bottom:0; } }
@media (max-width:430px) { .document-grid { grid-template-columns:1fr; }.project-hero { grid-template-columns:1fr; }.project-hero .hero-main { grid-column:auto; } }

.partner-panel { overflow:hidden; }.partner-toolbar { min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line-soft); }.partner-toolbar .inline-search { flex:1; }.partner-toolbar select { min-width:210px; }.partner-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-soft); }.partner-card { min-height:270px;display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:18px;background:linear-gradient(145deg,#0d294a,#0a213d); }.partner-card-head { display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:11px; }.partner-avatar { width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--gold-light);background:rgba(210,181,101,.08);font-weight:900; }.partner-card h3 { margin:3px 0 0;font-family:Georgia,serif;font-size:16px;font-weight:400; }.partner-card h3,.partner-card p { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.partner-card p,.partner-card small { margin:3px 0 0;color:var(--muted);font-size:9px; }.contract-pill { max-width:105px;padding:5px 7px;border-radius:99px;color:var(--gold);background:rgba(210,181,101,.09);font-size:8px;text-align:center; }.partner-details { display:grid;grid-template-columns:1fr 1fr;gap:10px; }.partner-details span { min-width:0;color:#c2cedd;font-size:10px;line-height:1.4;overflow:hidden;text-overflow:ellipsis; }.partner-details b { display:block;margin-bottom:2px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em; }.partner-actions { display:flex;align-items:center;gap:7px; }.partner-actions button,.partner-actions a { min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:var(--gold-light);background:rgba(255,255,255,.025);font-size:9px;font-weight:800;text-decoration:none; }.partner-actions .primary { color:var(--navy);background:var(--gold); }.partner-picker { max-height:190px;display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:auto;border:1px solid var(--line-soft);border-radius:8px;background:var(--line-soft); }.partner-picker label { min-height:48px;display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-content:center;column-gap:8px;padding:8px 10px;color:var(--text)!important;background:#0b2443;cursor:pointer; }.partner-picker input { grid-row:1/3;width:auto; }.partner-picker span { font-size:10px;font-weight:800; }.partner-picker small { color:var(--muted);font-size:8px;font-weight:400; }.linked-partner-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft); }.linked-partner-card { min-height:125px;display:grid;align-content:space-between;gap:13px;padding:16px;background:#0d2747; }.linked-partner-card strong,.linked-partner-card span,.linked-partner-card small { display:block; }.linked-partner-card strong { margin:4px 0;font-family:Georgia,serif;font-size:15px;font-weight:400; }.linked-partner-card span,.linked-partner-card small { color:var(--muted);font-size:9px; }.partner-project-panel { margin-bottom:14px; }
@media (max-width:1250px) { .partner-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:980px) { .linked-partner-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px) { .partner-grid,.linked-partner-grid { grid-template-columns:1fr; }.partner-toolbar { align-items:stretch;flex-direction:column; }.partner-toolbar select { min-width:0;width:100%; }.partner-card { min-height:245px; }.partner-picker { grid-template-columns:1fr; } }

.migrated-label { color:var(--gold);font-size:9px;font-weight:800; }.archive-panel { overflow:hidden; }.archive-toolbar { min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line-soft); }.archive-toolbar select { min-width:220px; }.archive-toolbar .inline-search { flex:1; }.archive-list { display:grid; }.archive-item { min-height:78px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;padding:13px 18px;border-bottom:1px solid var(--line-soft); }.archive-item:last-child { border:0; }.archive-item strong,.archive-item span,.archive-item small { display:block; }.archive-item strong { font-size:11px; }.archive-item span { margin-top:5px;color:#bdc9d8;font-size:10px;line-height:1.45; }.archive-item small { margin-top:5px;color:var(--muted);font-size:9px; }.archive-item>b { padding:5px 8px;border-radius:99px;color:var(--gold);background:rgba(210,181,101,.08);font-size:8px;text-transform:uppercase; }.archive-item div { min-width:0; }
@media (max-width:760px) { .archive-toolbar { align-items:stretch;flex-direction:column; }.archive-toolbar select { min-width:0;width:100%; }.archive-item { grid-template-columns:1fr; }.archive-item>b { justify-self:start; } }

@media print {
  body { background:#fff!important; }
  .sidebar,.topbar,.page-heading,.project-hero,.project-tabs,.report-editor,.report-preview-shell>.panel-head,.mobile-fab,.toast { display:none!important; }
  .app-shell,main,.content,.view,.project-tab,.report-workspace,.report-preview-shell { display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important; }
  .view:not(#projectsView),.project-tab:not(#projectReportsTab) { display:none!important; }
  .report-sheet { min-height:0;margin:0;padding:15mm;color:#111;box-shadow:none; }
  @page { size:A4;margin:0; }
}

@media (max-width: 1120px) { .kpi-grid { grid-template-columns: repeat(2,1fr); }.dashboard-grid, .task-layout { grid-template-columns: 1fr; }.contact-cards { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 760px) {
  .app-shell { display: block; }.sidebar { position: fixed; left: -270px; width: 252px; transition: left .2s ease; box-shadow: 20px 0 60px rgba(0,0,0,.4); }.sidebar.open { left: 0; }.menu-button { display: block; }.topbar { height: 66px; padding: 0 16px; }.global-search { flex: 1; width: auto; }.save-status { display: none; }.topbar-actions .primary { display: none; }.content { padding: 22px 14px; }.page-heading { align-items: flex-start; flex-direction: column; }.page-heading .ghost { display: none; }.compact-heading { align-items: stretch; }.heading-actions { justify-content: space-between; }.kpi-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.kpi-card { min-height: 115px; padding: 15px; }.kpi-card strong { font-size: 23px; }.dashboard-grid { gap: 12px; }.legend { display: none; }.contact-cards { grid-template-columns: 1fr; }.task-item { grid-template-columns: 25px 1fr auto; }.priority-tag { display: none; }.form-grid { grid-template-columns: 1fr; }.form-grid label.full { grid-column: auto; }.dialog-actions { grid-template-columns: 1fr 1fr; }.dialog-actions > span { display: none; }.dialog-actions .danger { grid-column: 1/-1; }.funnel-row { grid-template-columns: 78px 1fr 24px; }.pipeline-board { margin-right: -14px; }.table-wrap { margin-right: -14px; }
  .mobile-fab { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 15; display: block; min-height: 46px; border-radius: 99px; box-shadow: 0 14px 35px rgba(0,0,0,.4); }
  .toast { right: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); }
}
@media (max-width: 430px) { .kpi-grid { grid-template-columns: 1fr; }.page-heading h1 { font-size: 32px; }.priority-item { padding-inline: 14px; }.global-search input { font-size: 12px; } }

/* Studio social Insignia */
.social-heading { margin-bottom:14px; }
.social-status-bar { min-height:52px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px 14px;border:1px solid rgba(13,31,60,.1);border-radius:10px;background:rgba(255,255,255,.62);box-shadow:0 8px 25px rgba(13,31,60,.045); }
.social-status-bar>small { flex-basis:100%;color:#9d4d52;font-size:9px; }
.integration-pill { display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(13,31,60,.09);border-radius:99px;color:#536174;background:rgba(13,31,60,.04);font-size:9px;font-weight:800; }
.integration-pill i { width:7px;height:7px;border-radius:50%;background:#a5adba;box-shadow:0 0 0 3px rgba(165,173,186,.12); }
.integration-pill.ready { color:#276f58;background:rgba(54,139,107,.08); }.integration-pill.ready i { background:#48a67e;box-shadow:0 0 0 3px rgba(72,166,126,.14); }
.integration-pill.local { color:#725d2d;background:rgba(200,165,90,.11); }.integration-pill.local i { background:var(--gold);box-shadow:0 0 0 3px rgba(200,165,90,.15); }
.social-workspace { display:grid;grid-template-columns:minmax(330px,.72fr) minmax(520px,1.28fr);gap:14px;margin-bottom:14px;align-items:start; }
.social-composer-panel,.social-editor-panel { overflow:hidden; }.social-editor-panel { position:sticky;top:90px; }
.social-review-note { padding:6px 9px;border-radius:99px;color:#725d2d;background:rgba(200,165,90,.12);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em; }
.social-composer { display:grid;gap:14px;padding:18px; }.social-composer>label,.social-form-row label { display:grid;gap:7px;color:var(--navy-soft);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em; }
.social-composer input,.social-composer select,.social-composer textarea,.social-editor input,.social-editor textarea { border-color:rgba(13,31,60,.13);color:var(--ink);background:rgba(255,255,255,.76); }.social-composer textarea,.social-editor textarea { resize:vertical;line-height:1.55; }
.social-form-row { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.social-networks { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px;border:1px solid rgba(13,31,60,.11);border-radius:9px; }.social-networks legend { padding:0 5px;color:var(--navy-soft);font-size:9px;font-weight:800;text-transform:uppercase; }.social-networks label { min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid rgba(13,31,60,.09);border-radius:7px;color:var(--ink);background:rgba(255,255,255,.55);font-size:10px;font-weight:800;cursor:pointer; }.social-networks input { width:auto; }.social-networks label span { width:23px;height:23px;display:grid;place-items:center;border-radius:6px;color:#fff;background:var(--navy);font-size:9px; }
.social-media-field { position:relative;min-height:92px;align-content:center;padding:15px;border:1px dashed rgba(13,31,60,.23);border-radius:9px;text-align:center;background:rgba(13,31,60,.025);cursor:pointer; }.social-media-field input { position:absolute;inset:0;opacity:0;cursor:pointer; }.social-media-field span { color:var(--ink);font-size:10px;text-transform:none; }.social-media-field small { color:#738094;font-size:8px;text-transform:none; }
.social-media-preview { display:grid;grid-template-columns:1fr 1fr;gap:8px; }.social-media-preview:empty { display:none; }.social-media-preview article { display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:center;padding:8px;border:1px solid rgba(13,31,60,.09);border-radius:9px;background:rgba(255,255,255,.55); }.social-media-preview img,.social-media-preview video { width:78px;height:68px;border-radius:8px;object-fit:cover;background:#071b32; }.social-media-preview strong,.social-media-preview small { display:block; }.social-media-preview strong { font-size:9px; }.social-media-preview small { margin:4px 0;color:#657386;font-size:8px; }.social-generate { min-height:44px; }
.social-workflow-step { display:grid;gap:12px;padding:14px;border:1px solid rgba(13,31,60,.12);border-radius:10px;background:rgba(255,255,255,.24); }
.social-step-head { display:flex;align-items:center;gap:10px; }.social-step-head>span { width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#347e63;font-size:10px;font-weight:900; }.social-step-head strong,.social-step-head small { display:block; }.social-step-head strong { color:var(--ink);font-size:12px; }.social-step-head small { margin-top:3px;color:#68768a;font-size:8px;line-height:1.45; }
.social-visual-step { border-color:rgba(54,139,107,.28);background:linear-gradient(145deg,rgba(240,249,244,.88),rgba(244,240,232,.8)); }
.social-visual-lock { display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(13,31,60,.14);border-radius:9px;color:#526176;background:rgba(13,31,60,.06); }.social-visual-lock>span { font-size:17px; }.social-visual-lock strong,.social-visual-lock small { display:block; }.social-visual-lock strong { font-size:10px; }.social-visual-lock small { margin-top:3px;font-size:8px;line-height:1.45; }
.social-visual-step.locked .social-mode-picker,.social-visual-step.locked>.ai-act-compliance { opacity:.58; }
.social-visual-generator,.ai-act-compliance { margin:0;padding:13px;border:1px solid rgba(13,31,60,.11);border-radius:9px;background:rgba(255,255,255,.35); }.social-visual-generator legend,.ai-act-compliance legend { padding:0 6px;color:var(--navy-soft);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em; }.social-visual-generator label { display:grid;gap:6px;color:var(--navy-soft);font-size:9px;font-weight:800;text-transform:uppercase; }.social-visual-generator button { width:100%;margin-top:10px; }
.social-visual-generator #generateSocialVisual { min-height:50px;border:1px solid var(--gold);color:#fff7df;background:linear-gradient(135deg,#1a466f,#0d2747);box-shadow:0 9px 26px rgba(13,39,71,.24);font-size:11px;letter-spacing:.01em; }
.social-visual-generator #generateSocialVisual:hover:not(:disabled) { filter:brightness(1.12);box-shadow:0 11px 30px rgba(13,39,71,.3); }
.social-visual-generator #generateSocialVisual:disabled { opacity:1;color:#56677a;border-color:rgba(13,31,60,.2);background:#dfe4e4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);cursor:not-allowed; }
.social-ai-availability { display:block;margin-top:9px;color:#875f22;font-size:8px;font-weight:700;line-height:1.45;text-align:center; }.social-ai-availability.ready { color:#277054;font-weight:900; }
.social-sources { padding:0 16px;background:rgba(255,255,255,.68); }.social-sources:empty { display:none; }.social-sources>strong { display:block;padding-top:12px;color:var(--navy-soft);font-size:9px;text-transform:uppercase; }.social-sources>div { display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 14px; }.social-sources a { max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;border-radius:99px;color:var(--navy);background:rgba(13,31,60,.06);font-size:8px;text-decoration:none; }
.ai-act-compliance { display:grid;gap:10px;margin:0;padding:14px;border:1px solid rgba(39,112,84,.2);border-radius:9px;background:rgba(54,139,107,.045); }.ai-act-compliance legend { padding:0 6px;color:#277054;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em; }.ai-act-compliance>label:not(.ai-act-check) { display:grid;gap:7px;color:var(--navy-soft);font-size:9px;font-weight:800;text-transform:uppercase; }.ai-act-check { display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:8px;color:var(--ink)!important;font-size:9px!important;font-weight:600!important;line-height:1.45;text-transform:none!important;letter-spacing:0!important; }.ai-act-check input { width:auto;margin-top:2px; }.ai-act-compliance p { margin:2px 0 0;padding-top:9px;border-top:1px solid rgba(39,112,84,.13);color:#607265;font-size:8px;line-height:1.5; }
.social-editor { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(13,31,60,.09); }.social-editor-empty { grid-column:1/-1;min-height:420px;display:grid;place-items:center;align-content:center;gap:10px;padding:50px;text-align:center;background:rgba(255,255,255,.58); }.social-editor-empty>span { width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(200,165,90,.35);border-radius:50%;color:#9e7b32;background:rgba(200,165,90,.1);font-size:22px; }.social-editor-empty strong { font-family:Georgia,serif;font-size:20px;font-weight:400; }.social-editor-empty p { max-width:390px;margin:0;color:#647286;font-size:10px;line-height:1.6; }
.social-title-field { grid-column:1/-1;display:grid;gap:6px;padding:14px 16px;color:var(--navy-soft);background:rgba(255,255,255,.72);font-size:9px;font-weight:800;text-transform:uppercase; }.social-title-field input { font-family:Georgia,serif;font-size:17px; }
.ai-act-editor-note { grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:11px 16px;color:#245f4b;background:rgba(54,139,107,.08); }.ai-act-editor-note>span { padding:5px 7px;border-radius:5px;color:#fff;background:#347e63;font-size:8px;font-weight:900;letter-spacing:.06em; }.ai-act-editor-note strong,.ai-act-editor-note small { display:block; }.ai-act-editor-note strong { font-size:10px; }.ai-act-editor-note small { margin-top:3px;color:#547064;font-size:8px; }
.network-editor { min-width:0;padding:15px;background:rgba(255,255,255,.67); }.network-editor header { display:flex;align-items:center;gap:9px;margin-bottom:10px; }.network-editor header strong,.network-editor header small { display:block; }.network-editor header strong { color:var(--ink);font-size:11px; }.network-editor header small { margin-top:2px;color:#748195;font-size:8px; }.network-icon { width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--navy);font-size:10px;font-weight:900; }.network-editor.instagram .network-icon { background:linear-gradient(135deg,#763ac7,#db4865,#efa44f); }.network-editor.facebook .network-icon { background:#1877f2; }.network-editor.linkedin .network-icon { background:#0a66c2; }.network-editor.googlebusiness .network-icon { background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335); }.network-editor textarea { width:100%;min-height:190px;font-size:10px; }
.social-editor-actions { display:flex;justify-content:flex-end;gap:8px;padding:14px 16px;border-top:1px solid rgba(13,31,60,.09);background:rgba(255,255,255,.68); }.social-editor-actions .approve { color:#277054;border-color:rgba(39,112,84,.24); }.social-editor-actions button:disabled { opacity:.45;cursor:not-allowed; }
.social-post-status { display:inline-flex;width:max-content;padding:5px 8px;border-radius:99px;color:#6d5a2d;background:rgba(200,165,90,.13);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em; }.social-post-status.approved { color:#287158;background:rgba(54,139,107,.1); }.social-post-status.scheduled,.social-post-status.published { color:#215f9a;background:rgba(39,113,180,.1); }.social-post-status.error,.social-post-status.partial { color:#9a4d51;background:rgba(174,74,79,.1); }
.social-calendar-panel { overflow:hidden; }.social-post-list { display:grid; }.social-post-card { min-height:91px;display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid rgba(13,31,60,.08); }.social-post-card:last-child { border-bottom:0; }.social-post-date { width:48px;height:54px;display:grid;place-items:center;align-content:center;border:1px solid rgba(13,31,60,.1);border-radius:9px;background:rgba(13,31,60,.035); }.social-post-date b { font-family:Georgia,serif;font-size:18px;font-weight:400; }.social-post-date span { color:#738095;font-size:8px;text-transform:uppercase; }.social-post-main { min-width:0; }.social-post-main>div { display:flex;align-items:center;gap:9px; }.social-post-main strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px; }.social-post-main>small { display:block;margin-top:7px;color:#728095;font-size:9px; }.social-post-main p { margin:6px 0 0;color:#9a4d51;font-size:8px; }.social-post-networks { display:flex;gap:5px; }.social-post-networks span { width:26px;height:26px;display:grid;place-items:center;border-radius:7px;color:var(--navy);background:rgba(13,31,60,.06);font-size:8px;font-weight:900; }.social-post-actions { min-width:118px;display:flex;align-items:center;justify-content:flex-end;gap:6px; }.social-post-actions>span { color:#728095;font-size:8px; }
@media (max-width:1180px) { .social-workspace { grid-template-columns:1fr; }.social-editor-panel { position:static; } }
@media (max-width:760px) { .social-status-bar { align-items:stretch; }.integration-pill { justify-content:center; }.social-form-row,.social-editor { grid-template-columns:1fr; }.social-title-field,.social-editor-empty { grid-column:auto; }.social-editor-actions { display:grid;grid-template-columns:1fr; }.social-post-card { grid-template-columns:48px minmax(0,1fr); }.social-post-networks,.social-post-actions { grid-column:2;justify-content:flex-start; }.social-networks { grid-template-columns:1fr; } }

.entity-workspace { display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(360px,.8fr);gap:14px;align-items:start; }.entity-editor-panel { position:sticky;top:90px; }.entity-grid { display:grid;gap:1px;background:rgba(13,31,60,.08); }.entity-card { display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;background:rgba(255,255,255,.72); }.entity-card.selected { box-shadow:inset 3px 0 var(--gold); }.entity-logo { width:72px;height:62px;display:grid;place-items:center;padding:7px;border:1px solid rgba(13,31,60,.08);border-radius:9px;background:#fff;overflow:hidden; }.entity-logo img { max-width:100%;max-height:100%;object-fit:contain; }.entity-logo span { font-family:Georgia,serif;color:var(--navy);font-size:19px; }.entity-card strong,.entity-card small { display:block; }.entity-card small { margin-top:3px;color:#758095;font-size:8px; }.entity-card p { max-width:520px;margin:7px 0;color:#536175;font-size:9px;line-height:1.5; }.entity-colors { display:flex;gap:4px;margin:7px 0; }.entity-colors i { width:18px;height:18px;border:1px solid rgba(13,31,60,.1);border-radius:50%; }.entity-card-actions { display:flex;align-items:center;gap:5px; }.entity-form { display:grid;gap:13px;padding:18px; }.entity-form>label,.entity-form .social-form-row label { display:grid;gap:6px;color:var(--navy-soft);font-size:9px;font-weight:800;text-transform:uppercase; }.entity-form-actions { display:flex;justify-content:space-between;gap:8px;padding-top:4px; }
.entity-social-state { display:flex;align-items:center;gap:4px;margin-top:8px; }.entity-social-state i { width:22px;height:22px;display:grid;place-items:center;border-radius:6px;color:#8a94a3;background:rgba(13,31,60,.06);font-size:8px;font-style:normal;font-weight:900; }.entity-social-state i.connected { color:#fff;background:#287158; }.entity-social-state span { margin-left:4px;color:#657386;font-size:8px;font-weight:800; }.entity-connectors { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:2px 0 0;padding:13px;border:1px solid rgba(13,31,60,.12);border-radius:9px;background:rgba(13,31,60,.025); }.entity-connectors>strong,.entity-connectors>p,.entity-connectors>small { grid-column:1/-1; }.entity-connectors>strong { color:var(--navy-soft);font-size:9px;font-weight:900;text-transform:uppercase; }.entity-connectors>p,.entity-connectors>small { margin:0;color:#657386;font-size:8px;line-height:1.5; }
@media (max-width:1050px) { .entity-workspace { grid-template-columns:1fr; }.entity-editor-panel { position:static; } }
@media (max-width:760px) { .social-media-preview { grid-template-columns:1fr; }.entity-card { grid-template-columns:60px minmax(0,1fr); }.entity-logo { width:58px;height:54px; }.entity-card-actions { grid-column:2;justify-content:flex-start; }.entity-form-actions { display:grid; }.entity-connectors { grid-template-columns:1fr; }.entity-connectors>p,.entity-connectors>small { grid-column:auto; } }

/* Palette éditoriale du site Insignia : crème, bleu nuit et or chaud. */
main {
  color: var(--ink);
  background:
    radial-gradient(circle at 92% 3%, rgba(200,165,90,.18), transparent 24rem),
    radial-gradient(circle at 7% 88%, rgba(13,31,60,.08), transparent 28rem),
    linear-gradient(145deg, var(--cream-light), var(--cream) 42%, var(--cream-warm));
}
.content { min-height: calc(100vh - 76px); }
.sidebar {
  border-right-color: rgba(200,165,90,.34);
  background:
    radial-gradient(circle at 20% 0%, rgba(200,165,90,.16), transparent 16rem),
    linear-gradient(180deg, #0d1f3c, #081728 72%);
  box-shadow: 18px 0 55px rgba(10,22,40,.13);
}
.brand { border-bottom-color: rgba(200,165,90,.22); }
.nav-item { color: #c2ccda; transition: color .18s ease, background .18s ease, transform .18s ease; }
.nav-item:hover { color: var(--cream-light); background: rgba(244,240,232,.08); transform: translateX(2px); }
.nav-item.active {
  color: var(--ink);
  border-color: var(--gold-light);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  box-shadow: 0 10px 28px rgba(200,165,90,.22);
}
.nav-item.active > span { color: var(--ink); }
.sidebar-card { border-color: rgba(200,165,90,.28); background: linear-gradient(145deg, rgba(244,240,232,.09), rgba(200,165,90,.06)); }
.topbar {
  border-bottom-color: rgba(10,22,40,.1);
  color: var(--ink);
  background: rgba(255,250,241,.84);
  box-shadow: 0 8px 28px rgba(10,22,40,.07);
}
.global-search {
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid rgba(10,22,40,.1);
  border-radius: 99px;
  background: rgba(255,255,255,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.global-search input { color: var(--ink); }
.global-search input::placeholder { color: #718096; }
.topbar .save-status { color: #526276; }
.topbar .primary { box-shadow: 0 10px 24px rgba(200,165,90,.24); }
.page-heading p { color: #8d6b27; }
.page-heading h1 { color: var(--ink); text-shadow: 0 1px 0 rgba(255,255,255,.8); }
.page-heading > div > span { color: #657183; }
.page-heading .ghost { border-color: rgba(10,22,40,.18); color: var(--ink); background: rgba(255,255,255,.45); }
.primary, .ghost, .text-button, .row-action, .deal-card button, .platform-card a, .partner-actions button, .partner-actions a { transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background .18s ease; }
.primary { border-color: #b99342; background: linear-gradient(135deg, #ebd28e, #c8a55a); box-shadow: 0 9px 22px rgba(141,107,39,.18); }
.primary:hover { box-shadow: 0 13px 28px rgba(141,107,39,.28); }

.kpi-card {
  --kpi-accent: var(--gold);
  color: var(--ink);
  border-color: rgba(10,22,40,.1);
  background: rgba(255,250,241,.88);
  box-shadow: 0 15px 38px rgba(10,22,40,.09), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .2s ease, box-shadow .2s ease;
}
.kpi-card::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--kpi-accent); }
.kpi-card::after { border-color: rgba(10,22,40,.07); background: rgba(200,165,90,.04); }
.kpi-card:hover { transform: translateY(-3px); box-shadow: 0 20px 45px rgba(10,22,40,.14); }
.kpi-card > span { color: #667386; }
.kpi-card small { color: #68778b; }
.kpi-card:nth-child(2) { --kpi-accent: #7e9db7; background: rgba(255,255,255,.75); }
.kpi-card:nth-child(3) { --kpi-accent: #9b7b37; background: linear-gradient(145deg, #ead7ae, #d8bd7d); }
.kpi-card:nth-child(3) > span,.kpi-card:nth-child(3) small { color: #4e422e; }
.kpi-card:nth-child(4) { --kpi-accent: var(--gold-light); color: var(--cream-light); border-color: rgba(200,165,90,.25); background: linear-gradient(145deg, #143356, #0d1f3c); }
.kpi-card:nth-child(4) > span,.kpi-card:nth-child(4) small { color: #bec9d6; }
.kpi-card.warn { --kpi-accent: var(--orange); border-color: rgba(232,169,79,.5); }

.panel {
  color: var(--text);
  border-color: rgba(200,165,90,.2);
  background:
    radial-gradient(circle at 100% 0%, rgba(200,165,90,.09), transparent 16rem),
    linear-gradient(145deg, #102b4b, #0a1e38 74%);
  box-shadow: 0 20px 48px rgba(10,22,40,.14);
}
.panel-head { border-bottom-color: rgba(200,165,90,.13); }
.dashboard-grid > .panel:last-child {
  color: var(--ink);
  border-color: rgba(10,22,40,.1);
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(244,240,232,.94));
  box-shadow: 0 18px 42px rgba(10,22,40,.08);
}
.dashboard-grid > .panel:last-child .funnel-row label { color: #4f6075; }
.dashboard-grid > .panel:last-child .funnel-bar { background: rgba(10,22,40,.09); }
.dashboard-grid > .panel:last-child .funnel-bar i { background: linear-gradient(90deg, #0d1f3c, var(--gold)); }
.dashboard-grid > .panel:last-child .text-button { color: #7e5e20; }
.priority-item { transition: background .18s ease; }
.priority-item:hover { background: rgba(244,240,232,.045); }
.deals-table-panel tbody tr:hover { background: rgba(200,165,90,.07); }

.pipeline-column {
  --stage-accent: var(--gold);
  color: var(--ink);
  border-color: rgba(10,22,40,.12);
  background: rgba(255,250,241,.62);
  box-shadow: 0 13px 30px rgba(10,22,40,.07);
}
.pipeline-column.nouveau { --stage-accent: #7899b6; }
.pipeline-column.qualifie { --stage-accent: #a68fc2; }
.pipeline-column.visite { --stage-accent: #c8a55a; }
.pipeline-column.devis { --stage-accent: #d78d5b; }
.pipeline-column.negociation { --stage-accent: #e0a13b; }
.pipeline-column.gagne { --stage-accent: #4eb184; }
.pipeline-column-head { min-height: 58px; border-top: 4px solid var(--stage-accent); border-bottom-color: rgba(10,22,40,.09); background: rgba(255,255,255,.42); }
.pipeline-column-head strong { color: var(--ink); }
.pipeline-column-head span { color: #667386; }
.pipeline-column .empty-state { color: #778294; }
.deal-card {
  color: var(--text);
  border-color: rgba(255,255,255,.09);
  border-top-color: var(--stage-accent);
  background: linear-gradient(150deg, #17395f, #0d2747 72%);
  box-shadow: 0 12px 25px rgba(10,22,40,.15);
  transition: transform .18s ease, box-shadow .18s ease;
}
.deal-card:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(10,22,40,.22); }
.deal-card.overdue { border-top-color: var(--red); }

.inline-search { border-color: rgba(200,165,90,.18); background: rgba(255,255,255,.04); }
.platform-card {
  color: var(--ink);
  border-color: rgba(10,22,40,.1);
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(244,240,232,.88));
  box-shadow: 0 14px 34px rgba(10,22,40,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.platform-card:nth-child(3n+2) { color: var(--text); border-color: rgba(200,165,90,.22); background: linear-gradient(145deg, #143354, #0c223e); }
.platform-card:hover { transform: translateY(-3px); box-shadow: 0 20px 42px rgba(10,22,40,.13); }
.platform-card p { color: #667386; }
.platform-card:nth-child(3n+2) p { color: var(--muted); }
.platform-card a { color: var(--ink); border-color: rgba(10,22,40,.16); background: rgba(255,255,255,.5); }
.platform-card:nth-child(3n+2) a { color: var(--gold-light); border-color: var(--line); background: rgba(255,255,255,.025); }
.platform-card .platform-icon { color: var(--ink); border-color: rgba(10,22,40,.12); background: rgba(200,165,90,.2); }
.platform-card:nth-child(3n+2) .platform-icon { color: var(--gold-light); border-color: var(--line); background: rgba(200,165,90,.08); }

.contact-card,.stakeholder-card,.linked-partner-card { background: linear-gradient(145deg, #143354, #0d2747); }
.partner-card { background: linear-gradient(145deg, #15395f, #0b2442); }
.contact-card:nth-child(2n),.partner-card:nth-child(2n) { background: linear-gradient(145deg, #102c4e, #091e38); }
.contact-avatar,.partner-avatar { box-shadow: 0 8px 20px rgba(200,165,90,.12); }
.connector-card code,.connector-endpoints code { border-color: rgba(200,165,90,.2); background: #07182d; }
dialog { border-color: rgba(200,165,90,.35); background: linear-gradient(145deg, #102e50, #091d36); }
dialog::backdrop { background: rgba(10,22,40,.72); }
select,input,textarea { border-color: rgba(200,165,90,.18); background: #0d2949; }

@media (max-width:760px) {
  main { background: linear-gradient(160deg, var(--cream-light), var(--cream-warm)); }
  .topbar { background: rgba(255,250,241,.92); }
  .global-search { min-height: 40px; padding-inline: 11px; }
  .content { min-height: calc(100vh - 66px); }
  .kpi-card:hover,.platform-card:hover,.deal-card:hover { transform:none; }
}

.pennylane-status { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding:14px 18px; border:1px solid rgba(10,22,40,.12); border-radius:16px; color:var(--ink); background:rgba(255,255,255,.68); box-shadow:0 12px 28px rgba(10,22,40,.07); }
.pennylane-status > div { display:grid; gap:2px; flex:1; }
.pennylane-status small { color:#667386; }
.connection-dot { width:12px; height:12px; border-radius:50%; background:#d49c42; box-shadow:0 0 0 5px rgba(212,156,66,.14); }
.connection-dot.connected { background:#43a876; box-shadow:0 0 0 5px rgba(67,168,118,.14); }
.pennylane-grid { display:grid; grid-template-columns:1fr; gap:18px; margin-top:18px; }
.pennylane-grid td small { display:block; margin-top:3px; color:var(--muted); }
.pennylane-grid a { color:var(--gold-light); }
.pennylane-error { max-width:260px; color:#ffb1a8 !important; }
.pennylane-send { color:var(--ink); background:var(--gold-light); }
.pennylane-collector { display:grid; gap:18px; margin-top:18px; padding:24px; }
.pennylane-collector p { max-width:850px; margin:8px 0 0; color:var(--muted); line-height:1.55; }
.collector-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.collector-run { display:flex; align-items:flex-end; gap:9px; }
.collector-run label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.collector-run input { min-width:155px; }
.collector-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 15px; border:1px solid rgba(200,165,90,.2); border-radius:12px; background:rgba(200,165,90,.07); }
.collector-summary div { display:grid; gap:3px; }
.collector-summary span,.collector-summary small { color:var(--muted); }
.receipt-source-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.receipt-source-card { display:flex; flex-direction:column; justify-content:space-between; gap:15px; min-height:150px; padding:16px; border:1px solid rgba(200,165,90,.17); border-radius:14px; background:rgba(255,255,255,.03); }
.receipt-source-card.connected { border-color:rgba(67,168,118,.3); }
.receipt-source-card.error { border-color:rgba(255,100,90,.35); }
.receipt-source-card.syncing { border-color:rgba(83,161,255,.38); }
.receipt-source-card h3 { margin:5px 0; color:var(--cream-light); }
.receipt-source-card p { margin:0; font-size:12px; }
.receipt-source-card small { display:block; margin-top:7px; color:var(--muted); line-height:1.4; }
.source-type { color:var(--gold-light); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.source-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.source-actions a,.source-actions button { padding:7px 9px; border:1px solid rgba(200,165,90,.22); border-radius:8px; color:var(--gold-light); background:rgba(200,165,90,.07); text-decoration:none; font-size:10px; }
.source-actions .source-primary { color:#071d1b; border-color:var(--gold-light); background:var(--gold-light); font-weight:700; }
.source-actions .danger-link { color:#ffb1a8; border-color:rgba(255,100,90,.2); background:transparent; }
.receipt-source-form { display:grid; grid-template-columns:1.1fr .7fr 1.2fr 1fr 1.3fr auto; gap:9px; align-items:end; padding-top:4px; }
.receipt-source-form label { display:grid; gap:5px; color:var(--muted); font-size:10px; }
.form-grid > .full { grid-column:1/-1; }
.dialog-note { margin:4px 0 0; padding:12px 14px; border:1px solid rgba(200,165,90,.2); border-radius:12px; color:var(--muted); background:rgba(200,165,90,.07); }
.inline-field { display:flex; gap:8px; align-items:center; }
.inline-field input { flex:1; }
.inline-field button { white-space:nowrap; }
.field-help { display:block; margin-top:6px; color:var(--muted); }
.field-help.success { color:#9de2bd; }
.field-help.error { color:#ffb1a8; }
.contract-links { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:8px; }
.contract-links a,.contract-links button { padding:8px 11px; border:1px solid rgba(200,165,90,.28); border-radius:8px; color:var(--gold-light); background:rgba(200,165,90,.08); text-decoration:none; font-size:11px; }
#pennylaneInvoiceDialog { width:min(1080px,calc(100vw - 32px)); }
.invoice-dialog-card { width:auto; }
.invoice-client-summary { padding:14px; border:1px solid rgba(200,165,90,.2); border-radius:12px; color:var(--muted); background:rgba(255,255,255,.035); line-height:1.5; }
.invoice-client-summary strong { color:var(--cream-light); }
.invoice-client-summary.error { color:#ffb1a8; border-color:rgba(255,100,90,.35); }
.invoice-lines { display:grid; gap:10px; }
.invoice-lines-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.invoice-lines-head > div { display:flex; flex-wrap:wrap; gap:7px; }
.invoice-lines-head button { padding:7px 10px; }
.invoice-line { display:grid; grid-template-columns:92px minmax(220px,1fr) 90px 100px 130px 90px 34px; gap:8px; align-items:end; padding:10px; border:1px solid rgba(200,165,90,.14); border-radius:10px; background:rgba(255,255,255,.025); }
.invoice-line label { font-size:10px; }
.invoice-line.text-line { grid-template-columns:92px minmax(260px,1fr) 34px; }
.invoice-line-remove { width:34px; height:38px; border:1px solid rgba(255,110,100,.25); border-radius:8px; color:#ffb1a8; background:rgba(255,100,90,.08); }
.invoice-total { justify-self:end; padding:10px 14px; border-radius:10px; color:var(--cream-light); background:rgba(200,165,90,.12); font-weight:700; }
.stage-pill.sent,.stage-pill.imported,.stage-pill.matched,.stage-pill.paid { color:#9de2bd; border-color:rgba(67,168,118,.32); background:rgba(67,168,118,.12); }
.stage-pill.draft,.stage-pill.finalized { color:#f3d593; border-color:rgba(200,165,90,.32); background:rgba(200,165,90,.12); }

@media (max-width:760px) {
  .pennylane-status { align-items:flex-start; flex-direction:column; }
  .collector-head,.collector-summary,.collector-run { align-items:stretch; flex-direction:column; }
  .receipt-source-form { grid-template-columns:1fr; }
  #pennylaneInvoiceDialog .form-grid,#pennylaneReceiptDialog .form-grid { grid-template-columns:1fr; }
  #pennylaneInvoiceDialog .form-grid .full,#pennylaneReceiptDialog .form-grid .full { grid-column:auto; }
  .form-grid > .full { grid-column:auto; }
  .invoice-line,.invoice-line.text-line { grid-template-columns:1fr; }
  .invoice-line-remove { width:100%; }
  .invoice-lines-head { align-items:flex-start; flex-direction:column; }
}
