:root{--gap-xs: .25rem;--gap-sm: .5rem;--gap-md: 1rem;--gap-lg: 1.5rem;--gap-xl: 2rem;--gap-2xl: 3rem;--gap-3xl: 4rem;--gap-4xl: 5rem}:root{--color-primary: #FFC067;--color-primary-shadow: #E5A052;--color-primary-hover: #FFC085;--color-secondary: #2A2A2A;--color-secondary-shadow: #1F1F1F;--color-success: #4CAF50;--color-success-shadow: #388E3C;--color-danger: #F44336;--color-danger-shadow: #D32F2F;--color-lightgrey: #404040;--color-mediumgrey: #666666;--color-darkgrey: #999999;--color-text-primary: #FFFFFF;--color-text-secondary: #1A1A1A;--color-bg-primary: #1A1A1A;--color-bg-secondary: #2D2D2D}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-primary)}section{padding:7rem 4rem;margin:0;display:flex;flex-direction:column;gap:var(--gap-4xl)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin:0}a{color:var(--color-primary);text-decoration:underline}a:hover{text-decoration:underline;color:var(--color-primary-hover)}ul,ol{margin:0;padding:0 0 0 1.5em}li{margin:0}.text-container{display:flex;flex-direction:column;gap:var(--gap-lg)}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}.btn{font-family:inherit;margin:0 0 10px;padding:17px 40px;border-radius:10px;border:0;background-color:var(--color-primary);letter-spacing:1.5px;font-size:15px;transition:all .3s ease;box-shadow:var(--color-primary-shadow) 0 10px 0 0;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm);text-decoration:none;font-weight:500}.btn:focus{outline:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:hover:not(:disabled){box-shadow:var(--color-primary-shadow) 0 7px 0 0}.btn:active:not(:disabled){transform:translateY(5px);transition:.2s}.btn-primary{background-color:var(--color-primary);box-shadow:var(--color-primary-shadow) 0 10px 0 0}.btn-primary:hover:not(:disabled){box-shadow:var(--color-primary-shadow) 0 7px 0 0}.btn-primary:active:not(:disabled){box-shadow:var(--color-primary-shadow) 0 0 0 0;transform:translateY(5px);transition:.2s}.btn-secondary{color:var(--color-text-primary);background-color:var(--color-secondary);box-shadow:var(--color-secondary-shadow) 0 10px 0 0}.btn-secondary:hover:not(:disabled){box-shadow:var(--color-secondary-shadow) 0 7px 0 0}.btn-secondary:active:not(:disabled){box-shadow:var(--color-secondary-shadow) 0 0 0 0;transform:translateY(5px);transition:.2s}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);box-shadow:var(--color-primary) 0 10px 0 0}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-secondary);box-shadow:var(--color-primary-shadow) 0 7px 0 0}.btn-outline:active:not(:disabled){box-shadow:var(--color-primary-shadow) 0 0 0 0;transform:translateY(5px);transition:.2s}.btn-danger{background-color:var(--color-danger);box-shadow:var(--color-danger-shadow) 0 10px 0 0}.btn-danger:hover:not(:disabled){box-shadow:var(--color-danger-shadow) 0 7px 0 0}.btn-danger:active:not(:disabled){background-color:var(--color-danger);box-shadow:var(--color-danger-shadow) 0 0 0 0;transform:translateY(5px);transition:.2s}.btn-success{background-color:var(--color-success);box-shadow:var(--color-success-shadow) 0 10px 0 0}.btn-success:hover:not(:disabled){box-shadow:var(--color-success-shadow) 0 7px 0 0}.btn-success:active:not(:disabled){background-color:var(--color-success);box-shadow:var(--color-success-shadow) 0 0 0 0;transform:translateY(5px);transition:.2s}.btn-small{padding:12px 25px;font-size:13px;letter-spacing:1px}.btn-medium{padding:17px 40px;font-size:15px;letter-spacing:1.5px}.btn-large{padding:22px 50px;font-size:17px;letter-spacing:2px}.btn-block{width:100%;display:flex}.navigation{position:fixed;top:var(--gap-lg);left:0;right:0;z-index:100;display:flex;justify-content:center;padding:0 var(--gap-lg);pointer-events:none}.nav-container{pointer-events:auto;width:100%;max-width:1100px;margin:0 auto;padding:var(--gap-sm) var(--gap-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--gap-lg);background:#2d2d2deb;border:none;border-radius:9999px;box-shadow:0 8px 32px #00000073,0 2px 8px #00000040;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.nav-brand h2{color:var(--color-primary);margin:0;font-size:1.15rem;font-weight:700;white-space:nowrap;letter-spacing:-.02em}.nav-links{display:flex;gap:var(--gap-md);align-items:center;flex:1;justify-content:center}.nav-link{color:var(--color-text-primary);text-decoration:none;font-weight:500;font-size:.9rem;padding:var(--gap-sm) var(--gap-md);border-radius:9999px;transition:background .2s ease,color .2s ease,transform .15s ease;display:flex;align-items:center;gap:var(--gap-xs);opacity:.85}.nav-link:hover{text-decoration:none;background:#ffffff14;color:var(--color-primary);opacity:1}.nav-link.active{background:var(--color-primary);color:var(--color-text-secondary);opacity:1;box-shadow:0 2px 8px #ffc06759}.nav-user{display:flex;align-items:center;gap:var(--gap-md);flex-shrink:0}.nav-username{color:var(--color-primary);font-size:.9rem;font-weight:600;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.nav-username--mobile{display:block;text-align:center;max-width:none;margin-bottom:var(--gap-xs)}.sign-out-btn{font-size:.875rem;padding:var(--gap-sm) var(--gap-lg);border-radius:9999px!important}.mobile-menu-toggle{display:none;background:#ffffff0f;border:none;color:var(--color-text-primary);font-size:1.35rem;cursor:pointer;padding:var(--gap-sm);border-radius:9999px;transition:background .2s ease,color .2s ease;flex-shrink:0}.mobile-menu-toggle:hover{background:#ffc06726;color:var(--color-primary)}.mobile-menu{position:fixed;top:calc(var(--gap-lg) + 4.5rem);left:var(--gap-lg);right:var(--gap-lg);max-width:400px;margin:0 auto;background:#2d2d2df5;border:none;border-radius:24px;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-12px) scale(.98);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;box-shadow:0 12px 40px #00000080,0 4px 12px #0000004d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;pointer-events:none}.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.mobile-menu-content{padding:var(--gap-lg);display:flex;flex-direction:column;gap:var(--gap-lg)}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--gap-sm)}.mobile-nav-link{color:var(--color-text-primary);text-decoration:none;font-weight:500;padding:var(--gap-md) var(--gap-lg);border-radius:9999px;transition:background .2s ease,color .2s ease;display:flex;align-items:center;gap:var(--gap-sm);font-size:1rem}.mobile-nav-link:hover{text-decoration:none;background:#ffffff14;color:var(--color-primary)}.mobile-nav-link.active{background:var(--color-primary);color:var(--color-text-secondary)}.mobile-nav-user{padding-top:var(--gap-sm)}.mobile-sign-out-btn{width:100%;font-size:.95rem;padding:var(--gap-md);border-radius:9999px!important}.mobile-menu-overlay{position:fixed;inset:0;background:#0006;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 768px){.navigation{top:var(--gap-md);padding:0 var(--gap-md)}.nav-container{padding:var(--gap-sm) var(--gap-md)}.nav-brand h2{font-size:1rem}.desktop-nav{display:none}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.mobile-menu{left:var(--gap-md);right:var(--gap-md)}}@media (min-width: 769px){.mobile-menu,.mobile-menu-overlay{display:none}}.input-group{position:relative;display:flex;flex-direction:column;gap:var(--gap-xs)}.input-group .input{border:solid 1.5px var(--color-mediumgrey);border-radius:1rem;background:none;padding:1rem;font-size:1rem;color:var(--color-text-primary);transition:border .15s cubic-bezier(.4,0,.2,1);width:100%;font-family:inherit}.input-group .user-label{position:absolute;left:15px;color:var(--color-mediumgrey);pointer-events:none;transform:translateY(.9rem);transition:.15s cubic-bezier(.4,0,.2,1)}.input-group .input:focus{outline:none;border:1.5px solid var(--color-text-primary)}.input-group .input:focus~.user-label{transform:translateY(-50%) scale(.8);background-color:var(--color-bg-secondary);padding:0 .2em;color:var(--color-text-primary)}.input-group.has-value .user-label{transform:translateY(-50%) scale(.8);background-color:var(--color-bg-secondary);padding:0 .2em;color:var(--color-text-primary)}.input-group.has-value .input{border:1.5px solid var(--color-text-primary)}.input-group.error .input{border-color:var(--color-danger)}.input-group.error .user-label{color:var(--color-danger)}.input-group.success .input{border-color:var(--color-success)}.input-group.success .user-label{color:var(--color-success)}.input-group.required .required-asterisk{color:var(--color-danger);font-weight:700}.input-group.required.invalid .input{border-color:var(--color-danger)}.input-group.required.invalid .user-label,.input-group.required.invalid .required-asterisk{color:var(--color-danger)}.input-group .error-message{color:var(--color-danger);font-size:.875rem;margin-left:1rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);padding:var(--gap-lg)}.login-card{background:var(--color-bg-secondary);border-radius:12px;padding:var(--gap-4xl);box-shadow:0 20px 40px #0000004d;width:100%;max-width:400px;border:1px solid var(--color-lightgrey)}.login-header{text-align:center;margin-bottom:var(--gap-4xl)}.login-header h1{color:var(--color-primary);margin-bottom:var(--gap-sm);font-size:2.5rem;font-weight:700}.login-header p{color:var(--color-text-primary);font-size:1.1rem;opacity:.8}.login-form{display:flex;flex-direction:column;gap:var(--gap-xl)}.login-forgot{text-align:right;margin-top:calc(var(--gap-sm) * -1)}.login-forgot a{color:var(--color-primary);font-size:.9rem;text-decoration:none}.login-forgot a:hover{text-decoration:underline}.auth-switch{text-align:center;margin:0;color:var(--color-text-primary);font-size:.95rem;opacity:.9}.auth-switch a{color:var(--color-primary);text-decoration:none;font-weight:600}.auth-switch a:hover{text-decoration:underline}.auth-back-link{display:inline-block;color:var(--color-primary);font-size:.95rem;text-decoration:none;margin-top:var(--gap-lg)}.auth-back-link:hover{text-decoration:underline}.auth-back-link--centered{display:block;text-align:center;margin-top:var(--gap-md)}.auth-success{display:flex;flex-direction:column;gap:var(--gap-md);color:var(--color-text-primary);line-height:1.6}.auth-success p{margin:0}.auth-hint{opacity:.7;font-size:.9rem}.auth-loading{display:flex;justify-content:center;padding:var(--gap-2xl) 0}.auth-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-lightgrey);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-button{width:100%;margin-top:var(--gap-lg)}.login-form .error-message-bottom{background:var(--color-danger);color:#fff;padding:var(--gap-md);border-radius:8px;text-align:center;font-size:.9rem}@media (max-width: 768px){.login-container{padding:var(--gap-md)}.login-card{padding:var(--gap-2xl)}.login-header h1{font-size:2rem}}.progress-circle-container{display:flex;flex-direction:column;align-items:center;gap:var(--gap-md)}.progress-circle-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.progress-circle-svg{transform:rotate(-90deg)}.progress-circle-bg{opacity:.3}.progress-circle-fill{transition:stroke-dashoffset .5s ease-in-out,stroke .3s ease}.progress-circle-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.progress-circle-text{display:flex;align-items:baseline;gap:2px}.progress-circle-number{font-size:2rem;font-weight:700;color:var(--color-text-primary);line-height:1}.progress-circle-max{font-size:1.2rem;font-weight:500;color:var(--color-text-primary);opacity:.7;line-height:1}.progress-circle-checkmark{font-size:2.5rem;color:var(--color-success);font-weight:700;line-height:1;animation:checkmarkPulse .6s ease-in-out}@keyframes checkmarkPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.progress-circle-label{display:flex;flex-direction:column;align-items:center;gap:var(--gap-xs)}.progress-circle-label-text{font-size:1rem;font-weight:600;color:var(--color-text-primary);text-align:center}.progress-circle-label-subtitle{font-size:.85rem;color:var(--color-text-primary);opacity:.7;text-align:center}@media (max-width: 768px){.progress-circle-number{font-size:1.5rem}.progress-circle-max{font-size:1rem}.progress-circle-checkmark{font-size:2rem}.progress-circle-label-text{font-size:.9rem}.progress-circle-label-subtitle{font-size:.8rem}}.stats-section{background:var(--color-bg-secondary);border-radius:16px;padding:var(--gap-4xl);border:1px solid var(--color-lightgrey)}.stats-section h2{color:var(--color-text-primary);margin-bottom:var(--gap-2xl);font-size:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap-lg)}.stat-card{background:var(--color-bg-primary);border-radius:12px;padding:var(--gap-xl);text-align:center;border:1px solid var(--color-lightgrey);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.stat-number{font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--gap-xs)}.stat-label{font-size:.9rem;color:var(--color-text-primary);opacity:.8;font-weight:500}@media (max-width: 768px){.stats-section{padding:var(--gap-2xl)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--gap-md)}.stat-card{padding:var(--gap-lg)}.stat-number{font-size:1.5rem}}@media (max-width: 480px){.stats-grid{grid-template-columns:repeat(1,1fr)}}.dashboard{min-height:100vh;padding:var(--gap-2xl);background:var(--color-bg-primary)}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--gap-lg)}.dashboard-header{text-align:center;margin-bottom:var(--gap-4xl)}.dashboard-header h1{color:var(--color-text-primary);margin-bottom:var(--gap-sm);font-size:2.5rem}.dashboard-header p{color:var(--color-text-primary);opacity:.8;font-size:1.1rem}.dashboard-content{max-width:800px;margin:0 auto}.dashboard-main{display:flex;flex-direction:column;gap:var(--gap-4xl)}.progress-section{background:var(--color-bg-secondary);border-radius:16px;padding:var(--gap-4xl);border:1px solid var(--color-lightgrey);text-align:center}.progress-section h2{color:var(--color-text-primary);margin-bottom:var(--gap-2xl);font-size:1.5rem}.add-application-btn{margin-top:var(--gap-2xl);padding:var(--gap-lg) var(--gap-2xl);font-size:1.1rem;font-weight:600}@media (max-width: 768px){.dashboard{padding:var(--gap-lg)}.dashboard-header h1{font-size:2rem}.progress-section,.quick-actions{padding:var(--gap-2xl)}}.dropdown-group{position:relative;display:flex;flex-direction:column;gap:var(--gap-xs)}.dropdown-group .dropdown{border:solid 1.5px var(--color-mediumgrey);border-radius:1rem;background:none;padding:1rem;font-size:1rem;color:var(--color-text-primary);transition:border .15s cubic-bezier(.4,0,.2,1);width:100%;font-family:inherit;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:1.2rem}.dropdown-group .dropdown-value{flex:1;text-align:left}.dropdown-group .dropdown-arrow{transition:transform .15s cubic-bezier(.4,0,.2,1);font-size:.8rem;color:var(--color-mediumgrey)}.dropdown-group.is-open .dropdown-arrow{transform:rotate(180deg)}.dropdown-group .user-label{position:absolute;left:15px;color:var(--color-mediumgrey);pointer-events:none;transform:translateY(.9rem);transition:.15s cubic-bezier(.4,0,.2,1)}.dropdown-group .dropdown:focus{outline:none;border:1.5px solid var(--color-text-primary)}.dropdown-group .dropdown:focus~.user-label{transform:translateY(-50%) scale(.8);background-color:var(--color-bg-primary);padding:0 .2em;color:var(--color-text-primary)}.dropdown-group.has-value .user-label{transform:translateY(-50%) scale(.8);background-color:var(--color-bg-secondary);padding:0 .2em;color:var(--color-text-primary)}.dropdown-group.has-value .dropdown{border:1.5px solid var(--color-text-primary)}.dropdown-group .dropdown-options{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-primary);border:1.5px solid var(--color-text-primary);border-top:none;border-radius:0 0 1rem 1rem;z-index:1000;max-height:200px;overflow-y:auto}.dropdown-group .dropdown-option{padding:.75rem 1rem;cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1);border-bottom:1px solid var(--color-lightgrey)}.dropdown-group .dropdown-option:last-child{border-bottom:none}.dropdown-group .dropdown-option:hover{background-color:var(--color-lightgrey)}.dropdown-group .dropdown-option.selected{background-color:var(--color-primary);color:#fff}.dropdown-group .dropdown-option.selected:hover{background-color:var(--color-primary-dark)}.dropdown-group.error .dropdown{border-color:var(--color-danger)}.dropdown-group.error .user-label{color:var(--color-danger)}.dropdown-group.success .dropdown{border-color:var(--color-success)}.dropdown-group.success .user-label{color:var(--color-success)}.dropdown-group.required .required-asterisk{color:var(--color-danger);font-weight:700}.dropdown-group.required.invalid .dropdown{border-color:var(--color-danger)}.dropdown-group.required.invalid .user-label,.dropdown-group.required.invalid .required-asterisk{color:var(--color-danger)}.dropdown-group .error-message{color:var(--color-danger);font-size:.875rem;margin-left:1rem}.applications{min-height:100vh;padding:var(--gap-2xl);background:var(--color-bg-primary)}.applications-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--gap-lg)}.applications-header{text-align:center;margin-bottom:var(--gap-4xl)}.applications-header h1{color:var(--color-text-primary);margin-bottom:var(--gap-sm);font-size:2.5rem}.applications-header p{color:var(--color-text-primary);opacity:.8;font-size:1.1rem}.applications-filters{display:flex;gap:var(--gap-lg);margin-bottom:var(--gap-4xl);flex-wrap:wrap;align-items:end}.applications-list{display:flex;flex-direction:column;gap:var(--gap-lg);max-width:1000px;margin:0 auto}.no-applications{text-align:center;padding:var(--gap-4xl);background:var(--color-bg-secondary);border-radius:16px;border:1px solid var(--color-lightgrey)}.no-applications h3{color:var(--color-text-primary);margin-bottom:var(--gap-md);font-size:1.5rem}.no-applications p{color:var(--color-text-primary);opacity:.7}.application-card{background:var(--color-bg-secondary);border-radius:16px;padding:var(--gap-2xl);border:1px solid var(--color-lightgrey);transition:transform .2s ease,box-shadow .2s ease}.application-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.application-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--gap-lg);gap:var(--gap-lg)}.application-title h3{color:var(--color-text-primary);margin-bottom:var(--gap-xs);font-size:1.3rem;font-weight:600}.application-title p{color:var(--color-text-primary);opacity:.8;font-size:1rem}.status-responded,.status-interview{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.application-meta{display:flex;gap:var(--gap-lg);margin-bottom:var(--gap-sm);flex-wrap:wrap}.application-date,.application-contact,.application-contact-info{color:var(--color-text-primary);opacity:.8;font-size:.9rem;display:flex;align-items:center;gap:var(--gap-xs)}.application-actions{display:flex;gap:var(--gap-md);flex-wrap:wrap}.download-btn,.status-btn{font-size:.9rem;padding:var(--gap-sm) var(--gap-md)}@media (max-width: 768px){.applications{padding:var(--gap-lg)}.applications-header h1{font-size:2rem}.applications-filters{flex-direction:column;gap:var(--gap-md)}.filter-group{min-width:unset;width:100%}.search-input,.status-filter,.sort-filter{width:100%}.application-header{flex-direction:column;gap:var(--gap-md)}.application-status{align-self:flex-start}.application-actions{flex-direction:column}.download-btn,.status-btn{width:100%;justify-content:center}}.textarea-group{position:relative;display:flex;flex-direction:column;gap:var(--gap-xs)}.textarea-group .textarea{border:solid 1.5px var(--color-mediumgrey);border-radius:1rem;background:none;padding:1rem;font-size:1rem;color:var(--color-text-primary);transition:border .15s cubic-bezier(.4,0,.2,1);width:100%;font-family:inherit;resize:vertical;display:block;min-height:100px}.textarea-group .textarea-label{position:absolute;left:15px;top:15px;color:var(--color-mediumgrey);pointer-events:none;transform:translateY(0);transition:.15s cubic-bezier(.4,0,.2,1)}.textarea-group .textarea:focus{outline:none;border:1.5px solid var(--color-text-primary)}.textarea-group .textarea:focus~.textarea-label{transform:translateY(-110%) scale(.8);background-color:var(--color-bg-secondary);padding:0 .2em;color:var(--color-text-primary)}.textarea-group.has-value .textarea-label{transform:translateY(-110%) scale(.8);background-color:var(--color-bg-secondary);padding:0 .2em;color:var(--color-text-primary)}.textarea-group.has-value .textarea{border:1.5px solid var(--color-text-primary)}.textarea-group.error .textarea{border-color:var(--color-danger)}.textarea-group.error .textarea-label{color:var(--color-danger)}.textarea-group.success .textarea{border-color:var(--color-success)}.textarea-group.success .textarea-label{color:var(--color-success)}.textarea-group.required .required-asterisk{color:var(--color-danger);font-weight:700}.textarea-group.required.invalid .textarea{border-color:var(--color-danger)}.textarea-group.required.invalid .textarea-label,.textarea-group.required.invalid .required-asterisk{color:var(--color-danger)}.textarea-group .error-message{color:var(--color-danger);font-size:.875rem;margin-left:1rem}.admin{min-height:100vh;padding:var(--gap-2xl);background:var(--color-bg-primary)}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--gap-lg)}.admin-header{text-align:center;margin-bottom:var(--gap-4xl)}.admin-header h1{color:var(--color-text-primary);margin-bottom:var(--gap-sm);font-size:2.5rem}.admin-header p{color:var(--color-text-primary);opacity:.8;font-size:1.1rem;margin-bottom:var(--gap-2xl)}.add-application-btn{font-size:1.1rem;padding:var(--gap-lg) var(--gap-2xl)}.admin-filters{display:flex;gap:var(--gap-lg);margin-bottom:var(--gap-4xl)}.filter-group{flex:1;min-width:200px}.search-input,.status-filter,.sort-filter{width:100%}.admin-form{background:var(--color-bg-secondary);border-radius:16px;padding:var(--gap-4xl);margin-bottom:var(--gap-4xl);border:1px solid var(--color-lightgrey)}.admin-form h2{color:var(--color-text-primary);margin-bottom:var(--gap-2xl);font-size:1.5rem}.application-form{display:flex;flex-direction:column;gap:var(--gap-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg)}.form-input,.form-textarea{width:100%}.file-upload{display:flex;flex-direction:column;gap:var(--gap-sm)}.file-upload-label{display:flex;align-items:center;gap:var(--gap-sm);color:var(--color-text-primary);font-weight:500;cursor:pointer;padding:var(--gap-md);border:2px dashed var(--color-lightgrey);border-radius:8px;transition:border-color .2s ease}.file-upload-label:hover{border-color:var(--color-primary)}.file-input{display:none}.file-name{color:var(--color-primary);font-size:.9rem;font-weight:500}.form-actions{display:flex;gap:var(--gap-lg);justify-content:flex-end;margin-top:var(--gap-xl)}.admin-applications h2{color:var(--color-text-primary);margin-bottom:var(--gap-2xl);font-size:1.5rem}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--gap-lg)}.admin-application-card{background:var(--color-bg-secondary);border-radius:16px;padding:var(--gap-2xl);border:1px solid var(--color-lightgrey);transition:transform .2s ease,box-shadow .2s ease}.admin-application-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.application-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--gap-lg);gap:var(--gap-md)}.application-header h3{color:var(--color-text-primary);font-size:1.2rem;font-weight:600;margin:0}.status-badge{padding:var(--gap-xs) var(--gap-sm);border-radius:20px;font-size:.8rem;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:var(--gap-xs)}.status-pending{background:#ffc10733;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.status-responded{background:#2196f333;color:#2196f3;border:1px solid rgba(33,150,243,.3)}.status-rejected{background:#f4433633;color:#f44336;border:1px solid rgba(244,67,54,.3)}.status-interview{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.status-container{display:flex;flex-direction:column;gap:var(--gap-sm);align-items:flex-end}.status-response-sent{background:#2196f333;color:#2196f3;border:1px solid rgba(33,150,243,.3);padding:var(--gap-xs) var(--gap-sm);border-radius:20px;font-size:.8rem;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:var(--gap-xs)}.application-details{margin-bottom:var(--gap-lg)}.application-details p{color:var(--color-text-primary);margin-bottom:var(--gap-xs);font-size:.9rem;opacity:.9}.application-details strong{color:var(--color-text-primary);font-weight:600}.application-actions{display:flex;gap:var(--gap-sm);flex-wrap:wrap}.status-completed{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--gap-md);background:#0000000d;border-radius:8px;border:1px solid var(--color-lightgrey);margin-bottom:var(--gap-sm)}.completed-text{color:var(--color-text-primary);font-weight:500;font-size:.9rem;opacity:.8}input[type=date]{color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1);cursor:pointer;opacity:1}input[type=date]::-webkit-datetime-edit-text{color:var(--color-text-primary)}input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-year-field{color:var(--color-text-primary)}@media (max-width: 768px){.admin{padding:var(--gap-lg)}.admin-header h1{font-size:2rem}.admin-form{padding:var(--gap-2xl)}.form-row{grid-template-columns:1fr;gap:var(--gap-md)}.form-actions{flex-direction:column}.applications-grid{grid-template-columns:1fr}.application-header{flex-direction:column;gap:var(--gap-sm)}.application-actions{flex-direction:column}.admin-filters{flex-direction:column;gap:var(--gap-md)}.filter-group{min-width:unset;width:100%}.search-input,.status-filter,.sort-filter{width:100%}}.friends{min-height:100vh;padding:var(--gap-2xl);background:var(--color-bg-primary);max-width:900px;margin:0 auto}.friends-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--gap-lg)}.friends-header{text-align:center;margin-bottom:var(--gap-3xl)}.friends-header h1{color:var(--color-text-primary);margin-bottom:var(--gap-sm);font-size:2.25rem;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}.friends-header p{color:var(--color-text-primary);opacity:.8}.friends-notification{display:inline-flex;align-items:center;gap:var(--gap-sm);margin-top:var(--gap-lg);padding:var(--gap-sm) var(--gap-lg);background:#ffc06726;color:var(--color-primary);border-radius:9999px;font-weight:600;font-size:.95rem}.friends-error{background:var(--color-danger);color:#fff;padding:var(--gap-md);border-radius:12px;text-align:center;margin-bottom:var(--gap-xl)}.friends-search{display:flex;gap:var(--gap-md);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--gap-lg)}.friends-search .input-group{flex:1;min-width:200px}.friends-list{display:flex;flex-direction:column;gap:var(--gap-md);margin-bottom:var(--gap-lg)}.friend-card{display:flex;flex-direction:column;gap:var(--gap-md);padding:var(--gap-lg);background:var(--color-bg-secondary);border-radius:16px;box-shadow:0 4px 16px #0003}.friend-card--search{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.friend-card-main{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md);flex-wrap:wrap}.friend-name{color:var(--color-text-primary);font-weight:600;font-size:1.1rem}.friend-status{font-size:.85rem;font-weight:600;padding:var(--gap-xs) var(--gap-md);border-radius:9999px;white-space:nowrap}.friend-status--pending{background:#ffc06733;color:var(--color-primary)}.friend-status--accepted{background:#4caf5033;color:var(--color-success)}.friend-status--rejected{background:#f4433633;color:var(--color-danger)}.friend-card-actions{display:flex;align-items:center;gap:var(--gap-sm);flex-wrap:wrap}.friend-card-actions a{text-decoration:none}.friend-remove-btn{margin-left:auto}.friends-empty{text-align:center;color:var(--color-text-primary);opacity:.7;padding:var(--gap-2xl)}@media (max-width: 768px){.friends{padding:var(--gap-lg)}.friends-search{flex-direction:column;align-items:stretch}}.friend-view-layout{width:100%}.friend-view-bar{max-width:1100px;margin:0 auto var(--gap-xl);padding:var(--gap-md) var(--gap-lg);background:#2d2d2deb;border-radius:16px;box-shadow:0 4px 20px #0000004d;display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-md)}.friend-view-back{display:inline-flex;align-items:center;gap:var(--gap-xs);color:var(--color-primary);text-decoration:none;font-size:.9rem;font-weight:500}.friend-view-back:hover{text-decoration:underline}.friend-view-title{display:flex;align-items:center;gap:var(--gap-sm);color:var(--color-text-primary);flex:1;min-width:160px}.friend-view-title svg{color:var(--color-primary);font-size:1.25rem}.friend-view-title span{display:flex;flex-direction:column;line-height:1.3}.friend-view-title small{font-size:.75rem;opacity:.7;font-weight:400}.friend-view-tabs{display:flex;gap:var(--gap-xs);flex-wrap:wrap}.friend-view-tab{display:inline-flex;align-items:center;gap:var(--gap-xs);padding:var(--gap-sm) var(--gap-md);border-radius:9999px;color:var(--color-text-primary);text-decoration:none;font-size:.9rem;font-weight:500;opacity:.85;transition:background .2s ease,color .2s ease}.friend-view-tab:hover{background:#ffffff14;color:var(--color-primary);opacity:1}.friend-view-tab.active{background:var(--color-primary);color:var(--color-text-secondary);opacity:1}.friend-view-loading,.friend-view-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:var(--gap-lg);padding:var(--gap-2xl);text-align:center;color:var(--color-text-primary)}.friend-view-denied h2{margin:0}.friend-view-back-link{display:inline-flex;align-items:center;gap:var(--gap-xs);color:var(--color-primary);text-decoration:none;font-weight:600}.friend-view-back-link:hover{text-decoration:underline}.read-only-banner{max-width:1100px;margin:0 auto var(--gap-lg);padding:var(--gap-sm) var(--gap-lg);background:#ffc0671f;color:var(--color-primary);border-radius:9999px;text-align:center;font-size:.9rem;font-weight:500}@media (max-width: 768px){.friend-view-bar{flex-direction:column;align-items:stretch}.friend-view-tabs{justify-content:center}}.app{min-height:100vh;background:var(--color-bg-primary)}.app-main{min-height:100vh}.app-main--with-nav{padding-top:calc(5.5rem + var(--gap-lg))}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--gap-lg)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-lightgrey);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
