:root{--primary:#07c;--primary-hover:#0056a3;--secondary:#6c757d;--danger:#dc3545;--success:#28a745;--light:#f8f9fa;--border:#dee2e6;--text-dark:#212529;--text-muted:#6c757d}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:#f6f8fa;color:var(--text-dark)}.layout{display:flex;flex-direction:column;min-height:100vh}.site-header{background:linear-gradient(135deg,var(--primary) 0,#005fa3 100%);color:#fff;padding:16px 0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.header-content{max-width:980px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.brand{margin:0;font-size:24px;font-weight:700}.nav{display:flex;align-items:center;gap:16px}.nav-link{color:#fff;text-decoration:none;font-weight:500;transition:opacity .2s}.nav-link:hover{opacity:.9}.user-email{color:hsla(0,0%,100%,.9);font-size:14px}.btn-logout{background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3);padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.btn-logout:hover{background:hsla(0,0%,100%,.3)}.main-content{flex:1 1;max-width:980px;margin:0 auto;padding:40px 16px;width:100%}.site-footer{background:#f8f9fa;border-top:1px solid var(--border);padding:20px 16px;text-align:center;color:var(--text-muted);font-size:14px;margin-top:auto}.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px)}.auth-box{background:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);width:100%;max-width:420px}.auth-box h2{margin-top:0;margin-bottom:24px;font-size:24px;color:var(--text-dark)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-dark);font-size:14px}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,119,204,.1)}.btn{padding:10px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s;width:100%;margin-top:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px;border:1px solid}.alert-error{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.auth-link{text-align:center;margin-top:16px;font-size:14px;color:var(--text-muted)}.auth-link a{color:var(--primary);text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline}.auth-subtitle{text-align:center;font-size:14px;color:var(--text-muted);margin:0 0 20px}.auth-links{margin-top:20px;text-align:center}.auth-links p{margin:8px 0;font-size:14px;color:var(--text-muted)}.auth-links a{color:var(--primary);text-decoration:none;font-weight:500}.auth-links a:hover{text-decoration:underline}.forgot-password-link{display:inline-block;margin-top:8px;font-size:12px;color:var(--primary);text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.success-box{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:16px;border-radius:4px;text-align:center}.success-box p{margin:8px 0;font-weight:500}.dashboard{display:grid;grid-gap:24px;gap:24px}.welcome-card{background:linear-gradient(135deg,var(--primary) 0,#005fa3 100%);color:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.welcome-card h1{margin-top:0;margin-bottom:8px;font-size:28px}.welcome-card p{margin:0;opacity:.9}.user-info{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.user-info h2{margin-top:0;margin-bottom:16px;font-size:18px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:16px;gap:16px}.info-item{padding:12px;background:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;gap:4px}.info-item .label{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase}.info-item .value{font-size:14px;color:var(--text-dark);font-weight:500}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;width:-moz-fit-content;width:fit-content}.badge-customer{background:#e3f2fd;color:#1565c0}.badge-admin{background:#fff3e0;color:#e65100}.actions{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.actions h2{margin-top:0;margin-bottom:16px;font-size:18px}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.action-buttons .btn{flex:1 1;min-width:150px}.page-center{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px)}@media (max-width:640px){.header-content{flex-direction:column;gap:12px}.nav{width:100%;justify-content:center}.auth-box{padding:24px 16px}.info-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}}