/* Art direction: sistema administrativo para locação de equipamentos → utilitário, confiável e denso.
       Palette: neutra quente com acento teal para ações e status operacionais.
       Typography: Satoshi + sans-serif fallback para leitura prolongada em dashboard.
       Density: compacto (~80% — equivalente a zoom 80% no navegador). */
    html{font-size:80%}
    :root, [data-theme="light"] {
      --ui-scale:0.8;
      --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
      --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
      --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
      --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
      --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
      --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
      --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
      --space-12: 3rem; --space-16: 4rem;
      --color-bg:#f7f6f2; --color-surface:#f9f8f5; --color-surface-2:#fbfbf9; --color-surface-offset:#f3f0ec;
      --color-surface-dynamic:#e6e4df; --color-divider:#dcd9d5; --color-border:#d4d1ca;
      --color-text:#28251d; --color-text-muted:#6e6b64; --color-text-faint:#a8a59d; --color-text-inverse:#f9f8f4;
      --color-primary:#01696f; --color-primary-hover:#0c4e54; --color-primary-highlight:#cedcd8;
      --color-success:#437a22; --color-success-highlight:#d4dfcc;
      --color-warning:#964219; --color-warning-highlight:#ddcfc6;
      --color-error:#a13544; --color-error-highlight:#dececb;
      --radius-sm:0.375rem; --radius-md:0.5rem; --radius-lg:0.75rem; --radius-xl:1rem; --radius-full:9999px;
      --shadow-sm:0 1px 2px rgba(0,0,0,.05); --shadow-md:0 8px 22px rgba(25,25,25,.07);
      --font-body:'Satoshi', ui-sans-serif, system-ui, sans-serif;
      --transition:180ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    [data-theme="dark"] {
      --color-bg:#171614; --color-surface:#1c1b19; --color-surface-2:#201f1d; --color-surface-offset:#1d1c1a;
      --color-surface-dynamic:#2d2c2a; --color-divider:#262523; --color-border:#393836;
      --color-text:#e3e0da; --color-text-muted:#9a968f; --color-text-faint:#67635d; --color-text-inverse:#2b2a28;
      --color-primary:#4f98a3; --color-primary-hover:#227f8b; --color-primary-highlight:#313b3b;
      --color-success:#6daa45; --color-success-highlight:#33412d;
      --color-warning:#bb653b; --color-warning-highlight:#4f4038;
      --color-error:#dd6974; --color-error-highlight:#533b3d;
      --shadow-sm:0 1px 2px rgba(0,0,0,.2); --shadow-md:0 10px 30px rgba(0,0,0,.3);
    }
    *,*::before,*::after{box-sizing:border-box}
    html,body{height:100%;margin:0;overflow:hidden}
    body{font-family:var(--font-body);font-size:var(--text-base);background:var(--color-bg);color:var(--color-text);line-height:1.5}
    button,input,select,textarea{font:inherit;color:inherit}
    button{cursor:pointer;border:none;background:none}
    a{text-decoration:none;color:inherit}
    .dashboard{display:grid;grid-template-columns:224px 1fr;grid-template-rows:58px 1fr;height:100dvh}
    .sidebar{grid-row:1/-1;background:var(--color-surface);border-right:1px solid color-mix(in srgb, var(--color-text) 12%, transparent);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-6);overflow:auto}
    .header{grid-column:2;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--color-surface-2);border-bottom:1px solid color-mix(in srgb, var(--color-text) 10%, transparent);position:sticky;top:0;z-index:5}
    .main{grid-column:2;overflow:auto;padding:var(--space-6)}
    .brand{display:flex;align-items:center;gap:var(--space-3)}
    .logo{width:32px;height:32px;border-radius:10px;background:linear-gradient(160deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 70%, white));display:grid;place-items:center;color:white;box-shadow:var(--shadow-sm)}
    .brand h1{font-size:var(--text-lg);margin:0}
    .brand p{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}
    .sidebar-nav{display:flex;flex-direction:column;gap:var(--space-4);flex:1;min-height:0;overflow:auto;padding-right:2px}
    .nav-section{display:grid;gap:var(--space-1)}
    .nav-section--ativo .nav-label{color:var(--color-primary)}
    .nav-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--color-text-faint);padding:0 12px 6px;border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%, transparent);margin-bottom:4px}
    .nav-section-items{display:grid;gap:2px}
    .nav-item{display:flex;align-items:center;gap:var(--space-3);padding:10px 12px;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted);transition:all var(--transition)}
    .nav-item:hover{background:var(--color-surface-offset);color:var(--color-text)}
    .nav-item.active{background:color-mix(in srgb,var(--color-primary) 10%, var(--color-surface));color:var(--color-primary);font-weight:700}
    .nav-item--destaque{border:1px dashed color-mix(in srgb,var(--color-primary) 35%, transparent)}
    .nav-item--destaque.active{border-style:solid}
    .nav-icon{display:grid;place-items:center;flex-shrink:0;opacity:.8}
    .nav-item.active .nav-icon{opacity:1}
    .searchbar{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);padding:10px 12px;border-radius:var(--radius-lg);min-width:256px}
    .searchbar input{border:none;background:transparent;outline:none;width:100%}
    .header-actions{display:flex;align-items:center;gap:var(--space-3)}
    .icon-btn,.theme-btn{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--color-bg);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent)}
    .avatar{display:flex;align-items:center;gap:var(--space-3);padding:8px 12px;background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent)}
    .avatar-mark{width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:white;display:grid;place-items:center;font-size:var(--text-sm);font-weight:700}
    .page{display:none;gap:var(--space-6)}
    .page.active{display:grid}
    .page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
    .page-title{font-size:var(--text-xl);font-weight:800;margin:0 0 4px}
    .page-sub{margin:0;color:var(--color-text-muted);max-width:75ch}
    .toolbar{display:flex;gap:var(--space-3);flex-wrap:wrap}
    .btn{padding:9px 13px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);background:var(--color-surface-2);font-size:var(--text-sm);font-weight:700}
    .btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}
    .btn.ghost{background:transparent}
    .card{background:var(--color-surface-2);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm)}
    .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
    .kpi-value{font-size:1.35rem;font-weight:900;font-variant-numeric:tabular-nums}
    .muted{color:var(--color-text-muted)}
    .tiny{font-size:var(--text-xs);color:var(--color-text-muted)}
    .badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700}
    .success{background:var(--color-success-highlight);color:var(--color-success)}
    .warning{background:var(--color-warning-highlight);color:var(--color-warning)}
    .danger{background:var(--color-error-highlight);color:var(--color-error)}
    .primary-soft{background:var(--color-primary-highlight);color:var(--color-primary)}
    .grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-4)}
    .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
    .table-wrap{overflow:auto}
    table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
    th,td{padding:10px 10px;border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);text-align:left;vertical-align:middle}
    th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}
    .progress{height:10px;background:var(--color-surface-offset);border-radius:999px;overflow:hidden}
    .bar{height:100%;background:var(--color-primary);border-radius:999px}
    .list{display:grid;gap:12px}
    .list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%, transparent)}
    .section-title{font-size:var(--text-lg);font-weight:800;margin:0 0 2px}
    .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
    .field{display:grid;gap:8px}
    .field.full{grid-column:1/-1}
    label{font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;color:var(--color-text-muted)}
    input,select,textarea{width:100%;padding:9px 11px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-text) 12%, transparent);background:var(--color-bg);outline:none}
    textarea{min-height:88px;resize:vertical}
    .seg{display:flex;gap:10px;flex-wrap:wrap}
    .seg button{padding:10px 14px;border-radius:999px;background:var(--color-bg);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);font-size:var(--text-sm)}
    .seg button.active{background:var(--color-primary-highlight);color:var(--color-primary);border-color:transparent;font-weight:700}
    .mini-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
    .mini-card{padding:14px;border-radius:14px;background:var(--color-bg);border:1px solid color-mix(in srgb,var(--color-text) 8%, transparent)}
    .chart{height:220px;display:flex;align-items:end;gap:12px;padding-top:var(--space-4)}
    .col{flex:1;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 75%, white),var(--color-primary));border-radius:12px 12px 4px 4px;min-height:40px;position:relative}
    .col span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:var(--text-xs);color:var(--color-text-muted)}
    .split{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-4)}
    .equip-card-principal{border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));box-shadow:var(--shadow-sm)}
    .equip-card-secundaria{background:var(--color-surface-offset)}
    .historico-card{margin-top:var(--space-4)}
    .historico-item{padding:12px 0;border-bottom:1px solid var(--color-divider)}
    .historico-item:last-child{border-bottom:none}
    .historico-cabecalho{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
    .historico-meta{margin-top:4px;color:var(--color-text-muted)}
    .historico-diff{margin:6px 0 0;padding-left:18px;color:var(--color-text-muted)}
    .login{min-height:100%;display:grid;place-items:center;background:radial-gradient(circle at top right, color-mix(in srgb,var(--color-primary) 12%, transparent), transparent 35%), var(--color-bg)}
    .login-box{width:min(920px,92vw);display:grid;grid-template-columns:1fr 1fr;background:var(--color-surface-2);border-radius:24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);box-shadow:var(--shadow-md)}
    .login-cover{padding:var(--space-10);background:linear-gradient(160deg, color-mix(in srgb,var(--color-primary) 94%, black 6%), color-mix(in srgb,var(--color-primary) 65%, #b9d0cc));color:white;display:flex;flex-direction:column;justify-content:space-between}
    .login-form{padding:var(--space-10);display:grid;align-content:center;gap:var(--space-4)}
    .hint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
    .hint-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
    .footer-note{margin-top:auto;padding-top:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted)}
    .mobile-nav{display:none}
    @media (max-width: 1100px){.dashboard{grid-template-columns:66px 1fr}.brand-copy,.nav-item span,.nav-label,.footer-user{display:none}.sidebar{padding:var(--space-4)}.nav-section-items{padding:0}.nav-item{justify-content:center;padding:10px}.searchbar{min-width:0;width:100%}.kpi-grid,.grid-3,.fields,.split,.grid-2{grid-template-columns:1fr}}
    @media (max-width: 760px){html,body{overflow:auto}body{padding-bottom:78px}.dashboard{display:block;height:auto}.sidebar,.header{display:none}.main{padding:var(--space-4)}.page{display:none}.page.active{display:grid}.page-head{display:grid}.login{min-height:auto;padding:var(--space-4)}.login-box{grid-template-columns:1fr}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 8px;background:color-mix(in srgb,var(--color-surface) 92%, transparent);backdrop-filter:blur(12px);border-top:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);z-index:20}.mobile-nav a{display:grid;place-items:center;padding:10px 6px;border-radius:12px;font-size:11px;font-weight:600;color:var(--color-text-muted);text-align:center}.mobile-nav a.active{background:var(--color-primary-highlight);color:var(--color-primary)}}