:root{
  --indigo:#4f46e5; --indigo-dark:#4338ca; --violet:#7c3aed;
  --bg:#f1f5f9; --border:rgba(226,232,240,.8);
  --text:#0f172a; --muted:#64748b;
  --green:#059669; --red:#dc2626; --yellow:#f59e0b;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);}

/* legacy wrapper klasy (utrzymane dla kompatybilności, na wypadek gdyby coś jeszcze ich używało) */
.wrap{max-width:1280px;margin:0 auto;padding:0 20px;}
.topbar{background:#fff;border-bottom:1px solid var(--border);}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:64px;}
.brand{font-weight:700;font-size:18px;color:var(--text);text-decoration:none;}
.topbar nav a{margin-left:16px;color:var(--muted);text-decoration:none;font-size:14px;}
.topbar nav a:hover{color:var(--indigo);}
.content{padding:32px 20px 60px;min-height:70vh;}
.footer{border-top:1px solid var(--border);padding:20px;text-align:center;color:var(--muted);font-size:13px;}

h1{font-size:26px;font-weight:700;letter-spacing:-.01em;} h2{font-size:18px;font-weight:700;}

.card{
  background:#fff;border:1px solid var(--border);border-radius:1rem /* rounded-2xl */;
  padding:24px;margin-bottom:20px;
  box-shadow:0 1px 2px 0 rgba(15,23,42,.04);
  transition:box-shadow .2s ease;
}
.card:hover{box-shadow:0 4px 10px -2px rgba(15,23,42,.08);}

.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.stat{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:20px;text-align:center;box-shadow:0 1px 2px 0 rgba(15,23,42,.04);}
.stat .num{font-size:32px;font-weight:800;background:linear-gradient(90deg,var(--indigo),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat .label{color:var(--muted);font-size:13px;}

form label{display:block;margin:14px 0 6px;font-size:13px;font-weight:600;color:#334155;}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],textarea,select{
  width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:.75rem /* rounded-xl */;
  font-size:14px;font-family:inherit;background:#fff;color:var(--text);
  transition:border-color .15s ease, box-shadow .15s ease;
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(79,70,229,.15);
}
textarea{min-height:100px;}

button, .btn{
  background:var(--indigo);color:#fff;border:none;padding:11px 22px;border-radius:.75rem;
  font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;margin-top:16px;
  box-shadow:0 4px 12px -2px rgba(79,70,229,.35);
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
}
button:hover,.btn:hover{background:var(--indigo-dark);transform:translateY(-1px);box-shadow:0 6px 16px -2px rgba(79,70,229,.4);}
.btn-small{background:var(--indigo);color:#fff !important;padding:8px 16px;border-radius:.75rem;font-size:13px;font-weight:600;margin-top:0;box-shadow:0 4px 12px -2px rgba(79,70,229,.3);}
.btn-outline{background:#fff;color:var(--indigo);border:1px solid var(--indigo);box-shadow:none;}
.btn-outline:hover{background:#eef2ff;color:var(--indigo-dark);box-shadow:none;}

table{width:100%;border-collapse:collapse;margin-top:10px;}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);font-size:14px;}
th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;}

.alert{padding:12px 16px;border-radius:1rem;margin-bottom:16px;font-size:14px;border:1px solid transparent;}
.alert-success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.alert-error{background:#fef2f2;color:#991b1b;border-color:#fecaca;}

/* odznaki / statusy - rounded-full per specyfikacja tagów i statusów */
.badge{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;}
.badge-pending{background:#fffbeb;color:#92400e;border-color:#fde68a;}
.badge-approved{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.badge-rejected{background:#fef2f2;color:#991b1b;border-color:#fecaca;}
.badge-deleted{background:#f1f5f9;color:#475569;border-color:var(--border);}

/* tagi/słowa kluczowe wg specyfikacji design systemu */
.tag{background:#f1f5f9;color:#475569;font-size:11px;font-weight:500;padding:4px 10px;border-radius:.375rem;display:inline-block;}

.stars{color:#fbbf24;font-size:18px;letter-spacing:2px;}
.stars-input{font-size:36px;cursor:pointer;color:#d1d5db;user-select:none;}
.stars-input .active{color:#fbbf24;}

code.box{display:block;background:#0f172a;color:#e2e8f0;padding:14px;border-radius:.75rem;font-size:13px;overflow-x:auto;white-space:pre-wrap;}

.center{text-align:center;}
.small{font-size:13px;color:var(--muted);}
