*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--c-primary: #006855;--c-primary-dark: #004d3e;--c-primary-bg: #e0f2ef;--c-text: #1a1a2e;--c-muted: #5f6368;--c-error: #d93025;--c-bg: #f0f4f8;--c-card: #ffffff;--c-border: #dadce0;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.08)}html,body{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:16px;line-height:1.5}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--c-bg)}.card{background:var(--c-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px;width:100%;max-width:480px}.logo{font-size:2rem;margin-bottom:12px;text-align:center}.card-title{font-size:1.5rem;font-weight:600;margin-bottom:6px}.card-subtitle{color:var(--c-muted);font-size:.9rem;margin-bottom:28px}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--c-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.03em}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--radius);font-size:.95rem;color:var(--c-text);background:#fff;outline:none;transition:border-color .2s;-webkit-appearance:none}.form-group input:focus,.form-group select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #0068551f}.form-group input.ng-invalid.ng-touched,.form-group select.ng-invalid.ng-touched{border-color:var(--c-error)}.form-group .field-error{font-size:.8rem;color:var(--c-error);margin-top:4px}.form-group .field-hint{font-size:.8rem;color:var(--c-muted);margin-top:4px}.btn-primary{display:block;width:100%;padding:12px;background:var(--c-primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;text-align:center}.btn-primary:hover:not(:disabled){background:var(--c-primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:10px 24px;background:transparent;color:var(--c-primary);border:1.5px solid var(--c-primary);border-radius:var(--radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--c-primary-bg)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.alert{border-radius:var(--radius);padding:12px 16px;font-size:.9rem;margin-bottom:20px}.alert.alert-error{background:#fce8e6;border:1px solid #f5c6c2;color:var(--c-error)}.alert.alert-success{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.alert.alert-info{background:#e3f2fd;border:1px solid #bbdefb;color:#1565c0}.text-center{text-align:center}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-24{margin-bottom:24px}.link{color:var(--c-primary);text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline}.step-indicator{display:flex;align-items:center;gap:0;margin-bottom:32px}.step-indicator .step{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--c-muted)}.step-indicator .step .step-num{width:28px;height:28px;border-radius:50%;background:var(--c-border);color:var(--c-muted);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.step-indicator .step.active{color:var(--c-primary);font-weight:500}.step-indicator .step.active .step-num{background:var(--c-primary);color:#fff}.step-indicator .step.done{color:var(--c-primary)}.step-indicator .step.done .step-num{background:var(--c-primary-bg);color:var(--c-primary)}.step-indicator .step-line{flex:1;height:1px;background:var(--c-border);margin:0 8px}.dashboard-layout{min-height:100vh;background:var(--c-bg)}.topbar{background:var(--c-card);border-bottom:1px solid var(--c-border);padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #00000014}.topbar .brand{font-size:1.2rem;font-weight:700;color:var(--c-primary);letter-spacing:-.02em}.topbar .user-menu{display:flex;align-items:center;gap:16px;font-size:.9rem;color:var(--c-muted)}.topbar .user-menu button{background:none;border:none;color:var(--c-error);cursor:pointer;font-size:.85rem;padding:4px 8px;border-radius:4px}.topbar .user-menu button:hover{background:#fce8e6}.dashboard-content{max-width:900px;margin:0 auto;padding:32px 24px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:24px}.stat-card{background:var(--c-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.stat-card .stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted)}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--c-text);margin-top:4px}.stat-card .stat-desc{font-size:.85rem;color:var(--c-muted);margin-top:4px}.setup-banner{background:var(--c-primary-bg);border:1px solid rgba(0,104,85,.2);border-radius:var(--radius);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.setup-banner p{font-size:.95rem;color:var(--c-text)}.setup-banner p strong{color:var(--c-primary)}.setup-banner a{white-space:nowrap;padding:8px 20px;background:var(--c-primary);color:#fff;border-radius:var(--radius);text-decoration:none;font-size:.9rem;font-weight:500}.setup-banner a:hover{background:var(--c-primary-dark)}
