/* Halaman login, setup owner, undangan, dan kebijakan privasi (gaya Coursify) */
:root{
  --bg:#EEF0F5;--surface:#FFFFFF;--ink:#2A2B3A;--ink2:#6A6B7C;--muted:#A0A1B2;--line:#ECEDF3;
  --pink:#EC4E95;--pink-soft:#FBD9E8;--pink-card:#FCE4EF;--green:#2FB888;--green-soft:#CFEEE2;
  --yellow-card:#FDF1D6;--shadow:0 2px 10px rgba(42,43,58,.05);--shadow-h:0 10px 28px rgba(42,43,58,.10);
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;color:var(--ink);font:500 14px/1.5 "Plus Jakarta Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased;
  background:radial-gradient(520px 420px at 12% 8%,rgba(236,78,149,.10),transparent 60%),radial-gradient(540px 460px at 90% 10%,rgba(95,168,245,.10),transparent 58%),var(--bg)}
.auth{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-h);padding:30px 28px}
.brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.brand-badge{width:40px;height:40px;border-radius:12px;background:var(--pink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;box-shadow:0 6px 16px rgba(236,78,149,.35)}
.brand b{font-weight:800;font-size:18px}
h1{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0 0 4px}
.sub{color:var(--ink2);font-weight:600;font-size:13px;margin:0 0 20px}
label{display:block;font-size:12px;font-weight:800;color:var(--ink2);margin:14px 0 6px}
input{width:100%;height:46px;border:1px solid var(--line);border-radius:13px;background:var(--bg);padding:0 14px;font:inherit;color:var(--ink);outline:none;transition:.15s}
input:focus{border-color:var(--pink);background:#fff;box-shadow:0 0 0 4px var(--pink-card)}
input[readonly]{color:var(--ink2)}
.btn{margin-top:20px;width:100%;height:46px;border:0;border-radius:13px;background:var(--pink);color:#fff;font:800 14px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(236,78,149,.3);transition:.18s}
.btn:hover{background:#E13A86}
.btn[disabled]{opacity:.6;cursor:wait}
.msg{margin-top:14px;padding:10px 13px;border-radius:11px;font-size:12.5px;font-weight:700}
.msg.err{background:var(--pink-card);color:var(--pink)}
.msg.ok{background:var(--green-soft);color:#1E8E68}
.hint{margin-top:16px;font-size:12px;color:var(--muted);font-weight:600;text-align:center}
.hint a{color:var(--pink);font-weight:800;text-decoration:none}
.doc{max-width:760px;align-self:flex-start}
.doc h2{font-size:15px;font-weight:800;margin:22px 0 6px}
.doc p,.doc li{color:var(--ink2);font-size:13.5px}
.doc ul{padding-left:20px}
