/* GestPrime Workspace — clear hierarchy, compact navigation, consistent surfaces. */
:root { --workspace-accent:#137d67; --workspace-ink:#192d36; --workspace-muted:#71818b; --workspace-line:#e3e9e9; }
body.app-shell { --workspace-sidebar-width:246px; --workspace-left:246px; --workspace-header-height:72px; --workspace-action-height:0px; }
body.app-shell.sidebar-collapsed { --workspace-left:0px; }
body.app-shell { background:#f5f7f8!important; color:var(--workspace-ink)!important; font-family:Inter,'Segoe UI',system-ui,sans-serif!important; font-size:14px; }
body.app-shell .sidebar { top:0; width:246px; min-width:246px; max-width:246px; height:100vh; padding:0 0 20px; background:#fff; border-right:1px solid var(--workspace-line); box-shadow:none; z-index:1045; }
body.app-shell .sidebar.collapsed { margin-left:-246px; }
.brand-lockup { height:91px; margin:0!important; padding:25px 24px!important; gap:11px; color:#193a3c!important; font-size:21px; font-weight:750!important; letter-spacing:-.8px; }
.brand-lockup:hover { background:none!important; transform:none!important; }
.brand-lockup small { display:block; margin-top:2px; color:#78928e; font-size:8px; letter-spacing:1.5px; font-weight:750; }
.brand-symbol { display:grid; place-items:center; width:37px; height:40px; background:#e6f4ec; border-radius:12px; color:#168d6c; font-size:18px; }
body.app-shell .sidebar .nav { padding:4px 15px!important; }
.nav-section-label { font-size:9px; letter-spacing:1.4px; font-weight:750; color:#9aa6ab; padding:22px 13px 8px!important; }
body.app-shell .sidebar .nav-link { min-height:43px; color:#697b84; font-weight:550; border-radius:8px; font-size:12.5px; margin:2px 0; padding:11px 13px; gap:12px; }
body.app-shell .sidebar .nav-link i { color:#8a9ba3; font-size:14px; }
body.app-shell .sidebar .nav-link:hover { color:#176b59; background:#f3f8f6; transform:none; }
body.app-shell .sidebar .nav-link.active { color:#15765f; background:#e9f5ee; font-weight:700; box-shadow:none; }
body.app-shell .sidebar .nav-link.active i { color:#16805f; }
body.app-shell .sidebar .submenu { border-left:1px solid #d9e8df; margin-left:23px; padding-left:7px; }
body.app-shell .sidebar .submenu .nav-link { font-size:11.5px; }
.sidebar-footer { margin:26px 27px 0; padding-top:20px; border-top:1px solid #eaf0ed; color:#597168; font-weight:600; font-size:10px; }
.sidebar-footer small { display:block; color:#96a39e; margin-top:5px; font-size:9px; font-weight:400; }
.workspace-dot { display:inline-block; width:6px; height:6px; background:#60b28c; border-radius:50%; margin-right:5px; }
body.app-shell .header { left:246px; width:calc(100% - 246px); height:72px; padding:0 32px; border-bottom:1px solid #e6ebed; box-shadow:none; background:#fff; }
body.app-shell .sidebar.collapsed ~ .header { left:0; width:100%; }
.topbar-context,.topbar-actions { display:flex; align-items:center; gap:20px; }
body.app-shell #sidebarToggleBtn { width:30px; height:30px; border-radius:6px; color:#89979d; background:none; font-size:14px; }
.topbar-breadcrumb { color:#9ba6ad; font-size:11px; }
.topbar-breadcrumb i { margin:0 13px; font-size:7px; color:#b7c1c4; }
.topbar-breadcrumb strong { color:#516670; font-weight:500; }
body.app-shell .header .topbar-new { margin:0; padding:8px 12px; border:1px solid #d8e8df; border-radius:7px; color:#28745e; font-size:11px; }
.topbar-new i { margin-right:5px; }
body.app-shell .header .topbar-calendar { margin:0; color:#86979e; font-size:17px; }
.profile-toggle { display:flex; align-items:center; gap:10px; background:none; border:0; text-align:left; color:#556a70; padding:0; }
.profile-toggle>i { font-size:10px; color:#97a5a8; }
body.app-shell .dropdown-profile { width:33px; height:33px; font-size:11px; color:#467765; background:#eaf2ed; border-radius:50%; }
.profile-name { font-size:11px; font-weight:650; }
.profile-name small { display:block; font-size:9px; color:#98a4a9; font-weight:400; }
body.app-shell .header .dropdown-content { top:32px; min-width:215px; border:1px solid #e7eeeb; box-shadow:0 14px 36px #243d4318; border-radius:9px; }
body.app-shell .header .dropdown:hover .dropdown-content { display:none; }
body.app-shell .header .dropdown.profile-open .dropdown-content { display:block; }
.profile-logout { background:none; border:0; text-align:left; color:#596e76; width:100%; padding:12px 16px; font-size:12px; }
.profile-logout i { margin-right:8px; }
body.app-shell .content { margin-top:72px; padding:30px 32px 50px; min-height:calc(100vh - 72px); }
body.app-shell .content.content-shifted { margin-left:246px; width:calc(100% - 246px); }
body.app-shell .container-fluid { max-width:1480px; padding-left:0; padding-right:0; }
body.app-shell .auth-only-logo { display:none; }
.mobile-nav-close { display:none; }
body.app-shell .btn { font-size:12px; font-weight:600; border-radius:7px; min-height:37px; padding:9px 14px; transition:background .15s; box-shadow:none!important; }
body.app-shell .btn-primary,body.app-shell .btn-success { background:#177c62; border-color:#177c62; }
body.app-shell .btn-info { background:#f0f7f4; border:1px solid #d9e9e0; color:#27735f; }
body.app-shell .btn-light { background:#fff; border:1px solid #dfe7e6; color:#61737c; }
body.app-shell .btn-sm { min-height:30px; font-size:11px; padding:6px 10px; }
body.app-shell .btn:hover { transform:none; }
body.app-shell .form-control { border-color:#dce5e4; border-radius:7px; min-height:40px; font-size:12px; color:#334c57; }
body.app-shell .form-control:focus { border-color:#56a98b; box-shadow:0 0 0 3px #16846313; }
/* Visible labels never share the control's text area (including Select2). */
body.app-shell .form-group > label:not(.custom-control-label):not(.form-check-label),
body.app-shell .crm-form-grid label {
  position:static!important; inset:auto!important; transform:none!important;
  display:block; margin:0 0 7px; padding:0!important; background:transparent!important;
  color:#526773!important; font-size:12px!important; line-height:1.4; font-weight:600;
  pointer-events:auto!important; transition:none!important;
}
body.app-shell .form-group.standard-field { display:block!important; }
body.app-shell .form-group.field-with-action > input { width:calc(100% - 50px); }
body.app-shell .form-group.field-with-action > a { position:absolute; right:0; bottom:0; }
body.app-shell .geo-field { position:relative; }
body.app-shell .geo-suggestions {
  position:absolute; top:100%; left:0; right:0; z-index:1100;
  max-height:270px; overflow-y:auto; background:#fff; border:1px solid #d5e2e7;
  border-radius:10px; box-shadow:0 10px 30px #163d5324; margin-top:4px;
}
body.app-shell .geo-suggestions[hidden] { display:none!important; }
body.app-shell .geo-suggestions button {
  display:block; width:100%; text-align:left; padding:12px 14px; border:0;
  border-bottom:1px solid #edf2f4; background:#fff; color:#304c5a; font-size:14px;
}
body.app-shell .geo-suggestions button:hover,
body.app-shell .geo-suggestions button[aria-selected="true"] { background:#e8f5ef; color:#08765f; }
body.app-shell .location-status { margin:4px 0 18px; color:#617681; font-size:13px; min-height:20px; }
body.app-shell .content .crm-page .crm-hero,body.app-shell .dashboard-page .welcome-panel,body.app-shell .proposals-page .page-header { background:none; border:0; border-radius:0; box-shadow:none; padding:4px 0 24px; margin-bottom:0; }
body.app-shell .content .crm-page .crm-hero h1,body.app-shell .dashboard-page .welcome-panel h1,body.app-shell .proposals-page .page-header h2 { color:#243d47; font-size:25px; letter-spacing:-.9px; font-weight:700; }
body.app-shell .content .crm-page .crm-hero p,body.app-shell .dashboard-page .welcome-panel p,body.app-shell .proposals-page .page-header p { color:#849299; font-size:12px; margin-top:8px; }
body.app-shell .crm-page .crm-eyebrow,body.app-shell .dashboard-page .welcome-panel .eyebrow { color:#419777; font-size:9px; letter-spacing:1.4px; font-weight:700; }
body.app-shell .crm-page .crm-hero .btn-light { background:#fff; color:#61737c; border:1px solid #dfe7e6; }
body.app-shell .crm-page .crm-hero .btn-success { background:#177c62; color:#fff; border:1px solid #177c62; }
body.app-shell .crm-panel,body.app-shell .panel,body.app-shell .shadow-container,body.app-shell .table-card,body.app-shell .filter-panel { border:1px solid #e3e9e9; border-radius:11px; box-shadow:0 2px 3px #2c424303; }
body.app-shell .crm-page .crm-stat-card,body.app-shell .dashboard-page .metric-card,body.app-shell .dashboard-page .mini-card { border:1px solid #e3e9e9; border-radius:10px; background:#fff; box-shadow:none; }
body.app-shell .crm-page .crm-stat-card::before { display:none; }
body.app-shell .dashboard-page .metric-card { min-height:146px; padding:20px; position:relative; }
body.app-shell .dashboard-page .metric-card>i { position:absolute; right:18px; top:18px; width:30px; height:30px; background:#f0f7f3; border-radius:8px; display:grid; place-items:center; color:#579f80; font-size:13px; }
body.app-shell .dashboard-page .metric-card span { max-width:75%; color:#819097; font-size:10px; text-transform:none; letter-spacing:0; font-weight:550; }
body.app-shell .dashboard-page .metric-card strong { font-size:27px; color:#253f49; padding-top:9px; letter-spacing:-1px; }
body.app-shell .dashboard-page .metric-card small { font-size:10px; color:#8e9ba2; }
body.app-shell .dashboard-page .metric-card.dark,body.app-shell .crm-page .crm-stat-card.dark { background:#edf6f1; border-color:#d6e7dd; }
body.app-shell .dashboard-page .metric-card.dark strong,body.app-shell .crm-page .crm-stat-card.dark strong { color:#257358; }
body.app-shell .dashboard-page .metric-card.dark small,body.app-shell .crm-page .crm-stat-card.dark small,body.app-shell .crm-page .crm-stat-card.dark span { color:#649681; }
body.app-shell .dashboard-page .mini-card { min-height:87px; padding:14px 17px; }
body.app-shell .dashboard-page .mini-card span { font-size:9px; letter-spacing:0; text-transform:none; }
body.app-shell .dashboard-page .mini-card small { font-size:9px; }
body.app-shell .dashboard-page .mini-card strong { font-size:22px; }
body.app-shell .dashboard-page .metric-card:hover,body.app-shell .dashboard-page .mini-card:hover { transform:none; box-shadow:none; }
body.app-shell .dashboard-page .panel-title h2 { font-size:14px; font-weight:650; }
body.app-shell .dashboard-page .panel-title p { font-size:10px; }
body.app-shell .crm-table th,body.app-shell .table thead th { color:#8b9a9f; font-size:9px; letter-spacing:.6px; background:#fafcfc; border-bottom:1px solid #e3eae7; padding:14px; }
body.app-shell .table td,body.app-shell .crm-table td { font-size:12px; vertical-align:middle; padding:16px 14px; border-top:1px solid #eef2f0; }
body.app-shell .crm-kanban { gap:14px; }
body.app-shell .crm-kanban-column { min-width:265px; background:#f4f7f6; border:1px solid #e3ebe6; border-radius:10px; padding:15px; }
body.app-shell .crm-mini-card { border:1px solid #e0e8e2; border-radius:8px; box-shadow:0 2px 3px #223b3403; padding:15px; background:#fff; }
body.app-shell .crm-badge { font-size:9px; padding:4px 8px; border-radius:5px; }
body.app-shell .kit-catalog-card { border-radius:10px; box-shadow:none; }
body.app-shell .kit-catalog-title { font-size:15px; font-weight:650; }
body.app-shell .kit-catalog-price { color:#256b56; }
.workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.workspace-heading h1 { font-size:26px; font-weight:700; letter-spacing:-.9px; margin:8px 0; }
.workspace-heading p { margin:0; color:#89969c; font-size:12px; }
.workspace-heading .eyebrow { color:#439378; font-size:9px; font-weight:700; letter-spacing:1.3px; }
.agenda-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.agenda-metric { display:flex; flex-direction:column; padding:18px 21px; background:#fff; border:1px solid #e1e8e5; border-radius:10px; color:inherit; }
.agenda-metric:hover { text-decoration:none; color:inherit; }
.agenda-metric span { color:#798d90; font-size:11px; }.agenda-metric span i { margin-right:6px; }
.agenda-metric strong { font-size:30px; font-weight:650; letter-spacing:-1px; margin:8px 0 0; }
.agenda-metric small { font-size:10px; color:#98a4a7; }
.agenda-metric.warning { border-color:#eadfc8; background:#fffcf7; }.agenda-metric.warning strong { color:#bd8c3b; }
.work-panel { border:1px solid #e1e8e6; border-radius:11px; background:#fff; overflow:hidden; margin-bottom:22px; }
.work-tabs { display:flex; align-items:center; gap:25px; padding:0 24px; height:60px; border-bottom:1px solid #e9efeb; font-size:11px; }
.work-tabs a { align-self:stretch; display:flex; align-items:center; color:#8c9a9d; border-bottom:2px solid transparent; }
.work-tabs a.selected { border-color:#209773; color:#26745d; font-weight:700; }
.work-filters { display:flex; align-items:center; gap:10px; padding:20px 24px; background:#fcfdfd; }
.work-filters input { flex:2; }.work-filters select { flex:1; }.work-filters .btn { flex-shrink:0; }
.activity-row { display:flex; align-items:center; gap:19px; padding:22px 24px; border-top:1px solid #eef2ef; }
.activity-date { min-width:56px; border:1px solid #e4ece7; background:#f9fcfa; border-radius:8px; text-align:center; padding:8px 4px; }
.activity-date strong { display:block; font-size:21px; font-weight:650; color:#578674; }.activity-date span { font-size:8px; color:#8eaaa0; }
.activity-main { flex:1; min-width:0; }.activity-main h3 { font-size:13px; margin:8px 0; font-weight:650; }.activity-main h3 a { color:#3e5661; }.activity-main p { font-size:10px; color:#92a0a6; margin:0; }.activity-main p>span { padding:0 7px; }.activity-main p>a { color:#548e7b; margin-left:9px; }
.activity-tags { display:flex; gap:5px; flex-wrap:wrap; }.tag { font-size:8px; padding:3px 7px; border-radius:4px; color:#658677; background:#eff6f1; font-weight:600; }.tag-amber { background:#fbf4e8; color:#b48a40; }.tag-red { background:#fcf0ee; color:#b57768; }
.activity-actions { display:flex; gap:7px; }.activity-row.overdue .activity-date { border-color:#ecdcca; background:#fffbf4; }.activity-row.overdue .activity-date strong { color:#bb9856; }
.work-empty { padding:60px 20px; text-align:center; color:#8a9a9f; }.work-empty>i { font-size:28px; color:#83b29e; background:#f0f7f3; padding:20px; border-radius:20px; margin-bottom:18px; }.work-empty h3 { font-size:17px; color:#45625b; }.work-empty p { font-size:12px; margin-bottom:23px; }
.work-pagination { display:flex; justify-content:center; gap:30px; padding:20px; font-size:12px; border-top:1px solid #edf2ee; }
.back-link { color:#749284; font-size:11px; }.back-link i { margin-right:6px; }
.activity-form { padding:30px; max-width:1040px; }.form-section-heading { display:flex; gap:13px; margin:0 0 25px; }.form-section-heading:not(:first-of-type) { border-top:1px solid #ecf0ee; padding-top:26px; margin-top:15px; }.form-section-heading>span { display:grid; place-items:center; width:32px; height:32px; border:1px solid #dbeade; border-radius:9px; background:#f2f8f3; color:#5c9478; font-size:11px; }.form-section-heading h2 { font-size:14px; margin:0 0 4px; }.form-section-heading p { font-size:11px; color:#91a09f; margin:0; }
.work-form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.work-field { margin-bottom:24px; }.work-field>label { display:block; position:static; color:#71867e; font-size:11px; font-weight:600; margin:0 0 8px; }.work-field .form-control { background:#fcfdfc; }.work-form-footer { border-top:1px solid #eaf0ec; padding-top:23px; display:flex; justify-content:flex-end; gap:10px; }.task-history { max-width:1040px; padding:25px; }.task-history h2 { font-size:14px; margin-bottom:20px; }.task-history p { color:#9aaba4; font-size:11px; }.task-history .tag { margin-left:10px; }
.day-focus { display:grid; grid-template-columns:1.6fr 1fr; gap:18px; margin-bottom:20px; }.day-focus .work-panel { margin:0; }.focus-heading { display:flex; align-items:center; justify-content:space-between; padding:20px 23px; border-bottom:1px solid #edf2ed; }.focus-heading h2 { font-size:14px; margin:0; }.focus-heading a { color:#5c987c; font-size:10px; }.focus-task { display:flex; gap:12px; align-items:center; padding:16px 23px; border-bottom:1px solid #f1f4f1; color:#567067; }.focus-task>i { color:#93bba6; font-size:15px; }.focus-task strong { display:block; color:#4a625b; font-size:11px; font-weight:600; }.focus-task small { display:block; color:#9caaa4; font-size:9px; margin-top:4px; }.focus-task>span { margin-left:auto; font-size:9px; color:#8ba49a; }.focus-task:hover { background:#f7fbf8; text-decoration:none; }.focus-empty { padding:35px 23px; color:#99aaa2; font-size:11px; }.focus-shortcuts { padding:20px; }.focus-shortcuts a { display:flex; gap:12px; align-items:center; padding:12px; color:#758e82; font-size:11px; }.focus-shortcuts i { width:30px; height:30px; display:grid; place-items:center; background:#f0f7f2; color:#71a88d; border-radius:8px; }.focus-shortcuts .fa-arrow-right { margin-left:auto; background:none; font-size:10px; }
.system-message { max-width:650px; margin:70px auto; padding:40px; text-align:center; background:#fff; border:1px solid #e1e9e4; border-radius:14px; }.system-message h1 { font-size:27px; }.system-message p { color:#85978d; }.system-message small { color:#a4b0aa; }.message-icon { display:block; font-size:30px; color:#86b69c; margin-bottom:20px; }
body.auth-page .header .topbar-context,body.auth-page .header .topbar-actions { display:none; }body.auth-page .header { justify-content:flex-end; padding-right:5%; }.auth-only-logo { height:31px!important; }
@media(min-width:992px) { body.app-shell .dashboard-page .metric-grid.compact { gap:10px; } }
@media(max-width:1199px) { .topbar-breadcrumb { display:none; }.work-form-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:991.98px) { body.app-shell .header { left:0; width:100%; height:62px; padding:0 18px; }body.app-shell .sidebar { transform:translateX(-100%); margin-left:0!important; }body.app-shell .sidebar.active { transform:translateX(0); }body.app-shell .content,body.app-shell .content.content-shifted { margin-left:0; margin-top:62px; width:100%; padding:24px 18px; }.mobile-nav-close { display:block; position:absolute; right:9px; top:7px; border:0; background:none; color:#86a191; }.topbar-actions { gap:16px; }.profile-name { display:none; }.day-focus { grid-template-columns:1fr; }.agenda-metrics { gap:10px; }.workspace-heading { align-items:flex-start; }.workspace-heading h1 { font-size:23px; }.overlay { top:0; } }
@media(max-width:650px) { .agenda-metrics { grid-template-columns:1fr 1fr; }.agenda-metric { padding:15px; }.workspace-heading { flex-direction:column; gap:16px; }.work-tabs { padding:0 16px; gap:18px; }.work-filters { padding:16px; flex-wrap:wrap; }.work-filters input { flex-basis:100%; }.activity-row { padding:18px 16px; gap:12px; flex-wrap:wrap; }.activity-main { min-width:calc(100% - 85px); }.activity-actions { margin-left:68px; }.work-form-grid { grid-template-columns:1fr; gap:0; }.activity-form { padding:22px 18px; }.topbar-calendar { display:none; }.work-tabs>span { display:none; }.workspace-heading h1 { font-size:22px; }body.app-shell .dashboard-page .welcome-panel h1 { font-size:24px; }body.app-shell .dashboard-page .metric-card strong { font-size:22px; }body.app-shell .dashboard-page .metric-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.composition-panel {padding:24px!important; text-align:left;}
.composition-heading h2 {font-size:24px;letter-spacing:-.6px;margin:6px 0 8px;}
.composition-heading p {color:#52647a;max-width:720px;line-height:1.5;}
.composition-panel label {font-weight:650;font-size:13px;color:#30445f;display:block;margin-bottom:7px;}
.composition-current {border:1px solid #cfe2d8;background:#f1f8f5;border-radius:12px;padding:14px 18px;margin:8px 0 12px;display:flex;gap:6px;flex-direction:column;color:#175341;}
.composition-panel>small {display:block;color:#52647a;line-height:1.5;}
.composition-kit {border:1px solid #dbe4ee;border-radius:12px;padding:18px;margin:16px 0;background:#f8fafc;}
.composition-kit h3 {font-size:16px!important;}
.kit-flow-page .kit-card {border-radius:16px;box-shadow:0 4px 20px #10203308;}
.kit-flow-page .kit-card.selected {border:2px solid #188667;box-shadow:0 0 0 3px #18866715;}
/* One layout contract for the header, page and every pinned workflow action bar. */
body.app-shell .header { left:var(--workspace-left)!important; width:calc(100% - var(--workspace-left))!important; }
body.app-shell .content, body.app-shell .content.content-shifted {
  margin-left:var(--workspace-left)!important; width:calc(100% - var(--workspace-left))!important;
  margin-top:var(--workspace-header-height)!important; min-width:0;
  padding-bottom:calc(32px + var(--workspace-action-height) + env(safe-area-inset-bottom, 0px))!important;
}
body.app-shell .content .fixed-bottom, body.app-shell #footerButtons,
body.app-shell .workspace-action-bar {
  position:fixed; left:var(--workspace-left)!important; right:0!important;
  width:calc(100% - var(--workspace-left))!important; bottom:0; z-index:1025;
  box-sizing:border-box; max-width:none;
}
body.app-shell .content .row > [class*="col-"],body.app-shell .work-panel { min-width:0; }
body.app-shell .table-responsive { overflow-x:auto; }
body.app-shell .proposals-table { min-width:1120px; }
body.app-shell .proposals-table td { overflow-wrap:normal; }
body.app-shell .proposals-table td:nth-child(4),body.app-shell .proposals-table td:nth-child(7),
body.app-shell .proposals-table td:nth-child(8),body.app-shell .proposals-table td:nth-child(9) { white-space:nowrap; }
body.app-shell .form-control:focus-visible,body.app-shell .btn:focus-visible { outline:2px solid #408f79; outline-offset:3px; }
@media(max-width:991.98px){
  body.app-shell { --workspace-left:0px!important; --workspace-header-height:62px; }
  .composition-panel {padding:18px!important;}
}
