:root{
  /* Marca */
  --graphite:#3E3A3B;
  --orange:#EF7A00;
  --mist:#EFEEEE;

  /* Derivados */
  --ink:#262324;
  --steel:#6E6A6B;
  --line:#DAD8D8;
  --paper:#FAFAF9;
  --white:#FFFFFF;

  /* Estado, dessaturados de propósito para o laranja continuar sendo o mais alto */
  --slate:#4A6572;
  --moss:#3D7A5A;
  --clay:#B4472E;
  --amber:#8A6B1F;

  --r:4px;
  --shadow:0 1px 2px rgba(38,35,36,.08), 0 2px 8px rgba(38,35,36,.05);

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:Inter,system-ui,sans-serif; font-size:14px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

.label,.eyebrow,th,.btn,.tab,.badge,.stage__name{
  font-family:'Barlow Semi Condensed',sans-serif;
  text-transform:uppercase; letter-spacing:.06em;
}
.eyebrow{font-size:11px; font-weight:700; color:var(--steel)}
h1{font-family:'Barlow Semi Condensed',sans-serif; font-weight:700; font-size:30px; letter-spacing:.01em; margin:0}
h2{font-family:'Barlow Semi Condensed',sans-serif; font-weight:600; font-size:19px; letter-spacing:.03em; text-transform:uppercase; margin:0 0 var(--s4)}
h3{margin:0}
.muted{color:var(--steel)}

.id{
  font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:500;
  background:var(--mist); border:1px solid var(--line); border-radius:2px;
  padding:1px 6px; letter-spacing:-.02em; white-space:nowrap;
}
.id--strong{background:var(--ink); color:var(--white); border-color:var(--ink)}

.wrap{max-width:1200px; margin:0 auto; padding:var(--s6) var(--s5) 96px}
.topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--s6); gap:var(--s4); flex-wrap:wrap}
.grid{display:grid; gap:var(--s4)}
.row{display:flex; gap:var(--s3); flex-wrap:wrap; align-items:center}
a{color:inherit}
a.link{color:var(--ink); text-decoration:none; cursor:pointer}
a.link:hover{color:var(--orange)}

.btn{
  font-size:12px; font-weight:600; border-radius:var(--r); cursor:pointer;
  padding:9px 16px; border:1px solid transparent; background:none;
  display:inline-flex; align-items:center; gap:6px; transition:.14s;
}
.btn--primary{background:var(--orange); color:#fff}
.btn--primary:hover{background:#D66D00}
.btn--secondary{background:var(--white); border-color:var(--line); color:var(--ink)}
.btn--secondary:hover{border-color:var(--steel)}
.btn--ghost{color:var(--steel)}
.btn--ghost:hover{color:var(--ink); background:var(--mist)}
.btn--danger{background:var(--white); border-color:var(--clay); color:var(--clay)}
.btn--danger:hover{background:var(--clay); color:#fff}
.btn:focus-visible{outline:2px solid var(--ink); outline-offset:2px}
.btn[disabled]{opacity:.4; cursor:not-allowed}

.field{display:flex; flex-direction:column; gap:5px; margin-bottom:var(--s4)}
.label{font-size:11px; font-weight:600; color:var(--steel)}
.input,select.input,textarea.input{
  font-family:inherit; font-size:14px; color:var(--ink);
  padding:9px 11px; border:1px solid var(--line); border-radius:var(--r);
  background:var(--white); width:100%;
}
.input:focus{outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(239,122,0,.14)}
.input--mono{font-family:'JetBrains Mono',monospace; font-size:13px}
.hint{font-size:12px; color:var(--steel)}
.hint--error{color:var(--clay)}
.input--error{border-color:var(--clay)}

.badge{
  font-size:10.5px; font-weight:600; padding:3px 8px; border-radius:2px;
  display:inline-flex; align-items:center; gap:5px; border:1px solid;
}
.badge::before{content:''; width:5px; height:5px; border-radius:50%; background:currentColor}
.badge--slate{color:var(--slate); border-color:#C6D0D6; background:#EDF2F4}
.badge--moss {color:var(--moss);  border-color:#BCD8C9; background:#EAF3EE}
.badge--clay {color:var(--clay);  border-color:#E5C2B9; background:#FAEDE9}
.badge--amber{color:var(--amber); border-color:#DFD0A6; background:#F7F1DF}
.badge--ink  {color:var(--ink);   border-color:var(--line); background:var(--mist)}

.card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r);
  box-shadow:var(--shadow); position:relative; overflow:hidden; cursor:pointer;
}
.card__rail{position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--line)}
.card--slate .card__rail{background:var(--slate)}
.card--moss  .card__rail{background:var(--moss)}
.card--clay  .card__rail{background:var(--clay)}
.card--amber .card__rail{background:var(--amber)}
.card--ink   .card__rail{background:var(--ink)}
.card__body{padding:var(--s4) var(--s4) var(--s4) calc(var(--s4) + 3px)}
.card__head{display:flex; justify-content:space-between; align-items:flex-start; gap:var(--s3); margin-bottom:var(--s3)}
.card__title{font-weight:600; font-size:15px; margin:0}
.card__meta{display:flex; gap:var(--s4); flex-wrap:wrap; font-size:12.5px; color:var(--steel)}
.card__meta b{color:var(--ink); font-weight:600}

.stages{display:flex; gap:2px; margin:var(--s4) 0}
.stage{flex:1; min-width:0}
.stage__bar{height:5px; background:var(--line); border-radius:1px}
.stage--done .stage__bar{background:var(--graphite)}
.stage--current .stage__bar{background:var(--orange)}
.stage__name{display:block; font-size:10px; margin-top:6px; color:var(--steel); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.stage--current .stage__name{color:var(--orange); font-weight:700}
.stage--done .stage__name{color:var(--ink)}

.table{width:100%; border-collapse:collapse; background:var(--white); border:1px solid var(--line); border-radius:var(--r); overflow:hidden}
.table th{
  font-size:10.5px; font-weight:600; color:var(--steel); text-align:left;
  padding:9px 12px; background:var(--mist); border-bottom:1px solid var(--line);
}
.table td{padding:10px 12px; border-bottom:1px solid var(--line); font-size:13.5px}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:var(--paper)}
.num{text-align:right; font-family:'JetBrains Mono',monospace; font-size:12.5px; font-variant-numeric:tabular-nums}

.drop{
  border:1.5px dashed var(--line); border-radius:var(--r); background:var(--white);
  padding:var(--s5); text-align:center; cursor:pointer; transition:.14s;
}
.drop:hover{border-color:var(--orange); background:#FFFCF8}
.drop.dragover{border-color:var(--orange); background:#FFFCF8}
.file{display:flex; align-items:center; gap:var(--s3); padding:9px 12px; border:1px solid var(--line); border-radius:var(--r); background:var(--white); margin-top:var(--s2)}
.file__type{font-family:'Barlow Semi Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:.06em; padding:2px 6px; border-radius:2px; background:var(--ink); color:#fff}
.file__name{flex:1; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

.alert{display:flex; gap:var(--s3); padding:var(--s3) var(--s4); border-radius:var(--r); border:1px solid; font-size:13px; align-items:flex-start}
.alert--clay{background:#FAEDE9; border-color:#E5C2B9; color:#7E2F1D}
.alert--amber{background:#F7F1DF; border-color:#DFD0A6; color:#5F4915}
.alert b{display:block; font-weight:600; margin-bottom:2px}

.empty{text-align:center; padding:var(--s7) var(--s4); border:1px solid var(--line); border-radius:var(--r); background:var(--white)}
.empty p{color:var(--steel); margin:var(--s2) 0 var(--s4)}

.tabs{display:flex; gap:var(--s5); border-bottom:1px solid var(--line); margin-bottom:var(--s4)}
.tab{font-size:12px; font-weight:600; color:var(--steel); padding:0 0 9px; border-bottom:2px solid transparent; cursor:pointer; background:none; border-top:0; border-left:0; border-right:0}
.tab[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--orange)}
.tabpanel[hidden]{display:none}

.kanban{display:grid; grid-template-columns:repeat(6,minmax(220px,1fr)); gap:var(--s4); overflow-x:auto}
.kanban__col{min-width:0; min-height:240px; display:flex; flex-direction:column}
.kanban__col-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:var(--s3); padding-bottom:var(--s2); border-bottom:2px solid var(--line)}
.kanban__col-title{font-family:'Barlow Semi Condensed',sans-serif; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--steel)}
.kanban__col-count{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--steel)}
.kanban__cards{flex:1; display:flex; flex-direction:column; gap:var(--s3)}

.modal-backdrop{position:fixed; inset:0; background:rgba(38,35,36,.45); display:flex; align-items:flex-start; justify-content:center; padding:var(--s6) var(--s4); overflow-y:auto; z-index:50}
.modal{background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); max-width:640px; width:100%; padding:var(--s5)}
.modal__head{display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--s4)}

.breadcrumb{font-size:12px; color:var(--steel); margin-bottom:var(--s3)}

.cols-2{grid-template-columns:1fr 1fr}
.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){ .kanban{grid-template-columns:1fr} }
@media(max-width:720px){ .cols-2,.cols-3{grid-template-columns:1fr} .wrap{padding:var(--s5) var(--s4) 64px} }
@media(prefers-reduced-motion:reduce){ *{transition:none !important} }
