:root{
  --bg:#000;--fg:#fafafa;--card:#0f0f0f;--muted:#1a1a1a;--muted-fg:#a3a3a3;
  --border:#262626;--input:#262626;--primary:#fe5000;--primary-fg:#fff;
  --danger:#f87171;--success:#4ade80;--warning:#fbbf24;--radius:1rem;
  color-scheme:dark;
}
:root.light{
  --bg:#fff;--fg:#0a0a0a;--card:#fff;--muted:#f5f5f5;--muted-fg:#737373;
  --border:#e5e5e5;--input:#e5e5e5;--danger:#ef4444;--success:#16a34a;--warning:#d97706;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font:400 14px/1.5 'Outfit',system-ui,sans-serif;background:var(--bg);color:var(--fg);transition:background .3s,color .3s}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,.heading{font-family:'Space Grotesk',system-ui,sans-serif}
svg.i{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Sidebar */
.sidebar{position:fixed;inset:0 auto 0 0;width:16rem;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem;z-index:40;overflow-y:auto}
.logo{display:flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;color:var(--fg)}
.logo:hover{text-decoration:none}
.logo-mark{width:2rem;height:2rem;background:var(--primary);border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff}
.logo-mark svg.i{width:18px;height:18px}
.logo-name{font:700 1.25rem 'Space Grotesk',sans-serif;letter-spacing:-.02em}
.logo-sub{font-size:.75rem;color:var(--muted-fg);font-weight:500;margin:.25rem 0 0 .25rem}
.user-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--muted);border-radius:.75rem;margin-bottom:2rem}
.avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;border:2px solid var(--bg)}
.avatar.lg{width:2.75rem;height:2.75rem}
.user-card .who{display:flex;flex-direction:column;min-width:0}
.user-card .who strong{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-card .who span{font-size:.75rem;color:var(--muted-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-label{font-size:10px;font-weight:700;color:var(--muted-fg);text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem .75rem}
.nav{display:flex;flex-direction:column;gap:.25rem}
.nav-main{flex:1}
.nav-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border-radius:.75rem;font:500 .875rem 'Outfit',sans-serif;color:var(--muted-fg);background:none;border:0;cursor:pointer;transition:all .15s;text-align:left}
.nav-item:hover{background:var(--muted);color:var(--primary);text-decoration:none}
.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 10px 15px -3px rgb(254 80 0 / .2)}
.nav-item.danger:hover{color:var(--danger)}
.nav form{margin:0}

/* Main */
.main{padding-left:16rem;min-height:100vh}
.container{padding:5rem 2rem 2rem;max-width:1400px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}
.eyebrow{font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .25rem}
.page-title{font:400 2.25rem/1.15 'Space Grotesk',sans-serif;margin:0}
.page-title a{color:inherit}
.topbar-right{display:flex;align-items:center;gap:.75rem}
.org-pill{display:flex;align-items:center;gap:.5rem;height:2.75rem;padding:0 1rem;border:1px solid var(--border);border-radius:.75rem;color:var(--muted-fg);font-size:.8125rem}
.org-pill .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--success)}

/* Cards and grid */
.card{background:var(--card);border-radius:1.4rem;border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem;overflow-x:auto}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.card h2{font:600 1.125rem 'Space Grotesk',sans-serif;margin:0}
.card .sub{color:var(--muted-fg);font-size:.8125rem;margin:.15rem 0 0}
.grid{display:grid;gap:1.5rem}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}
.stat{background:var(--card);border:1px solid var(--border);border-radius:1.4rem;padding:1.5rem}
.stat.hero{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 20px 25px -5px rgb(254 80 0 / .25)}
.stat .label{font-size:.875rem;color:var(--muted-fg);margin:0 0 1rem}
.stat.hero .label{color:rgb(255 255 255 / .85)}
.stat .value{font:600 2rem/1 'Space Grotesk',sans-serif;margin:0}
.stat .hint{font-size:.75rem;color:var(--muted-fg);margin:.5rem 0 0}
.stat.hero .hint{color:rgb(255 255 255 / .85)}

/* Toolbar */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.toolbar-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.status-line{display:flex;align-items:center;gap:.5rem;color:var(--muted-fg);font-size:.875rem}
.status-line .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--success)}

/* Tables */
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.85rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
thead th{font-size:.75rem;font-weight:600;color:var(--muted-fg);text-transform:uppercase;letter-spacing:.05em}
tbody tr{transition:background .15s}
tbody tr:hover{background:rgb(127 127 127 / .06)}
tbody th{font-weight:500;color:var(--muted-fg);font-size:.875rem}
td.num{text-align:right;font-variant-numeric:tabular-nums}
.row-link{color:var(--fg);font-weight:600}
.row-link:hover{color:var(--primary);text-decoration:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.75rem;padding:0 1.25rem;border-radius:.75rem;border:1px solid transparent;background:var(--primary);color:#fff;font:500 .875rem 'Outfit',sans-serif;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}
.btn:hover{background:#e54800;text-decoration:none}
.btn svg.i{width:16px;height:16px}
.btn.secondary{background:transparent;border-color:var(--border);color:var(--fg)}
.btn.secondary:hover{background:var(--muted)}
.btn.danger{background:transparent;border-color:rgb(248 113 113 / .3);color:var(--danger)}
.btn.danger:hover{background:rgb(248 113 113 / .1)}
.btn.sm{height:2.25rem;padding:0 .9rem;font-size:.8125rem}
.actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}

/* Badges */
.tag{display:inline-flex;align-items:center;height:1.375rem;padding:0 .6rem;border-radius:2rem;font-size:.75rem;font-weight:500;background:var(--muted);color:var(--fg);white-space:nowrap}
.tag.primary{background:rgb(254 80 0 / .15);color:var(--primary)}
.tag.provided{background:rgb(74 222 128 / .12);color:var(--success)}
.tag.inferred{background:rgb(251 191 36 / .12);color:var(--warning)}
.tag.pending{background:rgb(248 113 113 / .12);color:var(--danger)}

/* Forms */
.field{margin-bottom:1.1rem}
label{display:block;font-size:.75rem;font-weight:600;color:var(--muted-fg);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem}
input[type=text],input[type=url],input[type=email],input[type=password],input[type=search],select,textarea{width:100%;min-height:2.75rem;padding:.6rem .9rem;border:1px solid var(--input);border-radius:.75rem;background:rgb(38 38 38 / .3);color:var(--fg);font:400 .875rem 'Outfit',sans-serif;transition:border-color .15s,box-shadow .15s}
:root.light input[type=text],:root.light input[type=url],:root.light input[type=email],:root.light input[type=password],:root.light select,:root.light textarea{background:transparent}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgb(254 80 0 / .25)}
input[type=file]{color:var(--muted-fg);font:inherit}
input[type=file]::file-selector-button{margin-right:.75rem;height:2.25rem;padding:0 .9rem;border-radius:.6rem;border:1px solid var(--border);background:var(--muted);color:var(--fg);font:500 .8125rem 'Outfit',sans-serif;cursor:pointer}
input[type=checkbox]{accent-color:var(--primary);width:1rem;height:1rem}
#id_clients div{display:flex;flex-direction:column;gap:.5rem}
#id_clients label{display:flex;align-items:center;gap:.6rem;text-transform:none;letter-spacing:0;font-size:.875rem;font-weight:400;color:var(--fg);margin:0}
.helptext{color:var(--muted-fg);font-size:.8125rem;margin-top:.35rem}
.errorlist{list-style:none;color:var(--danger);margin:.4rem 0 0;padding:0;font-size:.8125rem}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 1.25rem}
.brief-row{display:grid;grid-template-columns:1fr 15rem;gap:1rem;padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--border)}

/* Messages */
.msg{padding:.9rem 1.1rem;border-radius:.9rem;margin-bottom:1.5rem;border:1px solid var(--border);background:var(--card);font-size:.875rem}
.msg.success{border-color:rgb(74 222 128 / .3);color:var(--success)}
.msg.error{border-color:rgb(248 113 113 / .3);color:var(--danger)}
.muted{color:var(--muted-fg)}
.empty{text-align:center;padding:3rem 1rem;color:var(--muted-fg)}
.empty svg.i{width:40px;height:40px;margin-bottom:.75rem;stroke-width:1.5}
.empty strong{display:block;color:var(--fg);font-weight:500;margin-bottom:.25rem}

/* Auth */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse at top,rgb(254 80 0 / .12),transparent 60%),var(--bg)}
.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:1.4rem;padding:2rem}
.auth-card .logo{margin-bottom:2rem}
.auth-card h1{font:500 1.5rem 'Space Grotesk',sans-serif;margin:0 0 .25rem}
.auth-card .btn{width:100%;margin-top:.5rem}

@media (max-width:900px){
  .sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--border);padding:1rem}
  .sidebar .logo,.sidebar .user-card{margin-bottom:1rem}
  .nav-label{display:none}
  .nav{flex-direction:row;flex-wrap:wrap}
  .nav-main{flex:none}
  .nav-item{width:auto;padding:.6rem .9rem}
  .main{padding-left:0}
  .container{padding:1.5rem 1rem}
  .page-title{font-size:1.75rem}
  .brief-row{grid-template-columns:1fr}
}

/* Layout em duas colunas (padrão PDV: conteúdo + painel lateral) */
.split{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1.5rem;align-items:start}
.side-panel{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto}
.side-panel h2{display:flex;align-items:center;gap:.5rem}
.side-panel h2 svg.i{width:18px;height:18px;color:var(--primary)}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 0 .85rem 1rem;border-left:2px solid var(--border);position:relative}
.timeline li::before{content:"";position:absolute;left:-5px;top:1.15rem;width:8px;height:8px;border-radius:50%;background:var(--primary)}
.timeline strong{font-weight:500;font-size:.875rem}
.timeline span,.timeline small{font-size:.75rem;word-break:break-word}
@media (max-width:1200px){.split{grid-template-columns:1fr}.side-panel{position:static;max-height:none}}
.nav-item>span{display:inline-flex;align-items:center;gap:.75rem}
.nav-item>span[hidden]{display:none}
