:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#1a1d29;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#f9a824;text-decoration:inherit}a:hover{color:#cce0a3}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#1a1d29}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#2d3142;cursor:pointer;transition:border-color .25s}button:hover{border-color:#f9a824}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.services-page{min-height:100vh;background:var(--background-dark);color:var(--text-dark);padding-top:80px}.services-container{max-width:1400px;margin:0 auto;padding:0 4%}.services-hero{background:linear-gradient(180deg,var(--background-darker) 0%,var(--background-dark) 100%);padding:8rem 0 6rem;position:relative;border-bottom:1px solid var(--border-dark);text-align:center}.services-page-title{font-size:4.5rem;font-weight:300;color:var(--text-light);margin-bottom:1.5rem;letter-spacing:-.02em}.services-page-subtitle{font-size:1.5rem;color:var(--text-muted);font-weight:300;letter-spacing:.01em}.services-main{padding:6rem 0}.service-section{margin-bottom:6rem;padding-bottom:6rem;border-bottom:1px solid var(--border-dark)}.service-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.service-section-header{display:flex;align-items:center;gap:2rem;margin-bottom:3rem}.section-number{font-size:5rem;font-weight:700;color:var(--accent-color);opacity:.3;line-height:1;min-width:120px}.service-section-header h2{font-size:3rem;font-weight:300;color:var(--text-light);margin:0;letter-spacing:-.01em}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-left:140px}.service-item{background:transparent;border-left:2px solid var(--border-dark);padding:2rem 0 2rem 2rem;transition:all .3s ease}.service-item:hover{border-left-color:var(--accent-color);padding-left:2.5rem}.service-item h4{font-size:1.4rem;font-weight:600;color:var(--text-light);margin-bottom:.75rem;letter-spacing:-.01em}.service-item p{font-size:1rem;color:var(--text-muted);line-height:1.7;margin:0}.services-cta{background:var(--background-darker);padding:6rem 0;text-align:center;border-top:1px solid var(--border-dark)}.services-cta h2{font-size:3rem;font-weight:300;color:var(--text-light);margin-bottom:1.5rem;letter-spacing:-.01em}.services-cta p{font-size:1.3rem;color:var(--text-muted);margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.cta-button{padding:1.25rem 3rem;background:var(--accent-color);color:var(--background-dark);border:none;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--secondary-color);transition:left .3s ease;z-index:-1}.cta-button:hover:before{left:0}.cta-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #f9a8244d}@media (max-width: 1200px){.section-number{font-size:4rem;min-width:100px}.service-grid{margin-left:120px}.service-section-header h2{font-size:2.5rem}}@media (max-width: 968px){.services-hero{padding:6rem 0 4rem}.services-page-title{font-size:3rem}.services-page-subtitle{font-size:1.2rem}.service-section-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-number{font-size:3rem;min-width:auto}.service-section-header h2{font-size:2rem}.service-grid{margin-left:0;grid-template-columns:1fr}.service-item{padding-left:1.5rem}.service-item:hover{padding-left:2rem}.services-cta h2{font-size:2.5rem}.services-cta p{font-size:1.1rem}}@media (max-width: 640px){.services-hero{padding:5rem 0 3rem}.services-page-title{font-size:2.5rem}.services-page-subtitle{font-size:1.1rem}.services-main{padding:4rem 0}.service-section{margin-bottom:4rem;padding-bottom:4rem}.section-number{font-size:2.5rem}.service-section-header h2{font-size:1.75rem}.service-item h4{font-size:1.2rem}.service-item p{font-size:.95rem}.services-cta{padding:4rem 0}.services-cta h2{font-size:2rem}.services-cta p{font-size:1rem}.cta-button{padding:1rem 2rem;font-size:1rem}}.login-page{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;padding:2rem;overflow-x:hidden;position:relative}.login-container{max-width:440px;width:100%;background:#1a496340;backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%);border-radius:0;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff26 inset;border:1px solid rgba(255,255,255,.2);overflow:hidden;position:relative;z-index:10}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(204,224,163,.8),transparent)}@media (min-width: 1024px){.login-container{max-width:480px;width:90%}}.login-header{padding:3rem 2rem 2rem;text-align:center;background:transparent;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.login-header .back-button{position:absolute;top:1.25rem;left:1.25rem;background:#ffffff1f;border:1.5px solid rgba(255,255,255,.2);color:#fffffff2;padding:.625rem 1.125rem;border-radius:24px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.3px}.login-header .back-button:hover{border-color:#cce0a3;color:#cce0a3;background:#cce0a333;box-shadow:0 4px 16px #cce0a34d;transform:translate(-2px)}.login-logo{height:70px;width:auto;margin-bottom:1.5rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.login-header h1{font-size:2.25rem;font-weight:300;letter-spacing:-.5px;color:#fff;margin-bottom:.75rem;text-shadow:0 2px 20px rgba(0,0,0,.5)}.login-header p{color:#ffffffd9;font-size:1rem;font-weight:300;letter-spacing:.3px;text-shadow:0 1px 10px rgba(0,0,0,.4)}.portal-options{display:grid;grid-template-columns:1fr 1fr;gap:0}.portal-option{padding:3rem 2rem;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden}@media (min-width: 1024px){.portal-option{padding:4rem 3rem}}.portal-option:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.1) 100%);opacity:0;transition:opacity .3s ease}.portal-option:hover:before{opacity:1}.client-portal{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-right:1px solid #e2e8f0}.client-portal:hover{background:linear-gradient(135deg,#eff6ff,#dbeafe);transform:translateY(-5px);box-shadow:0 10px 30px #2563eb1a}.director-portal{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.director-portal:hover{background:linear-gradient(135deg,#ecfdf5,#d1fae5);transform:translateY(-5px);box-shadow:0 10px 30px #22c55e1a}.portal-icon{font-size:3rem;margin-bottom:1rem}.portal-option h3{font-size:1.5rem;font-weight:600;color:#1a4963;margin-bottom:1rem}.portal-option p{color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.portal-features{display:flex;flex-direction:column;gap:.5rem;text-align:left}.portal-features span{color:#374151;font-size:.9rem;font-weight:500}.login-form{padding:2.5rem 2rem 2rem;max-width:400px;margin:0 auto}@media (min-width: 1024px){.login-form{padding:3rem 2.5rem 2.5rem;max-width:500px}}.error-message{background:#dc262633;border:1.5px solid rgba(254,202,202,.4);color:#fecaca;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.75rem;text-align:center;font-weight:500;font-size:.95rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 1px 5px rgba(0,0,0,.5);box-shadow:0 4px 12px #dc262633}.form-group{margin-bottom:1.75rem}.form-group label{display:block;margin-bottom:.75rem;font-weight:500;font-size:.95rem;letter-spacing:.3px;color:#fff!important;text-shadow:none}.form-group input{width:100%;padding:1.125rem 1.25rem;border:1.5px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;font-weight:300;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffff14;color:#000!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.3px}.form-group input::placeholder{color:#ffffff80;font-weight:300}.form-group input:hover{border-color:#ffffff59;background:#ffffff1f}.form-group input:focus{outline:none!important;border-color:#cce0a3!important;background:#ffffff26;box-shadow:0 0 0 3px #cce0a340 ! important,0 8px 24px #0000004d!important;transform:translateY(-1px)}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus,.form-group input:-webkit-autofill:active{-webkit-text-fill-color:#000000!important;-webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.12) inset!important;transition:background-color 5000s ease-in-out 0s;border:1.5px solid rgba(255,255,255,.2)!important;color:#000!important}.login-button{width:100%;padding:1.125rem 2rem;background:linear-gradient(135deg,#cce0a3,#b8d68c);color:#1a4963;border:none;border-radius:12px;font-size:1.05rem;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:.5rem;margin-bottom:1.75rem;text-shadow:none;box-shadow:0 4px 12px #cce0a34d,0 2px 4px #0003}.login-button:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#b8d68c,#a3c578);color:#1a4963;box-shadow:0 8px 24px #cce0a399,0 4px 8px #0000004d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.demo-credentials{background:#f0f9ff;border:1px solid #bae6fd;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem}.demo-credentials p{margin:.25rem 0;color:#0369a1}.demo-credentials strong{color:#1e40af}.login-help{text-align:center;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}.login-help a{color:#cce0a3;text-decoration:none;font-weight:500;font-size:.95rem;transition:all .3s ease;text-shadow:0 1px 5px rgba(0,0,0,.4);position:relative}.login-help a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#cce0a3;transition:width .3s ease}.login-help a:hover{color:#fff}.login-help a:hover:after{width:100%}.login-help p{margin-top:.75rem;color:#ffffffa6;font-size:.9rem;font-weight:300;text-shadow:0 1px 5px rgba(0,0,0,.4)}@media (max-width: 768px){.login-page{padding:1rem}.login-container{max-width:100%}.login-header{padding:1.5rem 1rem}.login-header h1{font-size:1.5rem}.login-logo{height:50px}.portal-options{grid-template-columns:1fr}.client-portal{border-right:none;border-bottom:1px solid #e2e8f0}.portal-option{padding:2rem 1.5rem}.portal-option h3{font-size:1.3rem}.portal-features{text-align:center}.login-form{padding:1.5rem}}@media (max-width: 480px){.login-header h1{font-size:1.3rem}.login-header p{font-size:1rem}.portal-option{padding:1.5rem 1rem}.portal-icon{font-size:2.5rem}.portal-option h3{font-size:1.2rem}.portal-option p{font-size:.9rem}.form-group input{padding:.8rem}.login-button{padding:.8rem 1.5rem;font-size:1rem}}.messages-active .portal-main{display:flex;flex-direction:column;height:calc(100vh - 80px);overflow:hidden;padding:0!important;margin:0;width:100%;max-width:100%}.messages-container{display:flex;flex-direction:column;height:100%;background:#fff;margin:0;overflow:hidden}.messages-header{background:linear-gradient(135deg,#1a4963,#2d6a8a);padding:1.5rem 2rem;display:flex;align-items:center;gap:1.25rem;color:#fff;flex-shrink:0}.messages-header svg{color:#cce0a3;flex-shrink:0}.messages-header h2{margin:0 0 .25rem;font-size:1.75rem;font-weight:600;color:#fff}.messages-header p{margin:0;font-size:.95rem;color:#ffffffd9;font-weight:300}.new-message-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#cce0a3;color:#1a4963;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.new-message-button:hover{background:#b8d68c;transform:translateY(-2px);box-shadow:0 4px 12px #cce0a366}.new-message-button:active{transform:translateY(0)}.nav-menu-button{background:#ffffff26;border:none;color:#fff;padding:.75rem;border-radius:10px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.nav-menu-button:hover{background:#ffffff40;transform:scale(1.05)}.messages-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#1f2937;gap:1rem;font-weight:500;font-size:1.1rem}.messages-loading svg{color:#1a4963;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.messages-thread{flex:1;overflow-y:auto;padding:1.5rem;background:linear-gradient(to bottom,#f9fafb,#fff);min-height:0}.messages-list{display:flex;flex-direction:column;gap:1rem;max-width:900px;margin:0 auto}.no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#9ca3af;gap:1rem;padding:3rem}.no-messages svg{color:#d1d5db}.no-messages h3{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.no-messages p{margin:0;font-size:1rem;color:#4b5563}.message-bubble{max-width:85%;padding:1rem 1.25rem;border-radius:16px;animation:slideIn .3s ease-out;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble.sent{align-self:flex-end;background:linear-gradient(135deg,#1a4963,#2d6a8a);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #1a49634d}.message-bubble.received{align-self:flex-start;background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000000d}.message-bubble-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;gap:1rem}.message-sender{font-weight:600;font-size:.9rem}.message-bubble.sent .message-sender{color:#cce0a3}.message-bubble.received .message-sender{color:#1a4963}.message-time{font-size:.75rem;opacity:.7;white-space:nowrap}.message-subject{font-size:.85rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.message-bubble.sent .message-subject{color:#ffffffe6;border-bottom-color:#ffffff4d}.message-bubble.received .message-subject{color:#1f2937;border-bottom-color:#0000001a}.message-text{font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.message-status{display:flex;justify-content:flex-end;margin-top:.5rem}.message-status svg{opacity:.7}.message-status svg.read{color:#cce0a3}.message-status svg.sent{color:#fff9}.message-compose{padding:1.25rem 1.5rem;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 10px #0000000d;flex-shrink:0;z-index:10}.message-subject-input{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:10px;font-size:.95rem;margin-bottom:.75rem;transition:all .3s ease;color:#1f2937;background:#fff}.message-subject-input:focus{outline:none;border-color:#1a4963;box-shadow:0 0 0 3px #1a49631a}.message-input-container{display:flex;gap:1rem;align-items:flex-end}.message-input-container textarea{flex:1;padding:1rem 1.25rem;border:1.5px solid #e5e7eb;border-radius:12px;font-size:.95rem;font-family:inherit;resize:none;transition:all .3s ease;line-height:1.5;color:#1f2937;background:#fff}.message-input-container textarea:focus{outline:none;border-color:#1a4963;box-shadow:0 0 0 3px #1a49631a}.message-input-container textarea:disabled{background:#f9fafb;cursor:not-allowed;opacity:.6}.send-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.75rem;background:linear-gradient(135deg,#1a4963,#2d6a8a);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 12px #1a49634d}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #1a496366;background:linear-gradient(135deg,#2d6a8a,#1a4963)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.messages-content-split{display:flex;flex:1;overflow:hidden}.messages-sidebar{width:320px;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.messages-sidebar h3{padding:1.5rem 1.5rem 1rem;margin:0;font-size:1.1rem;font-weight:600;color:#1f2937;border-bottom:1px solid #e5e7eb}.conversations-list{flex:1;overflow-y:auto;padding:.5rem}.no-conversations{padding:2rem 1rem;text-align:center;color:#1f2937;font-weight:500}.conversation-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid transparent;border-radius:12px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;position:relative}.conversation-item:hover{border-color:#1a4963;box-shadow:0 2px 8px #1a49631a}.conversation-item.active{background:linear-gradient(135deg,#1a4963,#2d6a8a);color:#fff;border-color:#1a4963;box-shadow:0 4px 12px #1a49634d}.conversation-item.unread{border-color:#cce0a3;background:#fefce8}.conversation-item.unread.active{background:linear-gradient(135deg,#1a4963,#2d6a8a)}.conversation-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#cce0a3,#b8d68c);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#1a4963;flex-shrink:0}.conversation-item.active .conversation-avatar{background:#cce0a333;color:#cce0a3}.conversation-info{flex:1;min-width:0}.conversation-name{font-weight:600;font-size:.95rem;margin-bottom:.25rem;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item.active .conversation-name{color:#fff}.conversation-preview{font-size:.85rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.conversation-item.active .conversation-preview{color:#fffc}.conversation-time{font-size:.75rem;color:#9ca3af}.conversation-item.active .conversation-time{color:#ffffffb3}.unread-indicator{position:absolute;top:1rem;right:1rem;width:10px;height:10px;background:#ef4444;border-radius:50%;box-shadow:0 0 0 3px #ef444433;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.messages-main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.no-thread-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#1f2937;gap:1rem;padding:3rem}.no-thread-selected svg{color:#9ca3af}.no-thread-selected h3{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.no-thread-selected p{margin:0;font-size:1rem;color:#4b5563}.thread-header{padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.thread-client-info{display:flex;align-items:center;gap:1rem}.thread-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#cce0a3,#b8d68c);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;color:#1a4963;flex-shrink:0}.thread-client-info h4{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:#1f2937}.thread-client-info p{margin:0;font-size:.85rem;color:#6b7280}.messages-content-split{display:flex;flex:1;overflow:hidden;min-height:0}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.new-message-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#1a4963}.close-modal{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-modal:hover{background:#f3f4f6;color:#1f2937}.client-selection{padding:2rem}.modal-instruction{margin:0 0 1.5rem;color:#1f2937;font-size:1rem;font-weight:500}.client-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.client-select-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.client-select-item:hover{background:#f3f4f6;border-color:#1a4963;transform:translate(4px)}.client-avatar-small{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#cce0a3,#b8d68c);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#1a4963;flex-shrink:0}.client-select-info{flex:1}.client-select-name{font-weight:600;font-size:1rem;color:#1f2937;margin-bottom:.25rem}.client-select-email{font-size:.875rem;color:#6b7280}.new-message-form{padding:2rem}.selected-client-info{padding:1rem;background:#f9fafb;border-radius:10px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;color:#1f2937;font-size:1rem}.change-client{background:none;border:none;color:#1a4963;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease}.change-client:hover{background:#e5e7eb}.message-textarea-modal{width:100%;padding:1rem;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:inherit;resize:vertical;transition:all .3s ease;color:#1f2937;background:#fff}.message-textarea-modal:focus{outline:none;border-color:#1a4963;box-shadow:0 0 0 3px #1a49631a}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-btn{padding:.75rem 1.5rem;background:#f3f4f6;color:#6b7280;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#e5e7eb;color:#1f2937}.send-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#1a4963,#2d6a8a);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #1a49634d}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #1a496366}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.messages-container{border-radius:0;height:calc(100vh - 140px)}.messages-header{padding:1.25rem 1.5rem}.messages-header h2{font-size:1.35rem}.messages-thread{padding:1rem}.message-bubble{max-width:85%}.message-compose{padding:1rem}.message-input-container{flex-direction:column;align-items:stretch}.send-button{width:100%;justify-content:center}.messages-content-split{flex-direction:column}.messages-sidebar{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid #e5e7eb}.conversation-item{padding:.75rem}.conversation-avatar{width:40px;height:40px;font-size:1rem}.thread-avatar{width:48px;height:48px;font-size:1.25rem}.messages-header{flex-direction:column;gap:1rem;align-items:stretch}.new-message-button{width:100%;justify-content:center}.new-message-modal{max-width:95%;margin:1rem}.modal-header,.client-selection,.new-message-form{padding:1.25rem}.modal-actions{flex-direction:column}.cancel-btn,.send-btn{width:100%;justify-content:center}}.messages-thread::-webkit-scrollbar,.conversations-list::-webkit-scrollbar{width:8px}.messages-thread::-webkit-scrollbar-track,.conversations-list::-webkit-scrollbar-track{background:#f1f5f9}.messages-thread::-webkit-scrollbar-thumb,.conversations-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.messages-thread::-webkit-scrollbar-thumb:hover,.conversations-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.client-portal{min-height:100vh;width:100vw;background:#f8fafc;display:flex;flex-direction:column;overflow-x:hidden}.portal-body.messages-active~*{background:#fff}body:has(.messages-active) .client-portal{background:#fff}.portal-body{flex:1;display:flex;max-width:1400px;margin:0 auto;width:100%;overflow:hidden}.portal-body.messages-active{max-width:100%;margin:0}@media (min-width: 1024px){.portal-body{max-width:1600px}.portal-body.messages-active{max-width:100%}}.nav-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.95rem;font-weight:500;color:#6b7280;text-align:left;position:relative}.nav-icon{margin-right:.75rem;flex-shrink:0}.notification-dot{position:absolute;top:.5rem;right:.5rem;width:8px;height:8px;background:#f9a824;border-radius:50%}.portal-main{flex:1;padding:0;overflow-y:auto;border:none;background:transparent}@media (min-width: 1024px){.portal-main{padding:0}}.dashboard-content{padding:2rem}.dashboard-content h2{font-size:2rem;font-weight:700;color:#1a4963;margin-bottom:.5rem}.welcome-section p{color:#6b7280;margin-bottom:2rem}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:1.5rem}@media (min-width: 1024px){.dashboard-grid{gap:2rem}}.dashboard-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.dashboard-card h3{font-size:1.2rem;font-weight:600;color:#1a4963;margin-bottom:1rem}.project-overview{grid-row:span 2}.project-info h4{font-size:1.1rem;font-weight:600;color:#374151;margin-bottom:1rem}.project-status{margin-bottom:1.5rem}.status-badge.in-progress{background:#fef3c7;color:#d97706}.status-badge.paid{background:#d1fae5;color:#059669}.status-badge.draft{background:#f3f4f6;color:#6b7280}.progress-section{margin-top:1.5rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-weight:500;color:#374151}.progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1a4963,#cce0a3);border-radius:4px;transition:width .5s ease}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{text-align:center}.stat-number{font-size:2rem;font-weight:700;color:#1a4963;margin-bottom:.25rem}.stat-label{font-size:.8rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:center;gap:1rem}.activity-icon{font-size:1.2rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:50%}.activity-content p{margin:0;font-weight:500;color:#374151}.activity-content span{font-size:.8rem;color:#6b7280}.projects-content h2{font-size:2rem;font-weight:700;color:#1a4963;margin-bottom:1.5rem}.project-card{background:#fff;border-radius:12px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.project-header h3{font-size:1.5rem;font-weight:600;color:#1a4963;margin:0 0 .5rem}.project-header p{color:#6b7280;margin:0}.project-timeline h4{font-size:1.2rem;font-weight:600;color:#374151;margin-bottom:1.5rem}.timeline{display:flex;flex-direction:column;gap:1rem}.timeline-item{display:flex;align-items:center;gap:1rem;position:relative}.timeline-marker{width:12px;height:12px;border-radius:50%;background:#e2e8f0;border:3px solid white;box-shadow:0 0 0 2px #e2e8f0}.timeline-item.completed .timeline-marker{background:#059669;box-shadow:0 0 0 2px #059669}.timeline-item.in-progress .timeline-marker{background:#d97706;box-shadow:0 0 0 2px #d97706}.timeline-content h5{margin:0 0 .25rem;font-weight:600;color:#374151}.timeline-content p{margin:0;font-size:.9rem;color:#6b7280}.invoices-content h2{font-size:2rem;font-weight:700;color:#1a4963;margin-bottom:1.5rem}.invoices-list{display:flex;flex-direction:column;gap:1rem}.invoice-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;align-items:center}.invoice-info h4{margin:0 0 .5rem;font-weight:600;color:#1a4963}.invoice-info p{margin:0 0 .25rem;color:#374151}.invoice-date{font-size:.9rem;color:#6b7280}.invoice-amount{text-align:center}.amount{display:block;font-size:1.5rem;font-weight:700;color:#1a4963;margin-bottom:.5rem}.invoice-actions{display:flex;gap:.5rem}.pay-button{background:linear-gradient(135deg,#1a4963,#cce0a3);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.pay-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a49634d}.view-button{background:transparent;color:#6b7280;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.view-button:hover{border-color:#cce0a3;color:#1a4963}.messages-content h2{font-size:2rem;font-weight:700;color:#1a4963;margin-bottom:1.5rem}.messages-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.message-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;position:relative}.message-card.unread{border-left:4px solid #f9a824;background:#fffbeb}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.message-header h4{margin:0;font-weight:600;color:#1a4963}.message-date{font-size:.9rem;color:#6b7280}.message-card p{margin:0;color:#374151;line-height:1.6}.unread-indicator{position:absolute;top:1rem;right:1rem;width:8px;height:8px;background:#f9a824;border-radius:50%}.message-compose{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.message-compose h3{margin:0 0 1rem;font-weight:600;color:#1a4963}.message-compose textarea{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;resize:vertical;font-family:inherit;margin-bottom:1rem}.message-compose textarea:focus{outline:none;border-color:#cce0a3}.send-button{background:linear-gradient(135deg,#1a4963,#cce0a3);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.send-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a49634d}@media (max-width: 1024px){.header-content{padding:0 1.5rem}.portal-main{padding:0}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.header-content{padding:0 1rem}.portal-brand h1{font-size:1.2rem}.portal-brand p{font-size:.8rem}.portal-logo{height:35px}.logout-button{padding:.4rem .9rem;font-size:.85rem}.portal-body{flex-direction:column}.portal-sidebar{width:100%;padding:0;border-right:none;border-bottom:1px solid #e2e8f0}.nav-items{flex-direction:row;overflow-x:auto;padding:0;-webkit-overflow-scrolling:touch}.nav-item{min-width:110px;justify-content:center;padding:.75rem 1rem;flex-direction:column;white-space:nowrap;font-size:.85rem}.nav-icon{font-size:1.3rem}.portal-main{padding:0}.dashboard-content h2{font-size:1.5rem}.welcome-section{margin-bottom:1.5rem}.dashboard-grid{grid-template-columns:1fr;gap:1.5rem}.dashboard-card{padding:1.25rem}.dashboard-card h3{font-size:1.1rem}.stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.stat-number{font-size:1.75rem}.stat-label{font-size:.75rem}.projects-content h2{font-size:1.5rem}.project-card{padding:1.5rem}.project-header{flex-direction:column;gap:1rem;align-items:flex-start}.timeline-item{font-size:.95rem}.invoices-content h2{font-size:1.5rem}.invoice-card{flex-direction:column;gap:1rem;padding:1.25rem}.invoice-info,.invoice-amount{text-align:left}.invoice-actions{justify-content:stretch;width:100%}.pay-button,.view-button{flex:1;padding:.6rem 1rem}.messages-content h2{font-size:1.5rem}.message-card,.message-compose{padding:1.25rem}.message-compose textarea{font-size:.95rem}}@media (max-width: 480px){.header-content{padding:0 .75rem}.portal-brand h1{font-size:1rem}.portal-brand p{display:none}.portal-logo{height:30px}.logout-button{padding:.4rem .75rem;font-size:.8rem}.nav-item{min-width:90px;padding:.6rem .75rem;font-size:.8rem}.nav-icon{font-size:1.2rem}.portal-main{padding:0}.dashboard-content h2,.projects-content h2,.invoices-content h2,.messages-content h2{font-size:1.3rem}.stats-grid{grid-template-columns:1fr;gap:.5rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.7rem}.project-header h3{font-size:1.2rem}.invoice-card{padding:1rem}.invoice-actions{flex-direction:column;gap:.5rem}.pay-button,.view-button{width:100%}.message-card,.message-compose{padding:1rem}}.owner-portal{min-height:100vh;width:100vw;background:#f5f7fa;display:flex;flex-direction:column;overflow-x:hidden}.portal-header{background:linear-gradient(135deg,#1a4963,#2a5f7f);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a;width:100%}.header-content{width:100%;margin:0;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.portal-logo{height:50px}.portal-brand h1{font-size:1.5rem;margin:0;color:#fff}.portal-brand p{margin:0;opacity:.9;font-size:.9rem}.logout-button{padding:.75rem 1.5rem;background:#fff;color:#8b4513;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:#cce0a3;transform:translateY(-2px)}.portal-body{display:flex;flex:1;width:100%;min-height:calc(100vh - 90px);overflow:hidden}.portal-sidebar{width:280px;min-width:280px;background:#fff;padding:2rem 0;box-shadow:2px 0 10px #0000000d;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:none;border:none;border-left:4px solid transparent;cursor:pointer;font-size:1rem;transition:all .3s ease;text-align:left;border-radius:8px;color:#6b7280;font-weight:500}.nav-item:hover{background:#f8fafc;border-left-color:#cce0a3;color:#1a4963}.nav-item.active{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-left-color:#1a4963;font-weight:600;color:#1a4963}.nav-icon{font-size:1.5rem;flex-shrink:0}.inline-icon{display:inline-block;vertical-align:middle;margin-right:.5rem}.portal-main{flex:1;padding:0;overflow-y:auto;width:100%;max-width:100%;border:none;background:transparent}.owner-dashboard{width:100%;max-width:100%;padding:2rem 3rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h2{font-size:2.5rem;color:#1a4963;margin-bottom:.5rem;font-weight:700}.dashboard-header p{color:#6b7280;font-size:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem}.stat-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;align-items:center;gap:1.5rem;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #0000001a}.stat-icon{font-size:3rem;color:#1a4963;display:flex;align-items:center;justify-content:center}.stat-content h3{font-size:2.5rem;margin:0;color:#1a4963}.stat-content p{margin:0;color:#666;font-size:1rem}.quick-actions{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 10px #0000000d}.quick-actions h3{margin-top:0;color:#1a4963}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.action-btn{padding:1rem 2rem;background:#fff;border:2px solid #cce0a3;color:#1a4963;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn:hover{background:#cce0a3;transform:translateY(-2px)}.action-btn.primary{background:#1a4963;color:#fff;border-color:#1a4963}.action-btn.primary:hover{background:#cce0a3;color:#1a4963}.users-management{width:100%;max-width:100%;padding:2rem 3rem}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.users-header h2{font-size:2.5rem;color:#1a4963;margin:0;font-weight:700}.add-user-btn{padding:1rem 2rem;background:#1a4963;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.add-user-btn:hover{background:#cce0a3;color:#1a4963;transform:translateY(-2px)}.users-table{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.table-header,.table-row{display:grid;grid-template-columns:2fr 2.5fr 1fr 1.5fr 1.5fr 2fr;padding:1rem;gap:1rem;align-items:center}.table-header{background:#f5f7fa;font-weight:600;color:#1a4963;border-bottom:2px solid #e0e0e0}.table-row{border-bottom:1px solid #e0e0e0;transition:background .2s ease}.table-row:hover{background:#f9fafb}.user-name-cell{display:flex;align-items:center;gap:.5rem}.you-badge{background:#cce0a3;color:#1a4963;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.role-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-block;text-transform:capitalize}.client-id-cell{font-family:monospace;font-size:.85rem;color:#666}.edit-btn,.delete-btn,.save-btn,.cancel-btn-small{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.85rem;display:flex;align-items:center;gap:.4rem}.edit-btn{background:#1a4963;color:#fff}.edit-btn:hover{background:#123648}.delete-btn{background:#dc3545;color:#fff}.delete-btn:hover{background:#c82333}.save-btn{background:#28a745;color:#fff}.save-btn:hover{background:#218838}.cancel-btn-small{background:#6c757d;color:#fff}.cancel-btn-small:hover{background:#5a6268}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal-content{background:#fff;padding:2.5rem;border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{margin-top:0;margin-bottom:1.5rem;color:#1a4963!important;font-size:1.75rem!important;font-weight:700!important;border-bottom:3px solid #cce0a3;padding-bottom:.75rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700!important;color:#1f2937!important;font-size:1rem!important}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff!important;color:#1f2937!important;font-family:inherit;font-weight:500}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#9ca3af!important;opacity:1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#1a4963;box-shadow:0 0 0 3px #1a49631a;background:#fff!important}.form-group textarea{resize:vertical;min-height:80px}.form-group select option{background:#fff;color:#1f2937;padding:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #f3f4f6}.cancel-btn,.submit-btn{padding:.875rem 2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.cancel-btn{background:#f3f4f6;color:#374151}.cancel-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.submit-btn{background:#1a4963;color:#fff}.submit-btn:hover{background:#14394f;transform:translateY(-1px);box-shadow:0 4px 12px #1a49634d}.loading{text-align:center;padding:3rem;color:#666;font-size:1.2rem}.permissions-management{width:100%;max-width:100%;padding:2rem 3rem}.permissions-header{margin-bottom:2rem}.permissions-header h2{font-size:2.5rem;color:#1a4963;margin-bottom:.5rem;font-weight:700}.permissions-header p{color:#6b7280;font-size:1.1rem}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.permission-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000000d}.permission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #f5f7fa}.permission-header h3{margin:0;color:#1a4963;font-size:1.3rem}.access-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase}.access-badge.full,.access-badge.elevated{background:#1a4963;color:#fff}.access-badge.standard{background:#f9a824;color:#fff}.access-badge.client{background:#cce0a3;color:#1a4963}.permission-description{margin-bottom:1.5rem}.permission-description p{color:#666;font-size:.95rem}.permission-list{display:flex;flex-direction:column;gap:1rem}.permission-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:8px;transition:background .2s ease}.permission-item.enabled{background:#f0f9f4}.permission-item.disabled{background:#fef2f2;opacity:.7}.permission-icon{font-size:1.2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.permission-item.enabled .permission-icon{color:#10b981}.permission-item.disabled .permission-icon{color:#ef4444}.permission-item span:last-child{font-size:.9rem;line-height:1.5;color:#333}.permissions-note{background:#f5f7fa;padding:2rem;border-radius:12px;border-left:4px solid #1a4963}.permissions-note h4{margin-top:0;color:#1a4963;display:flex;align-items:center;gap:.5rem}.permissions-note ul{margin:1rem 0 0;padding-left:1.5rem}.permissions-note li{margin-bottom:.75rem;color:#666;line-height:1.6}@media (min-width: 1920px){.portal-main{padding:0}.stats-grid{grid-template-columns:repeat(4,1fr);gap:2.5rem}.services-list{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:2.5rem}}@media (max-width: 1024px){.header-content{padding:0 1.5rem}.portal-main{padding:0}.portal-sidebar{width:240px;min-width:240px}.stats-grid,.permissions-grid{grid-template-columns:repeat(2,1fr)}.services-list{grid-template-columns:1fr}}@media (max-width: 768px){.header-content{padding:0 1rem}.portal-brand h1{font-size:1.2rem}.portal-brand p{font-size:.8rem}.portal-logo{height:35px}.logout-button{padding:.5rem 1rem;font-size:.9rem}.portal-body{flex-direction:column}.portal-sidebar{width:100%;padding:0;box-shadow:none;border-bottom:2px solid #e0e0e0}.nav-items{flex-direction:row;overflow-x:auto;padding:0;-webkit-overflow-scrolling:touch}.nav-item{flex-direction:column;padding:.75rem 1rem;text-align:center;white-space:nowrap;min-width:90px;border-left:none;border-bottom:3px solid transparent;font-size:.85rem}.nav-item:hover{background:#f5f7fa;border-bottom-color:#cce0a3}.nav-item.active{border-left-color:transparent;border-bottom-color:#1a4963}.nav-icon{font-size:1.3rem}.portal-main{padding:0}.dashboard-header h2{font-size:1.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.5rem}.stat-icon{font-size:2.5rem}.stat-content h3{font-size:2rem}.action-buttons{flex-direction:column}.action-btn{width:100%}.users-header{flex-direction:column;gap:1rem;align-items:stretch}.users-header h2{font-size:1.5rem}.add-user-btn{width:100%}.users-table{overflow-x:hidden}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;margin-bottom:1rem;border:1px solid #e0e0e0;border-radius:8px}.table-row>div{display:flex;flex-direction:column}.table-row>div:before{content:attr(data-label);font-weight:600;display:block;margin-bottom:.5rem;color:#1a4963;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.user-name-cell{flex-direction:row!important;align-items:center;gap:.5rem}.user-name-cell:before{margin-bottom:0!important}.actions-cell{flex-direction:row!important;gap:.5rem}.actions-cell:before{width:100%;margin-bottom:.5rem}.edit-btn,.delete-btn,.save-btn,.cancel-btn-small{flex:1;padding:.75rem 1rem}.modal-content{width:95%;padding:1.5rem}.modal-content h3{font-size:1.3rem}.permissions-header h2{font-size:1.5rem}.permissions-grid{grid-template-columns:1fr;gap:1.5rem}.permission-card,.permissions-note{padding:1.5rem}}.pricing-management{width:100%;max-width:100%;padding:2rem 3rem}.pricing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.pricing-header h2{font-size:2.5rem;color:#1a4963;margin:0;font-weight:700}.add-category-btn{padding:1rem 2rem;background:#1a4963;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.add-category-btn:hover{background:#cce0a3;color:#1a4963;transform:translateY(-2px)}.pricing-content{display:flex;flex-direction:column;gap:2rem}.category-section{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;overflow:hidden;border:2px solid #e5e7eb}.category-header{background:linear-gradient(135deg,#1a4963,#2a5f7f);padding:2rem;border-bottom:4px solid #cce0a3;display:flex;justify-content:space-between;align-items:center;gap:1rem}.category-info h3{margin:0 0 .5rem;color:#fff;font-size:1.75rem;font-weight:700}.category-info p{margin:0;color:#ffffffe6;font-size:1rem}.category-actions{display:flex;gap:.5rem;flex-wrap:wrap}.add-service-btn{padding:.75rem 1.5rem;background:#cce0a3;color:#1a4963;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.add-service-btn:hover{background:#1a4963;color:#fff;transform:translateY(-2px)}.services-list{padding:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem}.no-services{color:#999;font-style:italic;text-align:center;padding:2rem}.service-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.75rem;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.service-card:hover{border-color:#1a4963;box-shadow:0 8px 24px #1a496326;transform:translateY(-2px)}.service-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.service-header h4{margin:0 0 .5rem;color:#1a4963;font-size:1.2rem}.service-header .status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;margin-right:.5rem}.service-header .status-badge.active{background:#d1fae5;color:#059669}.service-header .status-badge.inactive{background:#fee2e2;color:#dc2626}.range-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;background:#dbeafe;color:#1e40af}.service-actions{display:flex;gap:.5rem}.edit-btn-small,.delete-btn-small{padding:.4rem .75rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.85rem;display:flex;align-items:center;gap:.4rem}.edit-btn-small{background:#1a4963;color:#fff}.edit-btn-small:hover{background:#123648}.delete-btn-small{background:#dc3545;color:#fff}.delete-btn-small:hover{background:#c82333}.service-description{color:#4b5563;margin-bottom:1.25rem;line-height:1.7;font-size:.95rem}.service-pricing{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;margin-bottom:1.25rem}.price-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e5e7eb;border-radius:10px;transition:all .3s ease}.price-item:hover{border-color:#1a4963;transform:translateY(-1px)}.price-label{font-size:.875rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.price-value{font-size:1.25rem;font-weight:700;color:#1a4963}.surcharges-info{background:linear-gradient(135deg,#fef3c7,#fde68a);border:3px solid #fbbf24;border-radius:12px;padding:1.25rem;margin-top:1.25rem;box-shadow:0 2px 8px #fbbf2433}.internal-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .875rem;background:#dc2626;color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;margin-bottom:.75rem;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 2px 4px #dc26264d}.surcharges-info strong{color:#92400e;display:block;margin-bottom:.5rem;font-size:1.05rem}.surcharges-info p{margin:0;color:#78350f;font-size:.9rem;line-height:1.5}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d}.empty-state h3{color:#1a4963;margin-bottom:.5rem}.empty-state p{color:#999}.pricing-modal{max-width:600px}.service-modal{max-width:850px}.pricing-section,.surcharges-section{background:#f8f9fa!important;border:2px solid #e5e7eb;padding:1.75rem;border-radius:12px;margin-bottom:1.5rem}.pricing-section label,.surcharges-section label{color:#1f2937!important;font-weight:700!important}.pricing-section h4,.surcharges-section h4{margin:0 0 .75rem;color:#1a4963!important;font-size:1.2rem;font-weight:700}.section-note{margin:0 0 1.25rem;color:#374151!important;font-size:.9rem;font-style:italic;padding:.75rem;background:#f9fafb;border-left:4px solid #3b82f6;border-radius:6px;font-weight:500}.internal-note{color:#991b1b!important;font-weight:700;border-left-color:#dc2626;background:#fef2f2}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.checkbox-group{margin-top:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:1rem;background:#fff;border:2px solid #d1d5db;border-radius:8px;transition:all .3s ease}.checkbox-label:hover{border-color:#1a4963;background:#f9fafb}.checkbox-label input[type=checkbox]{width:22px;height:22px;cursor:pointer;accent-color:#1a4963}.checkbox-label span{font-weight:600;color:#1f2937!important;font-size:.95rem}@media (max-width: 1024px){.services-list,.service-pricing,.pricing-grid{grid-template-columns:1fr}}@media (max-width: 768px){.pricing-header{flex-direction:column;gap:1rem;align-items:stretch}.add-category-btn{width:100%}.category-header{flex-direction:column;align-items:stretch}.category-actions{width:100%}.category-actions button{flex:1}.services-list{padding:1rem;grid-template-columns:1fr}.service-header{flex-direction:column}.service-actions{width:100%}.service-actions button{flex:1}.service-pricing{grid-template-columns:1fr}.pricing-modal,.service-modal{max-width:95%}}@media (max-width: 480px){.portal-brand{gap:.5rem}.portal-brand h1{font-size:1rem}.portal-brand p{display:none}.portal-logo{height:30px}.logout-button{padding:.5rem .75rem;font-size:.85rem}.nav-item{min-width:80px;padding:.5rem .75rem}.nav-icon{font-size:1.2rem}.dashboard-header h2,.users-header h2,.permissions-header h2{font-size:1.3rem}.stat-card{padding:1.25rem}.stat-icon{font-size:2rem}.stat-content h3{font-size:1.75rem}.stat-content p{font-size:.9rem}.modal-content{padding:1.25rem}.modal-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.permission-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.director-portal{min-height:100vh;width:100vw;background:#f8fafc;display:flex;flex-direction:column;overflow-x:hidden}.portal-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 0;box-shadow:0 2px 4px #0000000d}.header-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.portal-brand{display:flex;align-items:center;gap:1rem}.portal-logo{height:40px;width:auto}.portal-brand h1{font-size:1.5rem;font-weight:700;color:#1a4963;margin:0}.portal-brand p{color:#6b7280;margin:0;font-size:.9rem}.logout-button{background:transparent;border:2px solid #e2e8f0;color:#6b7280;padding:.5rem 1rem;border-radius:20px;cursor:pointer;transition:all .3s ease;font-weight:500}.logout-button:hover{border-color:#f9a824;color:#1a4963;background:#f9a8241a}.portal-body{flex:1;display:flex;max-width:1400px;margin:0 auto;width:100%}@media (min-width: 1024px){.portal-body{max-width:1800px}}.portal-sidebar{width:250px;background:#fff;border-right:1px solid #e2e8f0;padding:2rem 0}@media (min-width: 1024px){.portal-sidebar{width:300px;padding:3rem 0}}.nav-items{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.95rem;font-weight:500;color:#6b7280;text-align:left}.nav-item:hover{background:#f8fafc;color:#1a4963}.nav-item.active{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1a4963;font-weight:600}.nav-icon{font-size:1.2rem}.portal-main{flex:1;padding:2rem;overflow-y:auto}@media (min-width: 1024px){.portal-main{padding:3rem 4rem}}.director-dashboard{display:flex;flex-direction:column;gap:2rem}.dashboard-header h2{font-size:2rem;font-weight:700;color:#1a4963;margin-bottom:.5rem}.dashboard-header p{color:#6b7280;margin:0}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}@media (min-width: 1024px){.stats-overview{grid-template-columns:repeat(4,1fr);gap:2rem}}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;display:flex;align-items:center;gap:1rem}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:12px}.stat-content h3{font-size:2rem;font-weight:700;color:#1a4963;margin:0 0 .25rem}.stat-content p{color:#6b7280;margin:0;font-size:.9rem}.dashboard-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem}@media (min-width: 1024px){.dashboard-content{gap:3rem}}.recent-clients,.financial-overview{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.recent-clients h3,.financial-overview h3{font-size:1.2rem;font-weight:600;color:#1a4963;margin-bottom:1rem}.clients-list{display:flex;flex-direction:column;gap:1rem}.client-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:8px}.client-info h4{margin:0 0 .25rem;font-weight:600;color:#374151}.client-info p{margin:0;color:#6b7280;font-size:.9rem}.client-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.active{background:#fef3c7;color:#d97706}.status-badge.completed{background:#d1fae5;color:#059669}.status-badge.pending{background:#e0e7ff;color:#4338ca}.progress-mini{width:80px;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1a4963,#cce0a3);border-radius:2px;transition:width .5s ease}.financial-stats{display:flex;flex-direction:column;gap:1rem}.financial-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.financial-item:last-child{border-bottom:none}.amount{font-weight:600;color:#1a4963}.amount.pending{color:#d97706}.amount.positive{color:#059669}.clients-management{display:flex;flex-direction:column;gap:2rem}.clients-header{display:flex;justify-content:space-between;align-items:center}.clients-header h2{font-size:2rem;font-weight:700;color:#1a4963;margin:0}.add-client-btn{background:linear-gradient(135deg,#1a4963,#cce0a3);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.add-client-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a49634d}.clients-table{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.table-header{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr;gap:1rem;padding:1rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#374151;font-size:.9rem}.table-row{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;align-items:center}.table-row:last-child{border-bottom:none}.client-cell h4{margin:0 0 .25rem;font-weight:600;color:#1a4963}.client-cell p{margin:0;color:#6b7280;font-size:.8rem}.progress-cell{display:flex;align-items:center;gap:.5rem}.progress-bar-small{width:60px;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.value-cell{font-weight:600;color:#1a4963}.actions-cell{display:flex;gap:.5rem}.action-btn{padding:.25rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.action-btn.view{color:#1a4963}.action-btn.edit{color:#d97706}.action-btn:hover{background:#f8fafc}.projects-management{display:flex;flex-direction:column;gap:2rem}.projects-management h2{font-size:2rem;font-weight:700;color:#1a4963;margin:0 0 .5rem}.projects-management p{color:#6b7280;margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.project-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.project-header h4{margin:0;font-weight:600;color:#1a4963}.project-client{margin-bottom:1.5rem}.project-client p{margin:0 0 .5rem;color:#374151;font-size:.9rem}.project-progress{margin-bottom:1.5rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.9rem}.progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.project-actions{display:flex;gap:.5rem}.project-btn{flex:1;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.project-btn:first-child{background:linear-gradient(135deg,#1a4963,#cce0a3);color:#fff}.project-btn.secondary{background:transparent;color:#6b7280;border:1px solid #e2e8f0}.project-btn:hover{transform:translateY(-1px)}.financials-management{display:flex;flex-direction:column;gap:2rem}.financials-management h2{font-size:2rem;font-weight:700;color:#1a4963;margin:0}.financial-dashboard{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.financial-card{background:#fff;border-radius:12px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.financial-card h3{font-size:1.3rem;font-weight:600;color:#1a4963;margin-bottom:1.5rem}.revenue-stats{display:flex;flex-direction:column;gap:1.5rem}.revenue-item{display:flex;justify-content:space-between;align-items:center}.big-amount{font-size:2rem;font-weight:700;color:#1a4963}.invoice-summary{text-align:center}.pending-amount{font-size:2.5rem;font-weight:700;color:#d97706;display:block;margin-bottom:.5rem}.invoice-summary p{color:#6b7280;margin-bottom:1.5rem}.manage-invoices-btn{background:linear-gradient(135deg,#d97706,#f9a824);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.manage-invoices-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d977064d}@media (max-width: 1024px){.header-content{padding:0 1.5rem}.portal-main{padding:2rem}.stats-overview{grid-template-columns:repeat(2,1fr)}.dashboard-content{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.header-content{padding:0 1rem}.portal-brand h1{font-size:1.2rem}.portal-brand p{font-size:.8rem}.portal-logo{height:35px}.logout-button{padding:.4rem .9rem;font-size:.85rem}.portal-body{flex-direction:column}.portal-sidebar{width:100%;padding:0;border-right:none;border-bottom:1px solid #e2e8f0}.nav-items{flex-direction:row;overflow-x:auto;padding:0;-webkit-overflow-scrolling:touch}.nav-item{min-width:110px;justify-content:center;padding:.75rem 1rem;flex-direction:column;white-space:nowrap;font-size:.85rem}.nav-icon{font-size:1.3rem}.portal-main{padding:1rem}.dashboard-header h2{font-size:1.5rem}.stats-overview{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.25rem}.stat-icon{font-size:1.75rem;width:50px;height:50px}.stat-content h3{font-size:1.75rem}.stat-content p{font-size:.85rem}.dashboard-content{grid-template-columns:1fr;gap:1.5rem}.recent-clients,.financial-overview{padding:1.25rem}.recent-clients h3,.financial-overview h3{font-size:1.1rem}.client-item{flex-direction:column;align-items:flex-start;gap:.75rem}.client-progress{align-items:flex-start;width:100%}.progress-mini{width:100%}.clients-header{flex-direction:column;gap:1rem;align-items:stretch}.clients-management h2{font-size:1.5rem}.add-client-btn{width:100%}.clients-table{overflow-x:hidden}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;margin-bottom:1rem;border:1px solid #e2e8f0;border-radius:8px}.client-cell h4{font-size:1rem}.progress-cell{flex-direction:column;align-items:flex-start;gap:.5rem}.progress-bar-small{width:100%}.actions-cell{gap:.5rem;width:100%}.action-btn{flex:1;padding:.5rem 1rem}.projects-management h2{font-size:1.5rem}.projects-grid{grid-template-columns:1fr;gap:1.25rem}.project-card{padding:1.25rem}.project-header{flex-direction:column;gap:.75rem;align-items:flex-start}.financials-management h2{font-size:1.5rem}.financial-dashboard{grid-template-columns:1fr;gap:1.5rem}.financial-card{padding:1.5rem}.financial-card h3{font-size:1.1rem}.big-amount{font-size:1.75rem}.pending-amount{font-size:2rem}}@media (max-width: 480px){.header-content{padding:0 .75rem}.portal-brand h1{font-size:1rem}.portal-brand p{display:none}.portal-logo{height:30px}.logout-button{padding:.4rem .75rem;font-size:.8rem}.nav-item{min-width:90px;padding:.6rem .75rem;font-size:.8rem}.nav-icon{font-size:1.2rem}.portal-main{padding:.75rem}.dashboard-header h2,.clients-management h2,.projects-management h2,.financials-management h2{font-size:1.3rem}.stat-card{flex-direction:row;padding:1rem}.stat-icon{font-size:1.5rem;width:45px;height:45px}.stat-content h3{font-size:1.5rem}.stat-content p{font-size:.75rem}.table-row{padding:1.25rem}.project-card{padding:1rem}.project-header h4{font-size:1rem}.financial-card{padding:1.25rem}.big-amount{font-size:1.5rem}.pending-amount{font-size:1.75rem}.manage-invoices-btn{padding:.65rem 1.25rem;font-size:.9rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1a4963;--secondary-color: #cce0a3;--accent-color: #f9a824;--text-dark: #e5e7eb;--text-light: #ffffff;--text-muted: #9ca3af;--background-dark: #1a1d29;--background-darker: #252836;--card-dark: #2d3142;--border-dark: #363948}html,body{width:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--background-dark);hyphens:none;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none}.app{width:100%;overflow-x:hidden}.container{width:100%;margin:0 auto;padding:0 8%}.container-constrained{max-width:1400px;margin:0 auto;padding:0 8%}@media (max-width: 1400px){.container,.container-constrained{padding:0 6%}}@media (max-width: 1024px){.container,.container-constrained{padding:0 5%}}@media (max-width: 768px){.container,.container-constrained{padding:0 4%}}@media (max-width: 480px){.container,.container-constrained{padding:0 4%}}.header{position:fixed;top:0;left:0;right:0;background:#1a1d29f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-dark);z-index:1000;padding:1rem 0;width:100%}.header .container{display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:1rem}.brand-text-logo{font-size:1.8rem;font-weight:700;margin:0;color:var(--accent-color);white-space:nowrap}.logo-image{height:40px;width:auto;object-fit:contain}.menu-container{position:relative}.menu-toggle{background:transparent;border:none;border-radius:50px;padding:.75rem 1rem;cursor:pointer;transition:all .3s ease;z-index:1001;position:relative}.menu-toggle:hover,.menu-toggle.active{background:#f9a8241a}.menu-icon{display:flex;flex-direction:column;gap:4px;width:24px;height:18px}.menu-icon span{display:block;height:2px;width:100%;background:var(--accent-color);border-radius:2px;transition:all .3s ease}.menu-toggle:hover .menu-icon span{background:var(--accent-color)}.menu-toggle.active .menu-icon span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.menu-toggle.active .menu-icon span:nth-child(2){opacity:0}.menu-toggle.active .menu-icon span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.menu-toggle.active:hover .menu-icon span{background:var(--accent-color)}.mega-menu{position:fixed;top:77px;left:0;right:0;width:100%;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:999}.mega-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.mega-menu-container{background:var(--background-darker);padding:2rem 4%;box-shadow:0 8px 32px #00000080;border-bottom:1px solid var(--border-dark);border-radius:0;display:flex;justify-content:center;align-items:stretch;gap:0;max-width:1600px;margin:0 auto}.mega-menu-item{flex:1;padding:1.5rem 2rem;border-left:2px solid var(--border-dark);border-radius:0;text-decoration:none;background:transparent;border-top:none;border-right:none;border-bottom:none;cursor:pointer;font-family:inherit;text-align:left;transition:all .3s ease;min-width:0}.mega-menu-item:first-child{border-left:none}.mega-menu-item:hover{border-left-color:var(--accent-color);background:#f9a8240d}.mega-menu-item h4{font-size:1.1rem;font-weight:600;color:var(--text-light);margin:0 0 .5rem;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mega-menu-item p{font-size:.9rem;color:var(--text-muted);margin:0;line-height:1.5}@media (max-width: 968px){.mega-menu{top:67px}.mega-menu-container{flex-direction:column;padding:1.5rem 4%;gap:0}.mega-menu-item{border-left:2px solid var(--border-dark);border-top:none;border-radius:0;padding:1.25rem 1.5rem;margin-bottom:.75rem}.mega-menu-item:last-child{margin-bottom:0}.mega-menu-item:first-child{border-left:2px solid var(--border-dark)}.mega-menu-item h4{white-space:normal}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--background-dark) 0%,var(--background-darker) 100%);padding:120px 0 80px;position:relative;width:100vw;overflow:hidden}.hero-container{display:flex;justify-content:center;align-items:center}.hero:before{content:"";position:absolute;top:20%;right:-10%;width:40%;height:60%;background:radial-gradient(ellipse at center,rgba(204,224,163,.3) 0%,transparent 70%);border-radius:50%;z-index:0}.hero-mountain-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.mountain-layer{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.mountain-background{z-index:1;opacity:1}.mountain-1{z-index:19}.mountain-2{z-index:18}.mountain-3{z-index:17}.mountain-4{z-index:16}.mountain-5{z-index:15}.mountain-6{z-index:14}.mountain-7{z-index:13}.mountain-8{z-index:12}.mountain-9{z-index:11}.mountain-10{z-index:10}.mountain-11{z-index:9}.mountain-12{z-index:8}.mountain-13{z-index:7}.mountain-14{z-index:6}.mountain-15{z-index:5}.mountain-16{z-index:4}.mountain-17{z-index:3}.mountain-18{z-index:2}.slide-left,.slide-right,.slide-top,.slide-bottom{opacity:0;animation:none}.hero-mountain-container.loaded .slide-left{animation:slideRotateLeft .7s cubic-bezier(.34,1.56,.64,1) forwards}.hero-mountain-container.loaded .slide-right{animation:slideRotateRight .7s cubic-bezier(.34,1.56,.64,1) forwards}.hero-mountain-container.loaded .slide-top{animation:slideRotateTop .7s cubic-bezier(.34,1.56,.64,1) forwards}.hero-mountain-container.loaded .slide-bottom{animation:slideRotateBottom .7s cubic-bezier(.34,1.56,.64,1) forwards}.hero-mountain-container.loaded .mountain-18{animation-delay:.1s}.hero-mountain-container.loaded .mountain-17{animation-delay:.15s}.hero-mountain-container.loaded .mountain-16{animation-delay:.2s}.hero-mountain-container.loaded .mountain-15{animation-delay:.25s}.hero-mountain-container.loaded .mountain-14{animation-delay:.3s}.hero-mountain-container.loaded .mountain-13{animation-delay:.35s}.hero-mountain-container.loaded .mountain-12{animation-delay:.4s}.hero-mountain-container.loaded .mountain-11{animation-delay:.45s}.hero-mountain-container.loaded .mountain-10{animation-delay:.5s}.hero-mountain-container.loaded .mountain-9{animation-delay:.55s}.hero-mountain-container.loaded .mountain-8{animation-delay:.6s}.hero-mountain-container.loaded .mountain-7{animation-delay:.65s}.hero-mountain-container.loaded .mountain-6{animation-delay:.7s}.hero-mountain-container.loaded .mountain-5{animation-delay:.75s}.hero-mountain-container.loaded .mountain-4{animation-delay:.8s}.hero-mountain-container.loaded .mountain-3{animation-delay:.85s}.hero-mountain-container.loaded .mountain-2{animation-delay:.9s}.hero-mountain-container.loaded .mountain-1{animation-delay:.95s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideRotateLeft{0%{transform:translate(-120%) rotate(-25deg);opacity:0}70%{transform:translate(3%) rotate(5deg);opacity:1}to{transform:translate(0) rotate(0);opacity:1}}@keyframes slideRotateRight{0%{transform:translate(120%) rotate(25deg);opacity:0}70%{transform:translate(-3%) rotate(-5deg);opacity:1}to{transform:translate(0) rotate(0);opacity:1}}@keyframes slideRotateTop{0%{transform:translateY(-120%) rotate(-20deg);opacity:0}70%{transform:translateY(3%) rotate(4deg);opacity:1}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes slideRotateBottom{0%{transform:translateY(120%) rotate(25deg);opacity:0}70%{transform:translateY(-3%) rotate(-5deg);opacity:1}to{transform:translateY(0) rotate(0);opacity:1}}.hero-content{max-width:500px;position:relative;z-index:20;text-align:center;background:#1a1d29d9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:2.5rem;border-radius:0;box-shadow:0 8px 32px #000c;opacity:0;animation:fadeInContent .8s ease-out 1.5s forwards}@keyframes fadeInContent{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-size:2rem;font-weight:300;line-height:1.3;margin-bottom:1rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.brand-name{font-weight:700;color:var(--accent-color)}.hero-tagline{font-size:1rem;font-style:italic;color:var(--secondary-color);margin:.5rem 0 1.5rem;text-shadow:0 1px 2px rgba(0,0,0,.3);letter-spacing:.05em}.hero-subtitle{font-size:1.5rem;font-weight:700;line-height:1.4;margin-bottom:1.5rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.highlight-text{color:var(--secondary-color)}.hero-description{font-size:1rem;color:#e5e7eb;margin-bottom:2rem;line-height:1.7;text-shadow:0 1px 2px rgba(0,0,0,.3)}.hero-cta{margin-top:1.5rem}.cta-button{display:inline-block;padding:1rem 2.5rem;background:var(--accent-color);color:var(--background-dark);text-decoration:none;border-radius:50px;font-weight:600;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 20px #f9a82466}.cta-button:hover{background:var(--secondary-color);color:var(--background-dark);transform:translateY(-3px);box-shadow:0 8px 30px #cce0a366}.section-title{font-size:2.5rem;font-weight:300;color:var(--text-dark);margin-bottom:3rem;text-align:center}.services-overview{padding:80px 0;background:var(--background-darker);width:100vw;overflow-x:hidden}.services-simple-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:3rem;margin:3rem 0;max-width:1200px;margin-left:auto;margin-right:auto}.service-simple-card{background:var(--card-dark);padding:2.5rem;border-radius:0;border-left:3px solid var(--accent-color)}.service-simple-card:hover{border-left-color:var(--secondary-color)}.service-number{font-size:3rem;font-weight:700;color:var(--accent-color);opacity:.3;margin-bottom:1rem;line-height:1}.service-simple-card h3{font-size:1.8rem;font-weight:600;color:var(--text-light);margin-bottom:1rem;letter-spacing:-.01em}.service-simple-card p{font-size:1.05rem;color:var(--text-muted);line-height:1.7;margin:0}.services-intro{max-width:1000px;margin:0 auto;text-align:center}.services-description{font-size:1.2rem;color:var(--text-muted);line-height:1.7;margin-bottom:2rem}.services-cta{margin-top:4rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.services-button{display:inline-block;padding:1rem 2.5rem;background:var(--accent-color);color:var(--background-dark);text-decoration:none;border-radius:0;font-weight:600;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 20px #f9a82466;border:none;cursor:pointer}.services-button:hover{background:var(--secondary-color);color:var(--background-dark);transform:translateY(-3px);box-shadow:0 8px 30px #cce0a366}.services-note{color:var(--text-muted);font-size:.95rem;font-style:italic}.services-page{padding:100px 0;background:var(--background-light);width:100vw;overflow-x:hidden}.services-page-subtitle{text-align:center;font-size:1.2rem;color:var(--text-muted);max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.questionnaire{max-width:1200px;margin:0 auto}.question-group{margin-bottom:3rem;padding:2.5rem;background:var(--background-soft);border-radius:20px;border:1px solid rgba(26,73,99,.1)}.question-group h3{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin-bottom:2rem;text-align:center}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.option-card{display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--background-light);border:2px solid rgba(26,73,99,.1);border-radius:15px;cursor:pointer;transition:all .3s ease;position:relative}.option-card:hover{border-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 5px 20px #1a49631a}.option-card input{position:absolute;opacity:0;cursor:pointer}.option-card input:checked+span{color:var(--primary-color);font-weight:600}.option-card:has(input:checked){border-color:var(--accent-color);background:#f9a8241a}.option-card span{font-weight:500;color:var(--text-dark);text-align:center}.services-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.service-category{background:var(--background-light);padding:2rem;border-radius:15px;border:1px solid rgba(26,73,99,.1)}.service-category h4{font-size:1.3rem;font-weight:600;color:var(--primary-color);margin-bottom:1.5rem;text-align:center;padding-bottom:1rem;border-bottom:2px solid var(--secondary-color)}.service-options{display:flex;flex-direction:column;gap:.75rem}.service-options label{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.service-options label:hover{background:#cce0a31a}.service-options input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-color)}.service-options label:has(input:checked){background:#f9a8241a;color:var(--primary-color);font-weight:500}.questionnaire-submit{text-align:center;margin-top:3rem;padding:2.5rem;background:var(--primary-color);border-radius:20px}.submit-questionnaire{padding:1.2rem 3rem;background:var(--accent-color);color:var(--primary-color);border:none;border-radius:50px;font-weight:700;font-size:1.2rem;cursor:pointer;transition:all .3s ease;margin-bottom:1rem}.submit-questionnaire:hover{background:var(--secondary-color);transform:translateY(-3px);box-shadow:0 8px 30px #f9a8244d}.questionnaire-note{color:#fffc;font-size:1rem;margin:0}.portfolio{padding:100px 0;background:var(--background-light);width:100vw;overflow-x:hidden}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.portfolio-card{background:var(--background-light);padding:2.5rem 2rem;border-radius:20px;border:1px solid rgba(26,73,99,.1);transition:all .3s ease;position:relative}.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 15px 50px #1a496326}.portfolio-number{position:absolute;top:1.5rem;right:1.5rem;font-size:3rem;font-weight:200;color:var(--secondary-color);opacity:.7}.portfolio-card h4{font-size:1.4rem;font-weight:600;color:var(--primary-color);margin-bottom:1rem;margin-top:1rem}.portfolio-card p{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.6}.portfolio-category{display:inline-block;background:var(--accent-color);color:var(--primary-color);padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.about{padding:100px 0;background:var(--background-dark);width:100%;overflow-x:hidden}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:center}.about-text .section-title{text-align:left;margin-bottom:2rem}.about-description{font-size:1.2rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.7;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.about-stats{display:flex;flex-direction:column;gap:2rem}.stat-item{text-align:center;padding:2rem;background:var(--card-dark);border-radius:20px;border:1px solid var(--border-dark)}.stat-number{font-size:3rem;font-weight:700;color:var(--accent-color);margin-bottom:.5rem}.stat-label{color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.contact{padding:100px 0;background:var(--background-darker);color:var(--text-light);width:100vw;overflow-x:hidden}.contact .section-title{color:var(--text-light)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2rem}.contact-info h2{font-size:2.5rem;font-weight:300;margin-bottom:1rem;color:var(--text-light)}.contact-info p{font-size:1.2rem;color:#fffc;margin-bottom:2rem}.contact-details{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;flex-direction:column;gap:.5rem}.contact-item span{font-size:.9rem;color:var(--secondary-color);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.contact-item a{color:var(--text-light);text-decoration:none;font-size:1.1rem;transition:color .3s ease}.contact-item a:hover{color:var(--accent-color)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-input,.form-textarea{padding:1rem 1.5rem;border:1px solid rgba(255,255,255,.2);border-radius:0;background:#ffffff1a;color:var(--text-light);font-size:1rem;transition:all .3s ease}.form-input option{background:var(--primary-color);color:var(--text-light)}.form-input optgroup{background:var(--primary-color);color:var(--secondary-color);font-weight:600;font-style:normal}.form-textarea{border-radius:0;min-height:120px;resize:vertical;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--secondary-color);background:#ffffff26}.form-input::placeholder,.form-textarea::placeholder{color:#fff9}.submit-button{padding:1rem 2rem;background:var(--accent-color);color:var(--primary-color);border:none;border-radius:0;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;align-self:flex-start}.submit-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 8px 25px #f9a8244d}.submit-button:disabled{opacity:.6;cursor:not-allowed}.form-message{margin-top:1rem;padding:1rem;border-radius:10px;font-size:1rem;text-align:center}.form-message.success{background:#cce0a333;color:var(--secondary-color);border:1px solid var(--secondary-color)}.form-message.error{background:#f9a82433;color:var(--accent-color);border:1px solid var(--accent-color)}.footer{background:var(--background-dark);color:var(--text-light);padding:3rem 0 2rem;width:100vw;overflow-x:hidden;border-top:1px solid var(--border-dark)}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand-text{font-size:1.5rem;font-weight:700;margin:0;color:var(--accent-color);white-space:nowrap}.footer-logo{height:40px;width:auto;object-fit:contain}.footer-nav{display:flex;gap:2rem}.footer-nav a{color:#fffc;text-decoration:none;transition:color .3s ease}.footer-nav a:hover{color:var(--accent-color)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);color:#fff9}@media (max-width: 768px){.header{padding:.75rem 0}.header .container{flex-direction:row;gap:.5rem}.nav-brand{justify-content:flex-start;flex-direction:row;gap:.5rem;flex:1}.brand-text-logo{font-size:1.2rem;white-space:nowrap}.logo-image{height:30px}.menu-container{flex-shrink:0}.bubble-nav{flex-wrap:wrap;justify-content:center}.hero{padding:0;min-height:100vh;height:100vh;display:flex;align-items:flex-end;justify-content:flex-start}.hero-mountain-container{height:100vh;top:0}.hero-content{max-width:90%;padding:2rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;text-align:left}.hero-container{margin-top:0;padding-top:0;align-items:flex-end;justify-content:flex-start;padding-bottom:2rem}.hero-title{font-size:1.5rem;color:#fff}.hero-title .brand-name{color:#fff}.hero-subtitle{font-size:1.1rem;margin-bottom:1rem;color:#fff}.hero-description{font-size:.9rem;line-height:1.5;margin-bottom:1.5rem;color:#fff}.hero-cta{margin-top:1rem}.cta-button{padding:.8rem 2rem;font-size:1rem;background:var(--secondary-color);color:var(--primary-color)}.section-title{font-size:2.2rem;line-height:1.3}.services-description{font-size:1.1rem;line-height:1.6}.question-group{padding:2rem}.service-category{padding:1.8rem}.services-simple-grid{grid-template-columns:1fr;gap:2rem}.service-simple-card{padding:2rem}.service-number{font-size:2.5rem}.service-simple-card h3{font-size:1.5rem}.service-simple-card p{font-size:1rem}.portfolio-grid,.services-categories{grid-template-columns:1fr}.options-grid{grid-template-columns:1fr 1fr}.question-group{padding:1.5rem}.about-content{grid-template-columns:1fr;gap:2rem}.about-stats{flex-direction:row;justify-content:space-around;flex-wrap:wrap}.stat-item{flex:1 1 45%;min-width:120px}.contact-content{grid-template-columns:1fr;gap:2rem}.form-row{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:2rem;text-align:center}.footer-nav{flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.brand-text-logo{font-size:.95rem}.logo-image{height:28px}.nav-brand{gap:.4rem}.hero{padding:0;min-height:100vh;height:100vh;display:flex;align-items:flex-end;justify-content:flex-start}.hero-mountain-container{height:100vh}.hero-content{max-width:95%;padding:1.5rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;text-align:left}.hero-container{margin-top:0;padding-top:0;align-items:flex-end;justify-content:flex-start;padding-bottom:1.5rem}.hero-title{font-size:1.3rem;line-height:1.2;margin-bottom:.75rem;color:#fff}.hero-title .brand-name{color:#fff}.hero-subtitle{font-size:1rem;line-height:1.4;margin-bottom:.75rem;color:#fff}.hero-description{font-size:.85rem;line-height:1.5;margin-bottom:1rem;color:#fff}.hero-cta{margin-top:.75rem}.cta-button{padding:.75rem 1.75rem;font-size:.95rem;background:var(--secondary-color);color:var(--primary-color)}.section-title{font-size:1.8rem;line-height:1.3;margin-bottom:2rem}.services-description{font-size:1rem;line-height:1.6}.services-page-subtitle{font-size:1rem;line-height:1.5}.brand-text-logo{font-size:1.2rem}.nav-bubble{padding:.6rem 1rem;font-size:.85rem}.menu-toggle{padding:.6rem .8rem}.menu-icon{width:20px;height:16px}.service-item{padding:1.5rem}.service-item h3{font-size:1.2rem}.service-item p{font-size:.9rem;line-height:1.5}.portfolio-card{padding:1.5rem}.portfolio-card h4{font-size:1.2rem}.portfolio-card p{font-size:.9rem;line-height:1.5}.portfolio-number{font-size:2rem;top:1rem;right:1rem}.question-group{padding:1.5rem;margin-bottom:2rem}.question-group h3{font-size:1.2rem;margin-bottom:1.5rem}.option-card{padding:1rem;font-size:.9rem}.service-category{padding:1.5rem}.service-category h4{font-size:1.1rem}.service-options label{padding:.5rem;font-size:.85rem}.submit-questionnaire{padding:1rem 2rem;font-size:1rem}.about{padding:60px 0}.about-description{font-size:1rem;line-height:1.6}.about-stats{flex-direction:column;gap:1.5rem}.stat-item{flex:1 1 100%;min-width:unset;padding:1.5rem}.stat-number{font-size:2rem}.stat-label{font-size:.8rem}.contact-info h2{font-size:1.8rem}.contact-info p,.contact-item a{font-size:1rem}.form-input,.form-textarea{padding:.8rem 1rem;font-size:.9rem}.submit-button{padding:.8rem 1.5rem;font-size:1rem}.footer-brand-text{font-size:1.2rem}.footer-nav a{font-size:.9rem}.cta-button,.services-button{padding:.8rem 2rem;font-size:1rem}.app,.hero,.services-overview,.services-page,.portfolio,.about,.contact,.footer{overflow-x:hidden;max-width:100vw}.brand-text-logo,.hero-title,.hero-subtitle,.section-title{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.services-categories,.portfolio-grid,.options-grid{grid-template-columns:1fr;gap:1rem}.contact-content{gap:2rem}.form-row{grid-template-columns:1fr;gap:1rem}}html{scroll-behavior:smooth}
