
:root{--pd:#0e0618;--pk:#160d24;--pm:#2a1550;--pg:#7c3fbf;--w:#ffffff;--ow:#ede8f5;--mu:#9b87c0;--si:#c8bedd;--go:#d4af6a;--gr:#3ecf8e;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Outfit',sans-serif;background:var(--pd);color:var(--ow);min-height:100vh;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:rgba(14,6,24,.8);backdrop-filter:blur(12px);border-bottom:1px solid rgba(124,63,191,.25);}
.logo{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--w);text-decoration:none;}
.logo span{color:var(--pg);}
.nav-right{display:flex;align-items:center;gap:1rem;}
.nav-link{color:var(--mu);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s;}
.nav-link:hover{color:var(--w);}
.btn-logout{background:rgba(124,63,191,.15);border:1px solid rgba(124,63,191,.3);color:var(--mu);padding:.4rem .9rem;border-radius:6px;cursor:pointer;font-family:'Outfit',sans-serif;font-size:.85rem;transition:all .2s;}
.btn-logout:hover{background:rgba(124,63,191,.3);color:var(--w);}
main{padding-top:5rem;min-height:100vh;}
.container{max-width:780px;margin:0 auto;padding:2rem 1.5rem 4rem;}

/* AUTH GATE */
.gate{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 5rem);}
.gate-card{background:var(--pk);border:1px solid rgba(124,63,191,.25);border-radius:16px;padding:3rem 2.5rem;max-width:440px;width:100%;text-align:center;}
.gate-badge{display:inline-block;background:rgba(124,63,191,.2);color:var(--pg);border:1px solid rgba(124,63,191,.4);border-radius:20px;padding:.3rem .9rem;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.5rem;}
.gate-title{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;color:var(--w);margin-bottom:.75rem;}
.gate-sub{color:var(--mu);font-size:.95rem;line-height:1.6;margin-bottom:2rem;}
.gate-btns{display:flex;flex-direction:column;gap:.75rem;}
.btn-primary{background:var(--pg);color:var(--w);border:none;padding:.85rem 1.5rem;border-radius:8px;font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;}
.btn-primary:hover{background:#8f4fd4;}
.btn-secondary{background:transparent;color:var(--mu);border:1px solid rgba(124,63,191,.35);padding:.85rem 1.5rem;border-radius:8px;font-family:'Outfit',sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;}
.btn-secondary:hover{border-color:var(--pg);color:var(--w);}

/* TYPE SELECTOR */
.section-title{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--w);margin-bottom:.5rem;}
.section-sub{color:var(--mu);margin-bottom:2rem;font-size:.95rem;}
.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem;}
.type-card{background:var(--pk);border:2px solid rgba(124,63,191,.2);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .25s;text-align:left;}
.type-card:hover{border-color:rgba(124,63,191,.5);}
.type-card.selected{border-color:var(--pg);box-shadow:0 0 20px rgba(124,63,191,.3);}
.type-icon{font-size:2rem;margin-bottom:.75rem;}
.type-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--w);margin-bottom:.4rem;}
.type-desc{color:var(--mu);font-size:.85rem;line-height:1.5;}

/* STATUS CARD */
.status-card{background:var(--pk);border:1px solid rgba(124,63,191,.3);border-radius:12px;padding:2rem;text-align:center;}
.status-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:1rem;}
.status-badge.pending{background:rgba(212,175,106,.15);color:var(--go);border:1px solid rgba(212,175,106,.3);}
.status-badge.approved{background:rgba(62,207,142,.15);color:var(--gr);border:1px solid rgba(62,207,142,.3);}
.status-badge.rejected{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.3);}
.status-title{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--w);margin-bottom:.5rem;}
.status-info{color:var(--mu);font-size:.9rem;}

/* FORM */
.card{background:var(--pk);border:1px solid rgba(124,63,191,.2);border-radius:12px;padding:2rem;margin-top:0;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-grid.full{grid-template-columns:1fr;}
.form-group{display:flex;flex-direction:column;gap:.4rem;}
.form-group.span2{grid-column:1/-1;}
.form-label{font-size:.85rem;font-weight:500;color:var(--si);}
.form-input{background:rgba(42,21,80,.4);border:1px solid rgba(124,63,191,.25);border-radius:8px;padding:.7rem 1rem;color:var(--w);font-family:'Outfit',sans-serif;font-size:.95rem;transition:border-color .2s;width:100%;}
.form-input:focus{outline:none;border-color:var(--pg);}
.form-input[readonly]{opacity:.6;cursor:default;}
select.form-input{cursor:pointer;}
textarea.form-input{resize:vertical;min-height:90px;}

/* CHIPS */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;}
.chip{background:rgba(124,63,191,.08);border:1px solid rgba(124,63,191,.25);border-radius:20px;padding:.3rem .8rem;font-size:.8rem;color:var(--mu);cursor:pointer;transition:all .2s;user-select:none;}
.chip:hover{border-color:var(--pg);color:var(--ow);}
.chip.active{background:rgba(124,63,191,.25);border-color:var(--pg);color:var(--w);}

/* SUBMIT */
.btn-submit{background:var(--pg);color:var(--w);border:none;padding:1rem 2rem;border-radius:8px;font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1.5rem;width:100%;}
.btn-submit:hover{background:#8f4fd4;}
.btn-submit:disabled{opacity:.5;cursor:not-allowed;}
.msg{border-radius:8px;padding:.9rem 1.2rem;margin-top:1rem;font-size:.9rem;font-weight:500;}
.msg.success{background:rgba(62,207,142,.1);border:1px solid rgba(62,207,142,.3);color:var(--gr);}
.msg.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#f87171;}

/* AVATAR UPLOAD */
.avatar-upload{display:flex;align-items:center;gap:1rem;}
.avatar-preview{width:72px;height:72px;border-radius:50%;background:rgba(42,21,80,.6);border:2px solid rgba(124,63,191,.3);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.avatar-preview img{width:100%;height:100%;object-fit:cover;}
.avatar-placeholder{font-size:1.8rem;opacity:.5;}
.avatar-info{display:flex;flex-direction:column;align-items:flex-start;}

@media(max-width:600px){
  .type-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .form-group.span2{grid-column:1;}
  nav{padding:1rem;}
  input,select,textarea{font-size:16px!important;}
}

/* Mobile hamburger */
.apply-hamburger{display:none;background:none;border:1px solid rgba(124,63,191,.4);color:var(--ow);font-size:1.15rem;padding:.35rem .7rem;border-radius:6px;cursor:pointer;line-height:1;transition:all .2s;flex-shrink:0;}
.apply-hamburger:hover{border-color:var(--pg);color:var(--w);}
.apply-mob-menu{display:none;position:fixed;top:62px;left:0;right:0;background:rgba(14,6,24,.97);backdrop-filter:blur(12px);border-bottom:2px solid rgba(124,63,191,.25);z-index:99;padding:.85rem 1.25rem;flex-direction:column;gap:.5rem;box-shadow:0 6px 24px rgba(0,0,0,.5);}
.apply-mob-menu.open{display:flex;}
.apply-mob-link{padding:.75rem 1rem;border-radius:8px;color:var(--ow);font-size:.95rem;font-weight:500;background:rgba(124,63,191,.08);border:1px solid rgba(124,63,191,.2);text-align:left;cursor:pointer;font-family:'Outfit',sans-serif;width:100%;text-decoration:none;display:block;transition:background .2s;}
.apply-mob-link:hover{background:rgba(124,63,191,.2);}
button.apply-mob-link{appearance:none;-webkit-appearance:none;}
@media(max-width:700px){
  .nav-right{display:none;}
  .apply-hamburger{display:flex;align-items:center;}
}
