/* Dyan Media Publisher v2.3 — English LTR, purple brand (#6d28d9). No CDNs, local only. */
:root{--purple:#6d28d9;--deep:#4c1d95;--lav:#ede9fe;--ink:#1e1b29;--muted:#5f5b6e;--line:#e6e2f2;--ok:#166534;--okbg:#dcfce7;--err:#991b1b;--errbg:#fee2e2;--warn:#92400e;--warnbg:#fef3c7}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,Tahoma,Arial,sans-serif;background:#fbfaff;color:var(--ink);line-height:1.7}
header{background:linear-gradient(135deg,var(--deep),var(--purple));color:#fff;padding:18px 0}
.wrap{max-width:960px;margin:0 auto;padding:0 18px}
.head-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:#fff;color:var(--purple);font-size:20px}
header h1{font-size:1.25rem}
nav{margin-inline-start:auto;display:flex;gap:16px;flex-wrap:wrap}
nav a{color:#e9e4ff;text-decoration:none;font-size:.95rem}
nav a:hover{color:#fff;text-decoration:underline}
main{padding:26px 0 40px}
footer{padding:18px 0;color:var(--muted);font-size:.9rem;text-align:center}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px}
.statusbar h2{font-size:1.1rem;margin-bottom:6px}
.statusbar p{margin-bottom:8px}
h2{font-size:1.25rem;margin-bottom:10px}
h3{font-size:1.05rem;margin:16px 0 8px}
label{display:block;font-weight:600;margin:14px 0 6px}
label:first-child{margin-top:0}
label.check{font-weight:400;margin:8px 0;display:flex;gap:8px;align-items:center}
input[type=text],input[type=email],input[type=url],input[type=password],input[type=number],input[type=datetime-local],textarea,select{padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:1rem;font-family:inherit;background:#fff}
input[type=text],input[type=email],input[type=password],textarea{width:100%}
textarea{min-height:120px;resize:vertical}
.btn{display:inline-block;background:var(--purple);color:#fff;border:none;font-weight:700;font-size:1.05rem;padding:13px 28px;border-radius:999px;cursor:pointer;text-decoration:none;text-align:center;margin-top:14px}
.btn:hover{background:var(--deep)}
.btn:disabled{opacity:.55;cursor:wait}
.btn-ghost{background:#fff;color:var(--purple);border:1px solid var(--purple)}
.btn-danger{background:#b91c1c}
.btn-danger:hover{background:#991b1b}
.btn-small{font-size:.9rem;padding:7px 14px;margin-top:0}
.status{font-size:1rem;padding:12px 16px;border-radius:10px;background:var(--lav);color:var(--deep);margin-bottom:14px}
.ok{background:var(--okbg);color:var(--ok)}
.err{background:var(--errbg);color:var(--err)}
.warn{background:var(--warnbg);color:var(--warn)}
small{color:var(--muted)}
table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.95rem}
th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--muted);font-size:.85rem}
tr:last-child td{border-bottom:none}
.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.82rem;background:var(--lav);color:var(--deep)}
.tag.ok{background:var(--okbg);color:var(--ok)}
.tag.err{background:var(--errbg);color:var(--err)}
.tag.warn{background:var(--warnbg);color:var(--warn)}
form.inline{display:inline-block;margin:0}
code{background:#f3f0ff;padding:2px 8px;border-radius:6px;font-size:.9rem;word-break:break-all}
a{color:var(--purple)}
@media (max-width:640px){
  table{font-size:.85rem}
  th,td{padding:8px 4px}
  .btn{width:100%}
  .btn-small{width:auto}
}
