:root{--color-cream:#fff;--color-blue:#122e23;--color-black:#122e23;--color-accent:#e09437;--color-white:#fff;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font-family:var(--sans);color:var(--color-black);background-color:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-cream);margin:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-content{flex:1}.page{max-width:900px;margin:0 auto;padding:3rem 1.5rem}.page h1{color:var(--color-black);margin-bottom:1rem;font-size:2.2rem;font-weight:700}.page p{color:#333;margin-bottom:.75rem}.mentor-list li a{color:var(--color-black);background:#fff;border:1px solid #ddd;border-radius:8px;padding:.9rem 1.2rem;text-decoration:none;transition:box-shadow .2s,border-color .2s;display:block}.mentor-list li a:hover{border-color:var(--color-blue);box-shadow:0 2px 8px #122e2326}.header{color:#fff;z-index:100;background-color:#122e23;padding:0 1.5rem;position:sticky;top:0;box-shadow:0 2px 6px #00000026}.header__inner{align-items:center;gap:2rem;max-width:1100px;height:64px;margin:0 auto;display:flex}.header__logo{letter-spacing:-.5px;color:#fff;align-items:center;gap:.6rem;margin-right:auto;font-size:1.5rem;font-weight:800;text-decoration:none;display:inline-flex}.header__logo-mark{width:auto;height:34px;display:block}.header__nav{gap:1.5rem;display:flex}.nav-link{color:#fff;border-bottom:2px solid #0000;padding:.25rem 0;font-size:.95rem;font-weight:500;text-decoration:none;transition:border-color .2s}.nav-link:hover,.nav-link--active{color:#e09437;border-bottom-color:#e09437}.header__login-btn{color:#122e23;background-color:#fff;border-radius:6px;padding:.45rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s}.header__login-btn:hover{color:#fff;background-color:#e09437}.header__user{align-items:center;gap:.65rem;display:flex}.header__avatar{object-fit:cover;border:2px solid #fff9;border-radius:50%;flex-shrink:0;width:32px;height:32px}.header__greeting{color:#fff;white-space:nowrap;font-size:.9rem;font-weight:500}.header__logout-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:5px;padding:.35rem .8rem;font-size:.85rem;font-weight:500;transition:background-color .2s}.header__logout-btn:hover{background-color:#ffffff26}.footer{color:#fff;background-color:#122e23;margin-top:auto;padding:1.5rem}.footer__inner{text-align:center;flex-direction:column;align-items:center;gap:.4rem;max-width:1100px;margin:0 auto;display:flex}.footer__logo{letter-spacing:-.3px;color:#e09437;font-size:1.1rem;font-weight:700}.footer__copy{color:#f2f2f2;margin:0;font-size:.8rem}.home-page{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:3rem 1.5rem;display:flex}.home-hero{text-align:center;max-width:680px}.home-hero__title{color:var(--color-black);margin-bottom:1.25rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.2}.home-hero__tagline{color:#444;margin-bottom:2.5rem;font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.6}.home-hero__ctas{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.home-cta{text-align:center;border-radius:8px;min-width:180px;padding:.85rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s;display:inline-block}.home-cta--primary{background:var(--color-blue);color:#fff}.home-cta--primary:hover{background:#0d221a;box-shadow:0 4px 14px #122e2359}.home-cta--secondary{color:var(--color-blue);border:2px solid var(--color-blue);background:0 0}.home-cta--secondary:hover{background:var(--color-blue);color:#fff}@media (width<=480px){.home-hero__ctas{flex-direction:column;align-items:stretch}.home-cta{min-width:unset}}.mentors-page{max-width:800px}.mentor-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.mentor-card{color:inherit;background:#fff;border:1px solid #e8e8e8;border-radius:12px;align-items:flex-start;gap:1.1rem;padding:1.1rem 1.25rem;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.mentor-card:hover{border-color:#c8c8c8;box-shadow:0 4px 16px #00000014}.mentor-card__avatar{object-fit:cover;border:2px solid #e0e0e0;border-radius:50%;flex-shrink:0;width:68px;height:68px}.mentor-card__avatar-placeholder{color:#9aabcc;background:#e8edf5;border:2px solid #dde4ef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:68px;font-size:1.6rem;display:flex}.mentor-card__body{flex:1;min-width:0}.mentor-card__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.4rem;margin-bottom:.3rem;display:flex}.mentor-card__name{color:#1a1a1a;font-size:1.05rem;font-weight:700}.mentor-card__tags{flex-wrap:wrap;gap:.35rem;display:flex}.mentor-tag{white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:600;display:inline-block}.mentor-card__meta{color:#666;flex-wrap:wrap;gap:.2rem 1rem;margin-bottom:.5rem;font-size:.83rem;display:flex}.mentor-card__meta-item{align-items:center;gap:.25rem;display:flex}.mentor-card__bio{color:#444;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.mentor-profile-page{max-width:680px}.profile-header{border-bottom:2px solid #eee;align-items:flex-start;gap:1.25rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.profile-photo{object-fit:cover;border:2px solid #e0e0e0;border-radius:50%;flex-shrink:0;width:88px;height:88px}.profile-name{margin-bottom:.25rem;font-size:2rem}.profile-field-of-study{color:#555;margin-bottom:.75rem;font-size:1.1rem}.profile-field{color:#555;margin:.2rem 0 .75rem;font-size:1.05rem}.profile-badges{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.profile-badge{border-radius:999px;padding:.25rem .75rem;font-size:.82rem;font-weight:600;display:inline-block}.profile-badge--essay{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.profile-badge--mentor{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.profile-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.profile-field{flex-direction:column;gap:.15rem;display:flex}.profile-field__label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.profile-field__value{color:#111;font-size:.95rem}.profile-section{margin-bottom:1.75rem}.profile-section h2{color:var(--color-blue);margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.profile-section p{color:#333;margin:0 0 .4rem}.profile-section__label{color:#888;text-transform:uppercase;letter-spacing:.04em;margin-top:.75rem;font-size:.82rem;font-weight:600;display:block}.profile-section__body{white-space:pre-wrap;color:#333}.profile-bio{color:#333;margin:0;font-size:1rem;line-height:1.6}.calendar-embed-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:10px;width:100%;overflow:hidden}.calendar-embed{border:none;width:100%;height:680px;display:block}@media (width<=600px){.calendar-embed{height:520px}}.book-login-prompt{color:#444;font-size:.95rem}.book-login-prompt a{color:var(--color-blue);font-weight:600;text-decoration:none}.book-login-prompt a:hover{text-decoration:underline}.calendar-btn{background:var(--color-blue);color:#fff;border-radius:7px;padding:.65rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.calendar-btn:hover{background:#0d221a}.mentor-tag{border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.mentor-tag--essay{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.mentor-tag--mentor{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.calendar-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.apply-page{max-width:680px}.apply-intro{color:#333;font-size:1.05rem}.apply-cycle-note{color:#555;border-left:3px solid var(--color-blue);background:#fff;border-radius:0 6px 6px 0;margin-bottom:2rem;padding:.6rem .9rem;font-size:.9rem}.apply-form{flex-direction:column;gap:1.25rem;display:flex}.form-group label,.form-group legend{color:#111;font-size:.95rem;font-weight:600}.form-group fieldset{border:none;flex-direction:column;gap:.35rem;margin:0;padding:0;display:flex}.form-hint{color:#666;margin-bottom:.25rem;font-size:.85rem;display:block}.form-group input[type=text],.form-group input[type=email],.form-group textarea{background:#fff;border:1px solid #ccc;border-radius:6px;width:100%;padding:.55rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group textarea:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #122e2326}.form-group textarea{resize:vertical}.radio-group,.checkbox-group{flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.25rem;display:flex}.radio-label,.checkbox-label{cursor:pointer;align-items:center;gap:.45rem;font-size:.95rem;font-weight:400;display:flex}.radio-label input,.checkbox-label input{accent-color:var(--color-blue);cursor:pointer;width:16px;height:16px}.form-section{background:#fff;border:1px solid #ddd;border-radius:10px;flex-direction:column;gap:1.25rem;padding:1.5rem 1.25rem;display:flex}.form-section h2{color:var(--color-blue);margin:0 0 .25rem;font-size:1.15rem;font-weight:700}.submit-btn{background:var(--color-blue);color:#fff;cursor:pointer;border:none;border-radius:7px;align-self:flex-start;margin-top:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background .2s,opacity .2s}.submit-btn:hover:not(:disabled){background:#0d221a}.submit-btn:disabled{opacity:.55;cursor:not-allowed}.form-error{color:#c0392b;background:#fdf0ef;border:1px solid #e8b4b0;border-radius:6px;padding:.6rem .9rem;font-size:.9rem}.apply-success{text-align:center;padding:3rem 1rem}.apply-success__icon{margin-bottom:1rem;font-size:3rem}.apply-success h1{margin-bottom:.75rem;font-size:2rem}.apply-success p{color:#555;max-width:480px;margin:0 auto}.profile-setup-page{max-width:680px}.setup-intro{color:#333;margin-bottom:2rem;font-size:1.05rem}.photo-upload-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.4rem;display:flex}.photo-preview{object-fit:cover;border:2px solid #ddd;border-radius:50%;flex-shrink:0;width:80px;height:80px}.photo-file-input{display:none}.photo-upload-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.5rem 1.2rem;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s;display:inline-block}.photo-upload-btn:hover{border-color:var(--color-blue);box-shadow:0 0 0 3px #122e231a}.calendar-instructions{background:#f0f8fb;border:1px solid #b3dde8;border-radius:8px;margin:.5rem 0 .75rem;padding:.75rem 1rem;font-size:.9rem}.calendar-instructions summary{color:var(--color-blue);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.calendar-instructions__steps{color:#333;margin:.75rem 0 .25rem;padding-left:1.5rem;line-height:1.7}.calendar-instructions__steps li{margin-bottom:.3rem}.calendar-instructions__steps code{word-break:break-all;background:#fff;border:1px solid #cce5ec;border-radius:4px;padding:.05rem .35rem;font-size:.82rem}.crop-modal-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.crop-modal{background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;width:100%;max-width:520px;max-height:90vh;padding:1.5rem;display:flex;overflow-y:auto}.crop-modal__title{margin:0;font-size:1.2rem}.crop-modal__hint{color:#666;margin:0;font-size:.85rem}.crop-modal__canvas{background:#111;border-radius:8px;justify-content:center;display:flex;overflow:hidden}.crop-modal__image{object-fit:contain;max-width:100%;max-height:55vh}.crop-modal__actions{justify-content:flex-end;gap:.75rem;display:flex}.crop-modal__btn{cursor:pointer;background:#f5f5f5;border:1px solid #ccc;border-radius:6px;padding:.55rem 1.3rem;font-size:.9rem;font-weight:500;transition:background .15s}.crop-modal__btn--cancel:hover{background:#e8e8e8}.crop-modal__btn--confirm{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.crop-modal__btn--confirm:hover{background:#0d221a}.become-page{max-width:740px}.become-page__intro{color:#333;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.7}.become-section{margin-bottom:2.5rem}.become-section h2{color:var(--color-blue);margin-bottom:.75rem;font-size:1.4rem;font-weight:700}.become-steps{flex-direction:column;gap:1.25rem;margin-top:1rem;display:flex}.become-step{align-items:flex-start;gap:1rem;display:flex}.become-step__number{background:var(--color-blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.1rem;font-size:.9rem;font-weight:700;display:flex}.become-step strong{margin-bottom:.2rem;font-size:1rem;display:block}.become-step p{color:#444;margin:0;font-size:.95rem}.become-commitment{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.become-commitment__card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.25rem 1.5rem}.become-commitment__card h3{color:var(--color-black);margin-bottom:.5rem;font-size:1rem;font-weight:700}.become-commitment__card p{color:#444;margin:0;font-size:.93rem}.become-page__note{color:#666;font-size:.9rem;font-style:italic}.become-cta-wrapper{margin-top:2.5rem}.become-apply-btn{background:var(--color-blue);color:#fff;border-radius:8px;padding:.85rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,box-shadow .2s;display:inline-block}.become-apply-btn:hover{background:#0d221a;box-shadow:0 4px 14px #122e234d}@media (width<=480px){.become-apply-btn{text-align:center;display:block}}.admin-page{max-width:780px}.admin-subtitle{color:#555;margin-bottom:1.5rem}.admin-empty{color:#666;font-style:italic}.toast{border-radius:7px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.app-list{flex-direction:column;gap:1.5rem;display:flex}.app-card{background:#fff;border:1px solid #ddd;border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.app-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.app-card__name{margin:0 0 .15rem;font-size:1.25rem;font-weight:700}.app-card__email{color:var(--color-blue);font-size:.9rem;text-decoration:none}.app-card__email:hover{text-decoration:underline}.app-card__date{color:#888;white-space:nowrap;font-size:.82rem}.app-card__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.field{flex-direction:column;gap:.15rem;display:flex}.field-label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.field-value{color:#111;font-size:.95rem}.app-card__section{flex-direction:column;gap:.2rem;display:flex}.app-card__para{color:#333;white-space:pre-wrap;margin:0;font-size:.92rem}.help-badges{flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.badge{border-radius:999px;padding:.2rem .65rem;font-size:.8rem;font-weight:600;display:inline-block}.badge--essay{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.badge--mentor{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.app-card__actions{border-top:1px solid #eee;gap:.75rem;padding-top:.5rem;display:flex}.btn-accept,.btn-reject{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:600;transition:opacity .2s,background .2s}.btn-accept{background:var(--color-blue);color:#fff}.btn-reject{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5}.btn-reject:hover:not(:disabled){background:#fee2e2}.btn-accept:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:520px;padding:2rem;display:flex}.modal h2{margin:0;font-size:1.2rem}.modal p{color:#333;margin:0;font-size:.95rem}.modal-link-input{background:#f9f9f9;border:1px solid #ccc;border-radius:6px;width:100%;padding:.55rem .75rem;font-family:monospace;font-size:.85rem}.login-page{justify-content:center;padding-top:5rem;display:flex}.login-card{text-align:center;background:#fff;border:1px solid #ddd;border-radius:12px;width:100%;max-width:420px;padding:2.5rem 2rem}.login-card h1{margin-top:0;font-size:1.8rem}.login-subtitle{color:#555;margin-bottom:.5rem}.login-notice{color:#666;margin-bottom:1.5rem;font-size:.85rem}.google-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;gap:.65rem;width:100%;padding:.65rem 1.4rem;font-size:.95rem;font-weight:500;transition:box-shadow .2s,border-color .2s;display:inline-flex}.google-btn:hover:not(:disabled){border-color:#122e23;box-shadow:0 2px 8px #122e2326}.google-btn:disabled{opacity:.6;cursor:not-allowed}.email-form{text-align:left;flex-direction:column;gap:.4rem;margin-bottom:.25rem;display:flex}.email-label{color:#333;margin-top:.35rem;font-size:.85rem;font-weight:500}.email-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:.6rem .75rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.email-input:focus{border-color:#122e23;box-shadow:0 0 0 3px #122e2326}.email-input:disabled{opacity:.6}.email-btn{color:#fff;cursor:pointer;background:#122e23;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.65rem 1.4rem;font-size:.95rem;font-weight:500;transition:background .2s}.email-btn:hover:not(:disabled){background:#0d221a}.email-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{color:#aaa;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.85rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:#ddd;flex:1;height:1px}.login-error{color:#333;text-align:left;background:#fff8e1;border:1px solid #ffc107;border-radius:6px;margin-top:1.5rem;padding:1rem;font-size:.88rem;line-height:1.5}.essay-request-page{max-width:680px}.essay-request__title{margin-bottom:1.25rem}.essay-request__notice{color:#5d4037;background:#fff8e1;border:1px solid #ffe082;border-left:4px solid #ffc107;border-radius:6px;margin-bottom:2rem;padding:.9rem 1.1rem;font-size:.95rem;line-height:1.5}.essay-request__notice--info{color:#0d47a1;background:#e3f2fd;border-color:#90caf9 #90caf9 #90caf9 #1565c0}.doc-instructions{color:#444;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.88rem;line-height:1.6}.doc-instructions p{margin:0}.essay-request__form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:#333;justify-content:space-between;align-items:center;font-size:.92rem;font-weight:600;display:flex}.form-group input[type=text],.form-group input[type=date],.form-group select{background:#fff;border:1px solid #ccc;border-radius:6px;padding:.6rem .8rem;font-family:inherit;font-size:.95rem}.form-group input:focus,.form-group select:focus,.essay-textarea:focus{outline:2px solid var(--color-blue);border-color:var(--color-blue)}.essay-textarea{resize:vertical;box-sizing:border-box;border:1px solid #ccc;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.93rem;line-height:1.6}.essay-textarea--over{border-color:#e53935}.word-count{color:#888;font-size:.8rem;font-weight:400}.word-count--over{color:#e53935;font-weight:600}.field-error{color:#e53935;margin:.15rem 0 0;font-size:.85rem}.form-error{color:#e53935;margin:0;font-size:.9rem}.btn-submit{background:var(--color-blue);color:#fff;cursor:pointer;border:none;border-radius:7px;align-self:flex-start;padding:.7rem 1.6rem;font-size:.97rem;font-weight:600;transition:background .2s}.btn-submit:hover:not(:disabled){background:#0d221a}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.mentor-dashboard-page{max-width:720px}.dashboard-empty{color:#666}.req-list{flex-direction:column;gap:1.5rem;display:flex}.req-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.25rem 1.5rem}.req-card__meta{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.req-card__mentee{color:#111;font-size:1.05rem;font-weight:700}.req-card__date{color:#888;white-space:nowrap;font-size:.82rem}.req-card__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.req-field{flex-direction:column;gap:.15rem;display:flex}.req-field__label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.req-field__value{color:#111;font-size:.92rem}.req-card__prompt{margin-bottom:.75rem}.req-card__prompt p{color:#333;margin:.25rem 0 0;font-size:.93rem;line-height:1.5}.req-card__essay-toggle{margin-bottom:.5rem}.btn-toggle{cursor:pointer;color:var(--color-blue);background:0 0;border:1px solid #ccc;border-radius:5px;padding:.35rem .8rem;font-size:.85rem;font-weight:600;transition:border-color .15s}.btn-toggle:hover{border-color:var(--color-blue)}.req-card__essay{color:#222;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:6px;max-height:400px;margin-bottom:.75rem;padding:.85rem 1rem;font-size:.93rem;line-height:1.65;overflow-y:auto}.req-card__essay p{margin:0 0 .6rem}.req-card__essay p:last-child{margin-bottom:0}.req-card__actions{border-top:1px solid #f0f0f0;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.btn-accept{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:6px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-accept:hover:not(:disabled){background:#1b5e20}.btn-decline{color:#c62828;cursor:pointer;background:#fff;border:1.5px solid #e57373;border-radius:6px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s}.btn-decline:hover:not(:disabled){background:#ffebee;border-color:#c62828}.btn-accept:disabled,.btn-decline:disabled{opacity:.5;cursor:not-allowed}.btn-feedback{background:var(--color-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-feedback:hover:not(:disabled){background:#0d221a}.btn-feedback:disabled{opacity:.5;cursor:not-allowed}.req-card__status-badge{border-radius:99px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.req-card__status-badge--accepted{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9}.req-card__status-badge--done{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.req-card__doc{margin-bottom:.5rem}.doc-link{color:var(--color-blue);font-size:.9rem;font-weight:600;text-decoration:none}.doc-link:hover{text-decoration:underline}.doc-link--preview{color:#888;font-size:.85rem;font-weight:400}.doc-hint{color:#666;margin:.3rem 0 0;font-size:.82rem}.req-card--accepted{border-color:#90caf9}.req-card--done{opacity:.9;border-color:#a5d6a7}.dashboard-section{margin-bottom:2.5rem}.dashboard-section__title{color:#222;margin-bottom:.4rem;font-size:1.1rem;font-weight:700}.weekly-cap-bar{color:#444;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1.5rem;padding:.6rem 1rem;font-size:.88rem}.weekly-cap-bar__full{color:#c62828;font-weight:600}.toast{z-index:1000;border-radius:8px;max-width:380px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #0000001f}.toast--success{color:#1b5e20;background:#e8f5e9;border:1px solid #a5d6a7}.toast--error{color:#b71c1c;background:#ffebee;border:1px solid #ef9a9a}.toast--info{color:#0d47a1;background:#e3f2fd;border:1px solid #90caf9}.mentee-dashboard-page{max-width:720px}.dashboard-subtitle{color:#555;margin-bottom:2rem}.dashboard-empty-state{color:#666;padding:2rem 0}.review-list{flex-direction:column;gap:1.25rem;display:flex}.review-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.25rem 1.5rem}.review-card--feedback_sent{border-color:#a5d6a7}.review-card--declined{opacity:.85;border-color:#ef9a9a}.review-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.review-card__purpose{color:#888;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.review-card__prompt{color:#111;margin:.2rem 0 0;font-size:.95rem;font-weight:600}.status-badge{white-space:nowrap;border-radius:99px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.status--pending{color:#f57f17;background:#fff8e1;border:1px solid #ffe082}.status--accepted{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9}.status--feedback{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.status--declined{color:#c62828;background:#ffebee;border:1px solid #ef9a9a}.review-card__meta{color:#888;gap:1.5rem;margin-bottom:.75rem;font-size:.82rem;display:flex}.review-card__action{border-top:1px solid #f0f0f0;margin-top:.5rem;padding-top:.75rem}.review-card__note{color:#555;margin:0 0 .5rem;font-size:.88rem}.review-action-btn{color:#333;cursor:pointer;background:#f5f5f5;border:1px solid #ccc;border-radius:6px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.review-action-btn:hover{background:#e8e8e8}.review-action-btn--primary{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.review-action-btn--primary:hover{background:#0d221a}.review-action-btn--danger{color:#c0392b;background:#fff0f0;border-color:#f5c6c6}.review-action-btn--danger:hover:not(:disabled){background:#fde0e0}.review-action-btn--danger:disabled{opacity:.6;cursor:not-allowed}.review-card__action-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}
