@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --ink:#1c2b39;
  --paper:#f6f1e7;
  --paper-2:#ece4d3;
  --green:#2f6f4e;
  --green-dark:#234f38;
  --amber:#b8722e;
  --red:#a63d40;
  --line:#d8cdb4;
  --white:#fffdf8;
  font-size:16px;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  -webkit-tap-highlight-color:transparent;
}
h1,h2,h3,.display{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-0.01em}
.mono{font-family:'IBM Plex Mono',monospace}

.app-header{
  background:var(--ink);
  color:var(--paper);
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;top:0;z-index:20;
}
.app-header .brand{font-family:'Space Grotesk';font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:8px}
.app-header .brand .dot{width:9px;height:9px;background:var(--amber);border-radius:50%;display:inline-block}
.app-header a, .app-header button{
  color:var(--paper);background:none;border:1px solid rgba(246,241,231,.35);
  padding:6px 12px;border-radius:6px;font-size:.8rem;text-decoration:none;font-family:'IBM Plex Mono';cursor:pointer;
}

.wrap{max-width:520px;margin:0 auto;padding:18px 16px 90px}
.wrap-wide{max-width:920px;margin:0 auto;padding:18px 16px 90px}

.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px;
  margin-bottom:14px;
}

label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#6b6255;margin-bottom:6px;font-weight:600}
input,select,textarea{
  width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:8px;
  font-size:1rem;font-family:'Inter';background:var(--white);color:var(--ink);margin-bottom:14px;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green)}
textarea{min-height:70px;resize:vertical}

.btn{
  display:inline-block;width:100%;text-align:center;padding:14px;border-radius:8px;
  border:none;font-family:'Space Grotesk';font-weight:600;font-size:1rem;cursor:pointer;
}
.btn-primary{background:var(--green);color:var(--white)}
.btn-primary:active{background:var(--green-dark)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-row{display:flex;gap:10px}
.btn-row .btn{flex:1}

.stamp{
  display:inline-block;font-family:'IBM Plex Mono';font-weight:600;font-size:.72rem;
  padding:4px 10px;border-radius:20px;letter-spacing:.03em;text-transform:uppercase;
  border:1.5px solid currentColor;
}
.stamp.pendente{color:var(--amber)}
.stamp.executado{color:var(--green)}
.stamp.cancelado{color:var(--red)}

.step-track{display:flex;gap:6px;margin-bottom:18px}
.step-track span{flex:1;height:4px;background:var(--line);border-radius:3px}
.step-track span.on{background:var(--green)}

.suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:-8px 0 14px}
.suggestions button{
  font-family:'IBM Plex Mono';font-size:.75rem;background:var(--paper-2);border:1px solid var(--line);
  padding:6px 10px;border-radius:20px;cursor:pointer;color:var(--ink);
}

.list-item{border-bottom:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.list-item:last-child{border-bottom:none}
.list-item .meta{font-size:.78rem;color:#71695c;font-family:'IBM Plex Mono'}

.muted{color:#8a8175}
.err{color:var(--red);font-size:.85rem;margin:-8px 0 12px}

table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:.88rem}
th{font-family:'IBM Plex Mono';text-transform:uppercase;font-size:.7rem;color:#71695c}

.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.stat-box{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px}
.stat-box .num{font-family:'Space Grotesk';font-size:1.6rem;font-weight:700}
.stat-box .lbl{font-size:.72rem;text-transform:uppercase;color:#8a8175;letter-spacing:.05em}

.bar-row{margin-bottom:10px}
.bar-row .top{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:4px;font-family:'IBM Plex Mono'}
.bar-track{background:var(--paper-2);height:9px;border-radius:5px;overflow:hidden}
.bar-fill{background:var(--green);height:100%}

@media print{
  .no-print{display:none !important}
  body{background:white}
  .card{border:none;padding:0}
}
