:root{
  --tosca:#19a7a8; --tosca-soft:#e8f6f6; --tosca-dark:#138a8b; --accent:#27c3c4;
  --ink:#1f2937; --muted:#6b7280; --white:#ffffff; --card:#ffffff;
  --shadow: 0 10px 25px rgba(0,0,0,.07); --radius: 18px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Helvetica Neue",sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,var(--tosca-soft),#f7fbfb)
}
.container{max-width:1480px;margin:32px auto;padding:0 16px}

/* HEADER centered */
.header{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;text-align:center}
.brand{display:flex;flex-direction:column;align-items:center;gap:8px}
.brand-logo{width:clamp(72px,9vw,120px);height:clamp(72px,9vw,120px);border-radius:16px;object-fit:contain;background:#fff;box-shadow:var(--shadow);padding:6px}
.header h1{margin:0;font-weight:800;font-size:clamp(22px,4.2vw,40px);color:var(--ink);letter-spacing:.2px}

.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.btn{border:0;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600;background:var(--tosca);color:#fff;box-shadow:var(--shadow);transition:.2s}
.btn:hover{transform:translateY(-1px);background:var(--tosca-dark)}
.btn-outline{background:var(--white);color:var(--tosca-dark);border:1px solid #d8eeee}
.btn-danger{background:#ef4444}
.btn-muted{background:#eef7f7;color:#0f6b6c}

.toolbar{background:var(--card);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);
display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0 18px}
.input, select{border:1px solid #d5eeee;border-radius:12px;padding:10px 12px;outline:none;min-width:200px;background:#fff}
.input:focus, select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(25,167,168,.15)}

/* GRID: public */
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
@media (min-width: 1280px){ .grid{grid-template-columns:repeat(8,1fr)} }

.card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column;gap:10px;min-height:120px}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.badge-dot{width:10px;height:10px;border-radius:999px;background:var(--tosca);border:2px solid #e6f3f3}
.card h3{margin:4px 0 2px;font-size:16px}
.card p{margin:0;color:#425466;font-size:13px;line-height:1.5}
.row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.footer{text-align:center;color:#7a8a8a;font-size:12px;margin:28px 0 10px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:12px;padding:6px 10px;background:#f0fbfb;color:#0f6b6c;border:1px solid #d5eeee;border-radius:999px}
.chip.active{background:var(--tosca);color:#fff;border-color:transparent}

/* Modal */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.25);padding:16px;z-index:50}
.modal .panel{width:min(520px,96vw);background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px}
.modal .panel h3{margin:0 0 10px 0}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.helper{font-size:12px;color:#668}
.link{color:#138a8b;text-decoration:none;font-weight:700}
.link:hover{text-decoration:underline}

/* Admin list view */
.list .grid{display:block}
.list .card{display:grid;grid-template-columns:32px 2fr 3fr 1fr;gap:12px;align-items:center;min-height:auto;padding:12px}
.list .card .badge{grid-column:1/2}
.list .card h3,.list .card p{margin:0}
.list .meta{font-size:12px;color:#6b7280}
.list-header{display:grid;grid-template-columns:32px 2fr 3fr 1fr;gap:12px;font-size:12px;color:#0f6b6c;margin-bottom:8px;padding:0 4px}

.pagination{display:flex;gap:6px;justify-content:center;align-items:center;margin:18px 0}
.pagination a,.pagination span{padding:8px 12px;border:1px solid #d8eeee;border-radius:10px;background:#fff;color:#0f6b6c;text-decoration:none}
.pagination .active{background:var(--tosca);color:#fff;border-color:transparent}
