:root{--dyndo-dark-blue:#042c53;--dyndo-navy-soft:#0c447c;--dyndo-lime:#8ed12a;--dyndo-lime-light:#c9f27a;--dyndo-gold:#fac725;--dyndo-pink:#d4537e;--dyndo-cyan:#00bcd4;--dyndo-bg-light:#f1efe8;--dyndo-card:#fff;--dyndo-text:#23262b;--dyndo-text-secondary:#5f5e5a;--dyndo-border:#e3e0d6;--shadow:0 4px 20px rgba(4,44,83,.08);--shadow-hover:0 8px 30px rgba(4,44,83,.12);--r-card:16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--dyndo-bg-light);color:var(--dyndo-text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Poppins,Inter,sans-serif;color:var(--dyndo-dark-blue);line-height:1.2}a{color:var(--dyndo-navy-soft);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1000px;margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:.95rem;padding:.7rem 1.4rem;border-radius:9999px;border:none;cursor:pointer;transition:all .18s ease}.btn--primary{background:var(--dyndo-lime);color:var(--dyndo-dark-blue)}.btn--primary:hover{filter:brightness(1.05);text-decoration:none}.btn--ghost{background:transparent;color:var(--dyndo-dark-blue);border:1.5px solid var(--dyndo-border)}.btn--ghost:hover{border-color:var(--dyndo-dark-blue);text-decoration:none}.btn--danger{background:transparent;color:var(--dyndo-pink);border:1.5px solid rgba(212,83,126,.4)}.btn--danger:hover{background:rgba(212,83,126,.08)}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--dyndo-card);border:1px solid var(--dyndo-border);border-radius:var(--r-card);box-shadow:var(--shadow);padding:1.6rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:var(--dyndo-dark-blue)}.field input{width:100%;padding:.7rem .9rem;font-size:.95rem;border:1.5px solid var(--dyndo-border);border-radius:10px;background:#fff}.field input:focus{outline:none;border-color:var(--dyndo-cyan)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.auth-card{width:100%;max-width:400px}.auth-logo{display:flex;align-items:center;gap:.6rem;justify-content:center;margin-bottom:1.5rem;font-family:Poppins,sans-serif;font-weight:700;font-size:1.4rem;color:var(--dyndo-dark-blue)}.auth-logo .dot{width:34px;height:34px;border-radius:50%;background:var(--dyndo-lime);display:grid;place-items:center}.msg{padding:.65rem .9rem;border-radius:10px;font-size:.88rem;margin-bottom:1rem}.msg--error{background:rgba(212,83,126,.1);color:#a3325a}.msg--ok{background:rgba(142,209,42,.14);color:#4f7d10}.topbar{background:var(--dyndo-dark-blue);color:#fff;padding:1rem 0}.topbar .container{display:flex;align-items:center;justify-content:space-between}.topbar .brand{display:flex;align-items:center;gap:.55rem;font-family:Poppins,sans-serif;font-weight:700;color:#fff}.topbar .brand .dot{width:30px;height:30px;border-radius:50%;background:var(--dyndo-lime)}.topbar a,.topbar button{color:#fff}.hostname-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--dyndo-border);border-radius:12px;background:#fff;margin-bottom:.75rem;flex-wrap:wrap}.hostname-row .fqdn{font-family:Poppins,sans-serif;font-weight:600;color:var(--dyndo-dark-blue)}.hostname-row .meta{font-size:.82rem;color:var(--dyndo-text-secondary)}.badge{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:9999px}.badge--on{background:rgba(142,209,42,.18);color:#4f7d10}.badge--off{background:rgba(95,94,90,.14);color:var(--dyndo-text-secondary)}.token-box{font-size:.82rem;word-break:break-all;background:var(--dyndo-dark-blue);color:var(--dyndo-lime-light);padding:.8rem 1rem;border-radius:10px;margin:.6rem 0}.mono,.token-box{font-family:SF Mono,Menlo,monospace}.topbar .container{flex-wrap:wrap;gap:.5rem}@media (max-width:640px){.container{padding:0 1rem}.auth-wrap{padding:1.25rem .75rem}.card{padding:1.2rem}.topbar-email{display:none}.hostname-row{padding:.85rem 1rem}.hostname-row>div:last-child{width:100%;justify-content:flex-start}.token-box{font-size:.75rem}}@media (max-width:400px){.auth-logo{font-size:1.15rem}.btn{font-size:.88rem;padding:.65rem 1.1rem}}