@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)scale(.8)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(30%)scale(.95)}}.toast-container{top:var(--spacing-xl);right:var(--spacing-xl);z-index:var(--z-notification);gap:var(--spacing-md);flex-direction:column;max-width:400px;display:flex;position:fixed}.toast{background:var(--dropdown-bg);backdrop-filter:blur(var(--glass-blur));padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--dropdown-shadow), inset 0 1px 0 #ffffff80;align-items:center;gap:var(--spacing-ms);border-left:4px solid var(--color-info);transition:box-shadow var(--transition-fast);opacity:0;display:flex;transform:translate(100%)scale(.8)}.toast-show{animation:toast-slide-in var(--animation-duration-base) var(--ease-spring-2) forwards}.toast-hide{animation:toast-slide-out var(--animation-duration-fast) var(--ease-out-4) forwards}.toast:hover{box-shadow:var(--dropdown-shadow), inset 0 1px 0 #ffffff80, 0 6px 16px #0000001f}.toast-icon{border-radius:var(--radius-round);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.toast-icon i{font-size:var(--font-size-lg)}.toast-success .toast-icon{background:var(--bg-success-light);color:var(--color-success)}.toast-error .toast-icon,.toast-danger .toast-icon{background:var(--bg-danger-light);color:var(--color-error)}.toast-warning .toast-icon{background:var(--bg-warning-light);color:var(--color-warning)}.toast-info .toast-icon{background:var(--bg-info-light);color:var(--color-info)}.toast-content{gap:var(--spacing-2xs);flex-direction:column;flex:1;display:flex}.toast-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.toast-message{font-size:var(--font-size-sm);color:var(--text-primary)}.toast-close{font-size:var(--font-size-h4);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;line-height:1}.toast-close:hover{color:var(--text-primary)}.toast-success{border-left-color:var(--color-success)}.toast-error,.toast-danger{border-left-color:var(--color-error)}.toast-warning{border-left-color:var(--color-warning)}.toast-info{border-left-color:var(--color-info)}@media (width<=768px){.toast-container{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}}.dialog-overlay{background:var(--bg-modal-overlay);backdrop-filter:blur(var(--glass-blur-light));z-index:var(--z-loading);padding:var(--spacing-md);transition:opacity .2s var(--ease-3);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-box{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;transition:transform .2s var(--ease-3), opacity .2s var(--ease-3);overflow:hidden}.dialog-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);display:flex}.dialog-header i{font-size:var(--font-size-h4);flex-shrink:0}.dialog-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.dialog-box.dialog-warning .dialog-header i{color:var(--color-warning)}.dialog-box.dialog-danger .dialog-header i{color:var(--color-error)}.dialog-box.dialog-info .dialog-header i{color:var(--primary)}.dialog-box.dialog-success .dialog-header i{color:var(--color-success)}.dialog-box.dialog-error .dialog-header i{color:var(--color-error)}.dialog-body{padding:var(--spacing-xl)}.dialog-body p{font-size:var(--font-size-md);color:var(--text-primary);white-space:pre-wrap;margin:0;line-height:1.6}.dialog-footer{justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--gray-50);border-top:1px solid var(--border-light);display:flex}.dialog-footer .btn{min-width:100px}@media (width<=768px){.dialog-overlay{padding:var(--spacing-sm)}.dialog-box{max-width:100%}.dialog-header{padding:var(--spacing-md)}.dialog-body{padding:var(--spacing-lg)}.dialog-footer{padding:var(--spacing-md)}}@media (width<=600px){.dialog-footer{flex-direction:column-reverse}.dialog-footer .btn{width:100%}}.navbar-public{border-radius:var(--radius-pill);backdrop-filter:none;width:calc(100% - 32px);max-width:1180px;box-shadow:none;transition:background var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base), backdrop-filter var(--transition-base);background:0 0;border:1px solid #0000;position:fixed;top:16px;left:50%;transform:translate(-50%)}.navbar-public.navbar--compact{background:var(--glass-bg-warm);backdrop-filter:saturate(1.8) blur(var(--glass-blur));box-shadow:var(--shadow-primary-lg);border-color:var(--border-primary-light)}.navbar-public .btn:hover{transform:translateY(0)scale(1.02)}.navbar-public .navbar-brand-icon{transition:height var(--transition-base), filter var(--transition-base)}.navbar-public--over-dark:not(.navbar--compact){& .navbar-brand{color:#fff}& .btn:not(:hover){backdrop-filter:blur(var(--glass-blur-subtle));color:#fff;background:#ffffff1a;box-shadow:inset 0 0 0 1.5px #ffffffb3}& .navbar-brand:hover .navbar-brand-text{color:#fff}& .navbar-brand-icon{filter:brightness(0)invert()}& .navbar-menu a{color:#fff}& .navbar-menu a:hover{color:#fff;background:#ffffff26}& .navbar-toggle span{background:#fff}& .navbar-toggle:hover span{background:#fffc}& .btn:hover{backdrop-filter:blur(var(--glass-blur));box-shadow:none;color:#fff;background:#ffffff38}}body:has(.navbar-public) .hero:has(.hero-bg){padding-top:calc(var(--spacing-4xl) + 80px)}body:has(.navbar:not(.navbar-public)) [id]{scroll-margin-top:64px}.messaging-icon,.contact-icon{width:40px;height:40px;color:var(--text-secondary);font-size:var(--font-size-xl);transition:transform var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.messaging-icon:hover,.contact-icon:hover{color:var(--primary);text-decoration:none;transform:scale(1.08)}.messaging-dropdown{margin-top:var(--spacing-sm);background:var(--bg-white);border-radius:var(--radius-lg);width:380px;max-height:500px;box-shadow:var(--shadow-md);z-index:var(--z-dropdown);position:absolute;top:100%;right:0;overflow:hidden}.messaging-dropdown-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);background:var(--bg-surface);justify-content:space-between;align-items:center;display:flex}.messaging-dropdown-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.messaging-list{max-height:380px;overflow-y:auto}.messaging-item{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);cursor:pointer;color:inherit;text-decoration:none;display:flex}.messaging-item:last-child{border-bottom:none}.messaging-item:hover{background:var(--bg-hover)}.messaging-item.unread{background:var(--bg-info-light)}.messaging-item-content{flex:1;min-width:0}.messaging-item-header{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.messaging-item-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.messaging-item-time{font-size:var(--font-size-xs);color:var(--text-tertiary);flex-shrink:0}.messaging-item-preview{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.messaging-item.unread .messaging-item-preview{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.messaging-dropdown-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-light);text-align:center;background:var(--bg-surface)}.messaging-dropdown-footer a{color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none}.messaging-dropdown-footer a:hover{color:var(--primary-light);text-decoration:underline}.messaging-empty,.messaging-error{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.messaging-empty i,.messaging-error i{font-size:var(--font-size-3xl);color:var(--text-tertiary);margin-bottom:var(--spacing-md)}.messaging-empty p,.messaging-error p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}
