/* AgravoPro / Mineral — primitives → semantic → components.
   Compatibilidade dos aliases permite migrar telas sem duplicar regras de negócio. */
:root {
  --mineral-50:#faf9f6; --mineral-100:#f3f1eb; --mineral-200:#e4e0d8;
  --plum-950:#211d27; --plum-900:#29232f; --plum-700:#53445a;
  --jade-200:#c8ded4; --jade-400:#a8cabb; --jade-700:#315a50;
  --copper-500:#ac755b; --white:#fff;
  --canvas:var(--mineral-100); --surface:var(--mineral-50); --ink:var(--plum-950);
  --ink-soft:#595660; --ink-faint:#6c6670; --line:var(--mineral-200); --line-soft:#ece9e2;
  --navy-950:var(--plum-950); --navy-900:var(--plum-900); --navy-800:#3b3042;
  --navy-700:var(--jade-700); --navy-600:#3b665b; --navy-500:#628b7e; --navy-400:#7d9d8f; --navy-100:#e7efe9;
  --gold-600:var(--copper-500); --gold-500:var(--jade-400); --gold-400:var(--jade-400); --gold-300:var(--jade-200); --gold-200:#e7efe9;
  --ok:#266046; --ok-bg:#e7f0e9; --warn:#875324; --warn-bg:#faf0df; --bad:#a33145; --bad-bg:#faeaf0;
  --r-sm:10px; --r-md:15px; --r-lg:22px;
  --lift-1:0 1px 1px #211d2705,0 5px 20px #211d2705;
  --lift-2:0 12px 32px -16px #211d272b,0 1px 0 #ffffffc9 inset;
  --card-bg:#ffffffb8; --card-border:#ffffffdb; --button-bg:var(--plum-900);
}
body {background:var(--canvas); color:var(--ink)}
[hidden] {display:none!important}
.logout-page {margin:0;min-height:100vh;display:grid;place-items:center;padding:24px}
.logout-page main {width:min(480px,100%);padding:36px}
.logout-page h1 {font-size:32px;line-height:1.15;margin:18px 0}
.logout-page p {color:var(--ink-soft);margin-bottom:24px}
.logout-page .btn-suave {margin-top:14px}
::selection {background:var(--jade-200);color:var(--ink)}
a,button,input,select,textarea {touch-action:manipulation}
:focus-visible {outline:3px solid var(--jade-700)!important;outline-offset:4px}
.skip-link {position:fixed;top:12px;left:16px;z-index:200;padding:12px 20px;background:var(--ink);color:var(--white);border-radius:12px;transform:translateY(-150%)}
.skip-link:focus {transform:none}
.rail {width:250px;background:linear-gradient(160deg,var(--plum-900),var(--plum-950));border-right:1px solid #ffffff0d;color:#ded7e3}
.rail .marca {height:90px;padding-inline:24px;border:0}
.marca-selo {background:linear-gradient(135deg,#e1eee7,var(--jade-400) 55%,#6a9285);color:var(--plum-900);box-shadow:0 1px 0 #fff9 inset,0 3px 0 #315a50,0 7px 18px #0002;transform:rotate(-5deg)}
.marca-sub {color:#b9aebf;font-size:9px;letter-spacing:.17em}
.secao {color:#aba1b2;letter-spacing:.17em;font-size:9px;padding-top:20px}
.nav {min-height:42px;font-size:13px;color:#d1c8d7;margin-inline:12px;padding-inline:14px}
.nav svg {opacity:1;color:#a99daf;width:18px;height:18px}
.nav:hover {background:#ffffff09}
.nav-active {background:linear-gradient(100deg,#c8ded41c,#ffffff08);box-shadow:0 1px 0 #ffffff12 inset;border:1px solid #c8ded425;color:#f1f5ef}
.nav-active svg {color:var(--jade-200)}
.nav-active::before {display:none}
.sair,.creditos {color:#b9aebf}
.rodape-rail {border-color:#ffffff10}
.app-main {min-width:0}
.app-main > .topo {position:relative;height:102px;background:none;backdrop-filter:none;border:0;padding:24px 38px}
.app-main > .topo>div {width:auto;margin:0}
.topo-subtitulo {max-width:62ch;color:var(--ink-soft)}
.migalha {text-transform:uppercase;letter-spacing:.16em;font-size:9px;margin-bottom:6px;color:var(--jade-700);font-weight:700}
.titulo-pagina {font-size:28px;letter-spacing:-.04em}
.conteudo {padding:12px 38px 64px;max-width:1480px}
.topo-tools {display:flex;gap:10px;align-items:center}
.command-open {display:flex;gap:12px;align-items:center;background:#ffffff80;border:1px solid #ffffffd9;border-radius:13px;min-height:42px;padding:9px 14px;font-size:12px;color:var(--ink-soft);box-shadow:var(--lift-1)}
.command-open kbd {font-size:10px;border:1px solid var(--line);border-radius:5px;padding:1px 5px}
.card,.kpi {background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);box-shadow:var(--lift-1)}
.card-cabeca {border-bottom:1px solid var(--line-soft);padding:22px 24px}
.card-cabeca h2 {font-size:20px;letter-spacing:-.025em}
.card-cabeca p {max-width:72ch;color:var(--ink-soft)}
.card-corpo {padding:24px}
.kpi {padding:22px;position:relative;overflow:hidden}
.kpi-rotulo {text-transform:none;letter-spacing:0;color:var(--ink-soft);font-size:12px}
.kpi-valor {font-family:Inter,system-ui,sans-serif;font-size:32px;font-weight:500;letter-spacing:-.06em;margin-top:15px}
.kpi-rodape {margin-top:14px;font-size:11px;color:var(--ink-faint)}
.kpi-icon {width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,var(--white),var(--jade-200));box-shadow:0 2px 0 #9bb8a8,0 5px 12px #315a5014;color:var(--jade-700);float:right;transform:rotate(-7deg)}
.kpi-icon svg {width:19px;height:19px}
.btn-primary {background:var(--button-bg);border:1px solid #ffffff17;box-shadow:0 1px 0 #ffffff19 inset;color:var(--white);min-height:44px}
.btn-primary:hover {background:var(--plum-700);filter:none}
.btn-suave {background:#ffffff85;color:var(--ink);min-height:44px;border-color:var(--line)}
.btn-suave:hover,.acao-link:hover {background:var(--mineral-50);border-color:var(--jade-400)}
.input,select.input,textarea.input {background:#fff9;border-color:#d8d3cb;min-height:44px}
.input::placeholder {color:#77717b}
.input:focus {border-color:var(--jade-700);box-shadow:0 0 0 3px #315a5014}
.badge {font-size:11px}
thead th {background:var(--mineral-50);color:var(--ink-soft);font-size:10px;letter-spacing:.07em}
tbody tr:hover {background:#f3f1eb99}
tbody th {font-weight:500}
.vazio-icone {background:linear-gradient(135deg,var(--white),var(--jade-200));color:var(--jade-700);box-shadow:0 3px 0 #a8cabb55;transform:rotate(-5deg)}
.vazio h3 {font-size:20px;color:var(--ink)}
.vazio p {color:var(--ink-soft)}
.text-gray-400 {color:var(--ink-faint)}
.text-gray-500,.text-gray-600 {color:var(--ink-soft)}
/* Legacy utility classes in newly integrated operational forms. */
.conteudo .bg-gray-900 {background:var(--mineral-50);color:var(--ink);border:1px solid var(--line);min-height:44px}
.conteudo .bg-amber-500 {background:var(--button-bg);color:var(--white);min-height:44px;border-radius:12px;padding:10px 18px}
.conteudo .border-gray-700 {border-color:var(--line)}
.workspace-hero {display:grid;grid-template-columns:minmax(0,1fr) 260px;min-height:236px;background:var(--plum-900);color:var(--mineral-50);border-radius:28px;position:relative;overflow:hidden;padding:34px;margin-bottom:24px;isolation:isolate}
.workspace-hero::before {content:'';position:absolute;width:430px;height:430px;right:-100px;top:-200px;background:radial-gradient(circle,#a8cabb24,transparent 65%);pointer-events:none;z-index:-1}
.workspace-hero h2 {color:var(--mineral-50);font-size:clamp(29px,3.2vw,43px);line-height:1.12;letter-spacing:-.045em;max-width:530px;margin:12px 0}
.workspace-hero p {color:#c6becd;font-size:13px;max-width:48ch}
.eyebrow {text-transform:uppercase;font-size:9px;letter-spacing:.2em;font-weight:600;color:var(--jade-200)}
.hero-actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.hero-actions .btn-primary {background:var(--jade-200);color:var(--plum-950)}
.hero-actions .btn-suave {background:#ffffff09;border-color:#ffffff26;color:var(--mineral-50)}
.glass-monument {position:relative;width:220px;height:190px;align-self:center;justify-self:center;perspective:700px;pointer-events:none}
.glass-monument .plinth {position:absolute;width:170px;height:58px;left:20px;bottom:10px;background:linear-gradient(140deg,#d4e5dc88,#a8cabb18);border:1px solid #f0fff15c;border-radius:18px;transform:rotateX(58deg) rotateZ(-28deg);box-shadow:12px 20px 25px #0003,0 1px 0 #fff8 inset}
.glass-monument .column {position:absolute;bottom:43px;width:36px;height:102px;border:1px solid #f5fff966;border-radius:12px 12px 8px 8px;background:linear-gradient(95deg,#ffffff4a,#d4e5dc0d 50%,#a8cabb5e);box-shadow:10px 8px 14px #0002,0 1px 0 #fff6 inset;transform:skewY(-9deg)}
.glass-monument .column:nth-child(2){left:37px;height:79px}.glass-monument .column:nth-child(3){left:90px;height:116px}.glass-monument .column:nth-child(4){left:144px;height:147px}
.glass-monument .orbit {position:absolute;top:30px;left:8px;width:190px;height:115px;border:1px solid #d7e9db55;border-radius:50%;transform:rotate(-27deg);box-shadow:0 -1px 0 #ffffff40}
.section-heading {display:flex;align-items:baseline;justify-content:space-between;margin:30px 0 14px;gap:12px}
.section-heading h2 {font-size:23px;letter-spacing:-.035em}
.section-heading a {font-size:12px;color:var(--jade-700)}
.workbench-grid {display:grid;grid-template-columns:1.35fr 1fr;gap:20px}
.workbench-list {display:grid;gap:10px}
.workbench-list .acao-link {background:var(--mineral-50);border-color:var(--line-soft);padding:17px}
.workbench-list small {display:block;color:var(--ink-soft);font-weight:400;font-size:11px;margin-top:3px}
.workbench-list .arrow {margin-left:auto;font-size:19px;color:var(--ink-faint)}
.focus-note {border-left:3px solid var(--copper-500);padding:4px 0 4px 16px;margin:16px 0}
.focus-note strong {font-size:14px;font-weight:500}.focus-note p {font-size:12px;color:var(--ink-soft);margin-top:4px}
dialog.command-menu {border:1px solid #fff;border-radius:22px;background:#faf9f6f5;color:var(--ink);padding:0;width:min(580px,calc(100% - 30px));max-height:75vh;box-shadow:0 40px 120px #211d274d;margin:12vh auto auto}
dialog::backdrop {background:#211d2773;backdrop-filter:blur(5px)}
.command-head {display:flex;padding:16px;gap:12px;border-bottom:1px solid var(--line)}
.command-head input {flex:1;min-width:0;border:0;background:transparent;padding:10px;font-size:16px;outline:none}
.command-head button {border-radius:10px;padding:8px;color:var(--ink-soft);font-size:12px;min-width:44px}
.command-results {padding:10px;overflow:auto;max-height:50vh}
.command-results a {display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;min-height:44px;font-size:14px}
.command-results a:hover,.command-results a:focus {background:var(--jade-200)}
.command-empty {padding:20px;color:var(--ink-soft);font-size:13px}
.mobile-menu-trigger {border:1px solid #ffffff33;border-radius:10px;padding:7px 14px;min-height:44px;color:var(--white);font-size:13px}
.barra-movel {background:var(--plum-900)}
.barra-movel .text-gray-400 {color:#c7becd}
.barra-movel nav>a {min-height:42px;display:flex;align-items:center}
@media(min-width:1024px){.app-main {padding-left:250px}}
@media(max-width:1023px){.app-main > .topo{height:auto;min-height:90px;padding:22px}.conteudo{padding:8px 22px 48px}.workspace-hero{grid-template-columns:1fr 210px;padding:26px}.glass-monument{transform:scale(.85)}.barra-movel{backdrop-filter:blur(14px);background:#29232ff0}.command-open kbd{display:none}}
@media(max-width:640px){.app-main > .topo{padding:20px 16px;gap:10px}.titulo-pagina{font-size:25px}.conteudo{padding:0 14px 40px}.topo-subtitulo{max-width:30ch}.command-open{padding:10px;font-size:0}.command-open svg{width:20px;height:20px}.workspace-hero{display:block;padding:26px;min-height:240px}.workspace-hero h2{font-size:33px;max-width:300px}.glass-monument{display:none}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn-primary,.hero-actions .btn-suave{width:auto;font-size:12px;padding:9px 12px}.kpi{padding:17px;border-radius:18px}.kpi-valor{font-size:27px}.kpi-icon{width:27px;height:27px}.kpi-icon svg{width:15px;height:15px}.kpi-rotulo{font-size:11px;max-width:90px}.workbench-grid{grid-template-columns:1fr}.card-corpo,.card-cabeca{padding:19px}.section-heading h2{font-size:21px}.tabela-rolavel,.tabela-wrap{overflow-x:auto}table{font-size:12px}th,td{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:no-preference){.workspace-hero{animation:premium-enter .45s ease-out both}.glass-monument{animation:premium-enter .7s ease-out both}.card,.acao-link{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}}
@keyframes premium-enter {from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.kpi:hover,.btn-primary:hover,.acao-link:hover{transform:none}}
@supports not (backdrop-filter:blur(1px)){dialog.command-menu{background:var(--mineral-50)}.barra-movel{background:var(--plum-900)}}
@media print {.rail,.barra-movel,.topo-tools,.workspace-hero,.command-menu{display:none!important}.app-main{padding:0}.conteudo{padding:0}.card{box-shadow:none;background:white;border:1px solid #ddd}body{background:white}}
.calculator-public .olho {color:var(--jade-700)}
