
.student-gate{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(145deg,#edf8ff 0%,#f7fbff 46%,#eefaf5 100%)}
.gate-shell{width:min(1060px,100%);display:grid;grid-template-columns:1.12fr .88fr;background:#fff;border:1px solid #d8e6ef;border-radius:30px;overflow:hidden;box-shadow:0 24px 70px rgba(18,73,110,.13)}
.gate-visual{padding:48px;background:linear-gradient(145deg,#0879c9,#1550a4);color:#fff;position:relative;overflow:hidden}
.gate-visual:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-120px;bottom:-150px;background:rgba(255,255,255,.10)}
.gate-visual h1{font-size:42px;line-height:1.15;margin:18px 0 16px;position:relative;z-index:1}.gate-visual p{font-size:17px;line-height:1.8;color:#eaf5ff;position:relative;z-index:1}
.gate-college{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:800;position:relative;z-index:1}
.gate-flow{margin-top:30px;display:grid;gap:10px;position:relative;z-index:1}.gate-flow span{display:flex;align-items:center;gap:9px}.gate-flow i{font-style:normal;width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.18);font-weight:900}
.gate-form{padding:44px;display:flex;flex-direction:column;justify-content:center}.gate-form h2{font-size:27px;margin:0 0 8px}.gate-form p{color:#667b89;line-height:1.7}.gate-form label{display:block;font-weight:800;margin:20px 0 8px}.student-no-input{font-size:20px;letter-spacing:.04em;padding:15px 16px!important;border:2px solid #bfd7e8!important}.gate-form .primary-btn{padding:14px 18px;margin-top:14px;font-size:16px}.privacy-server{margin-top:18px;padding:14px 15px;border-radius:14px;background:#fff7df;color:#6c5200;font-size:13px;line-height:1.65}.gate-error{margin-top:12px;padding:11px 13px;border-radius:12px;background:#fff0f1;color:#a23642;display:none}.gate-error.show{display:block}
.sync-status{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-size:12px;font-weight:700}.sync-dot{width:8px;height:8px;border-radius:50%;background:#7be0ba}.sync-status.saving .sync-dot{background:#ffd16c}.sync-status.error .sync-dot{background:#ff8c96}
.student-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:12px;font-weight:800;color:#fff}
.submit-panel{border:2px solid #a9d7cd;background:linear-gradient(135deg,#f0fff9,#f6fbff)}.submit-panel h2{color:#176e59}.submit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.submit-help{color:#5c716e;line-height:1.7}.success-note{background:#e8f8ef;color:#236648;border-radius:14px;padding:14px 16px;margin-top:12px}
.server-notice{background:#eaf5ff;border-left:5px solid #0b79cf;padding:14px 16px;border-radius:12px;color:#31566e;line-height:1.7;margin:14px 0}
@media(max-width:760px){.gate-shell{grid-template-columns:1fr}.gate-visual{padding:28px}.gate-visual h1{font-size:32px}.gate-form{padding:28px}.sync-status .sync-text{display:none}.student-badge{display:none}}

/* v1.1 account + navigation + custom logo */
.brand-mark{overflow:hidden;padding:2px;background:#fff}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;border-radius:9px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;background:#eef5fa;border-radius:14px;margin-bottom:24px}.auth-tab{border:0;background:transparent;color:#627886;border-radius:10px;padding:11px 10px;font-weight:800}.auth-tab.active{background:#fff;color:#0b6fb9;box-shadow:0 4px 14px rgba(33,88,122,.10)}
.auth-input{width:100%;border:2px solid #bfd7e8;border-radius:12px;padding:13px 15px;background:#fff;color:#17384c}.auth-input:focus{outline:0;border-color:#0b79cf;box-shadow:0 0 0 3px rgba(11,121,207,.10)}
.task-next-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;border:2px solid #bcdced;background:linear-gradient(135deg,#f2f9ff,#f0fff9)}.task-next-panel small{color:#67808f;font-weight:800}.task-next-panel h3{font-size:24px;margin:4px 0}.task-next-panel p{margin:0;color:#667b89}.next-plan-btn{min-width:230px;padding:14px 20px;font-size:16px}
@media(max-width:700px){.task-next-panel{align-items:stretch;flex-direction:column}.next-plan-btn{width:100%;min-width:0}.gate-form label{margin-top:14px}.top-actions .icon-btn{padding:8px 10px}}
