:root{--primary: #184f74;--primary-dark: #123c5a;--primary-light: #e6f2f9;--primary-deep: #0f2e44;--secondary: #6366f1;--success: #059669;--warning: #d97706;--danger: #dc2626;--info: #0284c7;--dark: #0f172a;--light: #f8fafc;--border: #e2e8f0;--text: #1e293b;--text-light: #64748b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-size:16px;color-scheme:light dark;color:var(--text);background-color:var(--light);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--light)}html,body,#root{height:100%}#root{display:flex;flex-direction:column;height:100%}.app-layout{display:flex;flex-direction:column;min-height:100vh;background-color:#f3f4f6}.topbar{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-deep) 100%);color:#fff;padding:1rem 1.5rem;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.1)}.menu-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;transition:all .2s ease;display:none}.menu-btn:hover{transform:scale(1.1);opacity:.8}.brand{display:flex;align-items:center;gap:.75rem;flex:1}.brand-logo{width:36px;height:36px;object-fit:contain;background:#fff;border-radius:50%;padding:6px;box-shadow:0 1px 2px #00000014}.brand-logo.rounded{border-radius:8px}.brand-logo.pill{border-radius:12px}.brand-title{color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:-.5px}.topbar-user-info{display:flex;align-items:center;gap:1rem;color:#fff;font-size:.875rem;font-weight:500}.role-badge{background:#fff3;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.5px}.sidebar-footer{border-top:1px solid var(--border);padding:1.5rem;margin-top:auto;display:flex;flex-direction:column;gap:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.user-name{font-weight:700;color:var(--text);font-size:.9rem}.user-role{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.logout-btn{background:#fee2e2;color:#991b1b;border:none;padding:.625rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.875rem;transition:all .2s ease}.logout-btn:hover{background:#fca5a5;color:#7f1d1d}.sidebar{position:fixed;left:0;top:60px;width:250px;height:calc(100vh - 60px);background:#fff;border-right:1px solid var(--border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;z-index:99;transition:transform .3s ease}.sidebar-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 70%,var(--primary-deep) 100%);color:#fff}.sidebar-header.no-title{justify-content:flex-end}.sidebar-header h2{margin:0;font-size:1rem;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.close-btn{background:none;border:none;color:#ffffffe6;font-size:1.25rem;cursor:pointer;padding:.25rem;display:none;transition:all .2s ease}.close-btn:hover{color:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:0;padding:1rem 0;flex:1}.sidebar-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:var(--text);text-decoration:none;transition:all .2s ease;border-left:3px solid transparent;font-weight:500;position:relative}.sidebar-link:hover{background-color:#f0f9ff;color:var(--primary)}.sidebar-link.active{background:linear-gradient(90deg,#f0f9ff 0%,transparent 100%);color:var(--primary);border-left-color:var(--primary);font-weight:700}.sidebar-link .icon{font-size:1.25rem;min-width:1.5rem;display:flex;align-items:center;justify-content:center}.sidebar-link .label{flex:1}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:98;display:none}.main-content{flex:1;margin-left:250px;display:flex;flex-direction:column}.login-container{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;max-height:100vh;background:linear-gradient(135deg,var(--primary-deep) 0%,var(--primary-dark) 50%,var(--primary) 100%);gap:3rem;padding:2rem;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-20%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.2) 0%,transparent 70%);border-radius:50%;animation:float 20s ease-in-out infinite}.login-container:after{content:"";position:absolute;bottom:-20%;left:-5%;width:350px;height:350px;background:radial-gradient(circle,rgba(37,99,235,.2) 0%,transparent 70%);border-radius:50%;animation:float 15s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(15px,15px)}}.login-card{background:#fff;border-radius:16px;padding:2rem 2.5rem;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;justify-content:flex-start;max-width:550px;max-height:calc(100vh - 4rem);overflow-y:auto;margin:auto 0 auto auto;position:relative;z-index:1}.login-header{margin-bottom:1.5rem;flex-shrink:0}.login-logo{display:flex;align-items:center;gap:1rem;padding-bottom:1.25rem;border-bottom:2px solid var(--border)}.logo-icon{width:60px;height:60px;object-fit:contain;flex-shrink:0}.logo-text h1{margin:0 0 .25rem;color:var(--dark);font-size:1.5rem;font-weight:800;letter-spacing:-.5px;line-height:1.2}.logo-text p{margin:0;color:var(--text-light);font-size:.8125rem;font-weight:500;line-height:1.3}.login-form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.75rem}.login-form label{font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--dark);margin-bottom:.5rem}.role-selector{display:flex;flex-direction:column;gap:.625rem;margin-top:.5rem}.role-option{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;background:#fff}.role-option:hover{background-color:#f1f7fb;border-color:#82b3d6;transform:translate(2px)}.role-option.selected{background:linear-gradient(135deg,#f1f7fb 0%,var(--primary-light) 100%);border-color:var(--primary);box-shadow:0 2px 8px #1e40af1f}.role-option input[type=radio]{width:18px;height:18px;margin-top:.125rem;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.role-content{flex:1}.role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.role-header strong{display:block;font-weight:700;font-size:.9375rem;color:var(--dark)}.check-icon{color:var(--primary);font-weight:700;font-size:1rem}.role-content p{margin:0;font-size:.8125rem;color:var(--text-light);line-height:1.5}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#7f1d1d;padding:.75rem 1rem;border-radius:8px;border-left:4px solid #dc2626;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.login-btn{padding:.875rem 1.5rem;font-size:.9375rem;font-weight:700;margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.demo-accounts{border-top:2px solid var(--border);padding-top:1.5rem}.demo-title{margin:0 0 .875rem;color:var(--text);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.demo-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}.demo-btn{background:#fff;color:var(--primary);border:1.5px solid var(--primary);padding:.5rem .75rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.75rem;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;justify-content:center}.demo-btn:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.demo-icon{font-size:.875rem}.login-info{display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;z-index:1;padding:1rem}.info-header{margin-bottom:2rem;text-align:center}.info-header h2{margin:0 0 .75rem;font-size:2rem;font-weight:800;letter-spacing:-.5px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.info-header p{margin:0;font-size:1rem;color:#fffffff2;line-height:1.6}.info-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.info-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;border-radius:12px;border:1px solid rgba(255,255,255,.25);transition:all .3s ease}.info-card:hover{background:#fff3;transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.info-icon{font-size:2.25rem;margin-bottom:.75rem;display:block}.info-card h3{margin:0 0 .5rem;font-size:1.0625rem;font-weight:700;color:#fff}.info-card p{margin:0;color:#ffffffe6;line-height:1.5;font-size:.875rem}@media(max-width:1024px){.login-container{grid-template-columns:1fr;padding:1.5rem}.login-card{max-width:100%}.info-cards{grid-template-columns:1fr}}@media(max-width:768px){.login-info{display:none}.login-container{padding:1rem}}@media(max-width:480px){.login-card{padding:1.5rem}.login-logo{flex-direction:column;text-align:center;padding-bottom:1.5rem}.logo-icon{font-size:3rem}.logo-text h1{font-size:1.5rem}.role-option{padding:1rem}.role-content{font-size:.875rem}.demo-list{grid-template-columns:1fr}}background: linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-deep) 100%); color: white; padding: 2rem 2rem; box-shadow: var(--shadow-lg),inset 0 1px 0 rgba(255,255,255,.1); margin-bottom: 0; border-bottom: 1px solid rgba(255,255,255,.1); } .header h1{font-size:1.75rem;margin:0;font-weight:800;letter-spacing:-.75px;display:flex;align-items:center;gap:.75rem}.nav{display:flex;gap:0;background:#fff;border-bottom:1px solid var(--border);padding:0;margin-bottom:0;box-shadow:var(--shadow-sm)}.nav a{flex:1;color:var(--text-light);text-decoration:none;font-weight:600;padding:1.25rem 1.5rem;border-bottom:2px solid transparent;transition:all .2s ease;text-align:center;font-size:.9rem;letter-spacing:.3px;position:relative}.nav a:hover{background-color:#f0f9ff;color:var(--primary)}.nav a.active{color:var(--primary);border-bottom-color:var(--primary);background:linear-gradient(180deg,#f0f9ff 0%,transparent 100%);font-weight:700}.container{flex:1;max-width:1400px;margin:0 auto;padding:2rem;width:100%}h1{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:var(--dark)}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--dark)}h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--dark)}p{color:var(--text);margin-bottom:.5rem}button,a.btn-primary,a.btn-secondary,a.btn-success,a.btn-danger{border-radius:6px;border:1px solid transparent;padding:.8125rem 1.5rem;font-size:.875rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;letter-spacing:.25px;text-transform:uppercase;box-shadow:var(--shadow-md);text-decoration:none}button:hover,a.btn-primary:hover,a.btn-secondary:hover,a.btn-success:hover,a.btn-danger:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}button:disabled{opacity:.6;cursor:not-allowed;transform:none;background-color:#cbd5e1}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%)}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#374151)}.btn-success{background:linear-gradient(135deg,var(--success) 0%,#047857 100%);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#047857,#065f46)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#b91c1c 100%);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.65rem;font-weight:700;color:var(--dark);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}input,select,textarea{width:100%;padding:.8125rem 1rem;font-size:.9375rem;border:1px solid var(--border);border-radius:6px;font-family:inherit;background-color:#fff;color:var(--text);transition:all .2s ease}input:hover,select:hover,textarea:hover{border-color:#cbd5e1;background-color:#fafbfc}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1e40af14,inset 0 1px 2px #0000000d;background-color:#fff}input::placeholder{color:#94a3b8}input:disabled,select:disabled,textarea:disabled{background-color:#f9fafb;cursor:not-allowed;color:var(--text-light)}textarea{resize:vertical;min-height:100px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1rem}table th{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);font-weight:700;padding:1.125rem 1rem;text-align:left;color:#fff;border-bottom:none;font-size:.8125rem;text-transform:uppercase;letter-spacing:.75px}table td{padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--text);font-size:.9375rem}table tr:last-child td{border-bottom:none}table tbody tr:hover{background-color:#f0f9ff}.card{background:#fff;border-radius:8px;padding:1.75rem;margin-bottom:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.card h2,.card h3{margin-top:0;margin-bottom:1rem}.status-badge{display:inline-block;padding:.4rem .875rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.75px}.status-draft{background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:#1f2937}.status-confirmed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-awaiting_approval{background:linear-gradient(135deg,#fef3c7,#fde047);color:#92400e}.status-cancelled{background:linear-gradient(135deg,#fee2e2,#fca5a5);color:#7f1d1d}.status-closed{background:linear-gradient(135deg,var(--primary-light) 0%,#c9dfef 100%);color:#0c2d6b}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.text-muted{color:var(--text-light);font-size:.9rem}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.grid-cards .card{margin-bottom:0}.homepage{max-width:1400px;margin:0 auto}.hero-section{text-align:center;padding:2rem 0 3rem;margin-bottom:2rem}.hero-section h1{font-size:2.5rem;font-weight:800;color:var(--dark);margin:0 0 .75rem;letter-spacing:-1px}.subtitle{font-size:1.125rem;color:var(--text-light);margin:0;font-weight:500}.section-title{font-size:1.75rem;font-weight:700;color:var(--dark);margin:0 0 1.5rem;text-align:center;letter-spacing:-.5px}.modules-section{margin-bottom:3rem}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:2rem}.module-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border);transition:all .3s ease;display:flex;flex-direction:column;height:100%}.module-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.module-icon{font-size:3rem;margin-bottom:1rem;text-align:center}.module-title{font-size:1.25rem;font-weight:700;color:var(--primary);margin:0 0 .75rem;text-align:center}.module-description{color:var(--text);line-height:1.6;margin:0 0 1.5rem;text-align:center;flex-grow:1}.module-features{display:flex;flex-direction:column;gap:.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.feature-item{color:var(--text-light);font-size:.9rem;display:flex;align-items:center;gap:.5rem}.features-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;padding:3rem 2rem;margin-bottom:3rem;border:1px solid #0284c7}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature-card{text-align:center}.feature-icon{font-size:2.5rem;margin-bottom:.75rem}.feature-card h3{font-size:1.125rem;font-weight:700;color:var(--primary);margin:0 0 .5rem}.feature-card p{color:#475569;font-size:.9375rem;line-height:1.6;margin:0}.getting-started-section{margin-bottom:3rem}.card-professional{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:var(--shadow-md);border:1px solid var(--border)}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.step-card{display:flex;gap:1rem;padding:1.5rem;background:#f8fafc;border-radius:8px;border-left:4px solid var(--primary);transition:all .2s ease}.step-card:hover{background:#f0f9ff;transform:translate(4px)}.step-number{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#0c4a6e 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;flex-shrink:0}.step-content h4{font-size:1rem;font-weight:700;color:var(--dark);margin:0 0 .5rem}.step-content p{font-size:.875rem;color:var(--text-light);margin:0;line-height:1.5}.tips-section{margin-bottom:2rem}.tips-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:var(--shadow-md);border-left:4px solid var(--primary)}.tips-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.tips-icon{font-size:2rem}.tips-header h3{font-size:1.25rem;font-weight:700;color:var(--primary);margin:0}.tips-list{display:flex;flex-direction:column;gap:.75rem}.tip-item{display:flex;align-items:flex-start;gap:.75rem;color:#475569;line-height:1.6}.tip-bullet{color:var(--primary);font-weight:700;font-size:1.25rem;line-height:1.2}@media(max-width:1024px){.container{max-width:900px;padding:1.5rem}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sidebar{width:220px}.main-content{margin-left:220px}.hero-section h1{font-size:2rem}.modules-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.features-section{padding:2rem 1.5rem}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media(max-width:768px){.container,.topbar{padding:1rem}.menu-btn{display:block}.topbar-user-info{display:none}.topbar h1{font-size:1.2rem}.sidebar{transform:translate(-100%);width:100%;max-width:280px;top:0;height:100vh;border-right:none;border-left:1px solid var(--border)}.sidebar.open{transform:translate(0)}.sidebar-overlay,.close-btn{display:block}.main-content{margin-left:0}.hero-section{padding:1.5rem 0 2rem}.hero-section h1{font-size:1.75rem}.subtitle{font-size:1rem}.section-title{font-size:1.5rem}.modules-grid{grid-template-columns:1fr;gap:1.5rem}.module-card{padding:1.5rem}.features-section{padding:2rem 1rem;margin-bottom:2rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.steps-grid{grid-template-columns:1fr;gap:1rem}.card-professional,.tips-card{padding:1.5rem}.header{padding:1.5rem 1rem}.header h1{font-size:1.5rem}.nav{flex-direction:column}.nav a{padding:.875rem 1rem;font-size:.875rem;text-align:left}.section-header{flex-direction:column;align-items:flex-start}table{font-size:.875rem}table th{padding:.75rem .5rem}table td{padding:.625rem .5rem}button{padding:.6875rem 1rem;font-size:.8125rem}.grid-cards{grid-template-columns:1fr;gap:1rem}}@media(max-width:480px){.container{padding:.75rem}.topbar{padding:.75rem;gap:.5rem}.topbar h1{font-size:1rem}.hero-section{padding:1rem 0 1.5rem}.hero-section h1{font-size:1.5rem}.subtitle{font-size:.9rem}.section-title{font-size:1.25rem}.module-card{padding:1.25rem}.module-icon{font-size:2.5rem}.module-title{font-size:1.125rem}.features-section{padding:1.5rem 1rem}.feature-icon{font-size:2rem}.card-professional{padding:1.25rem}.step-card{padding:1rem}.step-number{width:36px;height:36px;font-size:1rem}.tips-card{padding:1.25rem}.header{padding:1rem .75rem}.header h1{font-size:1.25rem}.nav a{padding:.75rem .5rem;font-size:.75rem}h1{font-size:1.5rem}h2{font-size:1.25rem}.card{padding:1rem}.form-group{margin-bottom:1rem}input,select,textarea,button{padding:.7rem .875rem;font-size:16px}.sidebar-header h2{font-size:.875rem}.sidebar-link{padding:.875rem 1rem}.sidebar-link .icon{font-size:1rem}}.header h1{font-size:1.4rem}.nav{flex-direction:column}.nav a{border-bottom:none;border-left:4px solid transparent;text-align:left;padding:.75rem 1rem}.nav a:hover,.nav a.active{border-left-color:var(--primary);border-bottom-color:transparent}}{}
