:root {
  --ink: #17273a;
  --muted: #667085;
  --navy: #12304a;
  --navy-2: #1d4d6d;
  --teal: #0d8f82;
  --gold: #f4b942;
  --canvas: #f3f6f9;
  --line: #dce4eb;
  --card: #ffffff;
}

body { background: var(--canvas); color: var(--ink); font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.app-navbar { background: linear-gradient(120deg, #0d2538, #173f5d); box-shadow: 0 10px 30px rgba(13,37,56,.18); }
.navbar-brand { font-weight: 800; letter-spacing: -.02em; }
 .brand-mark { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; margin-right:.65rem; padding:2px; overflow:hidden; border-radius:10px; background:#fff; }
.brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.nav-link { border-radius: 9px; font-weight: 600; }
.app-navbar .nav-link:hover, .app-navbar .nav-link.active { background:rgba(255,255,255,.1); color:#fff!important; }
.report-period-nav .nav-link:not(.active):hover,
.report-period-nav .nav-link:not(.active):focus { color:#084298!important; background:#e7f1ff; }
.page-shell { max-width: 1480px; margin: 0 auto; padding: 2rem clamp(1rem, 3vw, 3rem) 4rem; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.eyebrow { color:var(--teal); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.page-title { margin:.25rem 0; font-weight:800; letter-spacing:-.035em; }
.page-subtitle { color:var(--muted); margin:0; }
.surface { background:var(--card); border:1px solid var(--line); border-radius:18px; box-shadow:0 8px 28px rgba(25,48,71,.07); }
.surface-header { padding:1.15rem 1.3rem; border-bottom:1px solid var(--line); }
.surface-body { padding:1.3rem; }
.metric-card { height:100%; padding:1.25rem; position:relative; overflow:hidden; }
.metric-card::after { content:""; position:absolute; width:90px; height:90px; right:-30px; top:-30px; border-radius:50%; background:rgba(13,143,130,.08); }
.metric-label { color:var(--muted); font-size:.84rem; font-weight:700; }
.metric-value { margin-top:.4rem; font-size:1.8rem; line-height:1; font-weight:800; }
.metric-meta { margin-top:.55rem; color:var(--muted); font-size:.8rem; }
.hero-panel { color:#fff; background:linear-gradient(135deg,#102d44 0%,#1c5575 72%,#0d8f82 140%); border:0; padding:clamp(1.5rem,4vw,3rem); }
.hero-panel h1 { font-weight:800; letter-spacing:-.04em; }
.eko-hero-brand { display:flex; flex-direction:column; align-items:center; gap:1rem; width:100%; max-width:340px; margin-left:auto; }
.eko-hero-logo { display:grid; place-items:center; width:112px; height:112px; padding:8px; overflow:hidden; background:#fff; border:1px solid rgba(255,255,255,.45); border-radius:24px; box-shadow:0 14px 34px rgba(5,24,39,.2); }
.eko-hero-logo img { display:block; width:96px; height:96px; max-width:100%; max-height:100%; object-fit:contain; }
.eko-period-card { width:100%; padding:1.25rem 1.4rem; text-align:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.08); border-radius:16px; }
.btn { border-radius:10px; font-weight:700; }
.btn-primary { background:var(--navy-2); border-color:var(--navy-2); }
.btn-success { background:var(--teal); border-color:var(--teal); }
.table { margin-bottom:0; }
.table thead th { background:#edf2f6; color:#405467; border-bottom:1px solid var(--line); font-size:.75rem; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.table td { vertical-align:middle; border-color:#edf1f4; }
.table-hover tbody tr:hover { background:#f6fbfa; }
.currency, .number { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.status-pill { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .6rem; border-radius:999px; background:#e9f7f4; color:#08766c; font-size:.75rem; font-weight:800; }
.status-pill.warning { background:#fff4d6; color:#8a5a00; }
.fuel-pill { display:inline-flex; align-items:center; gap:.5rem; max-width:100%; padding:.38rem .72rem; border:1px solid currentColor; border-radius:9px; font-size:.72rem; font-weight:800; letter-spacing:.015em; line-height:1.3; white-space:nowrap; box-shadow:inset 3px 0 currentColor; }
.fuel-pill .bi { font-size:.9rem; line-height:1; }
.fuel-pill--diesel { color:#145e85; background:#e9f5fb; border-color:#a9d5e9; box-shadow:inset 3px 0 #1979a8; }
.fuel-pill--premium-diesel { color:#51409a; background:#f0ecfc; border-color:#c5b8ed; box-shadow:inset 3px 0 #7960c4; }
.fuel-pill--petrol { color:#176848; background:#e9f7ee; border-color:#a9ddbe; box-shadow:inset 3px 0 #278e60; }
.fuel-pill--premium-petrol { color:#8c4c10; background:#fff3e1; border-color:#edc58e; box-shadow:inset 3px 0 #d58929; }
.fuel-pill--lpg { color:#a33840; background:#fff0f0; border-color:#e8b8bd; box-shadow:inset 3px 0 #cb5760; }
.fuel-pill--other { color:#475569; background:#f1f5f9; border-color:#cbd5e1; box-shadow:inset 3px 0 #64748b; }
.empty-state { padding:3.5rem 1rem; text-align:center; color:var(--muted); }
.upload-zone { padding:1.1rem; border:1px dashed #aebdca; border-radius:14px; background:#f8fafc; }
.import-panel { overflow:hidden; }
.upload-step { display:grid; grid-template-columns:48px minmax(0, 1fr); gap:1rem; align-items:start; padding:1.2rem; transition:border-color .2s ease, background .2s ease, transform .2s ease; }
.upload-step:hover { border-color:#7fbab3; background:#f5fbfa; transform:translateY(-1px); }
.upload-step-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:var(--teal); background:#e7f5f2; font-size:1.3rem; }
.upload-step-content { min-width:0; }
.upload-step-title { margin-bottom:.25rem; font-weight:800; }
.upload-step-title span { margin-right:.45rem; color:var(--teal); font-size:.75rem; letter-spacing:.08em; }
.upload-step input[type="file"] { display:block; width:100%; padding:.55rem; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:10px; }
.upload-step input[type="file"]::file-selector-button { margin-right:.75rem; padding:.45rem .75rem; color:#fff; font-weight:700; background:var(--navy-2); border:0; border-radius:7px; cursor:pointer; }
.import-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.4rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.management-sidebar { position:sticky; top:92px; }
.danger-label { padding:.65rem .75rem; color:#a63232; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; background:#fff0f0; border-radius:9px; }
.management-list { display:grid; gap:.55rem; }
.management-action { display:flex; width:100%; align-items:center; gap:.75rem; padding:.8rem; color:var(--ink); text-align:left; text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:12px; transition:background .2s ease, border-color .2s ease, transform .2s ease; }
.management-action:hover { color:var(--ink); background:#f8fafc; border-color:#aebdca; transform:translateX(2px); }
.management-action.sync { background:#f1faf8; border-color:#c7e8e2; }
.management-action.danger:hover { background:#fff7f7; border-color:#efb9b9; }
.management-action strong, .management-action small { display:block; }
.management-action small { margin-top:.12rem; color:var(--muted); font-size:.73rem; line-height:1.3; }
.management-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; color:var(--navy-2); background:#edf2f6; border-radius:10px; }
.management-action.sync .management-icon { color:var(--teal); background:#dff2ee; }
.management-action.danger .management-icon { color:#b13a3a; background:#fff0f0; }
.form-control, .form-select { min-height:44px; border-radius:10px; border-color:#cfd9e2; }
.form-control:focus, .form-select:focus { border-color:var(--teal); box-shadow:0 0 0 .2rem rgba(13,143,130,.12); }
.alert { border:0; border-radius:12px; }
.action-group { display:flex; flex-wrap:wrap; gap:.5rem; }
.login-shell { max-width:440px; margin:7vh auto; }
.login-brand { text-align:center; margin-bottom:1.25rem; }
.login-brand-logo { display:grid; place-items:center; width:88px; height:88px; margin:0 auto; padding:4px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 6px 18px rgba(25,48,71,.06); }
.login-brand-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.danger-zone { border-color:#f4c7c7; background:#fffafa; }
.flatpickr-calendar { border:1px solid var(--line); border-radius:14px; box-shadow:0 14px 35px rgba(23,39,58,.16); overflow:hidden; }
.flatpickr-months { padding:.35rem 0; background:#f7fafc; }
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month { display:grid; place-items:center; top:.35rem; width:40px; height:34px; padding:0; color:var(--navy-2); border-radius:9px; }
.flatpickr-months .flatpickr-prev-month { left:.4rem; right:auto; }
.flatpickr-months .flatpickr-next-month { right:.4rem; left:auto; }
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover { color:var(--teal); background:#e9f7f4; }
.flatpickr-day { border-radius:9px; }
.flatpickr-day.calendar-weekend:not(.selected):not(.startRange):not(.endRange) { color:#a94f16; background:#fff3e8; }
.flatpickr-day.calendar-weekend.prevMonthDay, .flatpickr-day.calendar-weekend.nextMonthDay { color:#c9916e; background:#fff9f4; }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background:var(--teal); border-color:var(--teal); }
.flatpickr-weekdays .flatpickr-weekday:nth-child(6), .flatpickr-weekdays .flatpickr-weekday:nth-child(7) { color:#a94f16; }
.flatpickr-input[readonly] { background:#fff; }
#price-results { transition:opacity .18s ease; }
#price-results.is-loading { opacity:.45; pointer-events:none; }
.chain-switch { color:#ffe09a!important; background:rgba(244,185,66,.12); border:1px solid rgba(244,185,66,.25); }
.module-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; color:var(--muted); font-size:.82rem; }
.module-breadcrumb a { color:var(--navy-2); font-weight:700; text-decoration:none; }
.module-breadcrumb i { color:#9aa8b5; font-size:.65rem; }
.gta-home-hero { position:relative; overflow:hidden; padding:clamp(2rem,5vw,4.5rem); color:#fff; border:0; background:radial-gradient(circle at 84% 15%, rgba(244,185,66,.2), transparent 28%), linear-gradient(135deg,#0b2337 0%,#184c6d 68%,#0b8177 130%); }
.gta-home-hero::after { content:""; position:absolute; width:340px; height:340px; right:-150px; bottom:-220px; border:1px solid rgba(255,255,255,.15); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018); }
.gta-home-hero h1 { font-weight:850; letter-spacing:-.045em; }
.home-brand-orbit { display:inline-grid; place-items:center; width:120px; height:120px; padding:6px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 12px 32px rgba(0,0,0,.12); }
.home-brand-orbit img { display:block; width:100%; height:100%; object-fit:contain; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.activity-card { position:relative; display:flex; min-height:260px; height:100%; gap:1.35rem; padding:clamp(1.35rem,3vw,2rem); color:var(--ink); text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 10px 30px rgba(25,48,71,.08); overflow:hidden; }
.activity-card-primary { transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.activity-card-primary:hover { color:var(--ink); transform:translateY(-4px); border-color:#8bc8c1; box-shadow:0 18px 45px rgba(20,78,96,.14); }
.activity-icon { display:grid; place-items:center; flex:0 0 62px; width:62px; height:62px; color:var(--teal); font-size:1.7rem; background:#e5f5f2; border-radius:18px; }
.activity-content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; }
.activity-content > strong { font-size:clamp(1.4rem,3vw,2rem); line-height:1.15; letter-spacing:-.025em; }
.activity-content > small { max-width:650px; margin-top:.75rem; color:var(--muted); font-size:.95rem; line-height:1.6; }
.activity-link { margin-top:auto; padding-top:1.4rem; color:var(--teal); font-weight:800; }
.activity-decoration { position:absolute; right:-20px; bottom:-45px; color:rgba(13,143,130,.07); font-size:11rem; line-height:1; transform:rotate(-8deg); }
.activity-card-upcoming { color:#758392; background:linear-gradient(145deg,#f7f9fb,#fff); }
.activity-card-upcoming .activity-icon { color:#74879a; background:#edf2f6; }
.chain-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.chain-card { position:relative; display:flex; min-height:330px; flex-direction:column; align-items:flex-start; padding:1.5rem; color:var(--ink); text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 8px 28px rgba(25,48,71,.07); overflow:hidden; }
.chain-card-active { border-color:#9bd2cc; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.chain-card-active::after { content:""; position:absolute; width:150px; height:150px; right:-70px; top:-70px; background:rgba(13,143,130,.07); border-radius:50%; }
.chain-card-active:hover { color:var(--ink); transform:translateY(-5px); border-color:var(--teal); box-shadow:0 18px 42px rgba(20,78,96,.15); }
.chain-status { display:inline-flex; align-items:center; gap:.35rem; padding:.28rem .58rem; color:#7a8794; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; background:#eef2f5; border-radius:999px; }
.chain-status.active { color:#08766c; background:#e4f5f2; }
.chain-logo { position:relative; z-index:1; display:grid; place-items:center; flex:0 0 88px; width:88px; height:88px; box-sizing:border-box; margin:1.5rem 0 1.25rem; padding:4px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 4px 12px rgba(23,39,58,.05); }
.chain-logo img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.chain-content strong,.chain-content small { display:block; }
.chain-content strong { font-size:1.45rem; }
.chain-content small { margin-top:.55rem; color:var(--muted); line-height:1.5; }
.chain-action { margin-top:auto; padding-top:1.5rem; color:var(--teal); font-size:.84rem; font-weight:800; }
.chain-card.is-disabled { background:linear-gradient(145deg,#f8fafc,#fff); box-shadow:none; }
.chain-card.is-disabled .chain-content { opacity:.7; }

@media (max-width: 768px) {
  .page-shell { padding-top:1.25rem; }
  .page-heading { flex-direction:column; }
  .page-heading .action-group { width:100%; }
  .page-heading .btn { flex:1; }
  .metric-value { font-size:1.5rem; }
  .upload-step { grid-template-columns:1fr; }
  .upload-step-icon { width:42px; height:42px; }
  .import-footer .btn { width:100%; }
  .gta-home-hero { text-align:left; }
  .eko-hero-brand { max-width:none; margin:0; align-items:flex-start; }
  .eko-period-card { text-align:left; }
  .home-brand-orbit { width:104px; height:104px; border-radius:22px; }
  .activity-card { min-height:240px; }
  .activity-decoration { font-size:8rem; }
  .chain-grid { grid-template-columns:1fr; }
}

@media (max-width: 1199.98px) {
  .management-sidebar { position:static; }
  .chain-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 575.98px) {
  .activity-card { flex-direction:column; }
  .chain-grid { grid-template-columns:1fr; }
}

/* Projects and tasks */
.tasks-shell{max-width:1600px;margin:auto;padding:24px 0 50px}.tasks-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:14px 0 28px}.tasks-heading h1{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;color:#142b2a;margin:6px 0}.tasks-heading p{color:#637477;margin:0}.tasks-eyebrow{font-size:.72rem;letter-spacing:.16em;color:#198564;font-weight:800}.tasks-back{display:inline-flex;gap:8px;align-items:center;color:#2e6459;text-decoration:none;font-weight:700}.task-project-card,.tasks-panel{display:block;background:#fff;border:1px solid #dce8e4;border-radius:18px;padding:24px;box-shadow:0 8px 25px rgba(15,53,44,.05)}.task-project-card{text-decoration:none;color:#163632;height:100%;transition:transform .15s,box-shadow .15s}.task-project-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,53,44,.12);color:#163632}.task-project-card h2,.tasks-panel h2{font-size:1.2rem;font-weight:750;margin:16px 0 10px}.task-project-card p{color:#60716e;min-height:48px}.task-project-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#e1f4eb;color:#13865e;font-size:1.4rem}.task-project-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#68817a;font-size:.86rem;border-top:1px solid #edf1f0;padding-top:15px}.tasks-empty,.kanban-empty{padding:30px;text-align:center;color:#83918d;background:#fff;border:1px dashed #cadbd5;border-radius:14px}.tasks-filters{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.tasks-filters .form-control{min-width:230px;flex:2}.tasks-filters .form-select{min-width:180px;flex:1}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:15px;overflow-x:auto;padding-bottom:18px}.kanban-column{background:#eaf0ee;border:1px solid #dae6e2;border-radius:17px;padding:14px;min-height:380px}.kanban-column h2{font-size:.95rem;font-weight:800;display:flex;align-items:center;gap:9px;margin:4px 4px 17px;color:#25443b}.column-dot{width:9px;height:9px;border-radius:50%;background:#899fa0}.dot-progress{background:#4b93d6}.dot-review{background:#e3a64a}.dot-done{background:#35a777}.column-count{margin-left:auto;background:#fff;border-radius:20px;padding:2px 9px;color:#667f77}.kanban-list{display:grid;align-content:start;gap:11px}.kanban-card{background:#fff;border:1px solid #dfe8e5;border-radius:13px;padding:15px;box-shadow:0 3px 10px rgba(25,54,44,.04);cursor:grab}.kanban-card-title{font-weight:750;color:#193b33;text-decoration:none}.kanban-card-title:hover{color:#12835e}.kanban-card p{color:#7a8a85;font-size:.85rem;margin:8px 0 13px}.kanban-card-tags,.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;font-size:.76rem}.priority{padding:3px 9px;border-radius:20px;background:#e9f0f6;color:#46637a;font-weight:700}.priority-low{background:#e8f0f5;color:#536e7e}.priority-normal{background:#e5f3e9;color:#237752}.priority-high{background:#fff0d8;color:#a36513}.priority-urgent{background:#fce8e7;color:#b5433d}.task-due{color:#688078}.task-due.overdue{color:#b5433d;font-weight:700}.kanban-card-footer{border-top:1px solid #edf2ef;padding-top:11px;margin-top:13px;color:#667f77}.kanban-card-footer select{border:0;background:#f0f6f2;border-radius:7px;padding:5px;max-width:110px;color:#246c50}.task-form-panel{max-width:680px}.tasks-panel input:not([type=checkbox]),.tasks-panel textarea,.tasks-panel select,.task-form-panel input,.task-form-panel textarea,.task-form-panel select{width:100%;border:1px solid #cedbd5;border-radius:9px;padding:9px;background:#fff}.task-member,.task-comment{padding:13px 0;border-top:1px solid #e5ede8}.task-member{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-comment small{display:block;color:#7b8983}.task-comment p{margin:9px 0 0;overflow-wrap:anywhere}@media(max-width:1100px){.kanban-board{grid-template-columns:repeat(4,minmax(265px,1fr))}}

/* Task workspace navigation and overview */
.tasks-workspace{display:grid;grid-template-columns:258px minmax(0,1fr);gap:25px;align-items:start;max-width:1800px;margin:0 auto}.tasks-main{min-width:0}.tasks-sidebar{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;padding:20px 12px;background:linear-gradient(170deg,#133f37,#0b2d2c);border:1px solid #174d42;border-radius:20px;color:#e7f5ed;box-shadow:0 15px 32px rgba(12,43,37,.14)}.tasks-sidebar-brand{display:flex;align-items:center;gap:11px;padding:3px 9px 22px;margin-bottom:16px;border-bottom:1px solid #ffffff22}.tasks-sidebar-brand strong,.tasks-sidebar-brand small{display:block}.tasks-sidebar-brand strong{font-size:.94rem}.tasks-sidebar-brand small{font-size:.61rem;letter-spacing:.2em;color:#8bc4ad;margin-top:3px}.tasks-sidebar-mark{background:#36ad79;border-radius:12px;padding:8px 11px;font-size:1.25rem}.tasks-sidebar-label{font-size:.64rem;font-weight:800;letter-spacing:.16em;color:#8bb7a7;padding:0 12px}.tasks-sidebar-nav{display:grid;gap:3px;margin:9px 0 25px}.tasks-sidebar-nav a{display:flex;align-items:center;gap:12px;color:#c5ddd1;padding:11px 12px;border-radius:10px;text-decoration:none;font-size:.87rem;font-weight:600;min-width:0}.tasks-sidebar-nav a i:first-child{font-size:1rem;color:#83bd9e;width:19px;text-align:center}.tasks-sidebar-nav a:hover,.tasks-sidebar-nav a.active{background:#ffffff1e;color:#fff}.tasks-sidebar-nav a.active{box-shadow:inset 3px 0 #52d899}.tasks-sidebar-nav a.active i:first-child{color:#6de0a4}.tasks-nav-count{margin-left:auto;border-radius:7px;padding:2px 7px;background:#ffffff20;color:#e4f9eb;font-size:.73rem}.tasks-nav-count.danger{background:#a9503c;color:#fff}.nav-chevron{font-size:.66rem}.tasks-sidebar-section{display:flex;align-items:center;justify-content:space-between;padding-right:12px}.tasks-sidebar-section>a{color:#8edbb0}.tasks-sidebar-hint{color:#a4bdb1;padding:8px 12px}.tasks-sidebar-foot{display:flex;gap:10px;padding:15px 10px 4px;border-top:1px solid #ffffff22;color:#a8c7b6;font-size:.72rem;line-height:1.5}.tasks-sidebar-foot i{color:#7ce0ae;font-size:1.3rem}.tasks-sidebar-foot strong{color:#edf9f0}.tasks-main .tasks-shell{padding-top:3px}.tasks-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:21px}.tasks-stat{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dfeae3;border-radius:15px;padding:16px;box-shadow:0 4px 15px #17412d0a}.tasks-stat-icon{display:grid;place-items:center;border-radius:11px;width:42px;height:42px;flex-shrink:0;font-size:1.2rem}.stat-green{background:#e1f4eb;color:#12845c}.stat-blue{background:#e6f0ff;color:#427dbb}.stat-red{background:#fff0e8;color:#c36c39}.stat-gold{background:#fff4df;color:#aa832e}.tasks-stat strong,.tasks-stat small{display:block}.tasks-stat strong{font-size:1.4rem;color:#143e31;line-height:1.1}.tasks-stat small{font-size:.73rem;color:#708079}.column-icon{color:#537f70}.kanban-card-top{display:flex;justify-content:space-between;color:#9daea6;font-size:.65rem;font-weight:800;letter-spacing:.08em;margin-bottom:10px}.kanban-card-top i{font-size:.85rem}.task-project-arrow{float:right;font-size:.9rem;color:#72b695}.tasks-view-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px;border-bottom:1px solid #dce9e1;padding-bottom:12px}.tasks-view-tabs a{color:#587669;text-decoration:none;padding:9px 13px;border-radius:9px;font-weight:700;font-size:.87rem}.tasks-view-tabs a:hover,.tasks-view-tabs a.active{background:#e1f3e8;color:#176444}.tasks-list{display:grid;gap:9px}.tasks-list-item{display:flex;align-items:center;gap:14px;border:1px solid #dfeae3;border-radius:13px;background:#fff;padding:15px 17px;text-decoration:none;color:#234b3d;box-shadow:0 3px 12px #17412d09}.tasks-list-item:hover{border-color:#76b69a;color:#176444;transform:translateY(-1px)}.tasks-list-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;background:#e4f3e9;color:#278563}.tasks-list-body{min-width:0;flex:1}.tasks-list-body strong,.tasks-list-body small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-list-body small{color:#829189;margin-top:3px}.tasks-list-arrow{color:#91aea0}@media(max-width:1200px){.tasks-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.tasks-workspace{display:block}.tasks-sidebar{position:relative;top:auto;max-height:none;margin-bottom:15px}.tasks-sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:15px}.tasks-sidebar-foot{display:none}.tasks-main .tasks-shell{padding:10px 0 35px}}@media(max-width:480px){.tasks-stat-grid{grid-template-columns:repeat(2,1fr)}.tasks-stat{padding:10px;gap:7px}.tasks-stat-icon{width:34px;height:34px}.tasks-sidebar-nav{grid-template-columns:1fr 1fr}.tasks-sidebar-nav a{font-size:.76rem;padding:8px}.tasks-list-item{flex-wrap:wrap}.tasks-list-body{flex-basis:calc(100% - 60px)}}

/* Blue task navigation, edge-aligned desktop layout */
@media(min-width:801px){.page-shell.tasks-page-shell{max-width:none;width:100%;padding:22px 28px 48px 0}.tasks-page-shell .tasks-workspace{max-width:none;grid-template-columns:258px minmax(0,1fr);gap:24px}.tasks-page-shell .tasks-sidebar{border-radius:0 18px 18px 0}.tasks-page-shell .tasks-main{padding-right:clamp(12px,2vw,36px)}}
.tasks-sidebar{background:linear-gradient(120deg,#0d2538,#173f5d);border-color:#254c68;box-shadow:0 15px 32px rgba(13,37,56,.16)}.tasks-sidebar-brand small,.tasks-sidebar-label{color:#9fc3db}.tasks-sidebar-mark{background:#2e739d}.tasks-sidebar-nav a{color:#d5e6f1}.tasks-sidebar-nav a i:first-child{color:#a5cce5}.tasks-sidebar-nav a.active{box-shadow:inset 3px 0 #68b9eb}.tasks-sidebar-nav a.active i:first-child,.tasks-sidebar-section>a,.tasks-sidebar-foot i{color:#8ad0f4}.tasks-sidebar-hint,.tasks-sidebar-foot{color:#adc8da}.tasks-sidebar-foot strong{color:#f0f8fc}.tasks-project-brief{display:flex;gap:12px;align-items:flex-start;border:1px solid #dbe8ed;border-radius:13px;background:#f4fafc;color:#28516a;padding:14px 18px;margin:0 0 18px}.tasks-project-brief>i{font-size:1.2rem}.tasks-project-brief strong,.tasks-project-brief span,.tasks-project-brief small{display:block}.tasks-project-brief span{white-space:pre-wrap}.tasks-attachments{margin-top:20px}.task-file-row{display:flex;align-items:center;gap:10px;border-top:1px solid #e5ede8;padding:9px 0}.task-file-row a{flex:1;min-width:0;overflow-wrap:anywhere;color:#235e79}.task-file-row small{color:#81928b}.task-file-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#e9f4fa;color:#4b91b5;flex-shrink:0}.task-file-upload{padding-top:12px;border-top:1px solid #e5ede8}.task-file-upload input[type=file]{max-width:480px}@media(max-width:800px){.page-shell.tasks-page-shell{padding:14px 15px 40px}.tasks-attachments{margin-bottom:16px}}

/* Platform footer and integrated task navigation */
html{min-height:100%}body{min-height:100vh;display:flex;flex-direction:column}.page-shell{width:100%;flex:1 0 auto}.app-footer{flex-shrink:0;background:#0d2538;color:#d1e0eb;border-top:1px solid #254863}.app-footer-inner{max-width:1600px;margin:auto;padding:23px clamp(1rem,3vw,3rem);display:flex;align-items:center;gap:24px;flex-wrap:wrap}.app-footer-identity{display:flex;align-items:center;gap:10px;margin-right:auto}.app-footer-logo{display:grid;place-items:center;background:#fff;border-radius:9px;width:38px;height:38px}.app-footer-logo img{object-fit:contain}.app-footer-identity strong,.app-footer-identity small{display:block}.app-footer-identity strong{color:#fff;font-size:.91rem}.app-footer-identity small{color:#a8becc;font-size:.73rem}.app-footer-links{display:flex;gap:6px;flex-wrap:wrap}.app-footer-links a{color:#cfdfeb;text-decoration:none;font-size:.82rem;padding:7px 10px;border-radius:8px}.app-footer-links a:hover,.app-footer-links a:focus-visible{background:#ffffff1a;color:#fff}.app-footer-links i{margin-right:5px;color:#92bbd6}.app-footer-copy{font-size:.75rem;color:#a1bbcc;white-space:nowrap}
@media(min-width:801px){.page-shell.tasks-page-shell{padding:0;display:flex;flex-direction:column}.tasks-page-shell .tasks-workspace{flex:1;width:100%;grid-template-columns:260px minmax(0,1fr);gap:0;align-items:stretch}.tasks-page-shell .tasks-sidebar{position:relative;top:auto;max-height:none;overflow:visible;min-height:calc(100vh - 140px);height:100%;border:0;border-right:1px solid #31536c;border-radius:0;padding:30px 14px 22px;box-shadow:4px 0 18px rgba(13,37,56,.1)}.tasks-page-shell .tasks-main{padding:22px clamp(18px,2.5vw,44px) 45px;min-width:0}.tasks-page-shell .tasks-main .tasks-shell{padding-top:0;padding-bottom:0}.tasks-sidebar-foot{margin-top:28px}}
@media(max-width:800px){.app-footer-inner{gap:14px}.app-footer-identity{width:100%}.app-footer-links{width:100%}.tasks-page-shell .tasks-sidebar{border:1px solid #31536c;border-radius:14px;box-shadow:0 8px 20px rgba(13,37,56,.1)}}

/* Fixed footer and independently framed project navigation */
:root{--app-header-height:66px;--app-footer-height:88px}
body{padding-bottom:var(--app-footer-height)}.app-footer{position:fixed;left:0;right:0;bottom:0;z-index:1025;box-shadow:0 -7px 24px rgba(13,37,56,.12)}.app-footer-inner{padding-top:13px;padding-bottom:13px}.page-shell{flex:1 0 auto}
@media(min-width:801px){.tasks-page-shell .tasks-workspace{display:block}.tasks-page-shell .tasks-sidebar{position:fixed;top:calc(var(--app-header-height) + 12px);bottom:calc(var(--app-footer-height) + 12px);left:12px;width:248px;height:auto;min-height:0;max-height:none;overflow-y:auto;border:1px solid #31536c;border-radius:15px;padding:22px 12px 16px;box-shadow:0 10px 26px rgba(13,37,56,.16);z-index:1010}.tasks-page-shell .tasks-main{margin-left:272px;padding-top:22px;padding-bottom:32px}.tasks-page-shell{min-height:calc(100vh - var(--app-header-height) - var(--app-footer-height))}}
@media(max-width:800px){.app-footer-inner{padding:10px 15px;gap:8px}.app-footer-identity{width:auto;flex:1}.app-footer-identity small{display:none}.app-footer-links{width:auto}.app-footer-links a{padding:5px}.app-footer-copy{display:none}.tasks-page-shell .tasks-sidebar{position:relative;top:auto;bottom:auto;left:auto;width:auto;height:auto;max-height:none;margin-bottom:20px;border:1px solid #31536c;border-radius:14px}.tasks-page-shell .tasks-main{margin-left:0}}
@media(max-width:570px){.app-footer-identity{display:none}.app-footer-links{justify-content:space-around;width:100%}.app-footer-links a{display:grid;justify-items:center;font-size:.68rem;line-height:1.2;text-align:center;gap:3px}.app-footer-links i{font-size:1.1rem;margin:0}}

/* Keep scrolling available while hiding the visual scrollbar. */
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none;width:0;height:0}

/* Task workspace visual system */
.tasks-page-shell{--task-text:#172b3e;--task-muted:#657588;--task-line:#dce4ed;--task-accent:#236a91;--task-canvas:#f5f7fa;--task-radius:12px;background:var(--task-canvas);color:var(--task-text);font-size:14px;line-height:1.45}.tasks-page-shell .tasks-shell{max-width:1600px}.tasks-page-shell h1,.tasks-page-shell h2{letter-spacing:-.025em}.tasks-page-shell .tasks-heading h1{font-size:clamp(1.55rem,2vw,2rem);line-height:1.15;font-weight:750;color:#142e44;margin:3px 0 0}.tasks-page-shell .tasks-heading p{font-size:.91rem;line-height:1.55;color:var(--task-muted);max-width:720px}.tasks-page-shell .tasks-eyebrow{color:#65859d;font-size:.67rem;letter-spacing:.14em}.tasks-page-shell .btn{border-radius:9px;font-size:.86rem;font-weight:650;padding:.52rem .82rem}.tasks-page-shell .btn-success{background:#147856;border-color:#147856;box-shadow:0 2px 5px #14785620}.tasks-page-shell .btn-success:hover{background:#0d6045;border-color:#0d6045}.tasks-page-shell .btn-outline-success{color:#236a5a;border-color:#bed8cb}.tasks-page-shell .btn-outline-success:hover{background:#e8f4ed;color:#14563e;border-color:#97c6ad}.tasks-page-shell .btn-outline-secondary{color:#395b74;border-color:#cddbe5}.tasks-page-shell .btn-outline-secondary:hover{background:#eaf2f7;color:#1f4762;border-color:#b1cbdc}.tasks-page-shell a:focus-visible,.tasks-page-shell button:focus-visible,.tasks-page-shell select:focus-visible,.tasks-page-shell input:focus-visible,.tasks-page-shell textarea:focus-visible{outline:2px solid #398abb;outline-offset:2px}.tasks-page-header{margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid var(--task-line)}.tasks-title-row{display:flex;align-items:center;gap:13px;margin:12px 0}.tasks-title-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #cbe1ec;border-radius:12px;background:#eaf4f9;color:#246e95;font-size:1.3rem;flex-shrink:0}.tasks-breadcrumb{display:flex;align-items:center;gap:8px;color:#71869a;font-size:.76rem;font-weight:650}.tasks-breadcrumb a{color:#537894;text-decoration:none}.tasks-breadcrumb i.bi-chevron-right{font-size:.59rem}.tasks-header-actions{display:flex;gap:8px;flex-wrap:wrap}.tasks-stat-grid{gap:12px;margin-bottom:19px}.tasks-stat{border:1px solid var(--task-line);border-radius:var(--task-radius);padding:15px 17px;box-shadow:0 2px 8px #173c5908}.tasks-stat strong{font-size:1.35rem;font-weight:750;color:#203d52}.tasks-stat small{font-size:.76rem;color:var(--task-muted);margin-top:2px}.tasks-stat-icon{border-radius:10px;width:40px;height:40px}.tasks-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:17px 0 13px}.tasks-view-switch{display:inline-flex;gap:3px;padding:3px;background:#e9eef3;border:1px solid #dce5ec;border-radius:10px}.tasks-view-switch a{display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:7px;color:#62788a;text-decoration:none;font-size:.85rem;font-weight:650}.tasks-view-switch a.active{background:#fff;color:#1c5878;box-shadow:0 1px 4px #13304420}.tasks-toolbar-hint{color:#8291a0;font-size:.76rem}.tasks-filters{align-items:center;gap:8px;margin-bottom:18px}.tasks-filters .form-control,.tasks-filters .form-select{font-size:.84rem;border-color:#d9e3ea;border-radius:9px;background-color:#fff;min-height:39px}.tasks-search-wrap{position:relative;flex:2;min-width:235px}.tasks-search-wrap>i{position:absolute;left:12px;top:10px;color:#8096a5}.tasks-search-wrap .form-control{width:100%;padding-left:36px;min-width:0}.tasks-filters .form-select{flex:0 1 190px;min-width:150px}.kanban-board{gap:12px;grid-template-columns:repeat(4,minmax(240px,1fr));padding-bottom:10px}.kanban-column{border:1px solid #e2e8ee;background:#edf1f5;border-radius:12px;padding:12px;min-height:390px}.kanban-column h2{font-size:.85rem;font-weight:750;color:#344f63;gap:8px;margin:3px 3px 14px;letter-spacing:0}.column-count{font-size:.73rem;color:#63798a;padding:2px 8px}.kanban-list{gap:9px}.kanban-card{border:1px solid #dfe6ed;border-radius:10px;padding:14px;box-shadow:0 2px 5px #1b34460b;transition:border-color .16s,box-shadow .16s,transform .16s}.kanban-card:hover{border-color:#b3cbd9;box-shadow:0 6px 15px #203d5314;transform:translateY(-1px)}.kanban-card-top{font-size:.66rem;color:#8c9aa8;letter-spacing:.07em;margin-bottom:8px}.kanban-card-title{display:block;font-size:.91rem;line-height:1.35;font-weight:700;color:#1f394d;overflow-wrap:anywhere}.kanban-card-title:hover{color:#17678f}.kanban-card p{font-size:.78rem;line-height:1.45;color:#7a8b98;margin:7px 0 11px}.kanban-card-tags{justify-content:flex-start;gap:6px}.priority{font-size:.71rem;border-radius:6px;padding:3px 8px;font-weight:700;white-space:nowrap}.priority-low{background:#e9eef3;color:#536b7f}.priority-normal{background:#e9f4ed;color:#246849}.priority-high{background:#fff1db;color:#91611a}.priority-urgent{background:#fce7e7;color:#a73f40}.task-due{font-size:.73rem;color:#698093;white-space:nowrap}.task-due.overdue{color:#b54442}.kanban-card-footer{font-size:.73rem;margin-top:12px;padding-top:10px;border-top-color:#e8eef2}.task-assignee{display:inline-flex;align-items:center;gap:4px;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#62788a}.kanban-card-footer select{max-width:113px;background:#f1f5f8;color:#49667b;font-size:.7rem;padding:5px;border-radius:6px}.kanban-empty{display:grid;justify-items:center;gap:5px;border:1px dashed #d5e0e8;border-radius:9px;background:#ffffff66;padding:25px 10px;color:#8a9aab;font-size:.76rem}.kanban-empty i{font-size:1.15rem}.tasks-table-wrap{overflow-x:auto;border:1px solid var(--task-line);border-radius:12px;background:#fff;box-shadow:0 2px 9px #173c5908}.tasks-table{width:100%;border-collapse:collapse;min-width:760px}.tasks-table th{background:#f4f7f9;color:#687d8f;font-size:.71rem;text-transform:uppercase;letter-spacing:.06em;font-weight:750;padding:13px 15px;border-bottom:1px solid var(--task-line)}.tasks-table td{padding:14px 15px;border-bottom:1px solid #eaf0f4;color:#4d6478;font-size:.81rem}.tasks-table tr:last-child td{border-bottom:0}.tasks-table tbody tr:hover{background:#f7fafc}.tasks-table td a{color:#235b7e;text-decoration:none;font-weight:650}.tasks-table td a:hover{text-decoration:underline}.tasks-table td:first-child small{display:block;color:#93a1ac;margin:3px 0 0 23px}.tasks-table td:first-child i{margin-right:6px;color:#6a9fbc}.tasks-table-empty{text-align:center;padding:36px!important;color:#8193a1!important}.task-status{display:inline-flex;align-items:center;gap:6px;border-radius:6px;background:#f1f5f8;color:#4b6478;padding:4px 8px;white-space:nowrap;font-size:.73rem;font-weight:650}.task-status-done{background:#e7f5ec;color:#286747}.task-status-progress{background:#e8f2fb;color:#2c6b9d}.task-status-review{background:#fff2e2;color:#92611f}.tasks-page-shell .tasks-panel,.tasks-page-shell .task-project-card{border-color:var(--task-line);border-radius:13px;box-shadow:0 2px 10px #173c5908}.tasks-page-shell .tasks-panel h2,.tasks-page-shell .task-project-card h2{color:#233f54;font-size:1.05rem;font-weight:750}.task-project-card{position:relative}.task-project-card:hover{border-color:#afcbdc;box-shadow:0 9px 22px #1a405a15;transform:translateY(-2px)}.task-project-icon{background:#e8f3f9;color:#23719c}.task-project-arrow{color:#5b93b4}.task-project-meta{color:#708699}.tasks-page-shell .form-label{font-size:.81rem;font-weight:650;color:#3c566b;margin-bottom:5px}.tasks-page-shell input,.tasks-page-shell textarea,.tasks-page-shell select{font-size:.87rem}.tasks-page-shell .tasks-panel input:not([type=checkbox]),.tasks-page-shell .tasks-panel textarea,.tasks-page-shell .tasks-panel select,.tasks-page-shell .task-form-panel input,.tasks-page-shell .task-form-panel textarea,.tasks-page-shell .task-form-panel select{border-color:#d4e0e8;border-radius:8px}.tasks-page-shell .tasks-panel input:focus,.tasks-page-shell .task-form-panel input:focus,.tasks-page-shell textarea:focus,.tasks-page-shell select:focus{border-color:#70a8c8;box-shadow:0 0 0 3px #2b8cbc1a}.tasks-page-shell .tasks-back{color:#386c89;font-size:.81rem;margin-bottom:14px}.tasks-page-shell .tasks-back:hover{color:#174e72}.tasks-page-shell .tasks-sidebar{font-size:.84rem}.tasks-page-shell .tasks-sidebar-nav a{font-size:.83rem;padding:9px 11px}.tasks-page-shell .tasks-sidebar-nav a.active{background:#ffffff20}.tasks-page-shell .tasks-sidebar-label{font-size:.62rem}.tasks-page-shell .tasks-sidebar-brand strong{font-size:.85rem}.tasks-page-shell .tasks-project-brief{font-size:.83rem;background:#eef5f9;color:#365c72;border-color:#d7e5ed}.tasks-page-shell .tasks-view-tabs a.active{background:#e5f1f8;color:#215c7e}.tasks-page-shell .tasks-list-item{border-color:var(--task-line);border-radius:10px}.tasks-page-shell .tasks-list-item:hover{border-color:#95b9ce;color:#1e607f}.tasks-page-shell .tasks-list-icon{background:#e6f2f8;color:#3b85aa}@media(max-width:800px){.tasks-toolbar-hint{display:none}.tasks-page-shell .tasks-heading{align-items:flex-start}.tasks-page-shell .tasks-header-actions{width:100%}.tasks-page-shell .tasks-filters .form-select{flex:1}.tasks-page-shell .tasks-stat-grid{gap:8px}}@media(max-width:480px){.tasks-page-shell .tasks-stat{padding:10px}.tasks-page-shell .tasks-stat strong{font-size:1.12rem}.tasks-page-shell .tasks-stat small{font-size:.66rem}.tasks-view-switch a{padding:6px 10px}}
.tasks-section-title{display:flex;justify-content:space-between;align-items:center;margin:4px 0 16px;color:#314d61;font-size:.9rem;font-weight:750}.tasks-section-title i{color:#3a82aa;margin-right:5px}.tasks-section-title small{font-size:.75rem;color:#8497a5;font-weight:550}.task-project-card{min-height:248px}.task-project-card h2{font-size:1.04rem!important;margin:17px 0 8px!important}.task-project-card p{font-size:.81rem;line-height:1.5;min-height:42px;margin-bottom:13px}.task-project-open{color:#8ca9bc}.task-project-progress{font-size:.75rem;font-weight:650;color:#547489;margin-bottom:13px}.task-project-progress i{color:#4e9a80}.task-project-track{background:#e8eff3;border-radius:10px;height:5px;margin-top:8px;overflow:hidden}.task-project-track>span{display:block;background:#299073;border-radius:10px;height:100%}.task-project-meta{font-size:.74rem;padding-top:11px}.task-form-panel{padding:28px}.tasks-form-heading{display:flex;align-items:center;gap:13px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #e6edf2}.tasks-form-heading-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#e9f3f8;color:#24749e;font-size:1.2rem}.tasks-form-heading h1{font-size:1.45rem;margin:3px 0 0;color:#203d53;font-weight:750}.tasks-form-intro{font-size:.84rem;margin:-4px 0 20px}.tasks-form-actions{display:flex;gap:9px;align-items:center;border-top:1px solid #e6edf2;padding-top:18px;margin-top:20px}
.tasks-detail-page .tasks-page-header{align-items:end}.tasks-detail-page .tasks-heading p{font-size:.76rem;margin-top:9px}.tasks-detail-page .tasks-panel h2{margin:0 0 6px}.tasks-panel-subtitle{font-size:.8rem;color:#8294a2;margin-bottom:20px}.tasks-delete-action{border-top:1px solid #e9eff3;margin-top:22px;padding-top:16px}.tasks-detail-page .tasks-attachments{margin-top:0}.tasks-detail-page .task-comment strong{font-size:.81rem;color:#38576b}.tasks-detail-page .task-comment small{font-size:.7rem}.tasks-detail-page .task-comment p{font-size:.82rem;color:#455b6b}.tasks-page-shell .tasks-panel .badge{font-size:.7rem}

/* Project calendar */
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px;align-items:start}.calendar-main,.calendar-agenda{background:#fff;border:1px solid #dce4ed;border-radius:13px;box-shadow:0 2px 10px #173c5908;overflow:hidden}.calendar-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #e5ecf2}.calendar-month-title,.calendar-top-actions{display:flex;align-items:center;gap:9px}.calendar-month-title h2{font-size:1.08rem;font-weight:750;color:#203e53;margin:0;text-transform:capitalize}.calendar-month-icon{display:grid;place-items:center;background:#e8f2f8;color:#31779a;border-radius:9px;width:34px;height:34px}.calendar-arrow{display:grid;place-items:center;width:32px;height:32px;color:#516d80;border:1px solid #d6e2e9;border-radius:8px;text-decoration:none}.calendar-arrow:hover{background:#edf5f9;color:#1e5f82}.calendar-legend{display:flex;gap:16px;padding:10px 18px;color:#718698;font-size:.73rem;border-bottom:1px solid #e9eef2}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.calendar-legend-dot.event{background:#477fbd}.calendar-legend-dot.deadline{background:#d29a43}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f5f8fa;color:#657c8d;font-size:.72rem;font-weight:750}.calendar-weekdays span{text-align:center;padding:10px 2px}.calendar-week{border-top:1px solid #e7edf2}.calendar-cell{min-height:102px;padding:7px;border-right:1px solid #e7edf2;min-width:0}.calendar-cell:last-child{border-right:0}.calendar-cell.outside{background:#fafbfc;color:#abb8c2}.calendar-cell.selected{background:#f2f8fb}.calendar-day-number{display:grid;place-items:center;text-decoration:none;color:#425c6e;font-size:.75rem;font-weight:700;width:26px;height:26px;border-radius:7px}.calendar-day-number:hover{background:#e4f0f6;color:#1e688b}.calendar-cell.today .calendar-day-number{background:#216c91;color:#fff}.calendar-cell.selected:not(.today) .calendar-day-number{outline:1px solid #9fc4d8;color:#246d91}.calendar-cell.outside .calendar-day-number{color:#a8b6bf}.calendar-day-items{display:grid;gap:3px;margin-top:5px}.calendar-chip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:3px 5px;text-decoration:none;font-size:.66rem;font-weight:650}.calendar-chip.event{background:#e7f0fa;color:#326ba2}.calendar-chip.deadline{background:#fff2df;color:#916520}.calendar-chip:hover{filter:brightness(.96);text-decoration:underline}.calendar-chip i{margin-right:2px}.calendar-more{font-size:.65rem;color:#637e91;text-decoration:none;margin-left:4px}.calendar-agenda-header{padding:18px;border-bottom:1px solid #e5ecf2}.calendar-agenda-header h2{font-size:1.04rem;font-weight:750;color:#234459;margin:5px 0 13px;text-transform:capitalize}.calendar-agenda-list{padding:5px 16px 16px;max-height:680px;overflow-y:auto}.calendar-agenda-item{display:flex;gap:10px;padding:14px 0;border-bottom:1px solid #ecf1f4}.calendar-agenda-item:last-child{border-bottom:0}.calendar-agenda-icon{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:8px}.calendar-agenda-icon.event{background:#e7f0fa;color:#3978ad}.calendar-agenda-icon.deadline{background:#fff2df;color:#a2742d}.calendar-agenda-item small,.calendar-agenda-item a,.calendar-agenda-item p{display:block}.calendar-agenda-item small{font-size:.68rem;color:#8597a5}.calendar-agenda-item a{font-size:.81rem;font-weight:700;text-decoration:none;color:#285c7b;margin:3px 0}.calendar-agenda-item a:hover{text-decoration:underline}.calendar-agenda-item p{font-size:.73rem;color:#738799;margin:0}.calendar-agenda-empty{display:grid;justify-items:center;text-align:center;gap:4px;padding:42px 10px;color:#8093a3}.calendar-agenda-empty i{font-size:1.6rem;color:#9bb4c4}.calendar-agenda-empty strong{font-size:.86rem;color:#49687a}.calendar-agenda-empty span{font-size:.75rem}@media(max-width:1250px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-agenda-list{max-height:none}.calendar-cell{min-height:90px}}@media(max-width:650px){.calendar-main{overflow-x:auto}.calendar-grid{min-width:620px}.calendar-cell{min-height:84px}.calendar-topbar{min-width:0}.calendar-month-title h2{font-size:.95rem}.calendar-legend{font-size:.68rem}}

/* Module identity and shared interactive controls */
.module-nav-icon{vertical-align:middle;margin-right:5px;filter:drop-shadow(0 2px 3px #0002)}.tasks-page-shell .tasks-sidebar-mark{padding:0;background:none;flex:0 0 40px}.tasks-sidebar-mark img{display:block}.tasks-page-shell .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:38px;padding:9px 15px;border-radius:10px;line-height:1.2;font-weight:650;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.tasks-page-shell .btn-success{background:linear-gradient(180deg,#218469,#146c53);border:1px solid #146c53;box-shadow:0 2px 4px #133f3220,inset 0 1px 0 #ffffff20}.tasks-page-shell .btn-success:hover{background:linear-gradient(180deg,#247e66,#125e49);box-shadow:0 4px 10px #133f3228;transform:translateY(-1px)}.tasks-page-shell .btn:active{transform:translateY(0);box-shadow:none}.tasks-page-shell .btn-outline-secondary,.tasks-page-shell .btn-outline-success{background:#fff;border-color:#ccdce5;box-shadow:0 1px 2px #15394e08}.tasks-page-shell .btn-outline-secondary:hover,.tasks-page-shell .btn-outline-success:hover{background:#edf5f9;border-color:#9bbfd3;color:#205878;box-shadow:0 3px 8px #15394e12}.tasks-page-shell .btn-outline-danger{color:#a84848;border-color:#e7c6c6;background:#fff9f9}.tasks-page-shell .btn-outline-danger:hover{background:#fbe6e6;border-color:#d69a9a;color:#973434}.tasks-page-shell .btn-sm{min-height:32px;padding:6px 10px;font-size:.76rem}.tasks-page-shell .tasks-sidebar-nav a{min-height:40px;border:1px solid transparent;transition:background .15s,border-color .15s}.tasks-page-shell .tasks-sidebar-nav a.active{background:linear-gradient(90deg,#ffffff20,#ffffff10);border-color:#ffffff16;box-shadow:inset 3px 0 #80cef2}.tasks-page-shell .tasks-panel{padding:24px}.tasks-page-shell .tasks-panel h2>i{color:#4781a1}.tasks-page-shell .form-label>i{color:#7092a8}.tasks-page-shell textarea{line-height:1.6;min-height:100px;resize:vertical}.tasks-page-shell input[type=file]{background:#f5f9fc;border-style:dashed}.tasks-page-shell input[type=file]::file-selector-button{border:0;border-radius:6px;background:#e1edf5;color:#2a6485;font-weight:600;padding:6px 10px;margin-right:10px}.tasks-page-shell .tasks-list-item{transition:background .15s,border-color .15s}.tasks-page-shell .task-comment{padding:16px 0}.tasks-page-shell .tasks-empty{border-color:#d3e1eb;background:linear-gradient(150deg,#fff,#f5f9fc);color:#728797}.tasks-page-shell .tasks-empty strong{color:#34596f}.tasks-page-shell .tasks-breadcrumb{margin-bottom:15px}
.task-select{position:relative;min-width:0;width:100%}.tasks-filters>.task-select{flex:0 1 190px}.task-native-select{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}.task-select-trigger{display:flex;align-items:center;gap:9px;width:100%;min-height:41px;border:1px solid #cfdee8;border-radius:9px;background:linear-gradient(180deg,#fff,#f9fbfd);color:#385a72;padding:9px 12px;text-align:left;font-size:.84rem;line-height:1.35;box-shadow:0 1px 2px #1e4a6507;cursor:pointer;transition:border-color .15s,box-shadow .15s}.task-select-trigger:hover{border-color:#9fbed0;background:#f6fafd}.task-select-trigger[aria-expanded=true]{border-color:#599cc2;box-shadow:0 0 0 3px #3188bb17;background:#fff}.task-select-trigger>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-select-trigger>i:first-child{color:#5685a0}.task-select-chevron{font-size:.65rem;color:#7c99ab;transition:transform .15s}.task-select-trigger[aria-expanded=true] .task-select-chevron{transform:rotate(180deg)}.task-select-popup{position:fixed;z-index:1100;background:#fff;border:1px solid #d9e4ec;border-radius:12px;padding:5px;box-shadow:0 12px 36px #17344f24,0 2px 6px #17344f10;overflow-y:auto;color:#294b64;font-family:inherit}.task-select-popup[hidden]{display:none}.task-select-options{outline:none}.task-select-option{display:flex;align-items:center;gap:9px;padding:10px;border-radius:7px;cursor:pointer;font-size:13px;line-height:1.35}.task-select-option>span{flex:1;overflow-wrap:anywhere}.task-select-option>i:first-child{color:#7b99ad;font-size:14px}.task-select-option.focused,.task-select-option:hover{background:#f0f6fa}.task-select-option[aria-selected=true]{background:#e8f3fa;color:#1e668d;font-weight:650}.task-option-check{visibility:hidden;color:#24769f}.task-select-option[aria-selected=true] .task-option-check{visibility:visible}.task-select-search{box-sizing:border-box;width:100%;padding:9px 10px;margin-bottom:5px;border:1px solid #dde8ef;border-radius:7px;font-size:13px;color:#385a72;background:#f7fafc}.task-select-empty{padding:12px;color:#7f93a1;font-size:13px;margin:0}.kanban-card-footer .task-select{width:120px}.kanban-card-footer .task-select-trigger{min-height:30px;padding:5px 7px;gap:4px;font-size:.69rem;border-radius:6px}.kanban-card-footer .task-select-trigger>i:first-child{display:none}@media(max-width:800px){.tasks-filters>.task-select{flex:1 1 145px}.tasks-page-shell .tasks-panel{padding:18px}}@media(prefers-reduced-motion:reduce){.tasks-page-shell *, .task-select-chevron{transition:none!important;scroll-behavior:auto!important}}

/* Blue actions, unobstructed notices, and priority level indicators. */
.tasks-page-shell .btn-success{background:linear-gradient(180deg,#347fae,#205d89);border-color:#215f8b;box-shadow:0 3px 7px #154c7425,inset 0 1px 0 #ffffff24}.tasks-page-shell .btn-success:hover{background:linear-gradient(180deg,#2c73a1,#174e77);border-color:#174e77;box-shadow:0 5px 12px #154c7430}.tasks-page-shell .btn-outline-success{color:#24648e;border-color:#bed3e2;background:#f8fbfe}.tasks-page-shell .btn-outline-success:hover{color:#174d72;background:#e7f1f9;border-color:#8cb7d2}.tasks-page-shell .btn:focus-visible{outline:3px solid #8ec9ec;outline-offset:3px}.app-notifications{position:fixed;top:calc(var(--app-header-height,66px) + 18px);right:24px;width:min(400px,calc(100vw - 32px));z-index:1080;display:grid;gap:10px;pointer-events:none;max-height:calc(100dvh - var(--app-header-height,66px) - var(--app-footer-height,88px) - 40px);overflow-y:auto}.app-notice{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border:1px solid #d5e3ed;border-left:4px solid #3e82ae;border-radius:13px;box-shadow:0 10px 30px #15384e25;color:#28495e}.app-notice-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:#e8f3fb;color:#2e78a5;font-size:18px}.app-notice>div{flex:1;min-width:0}.app-notice strong{font-size:13px;font-weight:750;display:block;margin-bottom:3px}.app-notice p{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.app-notice-close{border:0;background:transparent;color:#6f899a;border-radius:6px;padding:4px;cursor:pointer}.app-notice-close:hover{background:#edf4f8;color:#244e68}.notice-error{border-left-color:#c25353}.notice-error .app-notice-icon{background:#fbeaea;color:#ba4848}.notice-warning{border-left-color:#c49536}.notice-warning .app-notice-icon{background:#fff5df;color:#a87a22}.task-priority-control{display:flex;align-items:center;gap:9px;margin-top:12px}.priority-tube{height:9px;flex:1;min-width:40px;border:1px solid #d5e1eb;border-radius:999px;background:#e8eef4;padding:1px;box-shadow:inset 0 1px 2px #193e5012}.priority-tube>span{height:100%;display:block;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff60}.tube-low>span{width:25%;background:linear-gradient(90deg,#92aec5,#6f94b5)}.tube-normal>span{width:50%;background:linear-gradient(90deg,#67a6d6,#387eb7)}.tube-high>span{width:75%;background:linear-gradient(90deg,#f3c874,#d59a3a)}.tube-urgent>span{width:100%;background:linear-gradient(90deg,#ed9693,#ce575d)}.task-priority-control form{width:124px}.task-priority-control .task-select-trigger{min-height:30px;padding:5px 7px;font-size:.71rem;gap:5px}.task-priority-control select{width:100%;font-size:.75rem;border:1px solid #d2e1eb;border-radius:7px;padding:5px;background:#f5f9fc;color:#37627c}@media(min-width:801px){.tasks-page-shell~.app-notifications{max-width:calc(100vw - 304px)}}@media(max-width:800px){.app-notifications{right:16px;top:calc(var(--app-header-height,66px) + 12px)}}


/* Company report transaction table */
.company-transactions-surface { overflow:hidden; }
.company-transactions-table { min-width:1320px; }
.company-transactions-table > :not(caption) > * > * { padding:.85rem 1rem; }
.company-transactions-table .transaction-index {
  width:58px;
  min-width:58px;
  text-align:center!important;
  color:#6f7f8e;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.company-transactions-table tbody tr { height:58px; }
.company-transactions-table tfoot td { border-top:2px solid var(--line); background:#f8fafc; }

@media (max-width: 768px) {
  .company-transactions-table > :not(caption) > * > * { padding:.7rem .75rem; }
}


/* =========================================================
   GTA Manager Enterprise UI
   Backup before redesign: backup/pre-enterprise-ui-2026-10-03
   ========================================================= */

:root{
  --app-header-height:64px;
  --app-sidebar-width:252px;
  --enterprise-bg:#f4f6f8;
  --enterprise-panel:#fff;
  --enterprise-panel-alt:#f8fafc;
  --enterprise-border:#d9e1e8;
  --enterprise-border-strong:#c6d0da;
  --enterprise-ink:#172536;
  --enterprise-muted:#66778a;
  --enterprise-navy:#122b3f;
  --enterprise-navy-2:#1e4765;
  --enterprise-blue:#2f6f9f;
  --enterprise-teal:#118777;
  --enterprise-focus:#6ba8cf;
  --enterprise-sidebar:#182a38;
  --enterprise-sidebar-2:#203746;
  --enterprise-sidebar-text:#dce6ed;
  --enterprise-sidebar-muted:#8ea4b5;
  --enterprise-shadow:0 1px 2px rgba(15,31,45,.05),0 8px 22px rgba(15,31,45,.04);
}

html{background:var(--enterprise-bg)}
body{
  min-height:100vh;
  padding-top:var(--app-header-height);
  background:var(--enterprise-bg);
  color:var(--enterprise-ink);
  font-size:14px;
}

/* Top command bar */
.app-topbar{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1040;
  height:var(--app-header-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 22px;
  background:#fff;
  border-bottom:1px solid var(--enterprise-border);
  box-shadow:0 1px 2px rgba(15,31,45,.04);
}
.app-topbar-left,.app-topbar-actions,.app-topbar-brand,.app-topbar-context,.app-user-menu{
  display:flex;
  align-items:center;
}
.app-topbar-left{min-width:0;gap:16px}
.app-topbar-brand{
  flex:0 0 auto;
  color:var(--enterprise-ink);
  text-decoration:none;
  gap:10px;
}
.app-topbar-brand:hover{color:var(--enterprise-ink)}
.app-topbar .brand-mark{
  width:38px;height:38px;flex-basis:38px;margin:0;padding:3px;border:1px solid var(--enterprise-border);
  border-radius:9px;background:#fff;box-shadow:none;
}
.app-topbar .brand-mark img{width:100%;height:100%;object-fit:contain}
.app-brand-copy{display:flex;flex-direction:column;line-height:1.05}
.app-brand-copy strong{font-size:.95rem;font-weight:800;letter-spacing:-.015em}
.app-brand-copy small{margin-top:4px;color:#8090a0;font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700}
.app-topbar-context{
  min-width:0;gap:8px;padding-left:15px;border-left:1px solid var(--enterprise-border);
  color:#607286;font-size:.82rem;font-weight:650;
}
.app-topbar-context>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-topbar-context .bi-chevron-right{font-size:.66rem;color:#a1afba}
.app-context-badge{
  display:inline-flex!important;align-items:center;gap:6px;
  padding:4px 8px;border:1px solid #d7e5df;border-radius:6px;background:#f4faf7;color:#286653;
}
.app-context-badge img{object-fit:contain}
.app-topbar-actions{gap:9px}
.app-topbar-icon{
  place-items:center;width:36px;height:36px;border:1px solid var(--enterprise-border);
  border-radius:8px;color:#526b7e;background:#fff;text-decoration:none;
}
.app-topbar-icon:hover{background:#f5f8fa;color:#244d68;border-color:#bdccd7}
.app-user-menu{
  gap:8px;min-height:40px;padding:4px 8px 4px 5px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--enterprise-ink);
}
.app-user-menu:hover,.app-user-menu[aria-expanded=true]{background:#f5f8fa;border-color:var(--enterprise-border)}
.app-user-menu::after{margin-left:2px;color:#748695}
.app-user-avatar{
  display:grid;place-items:center;width:31px;height:31px;border-radius:7px;background:#eaf1f5;color:#315f7b;font-size:1rem;
}
.app-user-copy{line-height:1.1;text-align:left}
.app-user-copy strong{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.app-user-copy small{display:block;margin-top:3px;color:#8796a3;font-size:.64rem}
.app-user-dropdown{min-width:230px;border-radius:10px;padding:7px;border:1px solid var(--enterprise-border)!important}
.app-user-dropdown .dropdown-item{border-radius:7px;padding:8px 10px;font-size:.82rem}
.app-sidebar-toggle{
  display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--enterprise-border);
  border-radius:8px;background:#fff;color:#34566d;font-size:1.25rem;
}

/* Context navigation */
.app-sidebar{
  position:fixed;
  z-index:1030;
  top:var(--app-header-height);
  left:0;
  bottom:0;
  width:var(--app-sidebar-width);
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  background:linear-gradient(180deg,var(--enterprise-sidebar),#152531);
  color:var(--enterprise-sidebar-text);
  border-right:1px solid #0f202b;
  box-shadow:4px 0 15px rgba(10,24,34,.05);
}
.app-sidebar-head{
  padding:21px 20px 18px;border-bottom:1px solid rgba(255,255,255,.07);
}
.app-sidebar-head>strong,.app-sidebar-module>div>strong{display:block;font-size:1rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.app-sidebar-head>small,.app-sidebar-module>div>small{display:block;margin-top:4px;color:var(--enterprise-sidebar-muted);font-size:.72rem}
.app-sidebar-kicker{
  display:block;margin-bottom:7px;color:#6f99b5;font-size:.61rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
}
.app-sidebar-module{display:flex;align-items:center;gap:12px}
.app-sidebar-module-logo{
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:10px;background:#fff;border:1px solid rgba(255,255,255,.2);
}
.app-sidebar-module-logo img{max-width:35px;max-height:35px;object-fit:contain}
.app-sidebar-nav{display:flex;flex-direction:column;gap:3px;padding:15px 11px}
.app-sidebar-label{
  padding:13px 10px 5px;color:#708899;font-size:.59rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
}
.app-sidebar-nav a{
  position:relative;display:flex;align-items:center;gap:11px;min-height:40px;padding:9px 11px;
  border:1px solid transparent;border-radius:7px;color:#b9c8d2;text-decoration:none;font-size:.79rem;font-weight:650;
  transition:background .14s,border-color .14s,color .14s;
}
.app-sidebar-nav a i{width:18px;text-align:center;color:#87a2b4;font-size:.96rem}
.app-sidebar-nav a:hover{background:rgba(255,255,255,.055);color:#fff;border-color:rgba(255,255,255,.035)}
.app-sidebar-nav a.active{
  color:#fff;background:#29495d;border-color:#36586b;box-shadow:inset 3px 0 #55a7d5;
}
.app-sidebar-nav a.active i{color:#7bc1e6}
.app-sidebar-foot{
  display:flex;align-items:center;gap:9px;margin-top:auto;padding:14px 18px;border-top:1px solid rgba(255,255,255,.07);color:#a7bac7;
}
.app-sidebar-foot>span:last-child{display:flex;flex-direction:column;line-height:1.15}
.app-sidebar-foot strong{font-size:.68rem;color:#c9d6de;font-weight:700}
.app-sidebar-foot small{margin-top:3px;color:#748e9f;font-size:.61rem}
.app-system-dot{width:8px;height:8px;border-radius:50%;background:#4bc58c;box-shadow:0 0 0 4px rgba(75,197,140,.1)}
.app-sidebar-backdrop{display:none}

/* Workspace geometry */
.page-shell{
  width:auto;
  max-width:none;
  min-height:calc(100vh - var(--app-header-height) - 46px);
  margin:0;
  padding:28px clamp(22px,2.6vw,44px) 46px;
}
.has-app-sidebar .page-shell{margin-left:var(--app-sidebar-width)}
.app-mode-tasks .page-shell{padding:0 0 40px}
.app-mode-tasks .tasks-workspace{min-height:calc(100vh - var(--app-header-height))}
.app-mode-tasks .tasks-sidebar{top:var(--app-header-height)}
.app-mode-tasks .tasks-main{padding-top:24px}

/* Enterprise typography */
.page-heading{margin-bottom:20px;align-items:center}
.page-title{font-size:1.62rem;line-height:1.2;letter-spacing:-.025em;color:#172c3e}
.page-subtitle{font-size:.82rem;color:#718294}
.eyebrow{font-size:.63rem;letter-spacing:.13em;color:#3c799d}
.section-heading h2{color:#1c3447}
h1,h2,h3,h4,h5,h6{color:#1c3447}

/* Panels */
.surface,.company-table-card,.analytics-card,.card{
  border:1px solid var(--enterprise-border)!important;
  border-radius:10px!important;
  box-shadow:var(--enterprise-shadow)!important;
}
.surface{background:#fff}
.surface-header{
  padding:14px 16px;background:#fbfcfd;border-bottom:1px solid var(--enterprise-border);border-radius:10px 10px 0 0;
}
.surface-body{padding:17px}
.metric-card{
  min-height:112px;padding:17px 18px;border-radius:10px!important;
}
.metric-card::after{width:72px;height:72px;right:-24px;top:-25px}
.metric-label{font-size:.69rem;letter-spacing:.035em;text-transform:uppercase;color:#6f8190}
.metric-value{margin-top:.55rem;font-size:1.65rem;color:#173147}
.metric-meta{font-size:.71rem}
.hero-panel,.gta-home-hero{
  border-radius:12px!important;
  background:linear-gradient(120deg,#18364a,#22597a 75%,#20796f 135%)!important;
  box-shadow:0 8px 28px rgba(20,53,75,.13)!important;
}
.hero-panel{padding:30px}
.hero-panel h1{font-size:2.15rem}
.gta-home-hero{overflow:hidden}
.activity-card,.chain-card{border-radius:11px!important;box-shadow:var(--enterprise-shadow)!important}

/* Data tables */
.table-responsive{scrollbar-width:thin;scrollbar-color:#b5c3ce transparent}
.table{
  --bs-table-bg:transparent;
  --bs-table-hover-bg:#f7fafc;
  font-size:.78rem;
}
.table thead th{
  height:39px;padding:10px 12px;background:#f3f6f8!important;color:#536b7d;
  border-top:0;border-bottom:1px solid var(--enterprise-border-strong)!important;
  font-size:.64rem;letter-spacing:.055em;font-weight:800;
}
.table td{
  padding:10px 12px;border-color:#e7edf1!important;color:#314b5d;
}
.table tbody tr{transition:background .1s}
.table tbody tr:hover{background:#f7fafc!important}
.table tfoot td{background:#f7f9fb!important;border-top:1px solid var(--enterprise-border-strong)!important}
.company-transactions-table tbody tr{height:auto}
.company-transactions-table > :not(caption) > * > *{padding:.72rem .8rem}
.company-transactions-table .transaction-index{width:52px;min-width:52px}
.font-monospace{font-size:.75rem}

/* Buttons */
.btn{
  min-height:36px;padding:.46rem .8rem;border-radius:7px;font-size:.78rem;font-weight:700;
  box-shadow:0 1px 2px rgba(15,31,45,.04);
}
.btn-lg{min-height:42px;padding:.58rem 1rem;font-size:.84rem}
.btn-sm{min-height:30px;padding:.34rem .58rem;font-size:.71rem}
.btn-primary{background:#2f6f9f;border-color:#2f6f9f}
.btn-primary:hover{background:#285f88;border-color:#285f88}
.btn-success{background:#168676;border-color:#168676}
.btn-success:hover{background:#116f63;border-color:#116f63}
.btn-light{border-color:#d4dde4;background:#fff;color:#486173}
.btn-light:hover{background:#f5f8fa;border-color:#bdcbd6;color:#294c64}
.btn-outline-secondary{border-color:#c6d1da;color:#546b7d}
.action-group{gap:7px}

/* Inputs / filters */
.form-control,.form-select,.input-group-text{
  min-height:38px;border-color:#cfd9e1;border-radius:7px;font-size:.78rem;
}
.input-group>.form-control,.input-group>.input-group-text{border-radius:7px}
.form-control:focus,.form-select:focus{
  border-color:#6e9fbd;box-shadow:0 0 0 3px rgba(72,137,176,.12);
}
.form-label{font-size:.71rem;color:#526b7d}
.form-select{background-color:#fff}
.upload-zone{border-radius:8px;background:#fafcfd;border-color:#ccd8e0}
.upload-step{padding:15px}
.upload-step:hover{transform:none;background:#f6fafc}
.upload-step-icon{width:42px;height:42px;border-radius:8px}

/* Shared labels */
.status-pill{border-radius:6px;padding:.28rem .5rem;font-size:.66rem}
.fuel-pill{border-radius:6px;padding:.31rem .58rem;font-size:.67rem;box-shadow:inset 2px 0 currentColor}
.fuel-pill--diesel{box-shadow:inset 2px 0 #1979a8}
.fuel-pill--premium-diesel{box-shadow:inset 2px 0 #7960c4}
.fuel-pill--petrol{box-shadow:inset 2px 0 #278e60}
.fuel-pill--premium-petrol{box-shadow:inset 2px 0 #d58929}
.fuel-pill--lpg{box-shadow:inset 2px 0 #cb5760}
.fuel-pill--other{box-shadow:inset 2px 0 #64748b}

/* Analytics */
.analytics-header{margin-bottom:18px!important}
.analytics-header h2{font-size:1.55rem}
.period-selector{padding:5px!important;gap:5px!important;border-radius:9px!important;box-shadow:none!important}
.period-btn{min-width:130px!important;padding:9px 12px!important;border-radius:6px!important;font-size:.78rem}
.period-btn-active{background:#203847!important;box-shadow:0 1px 3px rgba(0,0,0,.15)!important;transform:none!important}
.period-info{border:1px solid var(--enterprise-border)!important;border-radius:9px!important;padding:13px 16px!important;box-shadow:none!important}
.analytics-card{overflow:hidden}
.analytics-card:hover{transform:none!important;box-shadow:var(--enterprise-shadow)!important}
.analytics-card .card-header{padding:10px 14px;font-size:.72rem}
.analytics-card .card-body{padding:15px}
.analytics-value{font-size:1.65rem!important}
.company-table-card .card-header{padding:13px 16px!important}

/* Footer */
.app-footer{
  min-height:46px;background:#fff;border-top:1px solid var(--enterprise-border);color:#768794;
}
.has-app-sidebar .app-footer{margin-left:var(--app-sidebar-width)}
.app-footer-inner{
  min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:none;padding:0 26px;font-size:.68rem;
}
.app-footer-links{display:flex;align-items:center;gap:15px}
.app-footer-links a{color:#617687;text-decoration:none}
.app-footer-links a:hover{color:#2d6588}
.app-footer-identity{display:none}

/* Notifications */
.app-notifications{
  top:calc(var(--app-header-height) + 14px);right:18px;width:min(390px,calc(100vw - 28px));
}
.app-notice{border-radius:9px;box-shadow:0 12px 28px rgba(20,45,63,.16)}

/* Mobile */
@media(max-width:991.98px){
  .has-app-sidebar .page-shell{margin-left:0}
  .has-app-sidebar .app-footer{margin-left:0}
  .app-sidebar{
    transform:translateX(-102%);
    transition:transform .2s ease;
    box-shadow:12px 0 35px rgba(8,24,35,.24);
  }
  body.sidebar-open{overflow:hidden}
  body.sidebar-open .app-sidebar{transform:translateX(0)}
  .app-sidebar-backdrop{
    position:fixed;z-index:1025;inset:var(--app-header-height) 0 0 0;
    width:100%;height:auto;border:0;background:rgba(9,22,31,.42);
  }
  body.sidebar-open .app-sidebar-backdrop{display:block}
  .page-shell{padding:22px 16px 38px}
  .app-topbar{padding:0 14px}
  .app-brand-copy small{display:none}
  .app-mode-tasks .tasks-main{padding-top:18px}
}
@media(max-width:575.98px){
  .app-topbar-brand .brand-mark{width:34px;height:34px;flex-basis:34px}
  .app-brand-copy strong{font-size:.85rem}
  .page-heading{align-items:flex-start;flex-direction:column}
  .action-group{width:100%}
  .action-group>.btn{flex:1}
  .metric-card{min-height:102px;padding:14px}
  .metric-value{font-size:1.35rem}
  .surface-header,.surface-body{padding:13px}
  .app-footer-inner{padding:0 14px}
  .app-footer-links{display:none}
}


/* Enterprise alignment for the projects module */
.app-mode-tasks .tasks-sidebar{
  background:linear-gradient(180deg,#1a3040,#152633)!important;
  border-color:#29495c!important;
  box-shadow:4px 0 18px rgba(13,37,56,.08)!important;
}
.app-mode-tasks .tasks-sidebar-brand{border-bottom-color:rgba(255,255,255,.08)!important}
.app-mode-tasks .tasks-sidebar-brand small,
.app-mode-tasks .tasks-sidebar-label,
.app-mode-tasks .tasks-sidebar-hint{color:#819aaa!important}
.app-mode-tasks .tasks-sidebar-nav a{color:#c2d0d9!important;border:1px solid transparent}
.app-mode-tasks .tasks-sidebar-nav a i:first-child{color:#86a8bc!important}
.app-mode-tasks .tasks-sidebar-nav a:hover{background:#ffffff0d!important;color:#fff!important}
.app-mode-tasks .tasks-sidebar-nav a.active{
  background:#29495d!important;color:#fff!important;border-color:#36586b!important;box-shadow:inset 3px 0 #55a7d5!important;
}
.app-mode-tasks .tasks-sidebar-nav a.active i:first-child{color:#75bce4!important}
.app-mode-tasks .tasks-sidebar-mark{background:transparent!important;border-radius:8px!important}
.app-mode-tasks .tasks-sidebar-section>a{color:#77b6da!important}
.app-mode-tasks .tasks-sidebar-foot{border-top-color:rgba(255,255,255,.08)!important;color:#9bb0bd!important}


/* Enterprise contrast audit — contextual text colors */
.app-brand-copy small{color:#637587}
.app-user-copy small{color:#66798a}
.app-sidebar-kicker{color:#8fb6cf}
.app-sidebar-label{color:#8fa5b5}
.app-sidebar-head>small,.app-sidebar-module>div>small{color:#a7bac7}
.app-sidebar-foot strong{color:#d8e3e9}
.app-sidebar-foot small{color:#98acba}
.page-subtitle{color:#5f7284}
.metric-label{color:#5d7183}
.metric-meta{color:#66798a}
.app-footer{color:#637788}
.app-footer-copy{color:#637788}

/* Headings on dark surfaces must not inherit the global dark heading color. */
.gta-home-hero,
.hero-panel{color:#eef7fb!important}
.gta-home-hero h1,
.gta-home-hero h2,
.gta-home-hero h3,
.gta-home-hero h4,
.gta-home-hero h5,
.gta-home-hero h6,
.hero-panel h1,
.hero-panel h2,
.hero-panel h3,
.hero-panel h4,
.hero-panel h5,
.hero-panel h6{color:#fff!important}
.gta-home-hero .lead,
.hero-panel .lead{color:#dbe8ef!important}
.gta-home-hero .opacity-75,
.hero-panel .opacity-75{opacity:1!important;color:#cfdee7!important}

/* Bootstrap dark headers contain child headings with their own global color. */
.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6,
.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6{color:#fff!important}
.card-header.bg-dark,
.card-header.bg-dark h1,
.card-header.bg-dark h2,
.card-header.bg-dark h3,
.card-header.bg-dark h4,
.card-header.bg-dark h5,
.card-header.bg-dark h6{color:#fff!important}

/* KPI cards: darker enterprise fills give white text WCAG-safe contrast. */
.analytics-card.text-white,
.analytics-card.text-white .card-header,
.analytics-card.text-white .card-body,
.analytics-card.text-white .analytics-value,
.analytics-card.text-white .card-text{color:#fff!important}
.analytics-card.bg-primary{background:#286a9d!important}
.analytics-card.bg-success{background:#237d58!important}
.analytics-card.bg-info{background:#197895!important}

/* Preserve warning accents on dark hero sections. */
.gta-home-hero .text-warning,
.hero-panel .text-warning{color:#ffd45e!important}


/* =========================================================
   Enterprise navigation refinement
   ========================================================= */

/* Dark professional command bar */
.app-topbar{
  background:linear-gradient(105deg,#102635 0%,#16384c 58%,#1a4358 100%)!important;
  border-bottom:1px solid #244b60!important;
  box-shadow:0 5px 18px rgba(10,28,40,.16)!important;
}
.app-topbar-brand{color:#f5f9fb!important}
.app-topbar-brand:hover{color:#fff!important}
.app-topbar .brand-mark{
  background:#f9fbfc!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.12)!important;
}
.app-brand-copy strong{color:#fff!important}
.app-brand-copy small{color:#9fb8c8!important}
.app-topbar-context{
  border-left-color:rgba(255,255,255,.14)!important;
  color:#cad9e2!important;
}
.app-topbar-context .bi-chevron-right{color:#6f8fa2!important}
.app-context-badge{
  color:#d7eee6!important;
  background:rgba(54,139,113,.18)!important;
  border-color:rgba(112,190,165,.25)!important;
}
.app-topbar-icon,
.app-sidebar-toggle{
  color:#d7e4ec!important;
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.app-topbar-icon:hover,
.app-sidebar-toggle:hover{
  color:#fff!important;
  background:rgba(255,255,255,.11)!important;
  border-color:rgba(255,255,255,.24)!important;
}
.app-user-menu{
  color:#edf4f7!important;
  border-color:transparent!important;
}
.app-user-menu:hover,
.app-user-menu[aria-expanded=true]{
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.app-user-avatar{
  color:#d4e6f1!important;
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.08);
}
.app-user-copy strong{color:#fff!important}
.app-user-copy small{color:#9fb5c3!important}
.app-user-menu::after{color:#91aaba!important}

/* Keep the main sidebar and project sidebar on one visual system. */
.app-sidebar,
.app-mode-tasks .tasks-sidebar{
  background:linear-gradient(180deg,#182d3c 0%,#142633 100%)!important;
  color:#dce7ed!important;
  border-color:#284657!important;
  box-shadow:4px 0 16px rgba(10,26,37,.08)!important;
}

/* Projects workspace geometry mirrors the main application sidebar. */
.app-mode-tasks .tasks-workspace{
  grid-template-columns:var(--app-sidebar-width) minmax(0,1fr)!important;
  gap:0!important;
  max-width:none!important;
  margin:0!important;
  align-items:stretch!important;
}
.app-mode-tasks .tasks-sidebar{
  position:sticky!important;
  top:var(--app-header-height)!important;
  width:var(--app-sidebar-width)!important;
  min-height:calc(100vh - var(--app-header-height))!important;
  max-height:calc(100vh - var(--app-header-height))!important;
  overflow-y:auto!important;
  padding:0!important;
  border:0!important;
  border-right:1px solid #284657!important;
  border-radius:0!important;
}
.app-mode-tasks .tasks-main{
  min-width:0!important;
  padding:28px clamp(22px,2.6vw,44px) 46px!important;
}

/* Projects sidebar header = main sidebar header */
.app-mode-tasks .tasks-sidebar-brand{
  min-height:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:21px 20px 18px!important;
  margin:0!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
}
.app-mode-tasks .tasks-sidebar-mark{
  display:grid!important;
  place-items:center!important;
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  padding:3px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:10px!important;
  background:#fff!important;
}
.app-mode-tasks .tasks-sidebar-mark img{
  width:36px!important;
  height:36px!important;
  object-fit:contain!important;
}
.app-mode-tasks .tasks-sidebar-brand strong{
  color:#fff!important;
  font-size:.92rem!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
.app-mode-tasks .tasks-sidebar-brand small{
  margin-top:4px!important;
  color:#9fb3c0!important;
  font-size:.61rem!important;
  letter-spacing:.11em!important;
}

/* Projects sidebar section labels = main sidebar labels */
.app-mode-tasks .tasks-sidebar-label{
  display:block!important;
  padding:13px 21px 5px!important;
  color:#8ea4b4!important;
  font-size:.59rem!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.app-mode-tasks .tasks-sidebar-section{
  padding:0 11px!important;
}
.app-mode-tasks .tasks-sidebar-section .tasks-sidebar-label{
  padding-left:10px!important;
  padding-right:0!important;
}
.app-mode-tasks .tasks-sidebar-section>a{
  color:#8fbad3!important;
  padding:5px 9px!important;
  border-radius:6px!important;
}
.app-mode-tasks .tasks-sidebar-section>a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.06)!important;
}

/* Projects sidebar links = main sidebar links */
.app-mode-tasks .tasks-sidebar-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin:0!important;
  padding:4px 11px 10px!important;
}
.app-mode-tasks .tasks-sidebar-nav a{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:40px!important;
  padding:9px 11px!important;
  border:1px solid transparent!important;
  border-radius:7px!important;
  color:#b9c8d2!important;
  background:transparent!important;
  text-decoration:none!important;
  font-size:.79rem!important;
  font-weight:650!important;
  box-shadow:none!important;
}
.app-mode-tasks .tasks-sidebar-nav a i:first-child{
  width:18px!important;
  text-align:center!important;
  color:#87a2b4!important;
  font-size:.96rem!important;
}
.app-mode-tasks .tasks-sidebar-nav a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.035)!important;
}
.app-mode-tasks .tasks-sidebar-nav a.active{
  color:#fff!important;
  background:#29495d!important;
  border-color:#36586b!important;
  box-shadow:inset 3px 0 #55a7d5!important;
}
.app-mode-tasks .tasks-sidebar-nav a.active i:first-child{color:#7bc1e6!important}
.app-mode-tasks .tasks-nav-count{
  margin-left:auto!important;
  color:#c9d9e2!important;
  background:rgba(255,255,255,.08)!important;
  border-radius:6px!important;
  padding:2px 7px!important;
}
.app-mode-tasks .tasks-nav-count.danger{
  color:#ffd9d8!important;
  background:rgba(190,74,72,.25)!important;
}
.app-mode-tasks .tasks-project-links{
  max-height:210px;
  overflow-y:auto;
}
.app-mode-tasks .tasks-sidebar-hint{
  padding:8px 11px!important;
  color:#8199a9!important;
  font-size:.72rem!important;
}

/* Projects footer block = main sidebar system block */
.app-mode-tasks .tasks-sidebar-foot{
  margin-top:auto!important;
  padding:14px 18px!important;
  border-top:1px solid rgba(255,255,255,.07)!important;
  color:#a7bac7!important;
  background:transparent!important;
}
.app-mode-tasks .tasks-sidebar-foot>i{
  color:#69b9df!important;
  font-size:.9rem!important;
}
.app-mode-tasks .tasks-sidebar-foot span{
  font-size:.68rem!important;
  line-height:1.35!important;
}
.app-mode-tasks .tasks-sidebar-foot strong{color:#d8e3e9!important}

/* Preserve responsive behavior for the projects workspace. */
@media(max-width:800px){
  .app-mode-tasks .tasks-workspace{
    display:block!important;
  }
  .app-mode-tasks .tasks-sidebar{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    min-height:0!important;
    max-height:none!important;
    border-right:0!important;
    border-bottom:1px solid #284657!important;
  }
  .app-mode-tasks .tasks-main{
    padding:20px 15px 40px!important;
  }
}


/* =========================================================
   AWS-inspired console system — final platform layer
   This block intentionally wins over legacy layout rules.
   ========================================================= */

:root{
  --app-header-height:60px;
  --app-footer-height:0px;
  --app-sidebar-width:252px;
  --aws-topbar:#0f1f2a;
  --aws-topbar-2:#132a38;
  --aws-sidebar:#19384a;
  --aws-sidebar-deep:#153242;
  --aws-sidebar-border:#31566b;
  --aws-sidebar-hover:#24495e;
  --aws-sidebar-active:#2b5268;
  --aws-accent:#ffb000;
  --aws-link:#0972d3;
  --aws-canvas:#f2f3f3;
  --aws-panel:#ffffff;
  --aws-panel-soft:#f8f9fa;
  --aws-line:#d5dbdb;
  --aws-line-strong:#aab7b8;
  --aws-text:#16191f;
  --aws-text-2:#414d5c;
  --aws-muted:#687078;
  --aws-focus:#0972d3;
  --aws-shadow:0 1px 2px rgba(0,0,0,.08);
}

html,body{background:var(--aws-canvas)!important}
body{
  padding-top:var(--app-header-height)!important;
  padding-bottom:0!important;
  color:var(--aws-text)!important;
  font-size:14px;
}

/* Top command bar: deliberately darker than sidebar. */
.app-topbar{
  height:var(--app-header-height)!important;
  padding:0 18px!important;
  background:linear-gradient(100deg,var(--aws-topbar),var(--aws-topbar-2))!important;
  border-bottom:1px solid #28404d!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}
.app-topbar-brand{gap:9px!important}
.app-topbar .brand-mark{
  width:36px!important;height:36px!important;flex-basis:36px!important;
  border-radius:7px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.app-brand-copy strong{font-size:.9rem!important;color:#fff!important}
.app-brand-copy small{font-size:.58rem!important;color:#9eb4c1!important}
.app-topbar-context{
  padding-left:14px!important;
  border-left:1px solid rgba(255,255,255,.14)!important;
  color:#c7d5dd!important;
  font-size:.76rem!important;
}
.app-topbar-context .bi-chevron-right{color:#708c9c!important}
.app-context-badge{
  padding:3px 7px!important;
  border-radius:4px!important;
  background:#203d4a!important;
  border-color:#3b5b68!important;
  color:#d8ece5!important;
}
.app-topbar-icon,
.app-sidebar-toggle{
  width:34px!important;height:34px!important;
  border-radius:5px!important;
  color:#d7e4ea!important;
  background:#183442!important;
  border-color:#365260!important;
  box-shadow:none!important;
}
.app-topbar-icon:hover,
.app-sidebar-toggle:hover{background:#244858!important;border-color:#4b6876!important;color:#fff!important}
.app-user-menu{
  min-height:36px!important;
  padding:3px 7px 3px 4px!important;
  border-radius:5px!important;
}
.app-user-menu:hover,.app-user-menu[aria-expanded=true]{background:#193744!important}
.app-user-avatar{
  width:29px!important;height:29px!important;border-radius:5px!important;
  color:#d9e7ee!important;background:#244351!important;border-color:#365563!important;
}
.app-user-copy strong{font-size:.74rem!important}
.app-user-copy small{font-size:.58rem!important;color:#a3b7c2!important}

/* Shared sidebar: visibly lighter than topbar. */
.app-sidebar,
.app-mode-tasks .tasks-sidebar{
  background:linear-gradient(180deg,var(--aws-sidebar),var(--aws-sidebar-deep))!important;
  color:#dbe6ec!important;
  border-right:1px solid var(--aws-sidebar-border)!important;
  box-shadow:2px 0 7px rgba(0,0,0,.08)!important;
}
.app-sidebar{
  top:var(--app-header-height)!important;
  width:var(--app-sidebar-width)!important;
}
.app-sidebar-head,
.app-mode-tasks .tasks-sidebar-brand{
  background:rgba(255,255,255,.018)!important;
  border-bottom:1px solid rgba(255,255,255,.085)!important;
}
.app-sidebar-kicker,
.app-sidebar-label,
.app-mode-tasks .tasks-sidebar-label{
  color:#93adbc!important;
}
.app-sidebar-head>strong,
.app-sidebar-module>div>strong,
.app-mode-tasks .tasks-sidebar-brand strong{color:#fff!important}
.app-sidebar-head>small,
.app-sidebar-module>div>small,
.app-mode-tasks .tasks-sidebar-brand small{color:#a9bdc8!important}

.app-sidebar-nav a,
.app-mode-tasks .tasks-sidebar-nav a{
  min-height:38px!important;
  padding:8px 10px!important;
  border:1px solid transparent!important;
  border-radius:4px!important;
  color:#d0dde4!important;
  background:transparent!important;
  font-size:.77rem!important;
  font-weight:600!important;
  box-shadow:none!important;
}
.app-sidebar-nav a i,
.app-mode-tasks .tasks-sidebar-nav a i:first-child{
  color:#9bb5c4!important;
}
.app-sidebar-nav a:hover,
.app-mode-tasks .tasks-sidebar-nav a:hover{
  color:#fff!important;
  background:var(--aws-sidebar-hover)!important;
  border-color:#31576b!important;
}
.app-sidebar-nav a.active,
.app-mode-tasks .tasks-sidebar-nav a.active{
  color:#fff!important;
  background:var(--aws-sidebar-active)!important;
  border-color:#3c6276!important;
  box-shadow:inset 3px 0 var(--aws-accent)!important;
}
.app-sidebar-nav a.active i,
.app-mode-tasks .tasks-sidebar-nav a.active i:first-child{
  color:#dcecf4!important;
}
.app-sidebar-foot,
.app-mode-tasks .tasks-sidebar-foot{
  background:rgba(0,0,0,.055)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.app-system-dot{background:#2eb67d!important}

/* Main work area */
.page-shell{
  min-height:calc(100vh - var(--app-header-height))!important;
  padding:24px clamp(20px,2.4vw,38px) 38px!important;
  background:var(--aws-canvas)!important;
}
.has-app-sidebar .page-shell{margin-left:var(--app-sidebar-width)!important}

/* Critical Projects fix: old display:block/fixed sidebar rules are neutralized here. */
.app-mode-tasks .page-shell.tasks-page-shell{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:calc(100vh - var(--app-header-height))!important;
  margin:0!important;
  padding:0!important;
  background:var(--aws-canvas)!important;
}
.app-mode-tasks .tasks-workspace{
  display:grid!important;
  grid-template-columns:var(--app-sidebar-width) minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:calc(100vh - var(--app-header-height))!important;
  margin:0!important;
  padding:0!important;
}
.app-mode-tasks .tasks-sidebar{
  position:sticky!important;
  top:var(--app-header-height)!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:calc(100vh - var(--app-header-height))!important;
  min-height:calc(100vh - var(--app-header-height))!important;
  max-height:calc(100vh - var(--app-header-height))!important;
  margin:0!important;
  padding:0!important;
  overflow-y:auto!important;
  border:0!important;
  border-right:1px solid var(--aws-sidebar-border)!important;
  border-radius:0!important;
  z-index:10!important;
}
.app-mode-tasks .tasks-main{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:24px clamp(20px,2.4vw,38px) 38px!important;
  background:var(--aws-canvas)!important;
}
.app-mode-tasks .tasks-main>.tasks-shell{
  display:block!important;
  width:100%!important;
  max-width:1600px!important;
  margin:0!important;
  padding:0!important;
}
.app-mode-tasks .tasks-sidebar-brand{
  padding:18px 17px 16px!important;
}
.app-mode-tasks .tasks-sidebar-nav{padding:4px 10px 9px!important}
.app-mode-tasks .tasks-sidebar-section{padding:0 10px!important}
.app-mode-tasks .tasks-module-navigation{
  margin-bottom:8px!important;
}
.app-mode-tasks .tasks-module-navigation a:first-child{
  color:#fff!important;
  background:rgba(255,176,0,.08)!important;
  border-color:rgba(255,176,0,.2)!important;
}
.app-mode-tasks .tasks-module-navigation a:first-child i{color:#ffc34d!important}
.app-mode-tasks .tasks-sidebar-foot{margin-top:auto!important}

/* AWS-like content components */
.surface,
.card,
.company-table-card,
.analytics-card,
.tasks-panel,
.task-project-card,
.calendar-main,
.calendar-agenda{
  background:var(--aws-panel)!important;
  border:1px solid var(--aws-line)!important;
  border-radius:7px!important;
  box-shadow:var(--aws-shadow)!important;
}
.surface-header,
.card-header{
  background:var(--aws-panel-soft)!important;
  border-bottom:1px solid var(--aws-line)!important;
  border-radius:7px 7px 0 0!important;
}
.page-title,
.tasks-page-shell .tasks-heading h1{
  color:#16191f!important;
  font-weight:700!important;
}
.page-subtitle,
.tasks-page-shell .tasks-heading p{color:#5f6b7a!important}
.eyebrow,
.tasks-page-shell .tasks-eyebrow{
  color:#5f6b7a!important;
  letter-spacing:.08em!important;
}
.metric-card{border-radius:7px!important}
.metric-label{color:#5f6b7a!important}
.metric-value{color:#16191f!important}
.metric-meta{color:#687078!important}

/* Controls */
.btn{
  border-radius:4px!important;
  min-height:34px!important;
  padding:.42rem .72rem!important;
  font-size:.76rem!important;
  box-shadow:none!important;
}
.btn-primary{
  color:#fff!important;
  background:#0972d3!important;
  border-color:#0972d3!important;
}
.btn-primary:hover{background:#075fae!important;border-color:#075fae!important}
.btn-success{
  color:#fff!important;
  background:#0f8a74!important;
  border-color:#0f8a74!important;
}
.btn-success:hover{background:#0b715f!important;border-color:#0b715f!important}
.btn-light,
.btn-outline-secondary{
  background:#fff!important;
  color:#414d5c!important;
  border-color:#aab7b8!important;
}
.btn-light:hover,
.btn-outline-secondary:hover{
  background:#f1f3f3!important;
  color:#16191f!important;
  border-color:#879596!important;
}
.form-control,
.form-select,
.input-group-text{
  min-height:36px!important;
  border-radius:4px!important;
  border-color:#aab7b8!important;
  background:#fff!important;
  color:#16191f!important;
  font-size:.77rem!important;
}
.form-control:focus,
.form-select:focus{
  border-color:var(--aws-focus)!important;
  box-shadow:0 0 0 2px rgba(9,114,211,.18)!important;
}
.dropdown-menu{
  border:1px solid var(--aws-line)!important;
  border-radius:6px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.14)!important;
}
.dropdown-item{font-size:.78rem!important}
.dropdown-item:hover{background:#f1f3f3!important}
.nav-pills .nav-link{
  border-radius:4px!important;
  font-size:.76rem!important;
}
.nav-pills .nav-link.active{
  background:#0972d3!important;
  color:#fff!important;
}
.pagination .page-link{
  color:#0972d3!important;
  border-color:#d5dbdb!important;
}
.pagination .page-item.active .page-link{
  color:#fff!important;
  background:#0972d3!important;
  border-color:#0972d3!important;
}

/* Tables */
.table{
  font-size:.77rem!important;
  color:#16191f!important;
}
.table thead th{
  background:#eaeded!important;
  color:#414d5c!important;
  border-color:#c6caca!important;
  font-size:.63rem!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
}
.table td{
  color:#333c45!important;
  border-color:#eaeded!important;
}
.table-hover tbody tr:hover{background:#f7fafa!important}
.table tfoot td{
  background:#f7f8f8!important;
  border-top:1px solid #aab7b8!important;
}

/* Status and product tokens */
.status-pill{
  border-radius:999px!important;
  font-size:.65rem!important;
  border:1px solid #b7d9ce!important;
}
.status-pill.warning{border-color:#ead79a!important}
.fuel-pill{
  border-radius:4px!important;
  font-size:.66rem!important;
}

/* Projects / Kanban */
.tasks-section-title{
  color:#414d5c!important;
  border-bottom:1px solid var(--aws-line);
  padding-bottom:9px;
}
.task-project-card{
  padding:18px!important;
  color:#16191f!important;
  transition:border-color .12s ease,box-shadow .12s ease!important;
}
.task-project-card:hover{
  transform:none!important;
  border-color:#879596!important;
  box-shadow:0 2px 5px rgba(0,0,0,.1)!important;
}
.task-project-icon{
  border-radius:5px!important;
  background:#eef5fa!important;
  color:#0972d3!important;
}
.kanban-column{
  background:#e9ebed!important;
  border:1px solid #cfd4d5!important;
  border-radius:7px!important;
  padding:11px!important;
}
.kanban-column h2{color:#333c45!important}
.kanban-card{
  border:1px solid #cfd4d5!important;
  border-radius:6px!important;
  box-shadow:0 1px 2px rgba(0,0,0,.05)!important;
}
.kanban-card:hover{border-color:#879596!important}
.kanban-card-title{color:#16191f!important}
.tasks-stat{
  border:1px solid var(--aws-line)!important;
  border-radius:6px!important;
  box-shadow:none!important;
}
.tasks-stat strong{color:#16191f!important}

/* Notifications */
.app-notice{
  border-radius:6px!important;
  border-color:var(--aws-line)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.14)!important;
}

/* Footer is intentionally removed from the platform. */
.app-footer{display:none!important}

/* Make old fixed-footer offsets harmless even if cached legacy rules remain. */
body{padding-bottom:0!important}
.tasks-page-shell{min-height:calc(100vh - var(--app-header-height))!important}

/* Responsive */
@media(max-width:991.98px){
  .has-app-sidebar .page-shell{margin-left:0!important}
  .app-sidebar{
    transform:translateX(-102%);
    box-shadow:10px 0 30px rgba(0,0,0,.25)!important;
  }
  body.sidebar-open .app-sidebar{transform:translateX(0)}
  .page-shell{padding:18px 14px 32px!important}
}
@media(max-width:800px){
  .app-mode-tasks .tasks-workspace{
    display:block!important;
    min-height:0!important;
  }
  .app-mode-tasks .tasks-sidebar{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    border-right:0!important;
    border-bottom:1px solid var(--aws-sidebar-border)!important;
  }
  .app-mode-tasks .tasks-main{
    margin:0!important;
    padding:18px 14px 32px!important;
  }
}


/* AWS console hero exceptions: dark branded headers must not inherit white panel styling. */
.surface.hero-panel,
.surface.gta-home-hero{
  color:#f5f9fb!important;
  background:
    radial-gradient(circle at 86% 12%,rgba(255,176,0,.10),transparent 30%),
    linear-gradient(120deg,#16384b 0%,#1f536d 72%,#236f75 135%)!important;
  border:1px solid #315f73!important;
  box-shadow:0 3px 10px rgba(15,31,42,.16)!important;
}
.surface.hero-panel{
  padding:30px 32px!important;
}
.surface.gta-home-hero{
  padding:clamp(2rem,5vw,4rem)!important;
}
.surface.hero-panel h1,
.surface.hero-panel h2,
.surface.hero-panel h3,
.surface.hero-panel h4,
.surface.hero-panel h5,
.surface.hero-panel h6,
.surface.gta-home-hero h1,
.surface.gta-home-hero h2,
.surface.gta-home-hero h3,
.surface.gta-home-hero h4,
.surface.gta-home-hero h5,
.surface.gta-home-hero h6{
  color:#fff!important;
}
.surface.hero-panel .lead,
.surface.gta-home-hero .lead{
  color:#dbe7ed!important;
}
.surface.hero-panel .eyebrow,
.surface.gta-home-hero .eyebrow{
  color:#ffcc66!important;
}
.surface.hero-panel .eko-period-card{
  color:#eef6fa!important;
  background:rgba(10,31,43,.28)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:7px!important;
}
.surface.hero-panel .eko-period-card .small{
  color:#bfd0da!important;
  opacity:1!important;
}
.surface.hero-panel .eko-period-card .fw-bold{
  color:#fff!important;
}
.surface.hero-panel .btn-warning{
  color:#251a00!important;
  background:#ffb000!important;
  border-color:#ffb000!important;
}
.surface.hero-panel .btn-warning:hover{
  background:#f0a500!important;
  border-color:#f0a500!important;
}
.surface.hero-panel .btn-outline-light{
  color:#fff!important;
  background:transparent!important;
  border-color:#b8c9d2!important;
}
.surface.hero-panel .btn-outline-light:hover{
  color:#122734!important;
  background:#f3f7f9!important;
  border-color:#f3f7f9!important;
}
.surface.hero-panel .eko-hero-logo{
  background:#fff!important;
  border:1px solid rgba(255,255,255,.36)!important;
  border-radius:10px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
}


/* Global back navigation */
.app-back-button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:34px;
  padding:0 10px;
  margin-left:2px;
  color:#d7e4ea;
  background:#183442;
  border:1px solid #365260;
  border-radius:5px;
  font-size:.73rem;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
  transition:background .12s,border-color .12s,color .12s;
}
.app-back-button i{font-size:.9rem}
.app-back-button:hover{
  color:#fff;
  background:#244858;
  border-color:#4b6876;
}
.app-back-button:focus-visible{
  outline:2px solid #7db7e8;
  outline-offset:2px;
}
@media(max-width:767.98px){
  .app-back-button{
    width:34px;
    padding:0;
    justify-content:center;
  }
  .app-back-button span{display:none}
}


/* In-page back navigation */
.app-page-back-wrap{
  display:flex;
  align-items:center;
  margin:0 0 14px;
}
.app-page-back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:5px 9px;
  color:#414d5c;
  background:#fff;
  border:1px solid #aab7b8;
  border-radius:4px;
  box-shadow:none;
  font-size:.73rem;
  font-weight:650;
  line-height:1;
  transition:background .12s,border-color .12s,color .12s;
}
.app-page-back i{font-size:.9rem}
.app-page-back:hover{
  color:#16191f;
  background:#f1f3f3;
  border-color:#879596;
}
.app-page-back:focus-visible{
  outline:2px solid rgba(9,114,211,.35);
  outline-offset:2px;
}

/* Projects pages use their own grid, so keep the in-page control aligned with content. */
.app-mode-tasks .tasks-page-shell>.app-page-back-wrap{
  position:absolute;
  top:12px;
  left:calc(var(--app-sidebar-width) + 24px);
  z-index:20;
  margin:0;
}
.app-mode-tasks .tasks-main{
  padding-top:62px!important;
}

@media(max-width:800px){
  .app-mode-tasks .tasks-page-shell>.app-page-back-wrap{
    position:relative;
    top:auto;
    left:auto;
    padding:14px 14px 0;
  }
  .app-mode-tasks .tasks-main{
    padding-top:14px!important;
  }
}


/* =========================================================
   Premium top navigation refinement
   ========================================================= */
:root{
  --app-header-height:62px;
  --nav-top:#122635;
  --nav-mid:#17384b;
  --nav-end:#1c465b;
  --nav-line:#2f5b70;
  --nav-accent:#2aa7c8;
  --nav-text:#edf5f8;
  --nav-muted:#9fb7c4;
}

.app-topbar{
  position:fixed!important;
  isolation:isolate;
  height:var(--app-header-height)!important;
  padding:0 20px!important;
  background:
    linear-gradient(100deg,var(--nav-top) 0%,var(--nav-mid) 56%,var(--nav-end) 100%)!important;
  border-bottom:1px solid var(--nav-line)!important;
  box-shadow:0 3px 12px rgba(5,18,27,.22)!important;
}
.app-topbar::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(42,167,200,.78) 22%,rgba(42,167,200,.3) 72%,transparent 100%);
  pointer-events:none;
}
.app-topbar-left{gap:14px!important}
.app-topbar-brand{
  gap:10px!important;
  min-height:44px;
  padding-right:15px;
  border-right:1px solid rgba(255,255,255,.11);
}
.app-topbar .brand-mark{
  width:38px!important;
  height:38px!important;
  flex-basis:38px!important;
  padding:3px!important;
  border-radius:8px!important;
  background:#f8fbfc!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 2px 7px rgba(3,15,23,.16)!important;
}
.app-brand-copy strong{
  color:var(--nav-text)!important;
  font-size:.91rem!important;
  letter-spacing:-.01em!important;
}
.app-brand-copy small{
  margin-top:4px!important;
  color:var(--nav-muted)!important;
  font-size:.57rem!important;
  font-weight:750!important;
  letter-spacing:.12em!important;
}

.app-topbar-context{
  gap:8px!important;
  padding:0!important;
  border-left:0!important;
  color:#d9e7ed!important;
  font-size:.75rem!important;
  font-weight:650!important;
}
.app-topbar-context .bi-chevron-right{
  color:#6f96a9!important;
  font-size:.6rem!important;
}
.app-topbar-context>span:last-child{
  color:#e4eef2!important;
}
.app-context-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:28px;
  padding:4px 9px!important;
  border-radius:6px!important;
  color:#dcf0ea!important;
  background:rgba(16,106,95,.34)!important;
  border:1px solid rgba(92,178,164,.32)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}
.app-context-badge img{
  width:17px!important;
  height:17px!important;
}

.app-topbar-actions{gap:8px!important}
.app-topbar-icon,
.app-sidebar-toggle{
  width:36px!important;
  height:36px!important;
  border-radius:7px!important;
  color:#d7e7ed!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
}
.app-topbar-icon:hover,
.app-sidebar-toggle:hover{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.24)!important;
}

.app-user-menu{
  min-height:40px!important;
  gap:8px!important;
  padding:4px 8px 4px 5px!important;
  border-radius:8px!important;
  color:var(--nav-text)!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
.app-user-menu:hover,
.app-user-menu[aria-expanded=true]{
  color:#fff!important;
  background:rgba(255,255,255,.085)!important;
  border-color:rgba(255,255,255,.17)!important;
}
.app-user-avatar{
  width:31px!important;
  height:31px!important;
  border-radius:6px!important;
  color:#d8e9f0!important;
  background:rgba(78,143,169,.22)!important;
  border:1px solid rgba(133,187,207,.16)!important;
}
.app-user-copy strong{
  color:#fff!important;
  font-size:.74rem!important;
  font-weight:700!important;
}
.app-user-copy small{
  margin-top:3px!important;
  color:#9db5c2!important;
  font-size:.57rem!important;
}
.app-user-menu::after{color:#8faab8!important}

/* A lighter sidebar reinforces hierarchy between global and local navigation. */
.app-sidebar,
.app-mode-tasks .tasks-sidebar{
  background:linear-gradient(180deg,#1c4054 0%,#18394a 100%)!important;
  border-right-color:#376174!important;
}
.app-sidebar-nav a.active,
.app-mode-tasks .tasks-sidebar-nav a.active{
  background:#2a566d!important;
  border-color:#3c6a7f!important;
  box-shadow:inset 3px 0 #38b2d2!important;
}

@media(max-width:767.98px){
  .app-topbar{padding:0 12px!important}
  .app-topbar-brand{
    padding-right:10px;
    border-right:0;
  }
}


/* EKO context badge — inactive white brand treatment */
.app-context-badge{
  color:#111!important;
  background:#fff!important;
  border:1px solid #cfd6dc!important;
  box-shadow:0 1px 2px rgba(0,0,0,.08)!important;
  font-weight:700!important;
}
.app-context-badge:hover{
  color:#111!important;
  background:#f7f8f9!important;
  border-color:#b8c2ca!important;
}
.app-context-badge img{
  width:18px!important;
  height:18px!important;
  object-fit:contain!important;
  background:#fff!important;
}


/* =========================================================
   Readability refinement + profit emphasis
   ========================================================= */

/* Slightly larger typography across the platform. */
html{font-size:16.5px!important}
body{font-size:15px!important}
.table{font-size:.80rem!important}
.table thead th{
  font-size:.66rem!important;
  vertical-align:top!important;
  line-height:1.2!important;
}
.table thead th > .small{
  display:block;
  margin-top:.28rem;
  line-height:1.1!important;
}
.btn{font-size:.79rem!important}
.form-control,
.form-select,
.input-group-text{font-size:.80rem!important}
.app-sidebar-nav a,
.app-mode-tasks .tasks-sidebar-nav a{font-size:.80rem!important}
.app-topbar-context{font-size:.78rem!important}
.app-user-copy strong{font-size:.77rem!important}
.app-user-copy small{font-size:.60rem!important}
.app-brand-copy strong{font-size:.94rem!important}
.app-brand-copy small{font-size:.60rem!important}
.page-subtitle{font-size:.85rem!important}
.metric-label{font-size:.72rem!important}
.metric-meta{font-size:.74rem!important}
.status-pill{font-size:.68rem!important}
.fuel-pill{font-size:.69rem!important}
.module-breadcrumb{font-size:.84rem!important}

/* Company report profit column */
.company-transactions-table th.profit-column{
  background:#e6f3ed!important;
  color:#176b50!important;
  border-left:2px solid #9ccfbc!important;
  border-bottom-color:#b9d8cc!important;
}
.profit-column-heading{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  width:100%;
  font-weight:800;
}
.company-transactions-table tbody td.profit-column{
  background:#f5fbf8!important;
  border-left:2px solid #c8e3d7!important;
  font-weight:800!important;
  font-size:.84rem!important;
}
.company-transactions-table tbody tr:hover td.profit-column{
  background:#edf8f3!important;
}
.company-transactions-table td.profit-positive{
  color:#137257!important;
}
.company-transactions-table td.profit-negative{
  color:#b42318!important;
  background:#fff7f6!important;
  border-left-color:#efb5af!important;
}
.company-transactions-table tbody tr:hover td.profit-negative{
  background:#fff0ee!important;
}
.company-transactions-table tfoot td.profit-column{
  background:#e8f5ef!important;
  border-left:2px solid #8dc7b1!important;
  border-top:2px solid #8dc7b1!important;
  font-size:.86rem!important;
  font-weight:850!important;
}


/* Fuel cards workspace sidebar illustration */
.app-sidebar-visual-head{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:116px!important;
  padding:18px!important;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,255,255,.08),transparent 65%),
    rgba(255,255,255,.015)!important;
}
.app-sidebar-visual-art{
  display:block;
  width:116px;
  max-width:78%;
  height:auto;
  opacity:.96;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.13));
}


/* Card fuel module header matches Projects & Tasks identity block */
.app-sidebar-module-brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:88px!important;
  padding:18px 16px!important;
}
.app-sidebar-module-logo--workspace{
  display:grid!important;
  place-items:center!important;
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  padding:4px!important;
  overflow:hidden!important;
  border-radius:11px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.12)!important;
}
.app-sidebar-module-logo--workspace img{
  display:block!important;
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
}
.app-sidebar-module-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.app-sidebar-module-copy strong{
  color:#fff!important;
  font-size:.95rem!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:-.01em!important;
  white-space:nowrap;
}
.app-sidebar-module-copy small{
  display:block;
  margin-top:6px!important;
  color:#a9c1cf!important;
  font-size:.61rem!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  line-height:1!important;
}


/* =========================================================
   Topbar utility + account cluster refinement
   ========================================================= */
.app-account-cluster{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:4px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:10px!important;
  background:rgba(7,24,34,.16)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
}
.app-home-utility{
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:3px 8px 3px 4px;
  color:#dceaf0;
  text-decoration:none;
  border:1px solid transparent;
  border-radius:7px;
  transition:background .12s,border-color .12s,color .12s;
}
.app-home-utility:hover{
  color:#fff;
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.11);
}
.app-home-utility-icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:6px;
  color:#d9e9f0;
  background:rgba(79,146,174,.18);
  border:1px solid rgba(132,187,208,.12);
}
.app-home-utility-copy{
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
}
.app-home-utility-copy strong{
  color:#fff;
  font-size:.69rem;
  font-weight:700;
}
.app-home-utility-copy small{
  margin-top:3px;
  color:#94adba;
  font-size:.54rem;
}
.app-account-separator{
  width:1px;
  height:28px;
  background:rgba(255,255,255,.10);
}
.app-user-menu{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:3px 6px 3px 4px!important;
  color:#eef6f9!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:7px!important;
  box-shadow:none!important;
}
.app-user-menu:hover,
.app-user-menu[aria-expanded=true]{
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.app-user-menu::after{display:none!important}
.app-user-avatar{
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  border-radius:8px!important;
  color:#fff!important;
  background:linear-gradient(145deg,#2d779a,#235b78)!important;
  border:1px solid rgba(170,215,231,.20)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.12)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.app-user-copy{
  min-width:118px;
  line-height:1.08!important;
}
.app-user-copy strong{
  display:block;
  max-width:165px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff!important;
  font-size:.76rem!important;
  font-weight:750!important;
}
.app-user-copy small{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-top:4px!important;
  color:#a0b7c3!important;
  font-size:.57rem!important;
}
.app-user-status-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#3dd598;
  box-shadow:0 0 0 2px rgba(61,213,152,.12);
}
.app-user-chevron{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-left:2px;
  color:#89a7b7;
  border-radius:5px;
  transition:transform .14s,color .14s,background .14s;
}
.app-user-menu:hover .app-user-chevron{
  color:#dcebf2;
  background:rgba(255,255,255,.05);
}
.app-user-menu[aria-expanded=true] .app-user-chevron{
  color:#fff;
  background:rgba(255,255,255,.08);
}
.app-user-menu[aria-expanded=true] .app-user-chevron i{
  transform:rotate(180deg);
}
.app-user-chevron i{
  font-size:.65rem;
  transition:transform .14s ease;
}
.app-user-dropdown{
  min-width:255px!important;
  margin-top:8px!important;
  padding:7px!important;
  border:1px solid #cfd7dc!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(11,28,39,.18)!important;
}
.app-user-dropdown-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 9px 7px;
}
.app-user-dropdown-head>span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.app-user-dropdown-head strong{
  max-width:175px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#18232d;
  font-size:.78rem;
}
.app-user-dropdown-head small{
  margin-top:3px;
  color:#76838d;
  font-size:.64rem;
}
.app-user-dropdown-avatar{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:8px;
  color:#fff;
  background:linear-gradient(145deg,#2d779a,#235b78);
  font-size:.78rem;
  font-weight:800;
}
.app-user-dropdown .dropdown-item{
  min-height:34px;
  display:flex;
  align-items:center;
  border-radius:5px!important;
  font-size:.76rem!important;
}
.app-user-dropdown .dropdown-divider{
  margin:5px 0;
  border-color:#e4e8eb;
}
@media(max-width:575.98px){
  .app-account-cluster{
    padding:2px!important;
    border-color:transparent!important;
    background:transparent!important;
  }
  .app-user-copy{display:none!important}
  .app-user-menu{padding:2px!important}
  .app-user-chevron{display:none}
}


/* =========================================================
   Project ownership controls and danger zone
   ========================================================= */
.project-card-shell{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  padding:18px!important;
}
.project-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.project-card-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.project-settings-button{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  color:#52616f;
  text-decoration:none;
  background:#fff;
  border:1px solid #cfd5d8;
  border-radius:5px;
  transition:background .12s,border-color .12s,color .12s;
}
.project-settings-button:hover{
  color:#0972d3;
  background:#f2f8fc;
  border-color:#8db9db;
}
.project-card-main{
  display:flex;
  flex:1;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
}
.project-card-main:hover{color:inherit}
.project-card-main h2{
  margin:16px 0 10px;
  color:#16191f!important;
}
.project-card-main p{
  color:#5f6b7a!important;
}
.project-owner-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin:15px -18px -18px;
  padding:10px 14px;
  background:#f8f9fa;
  border-top:1px solid #d5dbdb;
  border-radius:0 0 7px 7px;
}
.project-owner-actions a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 8px;
  color:#52616f;
  text-decoration:none;
  border-radius:4px;
  font-size:.72rem;
  font-weight:700;
}
.project-owner-actions a:hover{
  color:#0972d3;
  background:#edf6fc;
}
.project-owner-actions .project-delete-link{
  color:#b42318;
}
.project-owner-actions .project-delete-link:hover{
  color:#8f1d14;
  background:#fff0ee;
}

.tasks-panel-heading{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
}
.tasks-panel-heading h2{
  margin:0 0 4px!important;
}
.tasks-panel-heading p{
  margin:0;
  color:#687078;
  font-size:.78rem;
}
.project-members-list{
  display:grid;
  gap:8px;
}

.project-danger-zone{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px!important;
  background:#fffafa!important;
  border-color:#e7b9b5!important;
}
.project-danger-zone-copy{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.project-danger-zone-copy h2{
  margin:3px 0 5px!important;
  color:#8f1d14!important;
}
.project-danger-zone-copy p{
  margin:0;
  color:#6b5552;
}
.project-danger-icon{
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  color:#b42318;
  background:#fff0ee;
  border:1px solid #efc0bb;
  border-radius:6px;
  font-size:1.05rem;
}

.project-delete-panel{
  display:flex!important;
  align-items:flex-start;
  gap:18px;
  max-width:760px;
  padding:22px!important;
  background:#fff!important;
  border-color:#e1b2ad!important;
}
.project-delete-icon{
  display:grid;
  place-items:center;
  flex:0 0 52px;
  width:52px;
  height:52px;
  color:#b42318;
  background:#fff0ee;
  border:1px solid #efc0bb;
  border-radius:8px;
  font-size:1.25rem;
}
.project-delete-content{
  flex:1;
  min-width:0;
}
.project-delete-content h2{
  margin:0 0 7px!important;
}
.project-delete-content>p{
  color:#5f6b7a;
}
.project-delete-warning{
  display:flex;
  align-items:center;
  gap:8px;
  margin:16px 0;
  padding:10px 12px;
  color:#8f1d14;
  background:#fff3f1;
  border:1px solid #efc0bb;
  border-radius:5px;
  font-weight:700;
}
.project-delete-form{
  margin-top:18px;
}
.project-delete-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:16px;
}

@media(max-width:767.98px){
  .project-danger-zone,
  .project-delete-panel{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .project-danger-zone>.btn{
    width:100%;
  }
  .project-delete-actions{
    flex-direction:column-reverse;
  }
  .project-delete-actions .btn{
    width:100%;
  }
}

/* Analytics: explicit surface/text pairs prevent global card header conflicts. */
.analytics-page .analytics-card{
  --analytics-accent:#246a9a;
  --analytics-tint:#edf5fd;
  --analytics-icon-bg:#dfedf9;
  position:relative;
  background:linear-gradient(135deg,#fff 35%,var(--analytics-tint))!important;
  color:#18344b;
  border:1px solid #d7e3ec!important;
  border-top:4px solid var(--analytics-accent)!important;
  border-radius:14px!important;
  box-shadow:0 5px 18px rgba(25,48,71,.06)!important;
  transition:box-shadow .2s ease,border-color .2s ease;
}
.analytics-page .analytics-card--profit{
  --analytics-accent:#217252;
  --analytics-tint:#eef8f3;
  --analytics-icon-bg:#dff1e7;
}
.analytics-page .analytics-card--turnover{
  --analytics-accent:#146e83;
  --analytics-tint:#edf8fa;
  --analytics-icon-bg:#dcf0f4;
}
.analytics-page .analytics-card--negative{
  --analytics-accent:#ad3434;
  --analytics-tint:#fff2f2;
  --analytics-icon-bg:#fbe3e3;
}
.analytics-page .analytics-card:hover{
  box-shadow:0 8px 24px rgba(25,48,71,.1)!important;
}
.analytics-page .analytics-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px 0;
  color:#344b60;
  font-size:.95rem;
  font-weight:700;
}
.analytics-page .analytics-card-icon{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:12px;
  background:var(--analytics-icon-bg);
  color:var(--analytics-accent);
  font-size:1.3rem;
}
.analytics-page .analytics-card .card-body{padding:12px 20px 22px}
.analytics-page .analytics-value{
  color:#18344b;
  font-size:clamp(1.65rem,2.25vw,2.35rem)!important;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
.analytics-page .analytics-card--profit .analytics-value{color:var(--analytics-accent)}
.analytics-page .analytics-unit{
  color:inherit;
  font-size:.65em;
  font-weight:650;
  white-space:nowrap;
}
.analytics-page .analytics-card .card-text{
  color:#536579;
  font-size:.85rem;
  line-height:1.6;
}
.analytics-page .analytics-company-heading{
  background:#f0f5fa!important;
  color:#18344b;
  padding:18px 20px!important;
}
.analytics-page .analytics-company-heading h5{
  color:#18344b!important;
  font-size:1.08rem;
  font-weight:750;
}
.analytics-page .analytics-company-heading h5 i{color:#246a9a}
.analytics-page .period-badge{
  background:#e0ecf7;
  border:1px solid #c5d9eb;
  color:#28577b;
  font-size:.8rem;
  font-weight:700;
}
@media(max-width:575.98px){
  .analytics-page .analytics-card-heading{padding:16px 16px 0}
  .analytics-page .analytics-card .card-body{padding:12px 16px 18px}
  .analytics-page .analytics-company-heading{padding:16px!important}
}
@media(prefers-reduced-motion:reduce){
  .analytics-page .analytics-card{transition:none}
}

/* Dedicated sign-in surface; overrides are scoped to this page. */
.app-mode-auth .app-topbar,
.app-mode-auth .app-sidebar,
.app-mode-auth .app-sidebar-backdrop,
.app-mode-auth .app-page-back-wrap{display:none!important}
.app-mode-auth .page-shell{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:40px 24px!important;
  background:radial-gradient(ellipse at 10% 10%,#dceaf4 0,transparent 48%),radial-gradient(ellipse at 90% 90%,#e1efe9 0,transparent 40%),#f3f6fa!important;
}
.auth-page{width:100%;max-width:1040px}
.auth-layout{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  overflow:hidden;
  background:#fff;
  border:1px solid #d7e2eb;
  border-radius:24px;
  box-shadow:0 24px 70px rgba(19,47,70,.13),0 3px 12px rgba(19,47,70,.04);
}
.auth-intro{
  display:flex;
  flex-direction:column;
  gap:30px;
  position:relative;
  padding:40px;
  color:#fff;
  background:radial-gradient(ellipse at 100% 0,rgba(89,168,210,.24),transparent 60%),linear-gradient(145deg,#123047,#1c4f6e);
}
.auth-brand{display:flex;align-items:center;gap:14px}
.auth-brand-logo{display:grid;place-items:center;flex:0 0 70px;width:70px;height:70px;border-radius:16px;background:#fff;padding:5px;box-shadow:0 6px 18px #08243630}
.auth-brand-logo img{display:block;width:60px;height:60px;object-fit:contain}
.auth-brand strong,.auth-brand small{display:block}
.auth-brand strong{color:#fff;font-size:1.22rem;font-weight:800;letter-spacing:-.02em}
.auth-brand small{color:#c0d6e4;font-size:.76rem;margin-top:4px}
.auth-eyebrow{color:#acd7ec;font-size:.65rem;font-weight:750;letter-spacing:.12em}
.auth-intro-copy h2{color:#fff!important;font-size:clamp(1.85rem,3vw,2.55rem);font-weight:800;line-height:1.18;letter-spacing:-.035em;margin:13px 0 16px}
.auth-intro-copy h2 span{color:#a7d7ed}
.auth-intro-copy p{color:#d2e2ec;font-size:.87rem;line-height:1.75;max-width:380px;margin:0}
.auth-illustration{display:block;width:100%;height:auto;max-width:400px;margin:0 auto}
.auth-features{display:grid;gap:16px;margin-top:auto;padding-top:2px}
.auth-features>div{display:flex;align-items:center;gap:12px}
.auth-feature-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#ffffff0f;border:1px solid #ffffff20;color:#b8def0;font-size:1.05rem}
.auth-features strong,.auth-features small{display:block}
.auth-features strong{color:#fff;font-size:.81rem;font-weight:650}
.auth-features small{color:#c0d6e4;font-size:.72rem;margin-top:3px}
.auth-form-panel{display:flex;flex-direction:column;justify-content:center;padding:48px 42px;color:#203a4f;min-width:0}
.auth-access-label{display:inline-flex;align-items:center;gap:7px;background:#edf5fb;border:1px solid #dceaf5;color:#2a6287;padding:7px 10px;border-radius:8px;font-size:.72rem;font-weight:700}
.auth-form-heading h1{color:#19374e;font-size:1.85rem;font-weight:800;letter-spacing:-.035em;margin:22px 0 10px}
.auth-form-heading p{color:#617285;font-size:.85rem;line-height:1.7;margin:0 0 28px}
.auth-field{margin-bottom:20px}
.auth-field label{display:block;color:#344e63;font-size:.8rem;font-weight:700;margin-bottom:8px}
.auth-input-wrap{position:relative}
.auth-input-icon{position:absolute;top:50%;left:16px;transform:translateY(-50%);color:#5c7890;font-size:1.05rem;pointer-events:none;z-index:1}
.app-mode-auth .auth-input-wrap .form-control{
  width:100%;
  height:52px;
  min-height:52px!important;
  padding:12px 16px 12px 44px;
  color:#203a4f!important;
  background:#fafcfe!important;
  border:1px solid #bdcddd!important;
  border-radius:10px!important;
  font-size:.85rem!important;
  transition:border-color .15s,box-shadow .15s;
}
.app-mode-auth .auth-input-wrap .form-control::placeholder{color:#74869a;opacity:1}
.app-mode-auth .auth-input-wrap .form-control:focus{background:#fff!important;border-color:#357da9!important;box-shadow:0 0 0 3px #357da91c!important;outline:none}
.app-mode-auth .auth-input-wrap .form-control[aria-invalid=true]{border-color:#bf5555!important}
.app-mode-auth .auth-input-wrap .auth-password-input{padding-right:54px}
.auth-password-toggle{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#5c7890;cursor:pointer}
.auth-password-toggle[hidden]{display:none}
.auth-password-toggle:hover{color:#245e85;background:#eaf2f8}
.auth-password-toggle:focus-visible{outline:2px solid #357da9;outline-offset:1px}
.app-mode-auth .auth-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  min-height:52px!important;
  margin-top:8px;
  padding:13px 20px!important;
  color:#fff!important;
  background:linear-gradient(110deg,#205b82,#174260)!important;
  border:1px solid #174260!important;
  border-radius:10px!important;
  font-size:.9rem!important;
  font-weight:750;
  box-shadow:0 6px 16px #1b527d24;
  transition:box-shadow .15s,transform .15s;
}
.app-mode-auth .auth-submit:hover{background:linear-gradient(110deg,#184b70,#10364f)!important;box-shadow:0 8px 20px #1b527d30;transform:translateY(-1px)}
.app-mode-auth .auth-submit:focus-visible{outline:3px solid #92c7e5;outline-offset:3px}
.app-mode-auth .auth-submit:active{transform:none}
.auth-form-error{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0 0 22px;border:1px solid #ebc5c5;border-radius:10px;background:#fff3f3;color:#922f2f;font-size:.79rem;line-height:1.6}
.auth-form-error i{flex-shrink:0;font-size:1rem}
.auth-help{display:flex;align-items:flex-start;gap:8px;margin:26px 0 0;padding-top:22px;border-top:1px solid #e7edf3;color:#617285;font-size:.74rem;line-height:1.7}
.auth-help i{flex-shrink:0;margin-top:1px;color:#5b7c96}
.auth-footer{text-align:center;color:#617285;font-size:.7rem;line-height:1.6;margin:22px 12px 0}
.auth-footer span{padding:0 6px}
@media(max-width:767.98px){
  .app-mode-auth .page-shell{padding:24px 16px!important;align-items:flex-start}
  .auth-page{max-width:480px}
  .auth-layout{grid-template-columns:1fr;border-radius:18px}
  .auth-intro{padding:24px;gap:20px}
  .auth-intro-copy,.auth-illustration,.auth-features{display:none}
  .auth-brand-logo{width:56px;height:56px;flex-basis:56px;border-radius:12px}
  .auth-brand-logo img{width:46px;height:46px}
  .auth-brand strong{font-size:1.15rem}
  .auth-form-panel{padding:30px 24px}
  .auth-form-heading h1{font-size:1.7rem;margin-top:18px}
}
@media(prefers-reduced-motion:reduce){
  .auth-submit,.app-mode-auth .auth-input-wrap .form-control{transition:none!important}
  .app-mode-auth .auth-submit:hover{transform:none}
}


/* =========================================================
   Pricing methodology: source provenance + calculation flow
   ========================================================= */
.pricing-guide{
  overflow:hidden;
  border-color:#cfdce6!important;
  box-shadow:0 8px 24px rgba(25,48,71,.07)!important;
}
.pricing-guide-head{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:20px 22px 17px;
  background:linear-gradient(135deg,#f8fbfd 0%,#f2f7fa 100%);
  border-bottom:1px solid #dce5eb;
}
.pricing-guide-head-icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  color:#1f668f;
  background:#e3f0f8;
  border:1px solid #c7deeb;
  border-radius:10px;
  font-size:1.1rem;
}
.pricing-guide-title{
  margin:3px 0 5px;
  color:#17364d;
  font-size:1.18rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.pricing-guide-head p{
  max-width:900px;
  margin:0;
  color:#607283;
  font-size:.82rem;
  line-height:1.55;
}
.pricing-source-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:18px 20px;
  background:#fff;
}
.pricing-source-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:13px;
  padding:16px;
  border:1px solid #dbe4ea;
  border-radius:10px;
  background:#fbfcfd;
}
.pricing-source-card--transaction{border-left:3px solid #2d739d}
.pricing-source-card--price{border-left:3px solid #218166}
.pricing-source-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:#315f7c;
  background:#edf4f8;
  border-radius:9px;
  font-size:1.05rem;
}
.pricing-source-card--price .pricing-source-icon{
  color:#1f725c;
  background:#eaf5f1;
}
.pricing-source-kicker{
  display:block;
  margin-bottom:3px;
  color:#71808d;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.pricing-source-card h3{
  margin:0 0 7px;
  color:#233d50;
  font-size:.91rem;
  font-weight:800;
}
.pricing-source-card h3 small{
  margin-left:5px;
  color:#7a8894;
  font-size:.7rem;
  font-weight:600;
}
.pricing-source-card p{
  margin:0 0 10px;
  color:#60717e;
  font-size:.76rem;
  line-height:1.55;
}
.pricing-source-card code,
.pricing-rule-card code{
  padding:1px 5px;
  color:#294f68;
  background:#edf3f6;
  border:1px solid #dae5eb;
  border-radius:4px;
  font-size:.72rem;
}
.pricing-field-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.pricing-field-list span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  color:#526575;
  background:#f1f4f6;
  border:1px solid #dfe5e9;
  border-radius:6px;
  font-size:.66rem;
  font-weight:700;
}
.pricing-field-list .is-key{
  color:#145f55;
  background:#e9f6f2;
  border-color:#c4e4dc;
}
.pricing-source-note{
  display:flex;
  gap:7px;
  margin-top:10px;
  padding:8px 10px;
  color:#5d6e7a;
  background:#f5f8fa;
  border-radius:7px;
  font-size:.68rem;
  line-height:1.45;
}
.pricing-source-note i{color:#35779e;margin-top:1px}
.pricing-rules{
  padding:18px 20px 20px;
  background:#f7f9fb;
  border-top:1px solid #e1e7eb;
}
.pricing-rules-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.pricing-rules-heading>div{
  display:flex;
  flex-direction:column;
}
.pricing-rules-heading strong{
  color:#243d50;
  font-size:.85rem;
}
.pricing-rules-heading span{
  color:#71808c;
  font-size:.68rem;
}
.pricing-priority-badge{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  color:#4c6272!important;
  background:#fff;
  border:1px solid #d6e0e6;
  border-radius:6px;
  font-weight:700;
}
.pricing-rule-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.pricing-rule-card{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:118px;
  padding:13px;
  background:#fff;
  border:1px solid #d9e2e7;
  border-radius:9px;
}
.pricing-rule-number{
  display:grid;
  place-items:center;
  flex:0 0 26px;
  width:26px;
  height:26px;
  color:#fff;
  background:#315f7c;
  border-radius:7px;
  font-size:.7rem;
  font-weight:800;
}
.pricing-rule-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
}
.pricing-rule-condition{
  color:#70808d;
  font-size:.64rem;
  line-height:1.35;
}
.pricing-rule-copy strong{
  color:#153f59;
  font-size:.76rem;
  line-height:1.4;
}
.pricing-rule-copy small{
  color:#687987;
  font-size:.66rem;
  line-height:1.45;
}
.pricing-guide-foot{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px 20px;
  color:#496171;
  background:#eef5f8;
  border-top:1px solid #d8e5eb;
  font-size:.71rem;
  line-height:1.5;
}
.pricing-guide-foot i{
  flex:0 0 auto;
  margin-top:1px;
  color:#1d7963;
}

.transaction-price-flow{
  overflow:hidden;
  background:#fff;
  border:1px solid #d5e1e8;
  border-radius:10px;
  box-shadow:0 4px 14px rgba(25,48,71,.05);
}
.transaction-price-flow-title{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  background:#f6f9fb;
  border-bottom:1px solid #e0e7eb;
}
.transaction-price-flow-icon{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  color:#286d95;
  background:#e5f0f7;
  border-radius:7px;
}
.transaction-price-flow-title strong,
.transaction-price-flow-title small{display:block}
.transaction-price-flow-title strong{
  color:#263f51;
  font-size:.78rem;
}
.transaction-price-flow-title small{
  margin-top:3px;
  color:#70808c;
  font-size:.67rem;
}
.transaction-price-steps{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px 14px;
}
.transaction-price-step{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.transaction-price-step-icon{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  color:#365e77;
  background:#edf3f6;
  border-radius:7px;
}
.transaction-price-step span:last-child{min-width:0}
.transaction-price-step small,
.transaction-price-step strong{display:block}
.transaction-price-step small{
  overflow:hidden;
  color:#7b8994;
  font-size:.61rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.transaction-price-step strong{
  margin-top:2px;
  color:#263f51;
  font-size:.7rem;
  line-height:1.25;
}
.transaction-price-arrow{
  color:#a1adb6;
  font-size:.8rem;
}

@media(max-width:991.98px){
  .pricing-rule-grid{grid-template-columns:1fr}
  .pricing-rule-card{min-height:0}
  .transaction-price-steps{
    grid-template-columns:1fr;
    gap:7px;
  }
  .transaction-price-arrow{
    margin-left:10px;
    transform:rotate(90deg);
  }
}
@media(max-width:767.98px){
  .pricing-source-grid{grid-template-columns:1fr;padding:14px}
  .pricing-guide-head{padding:16px}
  .pricing-rules{padding:15px 14px}
  .pricing-guide-foot{padding:11px 14px}
  .pricing-source-card{grid-template-columns:34px minmax(0,1fr);padding:13px}
  .pricing-source-icon{width:34px;height:34px}
}


/* Transaction pricing method: make the actually applied commercial rule explicit. */
.pricing-method-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:26px;
  padding:4px 8px;
  border:1px solid #d7e1e7;
  border-radius:6px;
  font-size:.66rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
  white-space:nowrap;
}
.pricing-method-badge i{font-size:.72rem}
.pricing-method-badge--margin{
  color:#176b50;
  background:#eaf6f1;
  border-color:#bfdfd2;
}
.pricing-method-badge--discount{
  color:#8a5a00;
  background:#fff5dc;
  border-color:#ecd69c;
}
.pricing-method-badge--final{
  color:#315a78;
  background:#edf4f8;
  border-color:#c9dce8;
}
.pricing-method-badge--fallback{
  color:#5c6873;
  background:#f2f4f5;
  border-color:#d7dde1;
}
.pricing-method-badge--missing{
  color:#9a3b32;
  background:#fff0ee;
  border-color:#efc3be;
}
.pricing-adjustment-value{
  font-weight:750;
  color:#263f51!important;
}


/* EKO workspace: the topbar already carries GTA Manager + EKO context.
   Keep the sidebar focused on navigation and avoid duplicate branding. */
.app-sidebar-nav--eko{
  padding-top:10px!important;
}
.app-sidebar-nav--eko > .app-sidebar-label:first-child{
  padding-top:7px!important;
}


/* =========================================================
   Audit log administration
   ========================================================= */
.audit-page{max-width:1700px;margin:0 auto}
.audit-security-note{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  color:#315a78;
  background:#edf4f8;
  border:1px solid #cbdce7;
  border-radius:7px;
  font-size:.72rem;
  font-weight:750;
}
.audit-metric{border-top:3px solid #496e88!important}
.audit-metric--login{border-top-color:#28775c!important}
.audit-metric--users{border-top-color:#2e6fa1!important}
.audit-metric--warning{border-top-color:#b14c44!important}
.audit-privacy-banner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px 15px;
  color:#4f6170;
  background:#f5f8fa;
  border:1px solid #d8e2e8;
  border-radius:10px;
}
.audit-privacy-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  color:#486d86;
  background:#e6eef3;
  border-radius:8px;
}
.audit-privacy-banner strong{color:#263f51;font-size:.78rem}
.audit-privacy-banner p{margin:3px 0 0;font-size:.71rem;line-height:1.55}
.audit-log-surface{overflow:hidden}
.audit-log-table{min-width:1320px}
.audit-log-table td{vertical-align:middle}
.audit-user-cell{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:150px;
}
.audit-user-avatar{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  color:#fff;
  background:#315f7c;
  border-radius:7px;
  font-size:.68rem;
  font-weight:800;
}
.audit-user-cell strong,.audit-user-cell small{display:block}
.audit-user-cell strong{color:#263f51;font-size:.73rem}
.audit-user-cell small{margin-top:2px;color:#80909b;font-size:.63rem}
.audit-action-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 7px;
  border:1px solid #d6e0e6;
  border-radius:6px;
  background:#f2f5f7;
  color:#536777;
  font-size:.62rem;
  font-weight:800;
  text-transform:uppercase;
  white-space:nowrap;
}
.audit-action--login{color:#176b50;background:#eaf6f1;border-color:#bfdfd2}
.audit-action--login_failed{color:#9a3b32;background:#fff0ee;border-color:#efc3be}
.audit-action--logout{color:#596672;background:#f1f3f4;border-color:#d9dee1}
.audit-action--import{color:#315a78;background:#edf4f8;border-color:#c9dce8}
.audit-action--export{color:#5d4b8e;background:#f1eef9;border-color:#d7cfee}
.audit-action--create{color:#176b50;background:#eaf6f1;border-color:#bfdfd2}
.audit-action--update{color:#8a5a00;background:#fff5dc;border-color:#ecd69c}
.audit-action--delete{color:#9a3b32;background:#fff0ee;border-color:#efc3be}
.audit-action--action{color:#5d4b8e;background:#f1eef9;border-color:#d7cfee}
.audit-description{
  display:block;
  max-width:300px;
  color:#314b5d;
  font-size:.72rem;
  line-height:1.4;
}
.audit-path{
  display:inline-block;
  max-width:270px;
  overflow:hidden;
  padding:3px 6px;
  color:#496171;
  background:#f3f6f8;
  border:1px solid #e0e6ea;
  border-radius:4px;
  font-size:.64rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.audit-method,
.audit-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  min-height:22px;
  padding:3px 6px;
  border-radius:5px;
  font-size:.61rem;
  font-weight:800;
}
.audit-method{color:#4e6272;background:#eef2f5;border:1px solid #d8e0e5}
.audit-method--post{color:#7f550b;background:#fff5dc;border-color:#ecd69c}
.audit-status{margin-left:4px}
.audit-status--ok{color:#176b50;background:#eaf6f1}
.audit-status--redirect{color:#315a78;background:#edf4f8}
.audit-status--error{color:#9a3b32;background:#fff0ee}
.audit-agent{
  max-width:210px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:767.98px){
  .audit-security-note{align-self:flex-start}
  .audit-privacy-banner{padding:12px}
}


/* =========================================================
   Desktop collapsible sidebar — topbar console control
   ========================================================= */
@media(min-width:992px){
  .app-sidebar{
    transition:transform .22s ease, box-shadow .22s ease!important;
    will-change:transform;
  }

  .has-app-sidebar .page-shell{
    transition:margin-left .22s ease!important;
  }

  .app-sidebar-collapse--topbar{
    position:relative;
    flex:0 0 36px;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    margin-left:-2px;
    color:#c6d9e2;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.12);
    border-radius:7px;
    box-shadow:inset 0 1px rgba(255,255,255,.025);
    transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
  }

  .app-sidebar-collapse--topbar::after{
    content:"";
    position:absolute;
    right:-7px;
    top:50%;
    width:1px;
    height:24px;
    background:rgba(255,255,255,.10);
    transform:translateY(-50%);
    pointer-events:none;
  }

  .app-sidebar-collapse--topbar:hover{
    color:#fff;
    background:rgba(255,255,255,.095);
    border-color:rgba(255,255,255,.24);
  }

  .app-sidebar-collapse--topbar:active{
    transform:translateY(1px);
  }

  .app-sidebar-collapse--topbar:focus-visible{
    outline:2px solid rgba(42,167,200,.65);
    outline-offset:2px;
  }

  .app-sidebar-collapse--topbar i{
    font-size:1rem;
    line-height:1;
  }

  body.sidebar-collapsed .app-sidebar{
    transform:translateX(-100%)!important;
    box-shadow:none!important;
  }

  body.sidebar-collapsed.has-app-sidebar .page-shell{
    margin-left:0!important;
  }

  body.sidebar-collapsed .app-sidebar-collapse--topbar{
    color:#e8f4f8;
    background:rgba(42,167,200,.13);
    border-color:rgba(70,177,205,.36);
  }
}


/* =========================================================
   Responsive sidebar mascot
   ========================================================= */
.app-sidebar-cat-zone{
  flex:1 1 auto;
  min-height:0;
  max-height:300px;
  align-items:flex-end;
  justify-content:center;
  padding:8px 10px 10px;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
}

.app-sidebar-cat-zone.is-floating{
  position:fixed!important;
  z-index:3000!important;
  flex:none;
  width:198px;
  height:264px;
  min-height:0;
  max-height:none;
  padding:0;
  overflow:visible;
  pointer-events:none;
  isolation:isolate;
  transform:none!important;
  contain:none;
}

.app-sidebar-cat-zone.is-floating .app-sidebar-cat{
  max-width:none;
  max-height:none;
}

.app-sidebar-cat-zone.is-space-hidden,
.app-sidebar-cat-zone.is-user-hidden{
  display:none!important;
}

.app-sidebar-cat{
  display:block;
  width:198px;
  max-width:90%;
  height:auto;
  max-height:264px;
  overflow:visible;
  filter:drop-shadow(0 10px 12px rgba(5,19,27,.18));
  pointer-events:auto;
  cursor:grab;
  touch-action:none;
}

.app-sidebar-cat-zone.is-dragging .app-sidebar-cat{
  cursor:grabbing;
  filter:drop-shadow(0 14px 18px rgba(5,19,27,.28));
}

.app-sidebar-cat-head{
  transform-box:fill-box;
  transform-origin:50% 72%;
  transition:transform .075s linear;
}

.app-sidebar-cat-body{
  transform-box:fill-box;
  transform-origin:50% 85%;
  transition:transform .11s ease-out;
}

.noxy-belly-name{
  pointer-events:none;
  fill:#e77818;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;
  font-weight:900;
  letter-spacing:.45px;
  paint-order:stroke fill;
  stroke:rgba(156,75,10,.22);
  stroke-width:.65px;
}

.app-sidebar-cat-pupil,
.app-sidebar-cat-pupil-glint{
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .045s linear;
}

.app-sidebar-cat-tail{
  transform-box:fill-box;
  transform-origin:20% 70%;
  animation:sidebar-cat-tail 3.4s ease-in-out infinite;
}

.app-sidebar-cat-shadow{
  fill:rgba(3,18,27,.28);
}

@keyframes sidebar-cat-tail{
  0%,100%{transform:rotate(-1deg)}
  50%{transform:rotate(7deg)}
}

@media(max-width:991.98px){
  .app-sidebar-cat-zone{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .app-sidebar-cat-head,
  .app-sidebar-cat-body,
  .app-sidebar-cat-pupil,
  .app-sidebar-cat-pupil-glint{
    transition:none;
  }
  .app-sidebar-cat-tail{
    animation:none;
  }
}


/* Keep the system status footer anchored at the bottom of every standard sidebar.
   Mascot placement must never affect this block. */
.app-sidebar > .app-sidebar-foot{
  flex:0 0 auto;
  margin-top:auto!important;
}

/* Historical EKO analysis */
.history-page{color:#17334e}
.history-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.history-heading h2{font-weight:750;margin:7px 0}
.history-kicker{font-size:.72rem;letter-spacing:.08em;font-weight:700;color:#37799c}
.history-filters{padding:22px}
.history-filters .form-label{font-weight:650;font-size:.83rem}
.history-scope{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.84rem;color:#536478}
.history-quality{font-size:.86rem;line-height:1.7}
.history-section-heading{padding:20px 22px;border-bottom:1px solid #e5edf4;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.history-section-heading h3{font-size:1rem;font-weight:700;margin:0;color:#17334e!important}
.history-section-heading h3 i{color:#327eac}
.history-chart-card,.history-table-section,.history-import{overflow:hidden;padding:0}
.history-chart{height:290px;padding:18px 20px}
.history-chart-select{width:auto;max-width:100%}
.history-ranking{max-height:470px;overflow:auto}
.history-page .table thead th{background:#f4f8fc;color:#516477;font-size:.76rem;white-space:nowrap}
.history-page .table td,.history-page .table tbody th{padding:13px 16px;color:#243d55;font-size:.83rem}
.history-page .table td.history-profit{font-weight:700;color:#217252;background:#f5faf7}
.history-page .history-up{color:#217252;font-weight:650}
.history-page .history-down{color:#b13a42;font-weight:650}
.history-empty{padding:56px 24px;text-align:center}
.history-empty>i{display:block;font-size:3rem;color:#327eac;margin-bottom:12px}
.history-empty h3{font-size:1.3rem;color:#17334e}
.history-import{scroll-margin-top:100px}
@media(max-width:767px){.history-filters{padding:16px}.history-heading h2{font-size:1.5rem}.history-chart{height:250px;padding:12px}.history-section-heading{padding:16px}.history-heading .btn{font-size:.8rem}.history-page .analytics-value{font-size:1.5rem!important}}

/* Company profit contribution: tint only the background, keep text opaque. */
.table td.company-profit-cell{position:relative;isolation:isolate;min-width:240px}
.company-profit-fill{position:absolute;inset:5px auto 5px 0;width:var(--profit-share-width,0%);z-index:0;pointer-events:none;border-radius:0 6px 6px 0;background:linear-gradient(90deg,rgba(16,145,116,.16),rgba(16,145,116,.07));border-right:2px solid rgba(16,145,116,.3)}
.company-profit-cell[style="--profit-share-width:0.00%;"] .company-profit-fill{border:0}
.company-profit-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.company-profit-name{min-width:0;overflow-wrap:anywhere}
.company-profit-percent{flex-shrink:0;color:#16664f;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;background:rgba(255,255,255,.82);border:1px solid rgba(22,102,79,.14);border-radius:6px;padding:3px 6px}
.company-profit-loss .company-profit-fill{background:linear-gradient(90deg,rgba(194,57,71,.15),rgba(194,57,71,.06));border-right-color:rgba(194,57,71,.3)}
.company-profit-loss .company-profit-percent{color:#9e3040;border-color:rgba(158,48,64,.16)}

/* Separate profit share column and fixed headings inside the history list. */
.table .company-profit-share-column{white-space:nowrap;width:1%;text-align:right}
.history-ranking .table thead th{position:sticky;top:0;z-index:3;background:#f4f8fc;box-shadow:inset 0 -1px 0 #d5e1e8}

/* Original import archive. */
.archive-info{display:flex;gap:14px;padding:20px 24px;border-left:3px solid #4a88b7}
.archive-info>i{color:#387ca8;font-size:1.2rem}
.archive-info strong{display:block;font-size:.86rem;margin-bottom:5px}
.archive-info p{font-size:.8rem;line-height:1.6}
.archive-file-name{min-width:240px;max-width:420px;overflow-wrap:anywhere}
.archive-file-icon{font-size:1.25rem;color:#29785c}
.archive-kind{display:inline-block;white-space:nowrap;padding:5px 9px;border-radius:6px;font-size:.72rem;font-weight:650;background:#edf3fa;color:#376794}
.archive-kind-prices{background:#fff5e5;color:#8a652d}
.archive-kind-transactions{background:#eaf5f0;color:#28735a}
.archive-empty{display:grid;justify-items:center;gap:9px;padding:10px;max-width:520px;margin:auto;white-space:normal}
.archive-empty>i{font-size:2rem;color:#789bb4}

/* Company profile editor. */
.company-editor{max-width:1380px;margin-inline:auto}
.company-editor .page-title{color:#000!important}
.company-editor-section{display:flex;align-items:center;gap:12px}
.company-editor-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:9px;background:#eaf2f9;color:#326b96;font-size:1.2rem}
.company-editor .form-label{font-size:.84rem;margin-bottom:7px;color:#24384a}
.company-editor .form-control{padding:10px 12px}
.company-editor textarea{resize:vertical;line-height:1.6}
.company-editor .form-text{font-size:.76rem;line-height:1.55;margin-top:8px}
.company-editor-switch{background:#f4f8fc;border:1px solid #dce7ef;border-radius:8px;padding:16px}
.company-editor-switch .form-check{min-height:24px;margin-bottom:0}
.company-editor-report-hint{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#edf5fa;border-left:3px solid #5c91b5;border-radius:5px;color:#45657c;font-size:.77rem;line-height:1.6}
.company-editor-report-hint>i{font-size:1.1rem}
.company-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;margin-bottom:24px}
.company-profile-details>summary{padding:16px 22px;font-weight:650;color:#254c68;cursor:pointer;overflow-wrap:anywhere}
.company-profile-details[open]>summary{border-bottom:1px solid #dce5ec}
.company-profile-details dt{font-size:.74rem;color:#687d8e;margin-bottom:5px}
.company-profile-details dd{font-size:.86rem;margin-bottom:0;overflow-wrap:anywhere}
@media(max-width:575px){.company-editor-actions{align-items:flex-start;flex-direction:column}.company-editor-actions>div{width:100%}.company-editor-actions .btn{flex:1}.company-editor .surface-body{padding:18px}.company-profile-details>summary{padding:15px 18px}}
