:root{
  --primary:#f78f1e;
  --primary-2:#F28C00;
  --text:#111;
  --muted:#666;
  --border:#e6e6e6;
  --bg:#ffffff;
  --bg-soft:#f3f3f3;
  --link:#0b62d6;
  --radius:14px;
  --shadow:0 10px 25px rgba(0,0,0,.08);
  --font: Arial, Helvetica, sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
}

.topbar{
  position:sticky; top:0;
  display:flex; align-items:center; justify-content:space-between;
  gap:10px;
  padding:10px 14px;
  background:var(--bg);
  border-bottom:1px solid var(--border);
  z-index:10;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand__logo{ width:40px; height:40px; border-radius:10px; object-fit:cover; background:var(--bg-soft); }
.brand__title{ font-weight:700; font-size:14px; }
.brand__subtitle{ font-size:12px; color:var(--muted); }

.iconbtn{
  border:1px solid var(--border);
  background:var(--bg);
  border-radius:12px;
  padding:8px 10px;
  font-size:18px;
  cursor:pointer;
}

.drawer{
  position:fixed;
  right:12px;
  top:64px;
  width:min(320px, calc(100vw - 24px));
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:8px;
  display:none;
  z-index:20;
}
.drawer.open{ display:block; }

.navitem{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:var(--text);
}
.navitem:hover{ background:var(--bg-soft); }

.container{
  max-width:980px;
  margin:0 auto;
  padding:14px;
}

.card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px;
  background:var(--bg);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.grid{
  display:grid;
  gap:12px;
}
.grid.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (max-width: 720px){ .grid.cols-2{ grid-template-columns: 1fr; } }

.h1{ font-size:18px; font-weight:800; margin:4px 0 10px; }
.p{ margin:0; color:var(--muted); line-height:1.35; }

.btn{
  background:var(--primary);
  border:0;
  color:#fff;
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
  font-weight:700;
}
.btn--ghost{
  background:transparent;
  color:var(--text);
  border:1px solid var(--border);
}
.btn--link{
  background:transparent;
  border:0;
  color:var(--link);
  padding:0;
  font-weight:700;
}

.input, select{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  font-family:var(--font);
  font-size:14px;
}

a{ color:var(--link); }

.badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  background:rgba(247,143,30,.14);
  color:#7a3f00;
  border:1px solid rgba(247,143,30,.25);
}

.item{
  display:flex; gap:12px; align-items:flex-start;
  padding:10px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--bg);
}
.item__icon{
  width:44px; height:44px; border-radius:12px;
  background:var(--bg-soft);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.item__icon img{ width:100%; height:100%; object-fit:cover; }
.item__title{ font-weight:800; margin:0; }
.item__meta{ margin:4px 0 0; color:var(--muted); font-size:13px; }

.modal{
  position:fixed; inset:0;
  background:rgba(0,0,0,.35);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:14px;
  z-index:50;
}
.modal[hidden]{ display:none; }
.modal__card{
  width:min(560px, 100%);
  background:var(--bg);
  border-radius:18px;
  padding:14px;
  box-shadow:var(--shadow);
}
.modal__title{ font-weight:900; margin:0 0 8px; }
.modal__body{ color:var(--muted); line-height:1.35; }
.modal__actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }

/* Home hero */
.hero{
  position:relative;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
  background:var(--bg);
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  background:var(--primary);
}
.hero__title{ font-size:20px; font-weight:900; margin:6px 0 6px; }
.hero__subtitle{ margin:0 0 10px; color:var(--muted); line-height:1.35; }
.small{ font-size:12px; color:var(--muted); }
.kpis{ display:grid; gap:10px; grid-template-columns:repeat(3, minmax(0,1fr)); margin-top:12px; }
@media (max-width: 720px){ .kpis{ grid-template-columns:1fr; } }
.kpi{
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  background:var(--bg);
}
.kpi__label{ font-size:12px; color:var(--muted); }
.kpi__value{ font-weight:900; margin-top:2px; }
