.login-container{align-items:center;background:linear-gradient(135deg,#4a7c59,#2d5a3d);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-container:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' patternUnits='userSpaceOnUse' width='10' height='10'%3E%3Ccircle cx='5' cy='5' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E") repeat;bottom:0;content:"";opacity:.3}.header-bar,.login-container:before{left:0;position:absolute;right:0;top:0}.header-bar{background:#1a3f2a;color:#fff;height:60px;justify-content:space-between;padding:0 2rem;z-index:10}.header-bar,.logo-section{align-items:center;display:flex}.logo-section{font-size:1.2rem;font-weight:700}.nav-links{display:flex;font-size:.9rem;gap:2rem}.nav-links a{color:#fff;text-decoration:none;transition:color .3s ease}.nav-links a:hover{color:#7db88a}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:8px;box-shadow:0 20px 40px #0000004d;margin:2rem;max-width:450px;position:relative;width:100%;z-index:5}.login-header{background:#1a4a2a;border-radius:0;color:#fff;font-size:.95rem;font-weight:600;padding:1rem;text-align:center}.welcome-section{background:#ffffffe6;padding:1.5rem 2rem .75rem;text-align:center}.welcome-title{color:#2d5a3d;font-size:1.35rem;font-weight:300;margin-bottom:.5rem}.welcome-subtitle{color:#666;font-size:.9rem}.sso-section{background:#fffffffa;margin-bottom:0}.sso-container{padding:.75rem 2rem 1.5rem;text-align:center}.login-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-label{color:#333;display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.form-input{background:#fff;border:2px solid #e0e0e0;border-radius:4px;box-sizing:border-box;font-size:.95rem;padding:12px 16px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-input:focus{border-color:#4a7c59;box-shadow:0 0 0 3px #4a7c591a;outline:none}.form-input::placeholder{color:#999}.submit-button{background:#4a7c59;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:.5rem;padding:14px;transition:background-color .3s ease;width:100%}.submit-button:hover{background:#3d6649}.submit-button:disabled{background:#ccc;cursor:not-allowed}.divider{color:#666;margin:.75rem 0;position:relative;text-align:center}.divider:before{background:#e0e0e0;content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:1}.divider-text{background:#fff;padding:0 1rem;position:relative;z-index:2}.sso-button{align-items:center;background:#722f37;border:3px solid #722f37;border-radius:8px;box-shadow:0 6px 20px #722f3766;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;overflow:hidden;padding:16px;position:relative;transition:all .3s ease;width:100%}.sso-button:hover{background:#8b3a42;border-color:#8b3a42;box-shadow:0 8px 25px #722f3780;transform:translateY(-2px)}.sso-button.dealer-sso-button{background:#1e40af;border:3px solid #1e40af;box-shadow:0 6px 20px #1e3a8a66}.sso-button.dealer-sso-button:hover{background:#2563eb;border-color:#2563eb;box-shadow:0 8px 25px #1e3a8a80}.sso-icon{fill:currentColor;height:22px;width:22px}.footer-links{background:#f8fafce6;border-radius:0 0 8px 8px;border-top:1px solid #e0e0e0;padding:1rem 2rem;text-align:center}.footer-link{color:#4a7c59;font-size:.9rem;margin:0 1rem;text-decoration:none;transition:color .3s ease}.footer-link:hover{color:#2d5a3d;text-decoration:underline}.app-list-container{background:linear-gradient(135deg,#f8fffe,#e8f5e8);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.app-header{background:#1a3f2a;box-shadow:0 2px 10px #0000001a;color:#fff;justify-content:space-between;padding:1rem 2rem;position:relative}.app-header,.header-left{align-items:center;display:flex}.logo{font-size:1.3rem;font-weight:700}.header-right{align-items:center;display:flex;margin-left:auto}.user-dropdown-container{position:relative}.user-dropdown-trigger{align-items:center;background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem .75rem;transition:background-color .3s ease}.user-dropdown-trigger:hover{background:#ffffff1a}.user-email-text{font-weight:500}.dropdown-arrow{fill:currentColor;height:16px;transition:transform .3s ease;width:16px}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 8px 25px #00000026;margin-top:.5rem;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.dropdown-logout-button{align-items:center;background:none;border:none;color:#e74c3c;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:background-color .3s ease;width:100%}.dropdown-logout-button:hover{background:#f8f9fa}.logout-icon{fill:currentColor;height:18px;width:18px}.main-content{margin:0 auto;max-width:1200px;padding:2rem}.page-title{color:#2d5a3d;font-size:2rem;font-weight:300;margin-bottom:.5rem}.page-subtitle{color:#666;font-size:1rem;margin-bottom:2rem}.apps-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:2rem}.app-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.app-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.app-card.authorized{border-color:#4a7c59}.app-card.unauthorized{border-color:#e74c3c;opacity:.7}.app-card-header{background:linear-gradient(135deg,#4a7c59,#3d6649);color:#fff;padding:1.5rem;position:relative}.app-card-header.unauthorized{background:linear-gradient(135deg,#e74c3c,#c0392b)}.app-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;font-size:1.5rem;height:48px;justify-content:center;margin-bottom:1rem;width:48px}.app-name{font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.app-description{font-size:.9rem;line-height:1.4;opacity:.9}.access-badge{background:#fff3;border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;position:absolute;right:1rem;top:1rem}.app-card-body{padding:1.5rem}.app-status{border-radius:6px;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.75rem}.status-authorized{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-unauthorized{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.app-actions{display:flex;gap:.75rem;margin-top:1rem}.open-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease}.open-button.authorized{background:#4a7c59;color:#fff}.open-button.authorized:hover{background:#3d6649;transform:translateY(-2px)}.open-button.unauthorized{background:#6c757d;color:#fff;cursor:not-allowed;opacity:.6}.request-button{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;transition:background-color .3s ease;white-space:nowrap}.request-button:hover{background:#138496}.button-icon{fill:currentColor;height:16px;width:16px}.loading-indicator{color:#666;padding:2rem;text-align:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-bottom:1rem;padding:1rem}