/* APV / KOSMEDI – shared styles */

:root{
  --bg:#f3f4f6;
  --card:#ffffff;
  --border:#e5e7eb;
  --muted:#6b7280;
  --blue:#2563eb;
  --ok:#22c55e;
  --bad:#ef4444;
}

*{box-sizing:border-box}
body{font-family:system-ui,Segoe UI,Arial;margin:0;background:var(--bg);color:#111827}
.wrap{max-width:1000px;margin:0 auto;padding:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
h1{margin:0 0 10px;font-size:1.25rem}
h2{margin:18px 0 10px;font-size:1.05rem}

.muted{color:var(--muted);font-size:.92rem}
.row{display:flex;gap:12px;flex-wrap:wrap}
.box{flex:1 1 320px;background:#fafafa;border:1px solid var(--border);border-radius:14px;padding:12px}

.msg-ok,.msg-err{border-radius:12px;padding:10px 12px;margin:10px 0;font-size:.92rem}
.msg-ok{background:#ecfeff;border:1px solid var(--ok);color:#166534}
.msg-err{background:#fef2f2;border:1px solid var(--bad);color:#b91c1c}

label{display:block;font-size:.9rem;margin-bottom:6px}
input[type=text]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:12px;font-size:1rem}
select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:12px;font-size:1rem;background:#fff}

button{padding:10px 12px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-size:.95rem;cursor:pointer;width:100%}

.btnrow{display:flex;gap:10px;flex-wrap:wrap}
a.btn{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid #9ca3af;background:#fff;text-decoration:none;color:#111827}
a.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}

table{width:100%;border-collapse:collapse}
th,td{border:1px solid var(--border);padding:8px;text-align:left;font-size:.95rem;vertical-align:top}
th{background:#f9fafb}

code{word-break:break-all}
.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.85rem;border:1px solid #ddd;background:#fff}
.pill.ok{border-color:var(--ok)}
.pill.bad{border-color:var(--bad)}

.nav{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.footer{margin-top:14px;text-align:center;color:#9ca3af;font-size:.85rem}

/* ---------- public/index.php styles ---------- */
.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px}
.login-card{
  width:100%;
  max-width:520px;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
}
.title{margin:0 0 6px;font-size:1.25rem}
.subtitle{margin:0 0 12px;color:#374151;font-size:0.9rem;line-height:1.4}
.device{font-size:0.78rem;color:var(--muted);margin-top:10px;word-break:break-all;text-align:center}

/* APV Area Switcher */
.area-switch{margin:10px 0;padding:10px;border:1px solid #ddd;border-radius:12px;background:#fafafa}
.area-pill{display:inline-block;margin:4px 6px 0 0;padding:6px 10px;border:1px solid #bbb;border-radius:999px;text-decoration:none}
.area-pill.active{font-weight:700;border-color:#333}
