@import url("theme.css");
body{padding:0 28px}.login-header{max-width:1120px;padding:27px 0;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:18px}.login-header .btn{font-size:.84rem}.login-main{max-width:1120px;margin:14px auto 0}.container{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:610px;border:1px solid var(--line);border-radius:26px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-1)}
.form-container{grid-column:2;grid-row:1;padding:54px 48px;min-width:0;display:flex;align-items:center;transform:translateX(0);transition:transform .65s cubic-bezier(.65,0,.35,1),opacity .22s ease,visibility 0s linear .22s}
.form-container form{width:100%}
.sign-in{opacity:1;visibility:visible;z-index:2;transition-delay:0s,.22s,0s}
.sign-up{opacity:0;visibility:hidden;z-index:1}
.container.active .form-container{transform:translateX(-100%)}
.container.active .sign-in{opacity:0;visibility:hidden;z-index:1;transition-delay:0s,0s,.22s}
.container.active .sign-up{opacity:1;visibility:visible;z-index:2;transition-delay:0s,.22s,0s}
.form-container h1{font-size:2.3rem;margin:12px 0;letter-spacing:-.04em}.brand-mark{color:var(--gold);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}.form-intro{color:var(--muted);font-size:.94rem;margin:0 0 22px}.form-meta{color:#afc0d7;font-size:.78rem;display:block;margin-bottom:12px}
.field{position:relative;display:block;width:100%;margin-bottom:13px}.field input{color:var(--ink);background:#0a1829;border:1px solid #344660;border-radius:10px;width:100%;min-height:58px;padding:23px 14px 9px;font-size:1rem;outline:none}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--ring)}.field>span{position:absolute;left:14px;top:17px;color:var(--muted);font-size:.9rem;pointer-events:none;transition:top .15s,font-size .15s}.field.is-active>span,.field input:focus+span,.field input:not(:placeholder-shown)+span{top:6px;font-size:.68rem;color:#d6c096}.password-wrapper input{padding-right:52px}.password-toggle{position:absolute;right:5px;top:7px;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem}.password-toggle:hover{color:var(--gold);background:#182b43}.form-container form>.btn{width:100%;margin-top:18px;min-height:48px}.forgot-link{display:inline-flex;align-items:center;min-height:44px;font-size:.82rem;text-decoration:none}
.toggle-container{grid-row:1;grid-column:1;position:relative;min-width:0;z-index:3;transform:translateX(0);transition:transform .65s cubic-bezier(.65,0,.35,1);background:linear-gradient(180deg,rgba(7,17,31,.10),rgba(7,17,31,.4) 35%,#07111f 86%),url("assets/campus.jpg");background-size:cover,auto 115%;background-position:center,52% top;background-repeat:no-repeat;border-inline:1px solid var(--line)}
.container.active .toggle-container{transform:translateX(100%)}
.toggle{min-height:610px;height:100%;position:relative;overflow:hidden}
.toggle-panel{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:flex-start;flex-direction:column;padding:44px;transition:transform .65s cubic-bezier(.65,0,.35,1),opacity .22s ease,visibility 0s linear .22s}
.toggle-left{transform:translateX(25%);opacity:0;visibility:hidden}
.toggle-right{transform:translateX(0);opacity:1;visibility:visible;transition-delay:0s,.22s,0s}
.container.active .toggle-left{transform:translateX(0);opacity:1;visibility:visible;transition-delay:0s,.22s,0s}
.container.active .toggle-right{transform:translateX(-25%);opacity:0;visibility:hidden;transition-delay:0s,0s,.22s}
.panel-chip{display:flex;align-items:center;gap:8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#f0d8a6;margin-bottom:14px}.panel-chip::before{content:"";width:21px;height:1px;background:var(--gold)}.toggle-panel h1{font-size:clamp(2rem,3.4vw,3.05rem);margin:0;max-width:340px;letter-spacing:-.05em}.toggle-panel p{color:#c5d3e4;font-size:.93rem;margin:17px 0 20px;max-width:350px}.toggle-panel .college-tags{margin:0 0 24px}.toggle-panel .btn{background:rgba(7,17,31,.35);border-color:rgba(217,185,119,.5);color:#f0d8a6;font-size:.85rem}
.public-entry{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:22px 0;padding:24px 28px;border-radius:17px;border:1px solid var(--line);background:#0c1a2c}.public-entry-chip{color:var(--gold);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.public-entry h2{font-size:1.25rem;margin:5px 0 8px}.public-entry p{color:var(--muted);max-width:690px;font-size:.87rem;margin:0}.public-entry-link{flex-shrink:0;display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:.87rem;text-decoration:none}.page-footer{padding-left:0;padding-right:0;max-width:1120px}.trap-field{position:fixed!important;width:1px!important;height:1px!important;left:-10000px!important;opacity:0;pointer-events:none}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(2,8,17,.82);z-index:100;padding:20px;align-items:center;justify-content:center}.modal-overlay.show{display:flex}.modal-card{text-align:center;max-width:430px;width:100%;padding:36px 28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-1)}.modal-card h2{font-size:1.85rem;margin:20px 0 12px}.modal-card p{color:var(--muted)}.modal-icon{color:#8ee4b8;font-size:2.5rem}.modal-icon.error{color:#ffb3ba}.modal-btn{min-height:44px;padding:11px 24px;background:var(--gold);border:0;color:var(--bg);border-radius:10px;font-weight:600;margin-top:15px;cursor:pointer}.modal-spinner{display:none;width:40px;height:40px;border:3px solid #344660;border-top-color:var(--gold);border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}.loading .modal-icon,.loading .modal-btn{display:none}.loading .modal-spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.form-container{padding:40px 30px}.toggle-panel{padding:34px}.toggle-panel h1{font-size:2.35rem}}
@media(max-width:700px){body{padding:0 18px}.login-header{padding:20px 0;align-items:flex-start}.login-header .btn{padding:8px 12px;font-size:.76rem}.login-header .btn span{display:none}.login-main{margin-top:0}.container{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:20px}.toggle-container{grid-column:1;grid-row:1;border-inline:0;border-bottom:1px solid var(--line);background-position:center,52% top}.container.active .toggle-container{transform:translateX(0)}.toggle{min-height:320px}.toggle-panel{padding:25px 26px}.toggle-panel h1{font-size:2rem;max-width:310px}.toggle-panel p{font-size:.83rem;margin:10px 0 13px}.toggle-panel .college-tags{margin-bottom:16px}.toggle-panel .btn{min-height:44px;padding:8px 15px}.form-container{grid-column:1;grid-row:2;padding:30px 25px}.sign-up{transform:translateX(100%)}.container.active .sign-up{transform:translateX(0)}.form-container h1{font-size:2rem}.public-entry{padding:22px;flex-direction:column;align-items:flex-start;gap:13px}.public-entry-link{width:100%;justify-content:space-between}}
