@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap";:root{--navy:#002147;--navy-mid:#036;--navy-soft:#e8edf5;--gold:#f5b800;--gold-dark:#c99500;--gold-pale:#fffbea;--white:#fff;--off:#f4f5f7;--border:#dde2ec;--text:#0d1b2a;--muted:#5a6782;--green:#1a7f52;--green-bg:#e8f5ee;--red:#b91c1c;--red-bg:#fef2f2;--stipend:#7c3aed;--stipend-bg:#f3f0ff;--radius:6px;--shadow:0 1px 4px #00214714, 0 4px 16px #0021470f;--shadow-lg:0 8px 32px #00214721}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:15px}body{background:var(--off);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}input,select,textarea{font-family:inherit}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-animate{animation:.3s fadeUp}.inst-strip{background:var(--gold);color:var(--navy);letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:7px 24px;font-size:11.5px;font-weight:600;display:flex}.navbar{background:var(--navy);border-bottom:3px solid var(--gold);z-index:100;position:sticky;top:0}.nav-inner{align-items:center;gap:0;max-width:1160px;height:60px;margin:0 auto;padding:0 24px;display:flex}.nav-brand{cursor:pointer;align-items:center;gap:10px;margin-right:auto;display:flex}.nav-logo{background:var(--gold);width:34px;height:34px;color:var(--navy);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-family:DM Serif Display,serif;font-size:18px;font-weight:400;display:flex}.nav-title{color:var(--white);letter-spacing:.01em;font-family:DM Serif Display,serif;font-size:17px;line-height:1.1}.nav-sub{color:#ffffff80;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.nav-links{align-items:center;gap:2px;display:flex}.nav-link{border-radius:var(--radius);color:#ffffffbf;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s}.nav-link:hover,.nav-link.active{color:var(--white);background:#ffffff1a}.nav-link.post-btn{background:var(--gold);color:var(--navy);margin-left:8px;font-weight:600}.nav-link.post-btn:hover{background:var(--gold-dark)}.nav-user{color:#fff9;border-left:1px solid #ffffff26;align-items:center;gap:8px;margin-left:16px;padding-left:16px;font-size:12.5px;display:flex}.nav-avatar{background:var(--gold);width:30px;height:30px;color:var(--navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.nav-user-info{line-height:1.2}.nav-user-name{color:var(--white);font-size:13px;font-weight:500}.nav-logout{color:#fff6;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px}.nav-logout:hover{color:#fffc}.container{max-width:1160px;margin:0 auto;padding:32px 24px}.container-narrow{max-width:720px;margin:0 auto;padding:32px 24px}.page-header{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:20px}.page-header h1{color:var(--navy);font-family:DM Serif Display,serif;font-size:26px;font-weight:400}.page-header p{color:var(--muted);margin-top:4px;font-size:14px}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-paid{background:var(--green-bg);color:var(--green)}.badge-stipend{background:var(--stipend-bg);color:var(--stipend)}.badge-unpaid{color:#666;background:#f1f1f1}.badge-faculty{background:var(--navy-soft);color:var(--navy)}.badge-student{color:#7a5500;background:#fff3cd}.badge-type{background:var(--border);color:var(--muted)}.badge-dept{color:#0053a0;background:#e0f0ff}.badge-pending{color:#b45309;background:#fff7ed}.badge-accepted{background:var(--green-bg);color:var(--green)}.badge-rejected{background:var(--red-bg);color:var(--red)}.feed-layout{grid-template-columns:260px 1fr;align-items:start;gap:24px;display:grid}.sidebar{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 20px;position:sticky;top:80px}.sidebar-title{color:var(--text);letter-spacing:.01em;margin-bottom:18px;font-size:15px;font-weight:700}.filter-section{margin-bottom:20px}.filter-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:700;display:block}.checkbox-row{cursor:pointer;align-items:center;gap:9px;padding:5px 0;display:flex}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}.checkbox-row span{color:var(--text);-webkit-user-select:none;user-select:none;font-size:13.5px}.btn-clear-filters{background:var(--gold);width:100%;color:var(--navy);border-radius:var(--radius);border:none;margin-top:6px;padding:10px;font-size:13.5px;font-weight:700;transition:background .15s}.btn-clear-filters:hover{background:var(--gold-dark)}.jobs-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.jobs-header h2{color:var(--navy);font-family:DM Serif Display,serif;font-size:20px;font-weight:400}.jobs-header-count{color:var(--muted);font-family:DM Sans,sans-serif;font-size:14px;font-weight:400}.sort-select{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.sort-select select{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);outline:none;padding:6px 10px;font-family:inherit;font-size:13px}.job-list{flex-direction:column;gap:12px;display:flex}.job-row{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;align-items:flex-start;gap:16px;padding:18px 20px;transition:border-color .2s,box-shadow .2s;display:flex}.job-row:hover{border-color:var(--gold);box-shadow:var(--shadow-lg)}.job-row-main{flex:1;min-width:0}.job-row-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.job-row-time{color:var(--muted);font-size:12px}.job-row-title{color:var(--text);margin-bottom:5px;font-size:16px;font-weight:700;line-height:1.35}.job-row-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:7px;font-size:12.5px;display:flex}.job-row-sub .divider{color:var(--border)}.job-row-desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:520px;font-size:13px;line-height:1.5;overflow:hidden}.job-row-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.job-row-badges{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.btn-apply{background:var(--navy);color:var(--white);border-radius:var(--radius);white-space:nowrap;border:none;padding:9px 22px;font-size:13.5px;font-weight:600;transition:background .15s}.btn-apply:hover{background:var(--navy-mid)}.amount-badge{background:var(--navy-soft);color:var(--navy);border-radius:4px;padding:3px 9px;font-size:12px;font-weight:700}.poster-mini-avatar{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:inline-flex}.form-group{margin-bottom:16px}.form-group label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:var(--white);outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #00214714}.form-group textarea{resize:vertical;min-height:90px}.form-hint{color:var(--muted);margin-top:5px;font-size:11.5px}.form-error{color:var(--red);margin-top:5px;font-size:11.5px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.btn-primary{background:var(--navy);width:100%;color:var(--white);border-radius:var(--radius);letter-spacing:.02em;border:none;padding:12px;font-size:14.5px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--navy-mid)}.btn-primary.gold{background:var(--gold);color:var(--navy)}.btn-primary.gold:hover{background:var(--gold-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-submit{background:var(--navy);color:var(--white);border-radius:var(--radius);border:none;padding:10px 24px;font-size:14px;font-weight:600;transition:background .15s}.btn-submit:hover{background:var(--navy-mid)}.btn-view{background:var(--off);color:var(--muted);border-radius:var(--radius);border:1px solid var(--border);padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s}.btn-view:hover{background:var(--border)}.btn-accept{background:var(--green-bg);color:var(--green);border-radius:var(--radius);border:none;padding:7px 14px;font-size:12.5px;font-weight:600;transition:background .15s}.btn-accept:hover{background:var(--green);color:#fff}.btn-reject{background:var(--red-bg);color:var(--red);border-radius:var(--radius);border:none;padding:7px 14px;font-size:12.5px;font-weight:600;transition:background .15s}.btn-reject:hover{background:var(--red);color:#fff}.login-page{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 60%, #004080 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";opacity:1;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23F5B800' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.login-card{background:var(--white);z-index:1;border-radius:10px;width:420px;padding:40px 40px 36px;animation:.4s fadeUp;position:relative;box-shadow:0 20px 60px #00000059}.login-header{text-align:center;margin-bottom:28px}.login-logo{background:var(--gold);width:52px;height:52px;color:var(--navy);border-radius:8px;justify-content:center;align-items:center;margin:0 auto 14px;font-family:DM Serif Display,serif;font-size:26px;display:flex}.login-header h1{color:var(--navy);font-family:DM Serif Display,serif;font-size:22px;font-weight:400}.login-header p{color:var(--muted);margin-top:4px;font-size:13px}.login-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.role-toggle{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid;overflow:hidden}.role-btn{text-align:center;color:var(--muted);background:var(--off);cursor:pointer;border:none;padding:9px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s}.role-btn.active{background:var(--navy);color:var(--white)}.login-footer{text-align:center;color:var(--muted);margin-top:20px;font-size:12px}.detail-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 36px}.detail-card h1{color:var(--navy);margin-bottom:12px;font-family:DM Serif Display,serif;font-size:26px;font-weight:400}.detail-meta{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.detail-desc{color:var(--text);border-top:1px solid var(--border);white-space:pre-wrap;margin-top:4px;padding-top:20px;font-size:14.5px;line-height:1.7}.detail-timeline{background:var(--gold-pale);border-radius:var(--radius);color:#6b5700;border:1px solid #e8d96a;margin-top:16px;padding:14px 16px;font-size:13.5px}.detail-timeline strong{color:var(--gold-dark);margin-bottom:4px;display:block}.detail-amount-block{background:var(--navy-soft);border-radius:var(--radius);align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.detail-amount-num{color:var(--navy);letter-spacing:-.03em;font-size:28px;font-weight:700}.detail-amount-label{color:var(--muted);font-size:12px}.detail-poster{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;margin-top:20px;padding-top:16px;font-size:13px;display:flex}.poster-avatar{background:var(--navy);width:36px;height:36px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.poster-info strong{color:var(--text);font-size:14px;display:block}.back-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:20px;font-family:inherit;font-size:13px;transition:color .15s;display:inline-flex}.back-btn:hover{color:var(--navy)}.apply-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;padding:28px 36px}.apply-section h2{color:var(--navy);margin-bottom:18px;font-family:DM Serif Display,serif;font-size:19px;font-weight:400}.applicant-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:16px 0;display:flex}.applicant-row:last-child{border-bottom:none}.applicant-info{flex:1}.applicant-name{color:var(--text);font-size:14px;font-weight:600}.applicant-enroll{color:var(--muted);margin-top:1px;font-size:11.5px}.applicant-proposal{color:var(--text);margin-top:6px;font-size:13.5px;line-height:1.6}.applicant-bid{color:var(--muted);margin-top:4px;font-size:13px}.applicant-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 36px}.tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:24px;display:flex}.tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.tab-btn.active{color:var(--navy);border-bottom-color:var(--gold);font-weight:600}.dashboard-row{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;align-items:center;gap:14px;margin-bottom:10px;padding:16px 20px;transition:border-color .2s;display:flex}.dashboard-row:hover{border-color:var(--gold)}.dashboard-row-info{flex:1}.dashboard-row-title{color:var(--text);font-size:14.5px;font-weight:600}.dashboard-row-sub{color:var(--muted);margin-top:3px;font-size:12.5px}.dashboard-row-right{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.applicant-count-pill{color:var(--muted);background:var(--off);border-radius:20px;padding:3px 10px;font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:48px 20px;font-size:14px}.empty-state-link{color:var(--navy);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px;font-weight:600}.toast{z-index:9999;background:var(--navy);color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:360px;padding:12px 20px;font-size:13.5px;animation:.25s fadeUp;position:fixed;bottom:28px;right:28px}.toast.success{border-left:4px solid var(--gold)}.toast.error{border-left:4px solid var(--red)}.spinner-wrap{justify-content:center;padding:64px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--navy);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--off)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (width<=768px){.feed-layout,.form-row{grid-template-columns:1fr}.login-card{width:94vw;padding:28px 22px}.detail-card,.apply-section,.form-card{padding:20px 16px}.nav-links .nav-link:not(.post-btn){display:none}}
