/* AX MCS Design System v1 - Graphite & Solid Cubes
   Suite-wide component layer. v0.109.1 */
:root{
  --ax-g1:#172832;--ax-g2:#223945;--ax-g3:#34515f;
  --ax-blue:#176fbd;--ax-blue-dark:#115b9b;--ax-blue-soft:#e9f3fa;
  --ax-green:#15945f;--ax-green-dark:#0d754a;--ax-green-soft:#e8f5ee;
  --ax-gold:#d99508;--ax-gold-soft:#fff4d5;
  --ax-purple:#7049bd;--ax-purple-soft:#f0eafb;
  --ax-bordeaux:#b72d54;--ax-bordeaux-soft:#faedf1;
  --ax-surface:#f3f6f7;--ax-card:#fff;--ax-line:#dbe4e9;--ax-line-strong:#c7d4dc;
  --ax-text:#172b36;--ax-muted:#667985;
  --ax-shadow:0 7px 22px rgba(25,47,59,.08);--ax-shadow-soft:0 3px 12px rgba(25,47,59,.07);
  --ax-radius:10px;--ax-radius-sm:7px;
}

/* Shell and page rhythm */
:where(.role-content){background:linear-gradient(180deg,#f6f8f9 0,#f2f5f6 100%);color:var(--ax-text)}
:where(.role-content .page-head){margin:0 0 14px;align-items:flex-end}
:where(.role-content .page-head h1){font-size:23px;font-weight:760;letter-spacing:-.025em;color:#142b37}
:where(.role-content .page-head p){font-size:12px;color:var(--ax-muted);max-width:1050px}
:where(.role-content h2){color:#19313e;font-weight:740;letter-spacing:-.01em}

/* Universal AX panel */
:where(.role-content .panel,.role-content .card){background:var(--ax-card);border:1px solid var(--ax-line);border-radius:var(--ax-radius);box-shadow:var(--ax-shadow-soft);overflow:hidden}
:where(.role-content .panel){padding:15px}
:where(.role-content .section-head){margin:-15px -15px 14px;padding:13px 15px 12px;background:linear-gradient(105deg,#fff 0,#fbfcfd 72%,#f1f5f7 100%);border-bottom:1px solid var(--ax-line);align-items:center}
:where(.role-content .section-head h2){margin:0;font-size:16px}
:where(.role-content .section-head p){font-size:11px;line-height:1.45;color:var(--ax-muted)}

/* Forms, filters and toolbars */
:where(.role-content .toolbar){padding:10px;background:#f7f9fa;border:1px solid var(--ax-line);border-radius:var(--ax-radius-sm);gap:8px;align-items:end}
:where(.role-content label){color:#425966;font-size:11px;font-weight:720;letter-spacing:.01em}
:where(.role-content input,.role-content select,.role-content textarea){border:1px solid #c7d4dc;border-radius:6px;background:#fff;min-height:34px;color:#203642;transition:border-color .15s,box-shadow .15s,background .15s}
:where(.role-content input:hover,.role-content select:hover,.role-content textarea:hover){border-color:#9fb3bf}
:where(.role-content input:focus,.role-content select:focus,.role-content textarea:focus){outline:0;border-color:var(--ax-blue);box-shadow:0 0 0 3px rgba(23,111,189,.12)}
:where(.role-content input:disabled,.role-content select:disabled,.role-content textarea:disabled){background:#f1f4f5;color:#7a8991}
:where(.role-content .form-grid){gap:13px 14px}
:where(.role-content .form-actions){padding-top:11px;border-top:1px solid #e7ecef}

/* AX action hierarchy */
:where(.role-content button,.role-content .button,.role-content .primary){border-radius:7px;min-height:33px;padding:7px 13px;font-weight:720;box-shadow:0 3px 8px rgba(23,111,189,.14);transition:transform .12s,box-shadow .12s,background .12s}
:where(.role-content button:hover,.role-content .button:hover,.role-content .primary:hover){transform:translateY(-1px);box-shadow:0 5px 12px rgba(23,111,189,.19)}
:where(.role-content .secondary){background:#fff;color:#31566b;border:1px solid #c8d5dd;box-shadow:0 2px 7px rgba(25,47,59,.06)}
:where(.role-content .secondary:hover){background:#f3f7f9;color:#244a60;border-color:#adc0cb}
:where(.role-content .danger){background:#b4233d;border-color:#b4233d;box-shadow:0 3px 8px rgba(180,35,61,.15)}
:where(.role-content a.table-action,.role-content a.link-button){display:inline-flex;align-items:center;min-height:29px;padding:4px 9px;border:1px solid #d0dce3;border-radius:6px;background:#fff;color:#2d617f;font-weight:700}

/* Tables: neutral body + semantic, readable header */
:where(.role-content .table-wrap){border:1px solid var(--ax-line);border-radius:8px;background:#fff}
:where(.role-content table){font-variant-numeric:tabular-nums}
:where(.role-content th){background:#edf2f4;color:#4b616d;border-color:#d8e2e7;font-size:10px;font-weight:760;text-transform:uppercase;letter-spacing:.035em;padding:8px 9px}
:where(.role-content td){border-color:#e6ecef;color:#263d49;padding:8px 9px}
:where(.role-content tbody tr:nth-child(even) td){background:#fbfcfc}
:where(.role-content tbody tr:hover td){background:#f0f6f9}
:where(.role-content tr.total-row td,.role-content tfoot th,.role-content tfoot td){background:#eaf0f3;font-weight:780;border-top:2px solid #aabac3}
:where(.role-content td.number,.role-content td.num,.role-content .number,.role-content .num){font-variant-numeric:tabular-nums;text-align:right}

/* KPI and cards: secondary solid-cube language */
:where(.role-content .metrics,.role-content .kpi-grid,.role-content .cards){gap:10px}
:where(.role-content .metric,.role-content .kpi,.role-content .master-card){border:1px solid #dce5ea;border-radius:9px;background:linear-gradient(155deg,#fff 0,#f8fafb 100%);box-shadow:var(--ax-shadow-soft);padding:12px;position:relative;overflow:hidden}
:where(.role-content .metric:after,.role-content .kpi:after,.role-content .master-card:after){content:"";position:absolute;right:-28px;top:-36px;width:86px;height:86px;border-radius:50%;background:rgba(23,111,189,.045)}
:where(.role-content .metric span,.role-content .kpi span){font-size:10px;font-weight:760;text-transform:uppercase;letter-spacing:.04em;color:#687b86}
:where(.role-content .metric strong,.role-content .kpi strong){font-size:20px;font-weight:760;color:#183441}

/* Status language */
:where(.role-content .badge,.role-content .chip){border:1px solid #d6e0e5;border-radius:999px;background:#eef3f5;color:#425b68;font-weight:700;padding:4px 8px}
:where(.role-content .badge.ok,.role-content .badge.success,.role-content .chip.ok){background:var(--ax-green-soft);border-color:#c8e8d8;color:#176540}
:where(.role-content .badge.warning,.role-content .badge.warn,.role-content .chip.warn){background:var(--ax-gold-soft);border-color:#f0d894;color:#785708}
:where(.role-content .badge.error,.role-content .chip.error){background:var(--ax-bordeaux-soft);border-color:#efcbd5;color:#8f2947}
:where(.role-content .alert){border-radius:7px;border:1px solid #dbe5ea;padding:10px 12px;box-shadow:0 2px 6px rgba(25,47,59,.04)}
:where(.role-content .alert.ok,.role-content .alert.success){background:var(--ax-green-soft);border-left:4px solid var(--ax-green);color:#175f3e}
:where(.role-content .alert.warn,.role-content .alert.warning){background:var(--ax-gold-soft);border-left:4px solid var(--ax-gold);color:#755405}
:where(.role-content .alert.error){background:var(--ax-bordeaux-soft);border-left:4px solid var(--ax-bordeaux);color:#8a2844}
:where(.role-content .alert.info,.role-content .notice){background:var(--ax-blue-soft);border-left:4px solid var(--ax-blue);color:#245f82}

/* Empty states and help */
:where(.role-content .empty){min-height:72px;display:grid;place-items:center;background:linear-gradient(180deg,#fff,#f7f9fa);color:#788892;border-radius:7px}
:where(.role-content .muted,.role-content .hint,.role-content .small){color:var(--ax-muted)}

/* Process/workflow language */
:where(.role-content .flow){gap:7px}
:where(.role-content .step,.role-content .workflow-step){border:1px solid #d6e1e6;border-radius:8px;background:#fff;box-shadow:0 2px 7px rgba(25,47,59,.05)}
:where(.role-content .step.active,.role-content .workflow-step.active){background:var(--ax-blue-soft);border-color:#b9d9ed;color:#175f8c}

/* Preserve the stronger Project Control pilot hierarchy */
.pc-kpi-group,.pc-kpi-card{box-shadow:inherit}
.pc-economic-panel,.pc-secondary-panel{border-radius:var(--ax-radius)!important}

/* Responsive system */
@media(max-width:900px){
  :where(.role-content .page-head){align-items:flex-start;flex-direction:column;gap:8px}
  :where(.role-content .section-head){align-items:flex-start}
  :where(.role-content .toolbar){flex-wrap:wrap}
}
@media(max-width:600px){
  :where(.role-content .panel){padding:12px}
  :where(.role-content .section-head){margin:-12px -12px 12px;padding:11px 12px}
  :where(.role-content button,.role-content .button,.role-content .primary){min-height:36px}
}


/* ============================================================
   AX MCS v0.109.1 - Application Patterns
   Dashboard / Registers / Process forms / Master data
   ============================================================ */

/* Dashboard pattern: Graphite & Solid Cubes, no legacy teal */
.role-content .role-notifications{background:linear-gradient(90deg,#e9f3fa,#f3f7f9);color:#294d61;border:1px solid #d5e3eb;border-left:4px solid var(--ax-blue);border-radius:8px;padding:8px 12px;margin-bottom:18px;box-shadow:var(--ax-shadow-soft)}
.role-content .role-notifications a{color:#175f8c;border-left-color:#bfd2de}.role-content .role-notifications em{color:#667985}
.role-content .dashboard-favorites{background:#fff;border:1px solid var(--ax-line);border-radius:10px;padding:15px;box-shadow:var(--ax-shadow-soft);margin-bottom:18px}
.role-content .dashboard-favorites .section-head{margin:-15px -15px 12px;padding:12px 15px;background:linear-gradient(105deg,#fff,#f3f6f7);border-bottom:1px solid var(--ax-line)}
.role-content .dashboard-favorite-grid{gap:10px}.role-content .dashboard-favorite-grid>a{min-height:92px;border:1px solid #d8e3e8;border-left:0;border-radius:9px;padding:12px 13px;background:linear-gradient(150deg,#fff,#f6f9fa);box-shadow:0 3px 10px rgba(25,47,59,.06);position:relative;overflow:hidden}
.role-content .dashboard-favorite-grid>a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ax-blue)}
.role-content .dashboard-favorite-grid>a:nth-child(4n+2):before{background:var(--ax-green)}.role-content .dashboard-favorite-grid>a:nth-child(4n+3):before{background:var(--ax-gold)}.role-content .dashboard-favorite-grid>a:nth-child(4n+4):before{background:var(--ax-purple)}
.role-content .dashboard-favorite-grid>a:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--ax-shadow)}
.role-content .dashboard-favorite-grid small{color:#2e617e;font-weight:700}
.role-content .role-hero{background:linear-gradient(120deg,#fff 0,#f7f9fa 62%,#edf3f6 100%);border:1px solid var(--ax-line);border-radius:10px;padding:22px 24px;box-shadow:var(--ax-shadow-soft);gap:36px;min-height:150px}
.role-content .role-hero h1{font-size:31px;font-weight:420;color:#19313e}.role-content .role-hero h1 strong{font-weight:760;color:var(--ax-blue)}
.role-content .role-hero-dots i{background:#c5d1d8}.role-content .role-hero-dots i:first-child{background:var(--ax-blue)}
.role-content .role-actions{border-left:1px solid #d9e3e8;padding-left:24px}.role-content .role-actions h2{border-color:#b8c7d0}.role-content .role-actions a{color:#285f7e;font-weight:650;border-radius:5px;padding:5px 6px}.role-content .role-actions a:hover{background:#eaf3f8;color:#174e70}
.role-content .role-kpis{margin-top:18px}.role-content .role-kpi-row{gap:10px}.role-content .role-kpi-row a{min-height:105px;border:1px solid #dce5ea;border-radius:9px;background:#fff;padding:12px;box-shadow:var(--ax-shadow-soft);position:relative;overflow:hidden}
.role-content .role-kpi-row a:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ax-blue)}.role-content .role-kpi-row a:nth-child(2):before{background:var(--ax-green)}.role-content .role-kpi-row a:nth-child(3):before{background:var(--ax-gold)}.role-content .role-kpi-row a:nth-child(4):before{background:var(--ax-purple)}
.role-content .role-kpi-row strong{font-size:27px;font-weight:720;border-bottom:0;color:#173441}.role-content .role-kpi-row small{color:#55717f}
.role-content .role-groups{gap:14px}.role-content .role-group{background:#fff;border:1px solid var(--ax-line);border-radius:10px;padding:12px;box-shadow:var(--ax-shadow-soft)}
.role-content .role-group h2{border-bottom:0;margin:0 0 9px;padding:0;color:#294451}.role-content .role-cubes{gap:7px}.role-content .role-cube{min-height:112px;background:linear-gradient(145deg,#176fbd,#115b9b);border-radius:8px;padding:11px;box-shadow:0 5px 13px rgba(17,91,155,.20)}
.role-content .role-group:nth-child(2) .role-cube{background:linear-gradient(145deg,#15945f,#0d754a);box-shadow:0 5px 13px rgba(13,117,74,.19)}
.role-content .role-group:nth-child(3) .role-cube{background:linear-gradient(145deg,#7049bd,#5635a0);box-shadow:0 5px 13px rgba(86,53,160,.18)}
.role-content .role-group:nth-child(4) .role-cube{background:linear-gradient(145deg,#d99508,#b97904);box-shadow:0 5px 13px rgba(185,121,4,.18)}
.role-content .role-cube strong{font-size:28px;font-weight:720;border-bottom:1px solid rgba(255,255,255,.45)}.role-content .role-cube:hover{filter:brightness(.96);transform:translateY(-2px)}.role-content .role-cube-alert,.role-content .role-group .role-cube-alert{background:linear-gradient(145deg,#c13a5f,#9f2448);box-shadow:0 5px 13px rgba(159,36,72,.20)}

/* Register pattern */
.role-content .page-head>div+div{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.role-content .page-head>div+div>a:not(.primary):not(.button){display:inline-flex;align-items:center;min-height:32px;padding:6px 9px;border:1px solid #d6e1e7;border-radius:7px;background:#fff;color:#315e77;font-weight:650;box-shadow:0 2px 6px rgba(25,47,59,.04)}
.role-content .page-head>div+div>a:not(.primary):not(.button):hover{background:#f0f6f9;border-color:#b8ccd7}
.role-content .panel>.table-wrap:first-child:last-child{margin:-1px}.role-content .panel>.table-wrap:first-child:last-child table{border-radius:8px;overflow:hidden}
.role-content .badge.ax-posted{background:var(--ax-green-soft);border-color:#c7e7d7;color:#176540}

/* Process / form pattern */
.role-content form#invoice-form{counter-reset:axprocess}.role-content form#invoice-form>section.panel{position:relative;padding-top:17px;border-left:4px solid #c8d8e1}
.role-content form#invoice-form>section.panel:nth-of-type(4n+1){border-left-color:var(--ax-blue)}.role-content form#invoice-form>section.panel:nth-of-type(4n+2){border-left-color:var(--ax-green)}.role-content form#invoice-form>section.panel:nth-of-type(4n+3){border-left-color:var(--ax-gold)}.role-content form#invoice-form>section.panel:nth-of-type(4n+4){border-left-color:var(--ax-purple)}
.role-content form#invoice-form>section.panel>h2{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:15px}.role-content form#invoice-form>section.panel>h2:before{counter-increment:axprocess;content:counter(axprocess,decimal-leading-zero);display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf3f6;color:#31586d;font-size:10px;font-weight:800}
.role-content form#invoice-form>section.panel>.section-head h2{display:flex;align-items:center;gap:9px}.role-content form#invoice-form>section.panel>.section-head h2:before{counter-increment:axprocess;content:counter(axprocess,decimal-leading-zero);display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e9f3fa;color:#176399;font-size:10px;font-weight:800}
.role-content .invoice-grid th{white-space:nowrap}.role-content .invoice-grid td{vertical-align:middle}.role-content .grid-help{background:#f5f8fa;border:1px solid #e1e8ec;border-radius:7px;padding:7px 9px;margin-bottom:8px;color:#667985}

/* Master-data pattern */
.role-content .master-grid>.master-toolbar{background:linear-gradient(100deg,#fff,#f3f7f9);padding:10px 11px;box-shadow:var(--ax-shadow-soft);margin-bottom:10px}.role-content .master-toolbar input{font-size:13px;background:#fff}.role-content .master-toolbar #masterResultCount{font-weight:750;color:#55717f;white-space:nowrap}.role-content .master-grid>.table-wrap{padding:0;box-shadow:var(--ax-shadow-soft)}
.role-content #masterTable th{background:#e9eff2;color:#405965;border-bottom:2px solid #b9c9d2}.role-content #masterTable th.action-col{background:#e3eaee}.role-content #masterTable td.action-col{background:#f7f9fa}.role-content #masterTable tbody tr:hover td{background:#edf5f8}.role-content #masterTable .table-action{min-width:86px;justify-content:center;background:#f7fbfd}
.role-content #masterTable .ax-yes{display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--ax-green-soft);border:1px solid #c8e8d8;color:#176540;font-size:10px;font-weight:760}.role-content #masterTable .ax-no{display:inline-flex;padding:3px 8px;border-radius:999px;background:#f1f4f5;border:1px solid #dce4e8;color:#687b86;font-size:10px;font-weight:760}

@media(max-width:900px){.role-content .role-hero{padding:18px;gap:18px}.role-content .role-actions{border-left:0;border-top:1px solid #d9e3e8;padding:16px 0 0}.role-content .role-kpi-row{gap:8px}}

/* ============================================================
   AX MCS v0.110.0 - Suite-wide rollout
   Official application patterns across all modules
   ============================================================ */

/* Common page command bars */
.role-content .page-head{padding:2px 2px 0}
.role-content .page-head>div:last-child{max-width:58%;row-gap:7px}
.role-content .page-head>div:last-child .primary{background:linear-gradient(145deg,#1978c8,#1262a7);border-color:#1262a7;color:#fff}
.role-content .page-head>div:last-child .secondary{background:#fff}

/* Generic list/register pages */
.role-content .panel:has(>table),.role-content .panel:has(>.table-wrap){box-shadow:0 6px 18px rgba(25,47,59,.075)}
.role-content table tbody tr{transition:background .12s ease}
.role-content table td:first-child,.role-content table th:first-child{padding-left:12px}
.role-content table td:last-child,.role-content table th:last-child{padding-right:12px}
.role-content table a:not(.button):not(.primary){font-weight:650}

/* Generic master-data/search bars */
.role-content form.toolbar,.role-content .filters,.role-content .filter-bar,.role-content .search-bar{background:linear-gradient(105deg,#fff,#f4f7f8);box-shadow:0 3px 10px rgba(25,47,59,.055)}
.role-content .filters button,.role-content .filter-bar button,.role-content .search-bar button{align-self:end}

/* Guided forms across the suite: section rhythm and final action area */
.role-content form>.panel+ .panel,.role-content form>section.panel+section.panel{margin-top:12px}
.role-content form>.panel>h2:first-child,.role-content form>section.panel>h2:first-child{font-size:15px;margin-top:0}
.role-content form .form-actions:last-child,.role-content form>.form-actions:last-child{position:sticky;bottom:0;z-index:8;margin:16px -2px 0;padding:12px 14px;background:rgba(248,250,251,.96);backdrop-filter:blur(8px);border:1px solid #d8e2e7;border-radius:9px;box-shadow:0 -5px 18px rgba(25,47,59,.08);display:flex;justify-content:flex-end;gap:8px}

/* Secondary dashboard/KPI language */
.role-content .kpi-grid .kpi,.role-content .metrics .metric{border-top:3px solid var(--ax-blue)}
.role-content .kpi-grid .kpi:nth-child(4n+2),.role-content .metrics .metric:nth-child(4n+2){border-top-color:var(--ax-green)}
.role-content .kpi-grid .kpi:nth-child(4n+3),.role-content .metrics .metric:nth-child(4n+3){border-top-color:var(--ax-gold)}
.role-content .kpi-grid .kpi:nth-child(4n+4),.role-content .metrics .metric:nth-child(4n+4){border-top-color:var(--ax-purple)}

/* Home financial hero: denser and more product-like */
.role-content .role-hero{min-height:132px;padding:18px 22px}
.role-content .role-hero h1{font-size:29px;line-height:1.12}
.role-content .role-actions{display:flex;flex-direction:column;justify-content:center}
.role-content .role-actions h2{margin-bottom:6px}

/* Harmonised section identity */
.role-content .section-head:before{content:"";align-self:stretch;width:3px;min-height:28px;border-radius:3px;background:var(--ax-blue);margin-right:10px;flex:0 0 3px}
.role-content .section-head{display:flex}
.role-content .section-head>div{min-width:0}
.role-content .section-head .badge,.role-content .section-head .chip{margin-left:auto}

/* Semantic statuses shared by modules */
.role-content .status-active,.role-content .status-approved,.role-content .status-posted{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--ax-green-soft);border:1px solid #c8e8d8;color:#176540;font-size:10px;font-weight:760}
.role-content .status-draft,.role-content .status-working{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--ax-gold-soft);border:1px solid #f0d894;color:#785708;font-size:10px;font-weight:760}
.role-content .status-closed,.role-content .status-inactive{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#eef2f4;border:1px solid #d9e1e5;color:#60727d;font-size:10px;font-weight:760}

/* Dense operational grids */
.role-content .table-wrap table input,.role-content .table-wrap table select{min-height:30px;border-radius:5px}
.role-content .table-wrap table button{min-height:29px;padding:4px 8px;box-shadow:none}

/* Responsive safety */
@media(max-width:1100px){.role-content .page-head>div:last-child{max-width:100%}}
@media(max-width:760px){.role-content form .form-actions:last-child,.role-content form>.form-actions:last-child{position:static;flex-wrap:wrap}.role-content .section-head:before{display:none}}


/* ============================================================
   AX MCS v0.110.1 - UX Refinement
   Guided workflow, Timesheet and Administration refinements
   ============================================================ */
.role-content .ax-workflow-overview{background:linear-gradient(115deg,#fff 0%,#f7fafb 72%,#eef4f7 100%);border-top:3px solid #315e77}
.role-content .ax-workflow-overview .kpi-grid{margin-top:12px;gap:10px}.role-content .ax-workflow-overview .kpi{min-height:86px;background:#fff;box-shadow:0 5px 14px rgba(25,47,59,.07)}
.role-content .ax-guided-workflow{position:relative;display:grid;gap:10px;padding-left:14px}.role-content .ax-guided-workflow:before{content:"";position:absolute;left:28px;top:30px;bottom:30px;width:2px;background:linear-gradient(#1b77b9,#15965e,#d89400,#7044bd)}
.role-content .ax-guided-workflow .workflow-step{position:relative;grid-template-columns:38px minmax(0,1fr) auto;padding:14px 16px 14px 11px;border-left:0!important;border-radius:10px;box-shadow:0 4px 13px rgba(25,47,59,.06);background:#fff}
.role-content .ax-guided-workflow .workflow-step.current{background:linear-gradient(100deg,#f4f9fc,#fff);box-shadow:0 6px 18px rgba(25,83,116,.12)}.role-content .ax-guided-workflow .workflow-step.done{background:linear-gradient(100deg,#f3faf6,#fff)}
.role-content .ax-guided-workflow .workflow-step-no{position:relative;z-index:2;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e8f0f4;border:2px solid #fff;box-shadow:0 0 0 1px #cbdbe3;font-weight:800;color:#315e77}
.role-content .ax-guided-workflow .workflow-step.done .workflow-step-no{background:#198f5b;color:#fff;box-shadow:0 0 0 1px #198f5b}.role-content .ax-guided-workflow .workflow-step.current .workflow-step-no{background:#1978c8;color:#fff;box-shadow:0 0 0 1px #1978c8}
.role-content .ax-guided-workflow .workflow-step h3{margin:1px 0 4px;font-size:15px}.role-content .ax-guided-workflow .workflow-step p{margin:3px 0 6px}.role-content .ax-guided-workflow .workflow-actions{display:flex;gap:10px;flex-wrap:wrap}.role-content .ax-guided-workflow .workflow-actions a:not(.button){font-weight:700}
.role-content .ax-guided-workflow .workflow-step>.badge{align-self:start;margin-top:1px}

.role-content .ax-timesheet-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-content .ax-timesheet-actions>a{border:1px solid #d9e4e9;border-top:3px solid var(--ax-blue);border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(25,47,59,.055);padding:12px 14px}.role-content .ax-timesheet-actions>a:nth-child(2){border-top-color:var(--ax-purple)}.role-content .ax-timesheet-actions>a:nth-child(3){border-top-color:var(--ax-green)}
.role-content .ax-timesheet-editor{border-left:4px solid var(--ax-blue);background:linear-gradient(110deg,#fff,#f7fafb)}.role-content .ax-timesheet-editor .toolbar{box-shadow:none;border:0;background:transparent;padding:6px 0}.role-content .ax-timesheet-week{border-top:3px solid var(--ax-green)}.role-content .ax-timesheet-week #timeGrid thead th{background:#e9f1f4;color:#365462;border-bottom:2px solid #b9cbd4}.role-content .ax-timesheet-week #timeGrid tbody tr:hover td{background:#f4faf7}.role-content .ax-timesheet-week .journal-totals{margin-top:8px;padding:10px 12px;border-radius:7px;background:#f0f7f3;border:1px solid #d3e9dc;font-size:14px}

.role-content .ax-admin-block{position:relative;border-left:4px solid var(--ax-blue);padding:16px 18px}.role-content .ax-admin-block:nth-of-type(2){border-left-color:var(--ax-green)}.role-content .ax-admin-block:nth-of-type(3){border-left-color:var(--ax-gold)}.role-content .ax-admin-block:nth-of-type(4),.role-content .ax-admin-block:nth-of-type(5){border-left-color:var(--ax-purple)}
.role-content .ax-admin-block>h2{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:16px}.role-content .ax-step-dot{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf3f6;color:#315e77;font-size:10px;font-weight:850}.role-content .ax-admin-block .admin-form{margin-top:12px;padding:12px;border-radius:8px;background:#f8fafb;border:1px solid #e2e9ed}.role-content .ax-admin-block .copy-options{background:#fff;border:1px solid #dce6eb;border-radius:8px;padding:10px 12px}.role-content .ax-admin-block>.table-wrap{margin-top:12px}.role-content .ax-admin-permissions .permission-role{background:#f8fafb;border:1px solid #e0e8ec;border-radius:8px;padding:12px;margin-top:10px}

@media(max-width:900px){.role-content .ax-timesheet-actions{grid-template-columns:1fr}.role-content .ax-guided-workflow{padding-left:0}.role-content .ax-guided-workflow:before{display:none}.role-content .ax-guided-workflow .workflow-step{grid-template-columns:34px minmax(0,1fr)}.role-content .ax-guided-workflow .workflow-step>.badge{grid-column:2}}


/* ============================================================
   AX MCS v0.111.0 - Commercial Pilot UI Freeze
   Final suite-wide completion of Design System v1
   ============================================================ */

/* Final shell polish */
.role-content{min-height:calc(100vh - 132px)}
.role-content>.page-head:first-child{padding-top:2px}
.role-content .page-head>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.role-content .page-head>div:last-child>a.button,.role-content .page-head>div:last-child>a.primary{white-space:nowrap}
.role-content .panel+.panel{margin-top:14px}
.role-content .panel>h2:first-child{display:flex;align-items:center;gap:8px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid #e5ecef}
.role-content .panel>h2:first-child:before{content:"";display:inline-block;width:4px;height:22px;border-radius:4px;background:var(--ax-blue)}

/* Lists and operational registers */
.role-content .table-wrap{box-shadow:0 4px 13px rgba(25,47,59,.055)}
.role-content .table-wrap>table{border-radius:8px;overflow:hidden}
.role-content .table-wrap td a:not(.button):not(.table-action){font-weight:700;color:#21638b}
.role-content .table-wrap td a:not(.button):not(.table-action):hover{text-decoration:underline}
.role-content table td>.badge{white-space:nowrap}
.role-content .toolbar>.button,.role-content .toolbar>button{white-space:nowrap}
.role-content .toolbar{box-shadow:0 2px 8px rgba(25,47,59,.045)}

/* Finance pattern: Scadenzario / Budget / Cash Flow */
.role-content .filter-summary{border-left:4px solid #5b7482;background:linear-gradient(100deg,#fff,#f7fafb);box-shadow:none}
.role-content .filter-summary strong{color:#284b5d}
.role-content .pivot-fields{display:flex;gap:11px;align-items:center;flex-wrap:wrap;background:#f7fafb}
.role-content .pivot-fields>strong{color:#203f50;margin-right:4px}
.role-content .cash-matrix-wrap{padding:0;overflow:auto}
.role-content .cash-matrix thead th{background:#e9eff2;border-bottom:2px solid #9fb2bd}
.role-content .cash-matrix .group-row th{background:linear-gradient(90deg,#eef4f7,#f8fafb);color:#294c5f;font-size:11px;letter-spacing:.02em}
.role-content .cash-matrix .group-total th{background:#eaf0f3;font-weight:800;border-top:1px solid #bccbd3}
.role-content .cash-matrix .negative{color:#9d2948}
.role-content dialog.filter-dialog{border:1px solid #cbd8df;border-radius:12px;box-shadow:0 24px 70px rgba(15,31,42,.28);padding:18px;max-width:min(1050px,94vw)}
.role-content dialog.filter-dialog::backdrop{background:rgba(20,35,44,.34);backdrop-filter:blur(2px)}
.role-content .kpi-grid>.kpi:nth-child(4n+1){border-top:3px solid var(--ax-blue)}
.role-content .kpi-grid>.kpi:nth-child(4n+2){border-top:3px solid var(--ax-green)}
.role-content .kpi-grid>.kpi:nth-child(4n+3){border-top:3px solid var(--ax-gold)}
.role-content .kpi-grid>.kpi:nth-child(4n+4){border-top:3px solid var(--ax-purple)}

/* Document cycles */
.role-content .ax-cycle-head{margin-bottom:16px}
.role-content .cycle-wbs{display:flex;align-items:stretch;gap:8px;margin:18px 0 16px;padding:16px;border:1px solid var(--ax-line);border-radius:11px;background:linear-gradient(120deg,#fff,#f3f7f9);box-shadow:var(--ax-shadow-soft)}
.role-content .cycle-cube{flex:1;min-width:150px;display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:14px 16px;border-radius:10px;background:linear-gradient(150deg,#1b4f69,#173b50);color:#fff;box-shadow:0 7px 18px rgba(24,57,73,.18);border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.role-content .cycle-cube:after{content:"";position:absolute;right:-34px;top:-42px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.08)}
.role-content .cycle-cube small{color:#bfd3de;font-size:9px;font-weight:800;letter-spacing:.08em}
.role-content .cycle-cube strong{font-size:25px;line-height:1.1;margin:7px 0 3px;color:#fff}.role-content .cycle-cube span{color:#eef5f8;font-weight:650}
.role-content .cycle-cube:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,57,73,.24)}
.role-content .cycle-connector{display:grid;place-items:center;color:#718793;font-size:28px;font-weight:300}
.role-content .ax-cycle-note{border-left:4px solid var(--ax-green)}

/* Massive imports */
.role-content .ax-imports-head{margin-bottom:14px}
.role-content .ax-imports-guidance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
.role-content .ax-imports-guidance .alert{margin:0;min-height:72px}
.role-content .ax-imports-split>.panel{position:relative;overflow:hidden}
.role-content .ax-imports-split>.panel:first-child{border-top:3px solid var(--ax-blue)}
.role-content .ax-imports-split>.panel:last-child{border-top:3px solid var(--ax-green)}
.role-content .download-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.role-content .download-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #e0e8ec;border-radius:7px;background:#f9fbfc}
.role-content .download-list li a{font-weight:750}
.role-content .summary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.role-content .summary>span{background:#f2f6f8;border:1px solid #dde7eb;border-radius:999px;padding:6px 10px;color:#405b69}

/* Monthly close: guided but controller-dense */
.role-content .ax-closing-block{position:relative;border-left:4px solid var(--ax-blue)}
.role-content .ax-closing-block:nth-of-type(2){border-left-color:var(--ax-gold)}
.role-content .ax-closing-block:nth-of-type(3){border-left-color:var(--ax-green)}
.role-content .ax-closing-block>h2:first-child{border-bottom:0;padding-bottom:0}
.role-content .ax-closing-block>h2:first-child:before{display:none}
.role-content .ax-close-step{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf3f6;color:#315e77;font-size:10px;font-weight:850;margin-right:7px}
.role-content .ax-closing-preview{border-top:3px solid var(--ax-purple)}
.role-content .ax-closing-history{border-top:3px solid #607682}

/* Commercial-grade login and company selection */
.login-wrap{background:radial-gradient(circle at 12% 16%,rgba(23,111,189,.13),transparent 28%),linear-gradient(135deg,#12232d,#203844 52%,#172832);min-height:calc(100vh - 52px)}
.login-card{border:1px solid rgba(255,255,255,.5);border-radius:14px;padding:28px;box-shadow:0 24px 60px rgba(5,18,26,.28);background:rgba(255,255,255,.98);width:min(450px,100%)}
.login-card h1{font-size:25px;font-weight:780;color:#16313f;letter-spacing:-.02em}.login-card p{line-height:1.45}.login-card button{min-height:38px;border-radius:7px;box-shadow:0 5px 14px rgba(23,111,189,.2)}
.login-card.company-select{width:min(560px,100%)}

/* Configuration / settings readability */
.role-content .favorite-settings-list{display:grid;gap:7px}
.role-content .favorite-settings-row{border:1px solid #dde6ea;border-radius:8px;background:#fff;box-shadow:0 2px 7px rgba(25,47,59,.04)}
.role-content .favorite-settings-row.is-favorite{border-left:4px solid var(--ax-blue);background:#f8fbfd}
.role-content .danger-zone{border-radius:9px;background:#fff8f9!important;border:1px solid #edcbd4!important;border-left:4px solid var(--ax-bordeaux)!important}

/* Final action area on long forms */
.role-content form>.form-actions:last-child{background:linear-gradient(90deg,#f7fafb,#eef4f7);border:1px solid #dae5ea;border-radius:8px;padding:10px 12px;margin-top:14px;min-height:50px}
.role-content form>.form-actions:last-child .primary,.role-content form>.form-actions:last-child button.primary{min-width:150px}

/* Pilot responsive sweep */
@media(max-width:1000px){.role-content .cycle-wbs{overflow-x:auto}.role-content .cycle-cube{min-width:170px}.role-content .ax-imports-guidance{grid-template-columns:1fr}}
@media(max-width:700px){.role-content .pivot-fields{align-items:stretch}.role-content .pivot-fields label{width:100%}.role-content .page-head>div:last-child{justify-content:flex-start}.login-card{padding:21px}}
