:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: rgba(30, 41, 59, .7);--border-color: rgba(255, 255, 255, .08);--text-primary: #f8fafc;--text-secondary: #94a3b8;--color-primary: #0d9488;--color-primary-hover: #14b8a6;--color-secondary: #3b82f6;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow: 0 10px 30px -10px rgba(0, 0, 0, .3);--glass-filter: blur(12px);--border-radius: 12px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);min-height:100vh;line-height:1.5;overflow-x:hidden}.glass-card{background:var(--bg-card);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow);transition:var(--transition)}.glass-card:hover{transform:translateY(-2px);border-color:#0d94884d}.btn{font-family:var(--font-family);font-weight:500;font-size:.95rem;padding:.75rem 1.5rem;border-radius:8px;border:none;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--color-primary),#0f766e);color:#fff;box-shadow:0 4px 15px #0d948833}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary));box-shadow:0 6px 20px #14b8a64d}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--text-secondary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border-radius:8px;background:#0f172a99;border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-family);font-size:.95rem;transition:var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d948826}.badge{display:inline-flex;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:50px;text-transform:uppercase}.badge-pending{background:#f59e0b26;color:var(--color-warning)}.badge-confirmed{background:#3b82f626;color:var(--color-secondary)}.badge-completed{background:#10b98126;color:var(--color-success)}.badge-cancelled{background:#ef444426;color:var(--color-danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem}.logo-section{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}.logo-section h1{font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,var(--color-primary-hover),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:8px;transition:var(--transition);font-weight:500;border:none;background:none;width:100%;text-align:left;cursor:pointer}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:#0d94881a;border-left:3px solid var(--color-primary);padding-left:calc(1rem - 3px)}.sidebar-footer{border-top:1px solid var(--border-color);padding-top:1rem;margin-top:auto}.main-content{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.top-bar{height:70px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 2rem}.page-title h2{font-size:1.25rem;font-weight:600}.user-profile-menu{display:flex;align-items:center;gap:.75rem}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.content-body{padding:2rem;flex-grow:1}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at 10% 20%,rgba(13,148,136,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(59,130,246,.1) 0%,transparent 40%),var(--bg-primary)}.auth-card{width:100%;max-width:440px}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{font-size:1.75rem;margin-bottom:.5rem}.auth-header p{color:var(--text-secondary)}.auth-toggle{text-align:center;margin-top:1rem;font-size:.9rem;color:var(--text-secondary)}.auth-toggle button{background:none;border:none;color:var(--color-primary-hover);cursor:pointer;font-weight:600;font-family:inherit;margin-left:.25rem}.auth-toggle button:hover{text-decoration:underline}.landing-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;background:radial-gradient(circle at 10% 20%,rgba(13,148,136,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(59,130,246,.1) 0%,transparent 40%),var(--bg-primary);text-align:center}.hero-badge{background:#0d94881a;color:var(--color-primary-hover);padding:.5rem 1.25rem;border-radius:50px;font-size:.85rem;font-weight:600;margin-bottom:1.5rem;border:1px solid rgba(13,148,136,.2);display:inline-block;letter-spacing:.05em;text-transform:uppercase}.landing-title{font-size:2.75rem;font-weight:800;line-height:1.2;margin-bottom:1rem;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-title span{background:linear-gradient(135deg,var(--color-primary-hover),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-subtitle{font-size:1.15rem;color:var(--text-secondary);max-width:600px;margin-bottom:3rem}.portal-roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;width:100%;max-width:1000px;margin-bottom:3rem}.role-preview-card{padding:2rem;text-align:left;display:flex;flex-direction:column}.role-icon-box{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.role-preview-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.role-preview-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.role-tag{align-self:flex-start;margin-top:auto;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary-hover);padding-top:1rem}
