.auth-container{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,2rem)}.auth-box{max-width:440px;width:100%;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2rem);box-shadow:0 4px 20px rgba(0,0,0,.05)}.auth-box h1{font-size:clamp(1.5rem,3.5vw,1.875rem);font-weight:700;margin:0 0 .5rem;color:var(--color-text);text-align:center}.auth-description{text-align:center;color:var(--color-text-light);margin:0 0 1.5rem;font-size:var(--text-small)}.auth-form,.form-row{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--form-col-min,200px),100%),1fr));gap:1rem}.form-group{margin-bottom:1rem;position:relative}.form-group label{display:block;margin-bottom:.375rem;font-weight:600;color:var(--color-text);font-size:var(--text-small)}.form-group-with-icon{position:relative}.form-group-with-icon .form-icon{position:absolute;inset-inline-start:.875rem;top:50%;transform:translateY(-50%);width:18px;height:18px;min-width:18px;min-height:18px;max-width:1.25em;max-height:1.25em;pointer-events:none;color:var(--color-text-light);opacity:.6;z-index:2;display:flex;align-items:center;justify-content:center;flex-shrink:0}.form-group-with-icon .form-icon svg,.form-group-with-icon svg.form-icon{width:1.25em;height:1.25em;max-width:1.25em;max-height:1.25em;display:block}.form-group .form-group-with-icon input[type=email],.form-group .form-group-with-icon input[type=password],.form-group .form-group-with-icon input[type=text],.form-group .form-group-with-icon textarea{padding-inline-start:2.75rem}.form-group .form-group-with-icon .password-field-wrapper .password-input{padding-inline-start:2.75rem;padding-inline-end:3rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group textarea{width:100%;padding:.625rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-small);background:var(--color-bg-elevated);color:var(--color-text);transition:border-color .15s,box-shadow .15s,background-color .15s;position:relative;z-index:1}[data-theme=dark] .form-group input[type=email],[data-theme=dark] .form-group input[type=password],[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group textarea{background:var(--color-bg);border-color:var(--color-border-light)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-crail);box-shadow:0 0 0 3px rgba(193,95,60,.1)}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-bg-elevated) inset;transition:background-color 5000s ease-in-out 0s}.form-group textarea{resize:vertical;min-height:100px}.form-hint{display:block;margin-top:.375rem;font-size:var(--text-small);color:var(--color-text-light)}.required{color:var(--color-crail)}.form-checkbox{display:flex;align-items:center;margin-bottom:.75rem}.form-checkbox label{display:flex;align-items:center;gap:.5rem;margin:0;font-weight:400;font-size:var(--text-small);cursor:pointer}.form-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}input.pin-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-weight:700}.password-field-wrapper{position:relative}.password-field-wrapper .password-input{padding-inline-end:3rem}.password-toggle{position:absolute;inset-inline-end:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);transition:color .15s;min-width:44px;min-height:44px;z-index:2}.password-toggle:hover{color:var(--color-crail)}.password-toggle .eye-icon{width:20px;height:20px}.password-toggle.visible .eye-icon path:first-child{opacity:.3}.password-strength{height:4px;background:var(--color-border);border-radius:2px;margin-top:.5rem;overflow:hidden}.password-strength-bar{height:100%;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s,background-color .3s;border-radius:2px}.password-strength-bar.weak{transform:scaleX(.33);background:var(--color-error)}.password-strength-bar.medium{transform:scaleX(.66);background:var(--color-warning)}.password-strength-bar.strong{transform:scaleX(1);background:var(--color-success)}.password-strength-text.weak{color:var(--color-error)}.password-strength-text.medium{color:var(--color-warning)}.password-strength-text.strong{color:var(--color-success)}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:120px;height:40px;padding:0 1.25rem;border:none;border-radius:var(--radius);font-size:var(--text-small);font-weight:600;text-align:center;text-decoration:none;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--color-crail);color:var(--color-white)}.btn-primary:hover{background:var(--color-crail-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(193,95,60,.2)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-crail);color:var(--color-crail)}.btn-block{width:100%;display:block}.btn-link{background:none;border:none;color:var(--color-crail);font-size:var(--text-small);cursor:pointer;text-decoration:underline;padding:.5rem}.btn-link:hover{color:var(--color-crail-dark)}.auth-message{padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;font-size:var(--text-base)}.auth-message p{margin:.25rem 0}.auth-message p:first-child{margin-top:0}.auth-message p:last-child{margin-bottom:0}.auth-error{background:var(--color-error-light);color:var(--color-error-text);border:1px solid var(--color-error-border)}.auth-success{background:var(--color-success-light);color:var(--color-success-text);border:1px solid var(--color-success-border)}.auth-footer{text-align:center;color:var(--color-text-light);font-size:var(--text-small);margin:.5rem 0 0}.auth-footer a{color:var(--color-crail);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.separator{margin:0 .5rem;color:var(--color-text-light)}.resend-form{margin-top:1rem}.auth-success-box,.resend-form{text-align:center}.success-icon{width:80px;height:80px;background:var(--color-success);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;margin:0 auto 1.5rem}.profile-container{max-width:var(--max-width);margin:0 auto;padding:clamp(1rem,2vw,1.5rem) clamp(.75rem,2vw,1.5rem)}.profile-box{display:grid;grid-template-columns:240px 1fr;gap:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius);padding:0;overflow:hidden}.profile-sidebar{background:var(--color-bg);padding:1.5rem 1rem;border-inline-end:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;text-align:center}.profile-main{padding:1.5rem}.profile-header{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.profile-avatar-wrapper{position:relative;display:inline-block;margin-bottom:.25rem}.profile-avatar-img{width:100px;height:100px;border-radius:var(--radius);border:3px solid var(--color-crail);object-fit:cover;display:block}.avatar-badge{position:absolute;bottom:5px;inset-inline-end:5px;background:var(--color-crail);color:var(--color-white);font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:1rem;border:2px solid var(--color-bg-elevated)}.profile-info h1{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;color:var(--color-text)}.profile-email{color:var(--color-text-light);margin:0;font-size:.875rem}.profile-username{color:var(--color-crail);font-weight:600;margin:.25rem 0 0;font-size:.875rem}.profile-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:1rem;background:var(--color-crail);color:var(--color-white);margin-top:.5rem}.profile-stats{display:flex;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);width:100%;justify-content:center}.profile-stat{text-align:center}.profile-stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--color-crail);margin-bottom:.25rem}.profile-stat-label{display:block;font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.profile-details{margin-bottom:1.5rem}.profile-details h2{font-size:var(--text-h3);font-weight:600;margin:0 0 .875rem;color:var(--color-text)}.profile-table{width:100%;border-collapse:collapse}.profile-table td,.profile-table th{padding:.75rem 1rem;text-align:start;border-bottom:1px solid var(--color-border);font-size:var(--text-base)}.profile-table th{font-weight:600;color:var(--color-text);width:40%}.profile-table td{color:var(--color-text-light)}.profile-table tr:last-child td,.profile-table tr:last-child th{border-bottom:none}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:1rem;font-size:var(--text-small);font-weight:600}.status-badge.verified{background:var(--color-success-light);color:var(--color-success-text)}.status-badge.not-verified{background:var(--color-error-light);color:var(--color-error-text)}.profile-actions{padding-top:1.25rem;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start;margin-top:1.25rem}.profile-actions .btn{flex:1 1 min(140px,100%)}.profile-edit-form{margin-top:1.5rem}.profile-edit-form h2{font-size:var(--text-h3);font-weight:600;margin:0 0 1.25rem;color:var(--color-text)}.profile-edit-form h3{font-size:var(--text-h4);font-weight:600;margin:0 0 .875rem;color:var(--color-text)}.form-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}[data-theme=dark] .form-section{background:rgba(0,0,0,.2)}.avatar-upload-section{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}.avatar-upload-label{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:140px;height:44px;padding:0 1.5rem;background:var(--color-crail);color:var(--color-white);border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background-color .15s,transform .15s;font-size:.9375rem;white-space:nowrap}.avatar-upload-label:hover{background:var(--color-crail-dark);transform:translateY(-1px)}.avatar-input{display:none}.upload-icon{font-size:1.25rem}.btn-delete-avatar{display:inline-flex;align-items:center;justify-content:center;min-width:140px;height:44px;padding:0 1.5rem;background:var(--color-error);color:var(--color-white);border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background-color .15s;font-size:.9375rem;white-space:nowrap}.btn-delete-avatar:hover{background:var(--color-error-dark)}.profile-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-modal)}.profile-modal.active{display:flex;align-items:center;justify-content:center}.profile-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8)}@supports (backdrop-filter:blur(2px)){.profile-modal-overlay{background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}}.profile-modal-content{position:relative;background:var(--color-bg-elevated);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);max-width:480px;width:90%;z-index:1;animation:a .3s ease}@keyframes a{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.profile-modal-header{padding:1.25rem;border-bottom:1px solid var(--color-gray-200);background:var(--color-bg);border-radius:8px 8px 0 0}.profile-modal-header h3{margin:0;font-size:18px;color:var(--color-text);font-weight:600}.profile-modal-body{padding:1.5rem 1.25rem}.profile-modal-body p{margin:0;font-size:15px;line-height:1.5;color:var(--color-text)}.profile-modal-footer{padding:1rem 1.25rem;background:var(--color-bg);border-top:1px solid var(--color-border);border-radius:0 0 8px 8px;display:flex;gap:.75rem;justify-content:flex-end}.profile-modal-footer .button{min-width:100px;height:44px;padding:0 1.5rem;border-radius:var(--radius);font-weight:500;cursor:pointer;border:none;transition:background-color .15s}#profile-modal-confirm{background:var(--color-error);color:var(--color-white)}#profile-modal-confirm:hover{background:var(--color-error-dark)}#profile-modal-cancel{background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text)}#profile-modal-cancel:hover{background:var(--color-bg)}[data-theme=dark] .profile-modal-content{background:var(--color-gray-800)}[data-theme=dark] .profile-modal-footer,[data-theme=dark] .profile-modal-header{background:rgba(0,0,0,.2);border-color:var(--color-border-light)}@media (max-width:1024px){.profile-box{grid-template-columns:1fr}.profile-sidebar{border-inline-end:none;border-bottom:1px solid var(--color-border);padding:.75rem 1rem}.profile-main{padding:1rem}.profile-main h2{margin-top:0}.profile-box .profile-header{display:flex;flex-direction:column;gap:0;width:100%;padding-bottom:0;border-bottom:none;margin-bottom:0}.profile-sidebar .profile-top-row{display:grid;grid-template-columns:50px 1fr auto;gap:.75rem;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--color-border);margin-bottom:.75rem;width:100%}.profile-box .profile-avatar-wrapper{margin-bottom:0}.profile-sidebar .profile-avatar-img{width:46px;height:46px;border-width:2px}.profile-sidebar .avatar-badge{display:none}.profile-box .profile-info{text-align:start;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.125rem}.profile-sidebar .profile-info h1{font-size:1rem;margin:0;line-height:1.3;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-sidebar .profile-username{font-size:.875rem;margin:0;line-height:1.3;opacity:.7}.profile-box .profile-stats{display:flex;flex-direction:column;gap:.375rem;padding:0;border:none;margin:0;width:auto;align-items:flex-start;justify-content:center}.profile-sidebar .profile-stat{text-align:end;display:flex;flex-direction:row;align-items:center;gap:.375rem}.profile-sidebar .profile-stat-label{font-size:.75rem;line-height:1;text-transform:uppercase;letter-spacing:0;opacity:.6}.profile-sidebar .profile-stat-value{font-size:.875rem;margin-bottom:0;line-height:1;font-weight:600}.profile-sidebar .profile-actions-row{display:flex;gap:.75rem;justify-content:flex-start;align-items:center;width:100%}.profile-sidebar .profile-actions-row .btn-secondary,.profile-sidebar .profile-actions-row .profile-role-badge{flex:1;height:34px;font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:0 1rem;white-space:nowrap;box-sizing:border-box;text-decoration:none}.profile-sidebar .profile-actions-row .profile-role-badge{text-transform:uppercase;background:var(--color-crail);color:var(--color-white);border:none;margin:0}.profile-sidebar .profile-actions-row .btn-secondary{min-width:unset;margin:0}}@media (max-width:768px){.profile-modal-content{max-width:95%;margin:1rem}}