@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--asu-navy:#0c2340;--asu-gold:#c5a022;--ink:#222;--muted:#64748b;--bg:#f4f6f9;--card:#fff;--fail:#b91c1c;--rule:#d8d8d8;--shadow:0 2px 12px #0c23401f}*,:before,:after{box-sizing:border-box}html,body{color:var(--ink);background:var(--bg);margin:0;padding:0;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.45}.loading,.error{text-align:center;padding:2rem}.error{color:var(--fail)}.login-page{background:linear-gradient(160deg,#0c2340 0%,#1a3a5c 100%);justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.login-shell{width:100%;max-width:420px}.login-card{background:var(--card);border-radius:.75rem;padding:2rem;box-shadow:0 8px 32px #0003}.login-card h1{color:var(--asu-navy);margin:0 0 .25rem;font-size:1.5rem}.login-sub{color:var(--muted);margin:0 0 1.5rem;font-size:.95rem}.login-form{flex-direction:column;gap:.5rem;display:flex}.login-form label{margin-top:.5rem;font-size:.85rem;font-weight:600}.login-form input{border:1px solid #cbd5e1;border-radius:.4rem;padding:.65rem .75rem;font-size:1rem}.login-form button{background:var(--asu-navy);color:#fff;cursor:pointer;border:none;border-radius:.4rem;margin-top:1rem;padding:.75rem;font-weight:600}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--fail);margin:1rem 0 0;font-size:.9rem}.login-footer{text-align:center;color:#ffffffbf;margin-top:1.25rem;font-size:.85rem}.forbidden-page{justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.forbidden-card{background:var(--card);max-width:480px;box-shadow:var(--shadow);border-radius:.75rem;padding:2rem}.forbidden-card h1{color:var(--asu-navy);margin:0 0 .75rem}.forbidden-card .hint{color:var(--muted);font-size:.9rem}.pmx-shell{flex-direction:column;min-height:100svh;display:flex}.pmx-header{background:var(--asu-navy);color:#fff;border-bottom:3px solid var(--asu-gold);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.pmx-header h1{margin:0;font-size:1.1rem;font-weight:600}.pmx-header-actions{align-items:center;gap:.75rem;display:flex}.pmx-header-actions button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:.4rem;padding:.45rem .75rem;font-size:.85rem}.pmx-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.25rem}.pmx-card{background:var(--card);box-shadow:var(--shadow);border-radius:.75rem;padding:1.75rem}.pmx-card h2{color:var(--asu-navy);margin:0 0 .5rem}.pmx-card p{color:var(--muted);margin:0}
