@charset "UTF-8";:root{--cmu-primary: #0a7d3e;--cmu-primary-dark: #065c2c;--cmu-accent: #f77f00;--cmu-white: #ffffff;--cmu-bg: #f6f8f7;--cmu-surface: #ffffff;--cmu-text: #1a1f1c;--cmu-text-muted:#5a6a63;--cmu-border: #dbe4de;--cmu-danger: #c1272d;--cmu-warning: #d9a300;--cmu-info: #1976d2;--cmu-success: #0a7d3e;--cmu-radius: 10px;--cmu-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .08);--cmu-shadow-lg: 0 4px 6px -1px rgba(16, 24, 40, .1), 0 2px 4px -1px rgba(16, 24, 40, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--cmu-text);background:var(--cmu-bg);-webkit-font-smoothing:antialiased}a{color:var(--cmu-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}.container{max-width:1100px;margin:0 auto;padding:24px 16px}.card{background:var(--cmu-surface);border:1px solid var(--cmu-border);border-radius:var(--cmu-radius);box-shadow:var(--cmu-shadow);padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--cmu-radius);border:1px solid transparent;font-weight:600;font-size:15px;min-height:44px;transition:background .15s ease,transform .05s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--cmu-primary);color:#fff}.btn-primary:hover{background:var(--cmu-primary-dark)}.btn-accent{background:var(--cmu-accent);color:#fff}.btn-outline{background:transparent;border-color:var(--cmu-border);color:var(--cmu-text)}.btn-danger{background:var(--cmu-danger);color:#fff}.btn[disabled]{opacity:.55;cursor:not-allowed}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-info{background:#e3f0fc;color:var(--cmu-info)}.badge-success{background:#e3f5ea;color:var(--cmu-success)}.badge-warning{background:#fbf1d1;color:#7a5a00}.badge-danger{background:#fbe5e6;color:var(--cmu-danger)}.badge-neutral{background:#eef1ef;color:var(--cmu-text-muted)}.grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width: 720px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.auth-page{min-height:100vh;background:linear-gradient(180deg,#f6f8f7,#eaf1ed);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px}.auth-card{width:100%;max-width:480px;background:var(--cmu-surface);border:1px solid var(--cmu-border);border-radius:14px;box-shadow:var(--cmu-shadow-lg);padding:28px 24px}.auth-card header{text-align:center;margin-bottom:20px}.auth-card header .eyebrow{font-size:12px;font-weight:600;color:var(--cmu-primary);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 6px}.auth-card header h1{margin:0;font-size:22px}.auth-card header .subtitle{margin:6px 0 0;color:var(--cmu-text-muted);font-size:14px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--cmu-text)}.auth-card label .req{color:var(--cmu-danger)}.auth-card label .hint{font-weight:400;color:var(--cmu-text-muted);font-size:12px}.auth-card input,.auth-card select,.auth-card textarea{font:inherit;padding:12px 14px;border:1px solid var(--cmu-border);border-radius:var(--cmu-radius);background:#fff;color:var(--cmu-text);min-height:44px;transition:border-color .15s,box-shadow .15s}.auth-card input:focus,.auth-card select:focus,.auth-card textarea:focus{outline:none;border-color:var(--cmu-primary);box-shadow:0 0 0 3px #0a7d3e26}.auth-card input.invalid,.auth-card select.invalid,.auth-card textarea.invalid{border-color:var(--cmu-danger);box-shadow:0 0 0 3px #c1272d1f}.auth-card .row-2{display:grid;gap:14px;grid-template-columns:1fr}@media (min-width: 560px){.auth-card .row-2{grid-template-columns:1fr 1fr}}.auth-card .field-error{color:var(--cmu-danger);font-size:12px;margin-top:-4px}.auth-card .alert{padding:12px 14px;border-radius:var(--cmu-radius);font-size:14px}.auth-card .alert-error{background:#fbe5e6;color:#8a1c21}.auth-card .alert-success{background:#e3f5ea;color:#0c5c2e}.auth-card .alert-info{background:#e3f0fc;color:#1257a5}.auth-card .actions{margin-top:4px;display:flex;flex-direction:column;gap:8px}.auth-card .actions .btn{width:100%}.auth-card .foot-links{text-align:center;margin-top:18px;font-size:14px}.auth-card .foot-links a{display:inline-block;padding:4px 6px}
