/* ============================================================
   Admin Onboarding P3 · DS ExpandMRO (kipflow) rebrandizado índigo P3.
   ============================================================ */
:root{
  --bg:#F5F5F2; --surface:#FFFFFF; --surface2:#F2F2EF; --surface3:#E8E8E4;
  --border:#E2E2DD; --border-s:#C9C9C1;
  --text:#17171C; --text-2:#3F3F46; --muted:#75757E;
  --accent:#4F46E5; --accent-soft:#4338CA; --accent-bg:rgba(79,70,229,.10);
  --ok:#0E9B84; --ok-bg:rgba(14,155,132,.10);
  --warn:#A97A08; --warn-bg:rgba(200,150,20,.12);
  --danger:#D93036; --danger-bg:rgba(217,48,54,.09);
  --blue:#3B6FD4; --blue-bg:rgba(59,111,212,.10);
  --font-title:'Space Grotesk','Segoe UI',system-ui,sans-serif;
  --font-body:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  --r:8px; --r-lg:12px;
  --shadow:0 4px 14px rgba(25,25,30,.08);
  --sidebar-w:224px; --topbar-h:56px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-title);letter-spacing:.2px}
a{color:inherit;text-decoration:none}
button{font-family:var(--font-body)}

/* ---- layout ---- */
.app-shell{display:flex;min-height:100vh}
.main{flex:1;margin-left:var(--sidebar-w);min-width:0}
.page{padding:24px;max-width:1200px}
.page-head{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.page-head h1{font-size:20px}
.page-head .sub{color:var(--muted);font-size:12.5px;margin-top:2px}
.page-head .spacer{flex:1}

/* ---- sidebar ---- */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40}
.sidebar .brand{padding:16px;border-bottom:1px solid var(--border)}
.sidebar .brand img{height:28px;display:block;filter:brightness(0);opacity:.85}
.sidebar .brand .tag{font-size:10.5px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:1px}
.sidebar nav{flex:1;padding:10px 8px;overflow-y:auto}
.sidebar .nav-sec{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);padding:12px 10px 4px}
.sidebar a.nav-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r);color:var(--text-2);font-size:13px;margin-bottom:2px}
.sidebar a.nav-item:hover{background:var(--surface2);color:var(--text)}
.sidebar a.nav-item.active{background:var(--accent-bg);color:var(--accent);font-weight:600}
.sidebar .foot{padding:12px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}

/* ---- topbar ---- */
.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:30}
.topbar .burger{display:none;background:none;border:none;font-size:20px;color:var(--text-2);cursor:pointer}
.topbar .spacer{flex:1}
.topbar .who{display:flex;align-items:center;gap:10px;font-size:12.5px}
.topbar .avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;font-family:var(--font-title)}

/* ---- cards / metrics ---- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px}
.card h3{font-size:13.5px;margin-bottom:12px}
.grid{display:grid;gap:14px}
.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.grid.c4{grid-template-columns:1fr 1fr}}
.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px}
.metric .lbl{font-size:11.5px;color:var(--muted);margin-bottom:6px}
.metric .val{font-family:var(--font-title);font-size:24px;font-weight:700}

/* ---- chips ---- */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text-2);white-space:nowrap}
.chip.accent{background:var(--accent-bg);color:var(--accent);border-color:rgba(79,70,229,.35)}
.chip.ok{background:var(--ok-bg);color:var(--ok);border-color:rgba(14,155,132,.35)}
.chip.warn{background:var(--warn-bg);color:var(--warn);border-color:rgba(200,150,20,.35)}
.chip.danger{background:var(--danger-bg);color:var(--danger);border-color:rgba(217,48,54,.35)}
.chip.blue{background:var(--blue-bg);color:var(--blue);border-color:rgba(59,111,212,.35)}

/* ---- botões ---- */
.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.btn:hover{border-color:var(--border-s);background:var(--surface3)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-soft)}
.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}
.btn.danger:hover{background:var(--danger-bg)}
.btn.ghost{background:transparent}
.btn.sm{padding:5px 10px;font-size:12px}
.btn.block{width:100%;justify-content:center}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* ---- tabela ---- */
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
.table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}
.table tr:last-child td{border-bottom:none}
.table tr.clickable{cursor:pointer}
.table tr.clickable:hover td{background:var(--surface2)}
.empty{padding:44px;text-align:center;color:var(--muted);font-size:13.5px}

/* ---- forms ---- */
.field{margin-bottom:14px}
.field label{display:block;font-size:11.5px;font-weight:600;color:var(--text-2);margin-bottom:6px}
.input,select.input,textarea.input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);padding:10px 12px;font-size:13px;font-family:var(--font-body)}
.input:focus{outline:none;border-color:var(--accent)}
textarea.input{resize:vertical;min-height:70px}

/* ---- filtros / tabs ---- */
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.filters a{font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:999px;border:1px solid var(--border);color:var(--text-2);background:var(--surface)}
.filters a.active{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---- detalhe da resposta ---- */
.ans-sec{margin-bottom:22px}
.ans-sec h3{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin-bottom:12px;font-family:var(--font-title)}
.ans{padding:12px 0;border-bottom:1px solid var(--border)}
.ans:last-child{border-bottom:none}
.ans .q{font-size:12.5px;color:var(--muted);margin-bottom:4px}
.ans .a{font-size:14.5px;color:var(--text);line-height:1.5;white-space:pre-wrap}
.ans .a.empty-a{color:var(--muted);font-style:italic}
.tags{display:flex;gap:6px;flex-wrap:wrap}

/* ---- flash ---- */
.flash{padding:11px 15px;border-radius:var(--r);font-size:13px;margin-bottom:16px;border:1px solid transparent}
.flash.ok{background:var(--ok-bg);color:#0b6b5b;border-color:rgba(14,155,132,.3)}
.flash.err{background:var(--danger-bg);color:#a3272c;border-color:rgba(217,48,54,.3)}

/* ---- login / setup ---- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(1200px 600px at 70% -10%,rgba(79,70,229,.08),transparent),var(--bg);padding:20px}
.login-box{width:100%;max-width:390px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--shadow)}
.login-box .logo{text-align:center;margin-bottom:6px}
.login-box .logo img{height:32px;filter:brightness(0);opacity:.85}
.login-box .tag{text-align:center;color:var(--muted);font-size:12.5px;margin-bottom:24px}

code{background:var(--surface2);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:.92em}

/* ---- responsivo ---- */
@media(max-width:820px){
  body.has-shell{overflow-x:hidden}
  .sidebar{left:-240px;transition:left .2s ease}
  .sidebar.open{left:0}
  .main{margin-left:0}
  .topbar .burger{display:inline-flex}
}
