@font-face{font-family:'Albert Sans';font-weight:400;font-style:normal;font-display:swap;src:url(/portal/fonts/AlbertSans-400.ttf) format('truetype')}
@font-face{font-family:'Albert Sans';font-weight:500;font-style:normal;font-display:swap;src:url(/portal/fonts/AlbertSans-500.ttf) format('truetype')}
@font-face{font-family:'Albert Sans';font-weight:600;font-style:normal;font-display:swap;src:url(/portal/fonts/AlbertSans-600.ttf) format('truetype')}
@font-face{font-family:'Albert Sans';font-weight:700;font-style:normal;font-display:swap;src:url(/portal/fonts/AlbertSans-700.ttf) format('truetype')}
:root{font-family:'Albert Sans',system-ui,sans-serif;color:#dee2e8;background:#08162a;color-scheme:dark;font-size:15px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 20% -10%,#102a47 0,#08162a 60%)}
a{color:#3b82f6}button,input{font:inherit}
button{border:1px solid #243f5e;border-radius:8px;color:#d8dee7;background:#102a47;padding:10px 14px;cursor:pointer}button:hover{background:#243f5e}
button.primary{background:#1f4066;color:#ffffff;border-color:#1f4066;font-weight:600}button.primary:hover{background:#3b82f6}
button.quiet{background:transparent;border-color:transparent;color:#aeb8c6}button.quiet:hover{background:#102a47}
button:disabled{opacity:.5;cursor:default}
input{background:#061223;border:1px solid #243f5e;border-radius:8px;color:#e5e9ee;padding:11px 12px;width:100%}input:focus,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}
.brand{display:flex;align-items:center;gap:12px}.mark{font-size:30px;color:#93c5fd}.brand strong{display:block;font-size:17px}.brand span.sub{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:#a4adba}
.center{min-height:100vh;display:grid;place-items:center;padding:24px}
.card{background:#0c2038;border:1px solid #243f5e;border-radius:14px;padding:28px;width:100%;max-width:400px;box-shadow:0 20px 60px #0008}
.card h1{font-size:20px;margin:22px 0 4px}.card p.lead{color:#9aa5b3;margin:0 0 20px;font-size:13.5px;line-height:1.5}
label{display:block;font-size:12px;color:#aeb8c6;margin:14px 0 6px}
.err{color:#ff9d8f;font-size:13px;min-height:18px;margin:12px 0 0}
header.top{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid #243f5e;background:#0c2038}
main.wrap{max-width:980px;margin:0 auto;padding:32px 24px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.bar h1{font-size:22px;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.proj{background:#0c2038;border:1px solid #243f5e;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px}
.proj:hover{border-color:#3b82f6}.proj h3{margin:0;font-size:16px;word-break:break-word}.meta{color:#8f9baa;font-size:12px}
.proj .row{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.proj .row button{padding:8px 12px;font-size:13px}
.empty{border:1px dashed #46505d;border-radius:12px;padding:40px;text-align:center;color:#9aa5b3}
.new{display:flex;gap:10px;margin-bottom:22px}.new input{max-width:380px}
.badge{display:inline-block;font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid #4a5563;color:#b6c0cc}

.brand .logo{height:34px;width:auto;display:block}.brand strong.studio{font-size:17px;letter-spacing:-.3px}
.auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:6px}.auth-brand img{height:64px;width:auto}.auth-brand strong{font-size:22px;letter-spacing:-.4px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#061223;border:1px solid #243f5e;border-radius:10px;padding:4px;margin:20px 0 4px}.tabs button{border:0;background:transparent;color:#94a3b8}.tabs button.on{background:#102a47;color:#fff}
.card h1{text-align:center}.card p.lead{text-align:center}

input{color:#fff}input::placeholder{color:#94a3b8}label{color:#fff}.card p.lead{color:#fff}.auth-brand strong{color:#fff}
input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 100px #061223 inset}

*,button,input,select,textarea,summary,dialog{font-family:'Albert Sans',system-ui,sans-serif}
