/* fretz — custom.css (handoff)
   Cole DEPOIS do bootstrap.min.css (v5.3+). Rebrand completo: tokens, temas claro/escuro e skins de componentes sobre a marcação Bootstrap existente.
   Fontes: copie assets/fonts/ para o repo e ajuste os url() abaixo. Ícones UI: Bootstrap Icons (vendorizado em assets/icons/bi), via classe .fz-ic ou bi font se já existir. */
@font-face{font-family:'Bricolage Grotesque';src:url('../fonts/BricolageGrotesque.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('../fonts/InstrumentSans.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Fragment Mono';src:url('../fonts/FragmentMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{
--fz-amber:#E9A13B;--fz-amber-hover:#D9922F;--fz-amber-press:#C88424;--fz-amber-glow:rgba(233,161,59,.4);
--fz-graphite:#1B1C23;--fz-graphite-2:#24252E;--fz-graphite-3:#2E3039;--fz-deep:#14151A;
--fz-bone:#F8F7F3;--fz-bone-2:#EDECE6;--fz-bone-3:#E4E2DA;--fz-ink:#14151C;
--fz-ok:#47A06A;--fz-danger:#C4442A;
--fz-display:'Bricolage Grotesque',system-ui,sans-serif;--fz-body:'Instrument Sans',system-ui,sans-serif;--fz-mono:'Fragment Mono',ui-monospace,monospace;
--fz-r-ctl:10px;--fz-r-card:14px;--fz-fast:120ms;--fz-ease:cubic-bezier(.2,.7,.2,1);
--bs-primary:#E9A13B;--bs-primary-rgb:233,161,59;
}
[data-bs-theme=light]{
--bs-body-bg:var(--fz-bone-2);--bs-body-color:var(--fz-ink);
--bs-secondary-color:rgba(20,21,28,.62);--bs-tertiary-color:rgba(20,21,28,.45);
--bs-secondary-bg:var(--fz-bone-3);--bs-tertiary-bg:var(--fz-bone);
--bs-border-color:rgba(20,21,28,.12);--bs-emphasis-color:var(--fz-ink);
--bs-link-color:#C88424;--bs-link-hover-color:#B57518;--bs-link-color-rgb:200,132,36;--bs-link-hover-color-rgb:181,117,24;
--fz-card-bg:var(--fz-bone);--fz-solid:var(--fz-ink);--fz-solid-contrast:var(--fz-bone);
--fz-badge-amber-bg:#F5E6C8;--fz-badge-ok-bg:#DFF0E4;--fz-badge-danger-bg:#F6DFD9;
}
[data-bs-theme=dark]{
--bs-body-bg:var(--fz-graphite);--bs-body-color:var(--fz-bone);
--bs-secondary-color:rgba(248,247,243,.64);--bs-tertiary-color:rgba(248,247,243,.42);
--bs-secondary-bg:var(--fz-graphite-3);--bs-tertiary-bg:var(--fz-graphite-2);
--bs-border-color:rgba(248,247,243,.13);--bs-emphasis-color:var(--fz-bone);
--bs-link-color:var(--fz-amber);--bs-link-hover-color:#F0B45E;--bs-link-color-rgb:233,161,59;--bs-link-hover-color-rgb:240,180,94;
--fz-card-bg:var(--fz-graphite-2);--fz-solid:var(--fz-bone);--fz-solid-contrast:var(--fz-graphite);
--fz-badge-amber-bg:#3A3220;--fz-badge-ok-bg:#22352A;--fz-badge-danger-bg:#3B2620;
}
/* base */
body{font-family:var(--fz-body);font-size:15px;line-height:1.55}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3{font-family:var(--fz-display);font-weight:800;letter-spacing:-0.03em}
h1,.h1{font-size:34px}h2,.h2{font-size:26px}
.fz-mono,code,kbd{font-family:var(--fz-mono);font-size:11px;color:var(--bs-tertiary-color);text-transform:lowercase}
.fz-display{font-family:var(--fz-display);letter-spacing:-0.02em;font-weight:700}
input[type=range],.form-check-input{accent-color:var(--fz-amber)}
/* wordmark */
.fz-wordmark{font-family:var(--fz-display);font-weight:800;letter-spacing:-0.04em;font-size:23px;color:var(--bs-emphasis-color) !important;display:inline-flex;align-items:baseline;line-height:1}
.fz-colon{display:inline-block;position:relative;width:.15em;height:.58em;margin-left:.09em}
.fz-colon i{position:absolute;left:0;width:.15em;height:.15em;border-radius:50%;background:var(--fz-amber)}
.fz-colon i:first-child{top:0}.fz-colon i:last-child{bottom:0}
/* ícones (svg mask) */
.fz-ic{display:inline-block;width:1.05em;height:1.05em;vertical-align:-0.15em;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
/* navbar */
.fz-topnav{background:var(--fz-card-bg);border-bottom:1px solid var(--bs-border-color)}
.fz-topnav .nav-link{font-family:var(--fz-display);font-weight:700;font-size:14px;letter-spacing:-0.01em;color:var(--bs-tertiary-color);position:relative;text-transform:lowercase}
.fz-topnav .nav-link:hover{color:var(--bs-secondary-color)}
.fz-topnav .nav-link.active{color:var(--bs-emphasis-color)}
.fz-topnav .nav-link.active::after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;border-radius:50%;background:var(--fz-amber);transform:translateX(-50%)}
/* botões */
.btn{font-family:var(--fz-display);font-weight:700;letter-spacing:-0.01em;border-radius:var(--fz-r-ctl);text-transform:lowercase;transition:background var(--fz-fast) var(--fz-ease),border-color var(--fz-fast) var(--fz-ease)}
.btn:focus-visible{box-shadow:0 0 0 3px var(--fz-amber-glow)}
.btn-primary{--bs-btn-bg:var(--fz-amber);--bs-btn-border-color:var(--fz-amber);--bs-btn-color:var(--fz-graphite);--bs-btn-hover-bg:var(--fz-amber-hover);--bs-btn-hover-border-color:var(--fz-amber-hover);--bs-btn-hover-color:var(--fz-graphite);--bs-btn-active-bg:var(--fz-amber-press);--bs-btn-active-border-color:var(--fz-amber-press);--bs-btn-active-color:var(--fz-graphite);--bs-btn-disabled-bg:var(--fz-amber);--bs-btn-disabled-border-color:var(--fz-amber);--bs-btn-disabled-color:var(--fz-graphite)}
.btn-secondary{--bs-btn-bg:var(--fz-solid);--bs-btn-border-color:var(--fz-solid);--bs-btn-color:var(--fz-solid-contrast);--bs-btn-hover-bg:var(--fz-solid);--bs-btn-hover-border-color:var(--fz-solid);--bs-btn-hover-color:var(--fz-solid-contrast);--bs-btn-hover-opacity:.9;--bs-btn-active-bg:var(--fz-solid);--bs-btn-active-color:var(--fz-solid-contrast)}
.btn-secondary:hover{opacity:.88}
.btn-outline-secondary{--bs-btn-color:var(--bs-body-color);--bs-btn-border-color:var(--bs-border-color);--bs-btn-hover-bg:var(--bs-secondary-bg);--bs-btn-hover-color:var(--bs-body-color);--bs-btn-hover-border-color:var(--bs-border-color);--bs-btn-active-bg:var(--bs-secondary-bg);--bs-btn-active-color:var(--bs-body-color);--bs-btn-active-border-color:var(--bs-border-color)}
.btn-link{text-transform:lowercase}
/* forms */
.form-label{font-family:var(--fz-mono);font-size:10.5px;color:var(--bs-secondary-color);text-transform:lowercase;margin-bottom:6px}
.form-control,.form-select{border-radius:var(--fz-r-ctl);background:var(--fz-card-bg);border-color:var(--bs-border-color);font-size:14px}
.form-control:focus,.form-select:focus{border-color:var(--fz-amber);box-shadow:0 0 0 3px var(--fz-amber-glow)}
.form-switch .form-check-input:checked{background-color:var(--fz-amber);border-color:var(--fz-amber)}
.form-check-input:checked{background-color:var(--fz-amber);border-color:var(--fz-amber)}
.form-check-input:focus{box-shadow:0 0 0 3px var(--fz-amber-glow);border-color:var(--fz-amber)}
/* cards */
.card{--bs-card-bg:var(--fz-card-bg);--bs-card-border-color:var(--bs-border-color);--bs-card-border-radius:var(--fz-r-card);box-shadow:0 1px 3px rgba(15,16,22,.06)}
[data-bs-theme=dark] .card{box-shadow:none}
.card-title{font-family:var(--fz-display);font-weight:700;letter-spacing:-0.02em}
.fz-stage{background:var(--fz-graphite);color:var(--fz-bone);border:0;border-radius:var(--fz-r-card)}
[data-bs-theme=dark] .fz-stage{background:var(--fz-graphite-2)}
.fz-tab{background:var(--fz-deep);border:1px solid rgba(248,247,243,.08);border-radius:var(--fz-r-ctl);padding:14px 16px;font-family:var(--fz-mono);font-size:12.5px;line-height:1.75;color:var(--fz-bone);overflow-x:auto;white-space:pre;margin:0}
/* badges */
.badge{font-family:var(--fz-mono);font-weight:400;font-size:10.5px;text-transform:lowercase;border-radius:999px;padding:4px 9px}
.fz-badge-amber{background:var(--fz-badge-amber-bg);color:#8a5f1c}
.fz-badge-ok{background:var(--fz-badge-ok-bg);color:#2e7550}
.fz-badge-danger{background:var(--fz-badge-danger-bg);color:#a03a24}
.fz-badge-neutral{background:var(--bs-secondary-bg);color:var(--bs-secondary-color)}
[data-bs-theme=dark] .fz-badge-amber{color:#EFC27A}[data-bs-theme=dark] .fz-badge-ok{color:#7CC79A}[data-bs-theme=dark] .fz-badge-danger{color:#E08A73}
.fz-dot::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px}
/* listas */
.list-group{--bs-list-group-bg:var(--fz-card-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-radius:var(--fz-r-card)}
.list-group-item-action:hover{background:var(--bs-secondary-bg)}
/* modal + toast + progresso */
.modal-content{background:var(--fz-card-bg);border-radius:var(--fz-r-card);border-color:var(--bs-border-color)}
.modal-title{font-family:var(--fz-display);font-weight:700;letter-spacing:-0.02em;text-transform:lowercase}
.toast{background:var(--fz-graphite);color:var(--fz-bone);border:1px solid rgba(248,247,243,.1);border-radius:var(--fz-r-card)}
.progress{--bs-progress-bar-bg:var(--fz-amber);--bs-progress-bg:var(--bs-secondary-bg);border-radius:999px}
/* eco de intervalos */
.fz-echo{display:flex;align-items:center;height:16px}
.fz-echo i{width:7px;height:7px;border-radius:50%;background:var(--fz-amber)}
.fz-echo em{font:400 10px var(--fz-mono);font-style:normal;color:var(--bs-tertiary-color);margin-left:5px}
