*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#222;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px}.app{max-width:900px;margin:0 auto;padding:0 16px 40px}header{background:#fff;border-bottom:2px solid #003865;align-items:center;gap:12px;margin:0 -16px 20px;padding:16px 16px 12px;display:flex}header h1{color:#003865;flex:1;font-size:1.3rem}header .logo{height:40px}header .user-name{color:#555;white-space:nowrap;font-size:13px}header .logout{cursor:pointer;color:#555;background:0 0;border:1px solid #ccc;border-radius:4px;padding:6px 12px;font-size:13px}header .logout:hover{background:#eee}.student-selector{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.student-tab{cursor:pointer;background:#fff;border:2px solid #ccc;border-radius:20px;padding:7px 18px;font-size:14px;transition:all .15s}.student-tab:hover{color:#003865;border-color:#003865}.student-tab.active{color:#fff;background:#003865;border-color:#003865}.staff-search{margin-left:8px;position:relative}.staff-search input{border:2px solid #ccc;border-radius:20px;outline:none;width:200px;padding:7px 14px;font-size:14px}.staff-search input:focus{border-color:#003865}.search-results{z-index:10;background:#fff;border:1px solid #ccc;border-radius:6px;min-width:280px;max-height:240px;list-style:none;position:absolute;top:110%;left:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.search-results li{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;font-size:14px;display:flex}.search-results li:hover{background:#f0f4f8}.result-name{white-space:nowrap}.enrollment-tag{letter-spacing:.02em;color:#003865;background:#e6ecf2;border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.enrollment-tag.alumni{color:#3d6b2e;background:#e8f0e4}.enrollment-tag.ex{color:#7a6134;background:#f0ece4}.enrollment-tag.hold{color:#8a2b2b;background:#f6e4e4}.result-tags{flex-shrink:0;gap:5px;display:flex}.student-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.student-header h2{color:#003865;flex-wrap:wrap;align-items:center;gap:10px;font-size:1.2rem;display:flex}.student-header h2 .enrollment-tag{font-size:12px}.transcript-btn{color:#fff;cursor:pointer;background:#003865;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.transcript-btn:hover{background:#00254a}.doc-tabs{border-bottom:2px solid #003865;gap:0;margin-bottom:16px;display:flex}.doc-tab{cursor:pointer;color:#555;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:9px 20px;font-size:14px;transition:all .15s}.doc-tab:hover{color:#003865}.doc-tab.active{color:#003865;border-bottom-color:#003865;font-weight:600}.doc-list table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #00000014}.doc-list th{text-align:left;color:#666;background:#f8f9fa;border-bottom:1px solid #e5e5e5;padding:11px 14px;font-size:13px;font-weight:600}.doc-list td{border-bottom:1px solid #f0f0f0;padding:11px 14px;font-size:14px}.doc-list tr:last-child td{border-bottom:none}.doc-list tr:hover td{background:#fafbfc}.view-btn{color:#fff;cursor:pointer;background:#003865;border:none;border-radius:4px;padding:5px 14px;font-size:13px}.view-btn:hover{background:#00254a}.view-btn:disabled{cursor:default;background:#aaa}.hold-notice{text-align:center;background:#fff;border-top:4px solid #b58900;border-radius:10px;max-width:560px;margin:48px auto 0;padding:40px 36px;box-shadow:0 2px 16px #0000001a}.hold-notice h2{color:#003865;margin-bottom:12px;font-size:1.25rem}.hold-notice p{color:#555;font-size:14.5px;line-height:1.55}.loading{text-align:center;color:#888;padding:40px}.error{text-align:center;color:#c00;padding:40px}.no-docs{color:#888;padding:30px 14px;font-size:14px}.no-student{text-align:center;color:#888;padding:40px}.login-screen{text-align:center;background:#fff;border-radius:10px;max-width:400px;margin:80px auto;padding:40px;box-shadow:0 2px 16px #0000001a}.login-screen .logo{height:60px;margin-bottom:20px}.login-screen h2{color:#003865;margin-bottom:12px}.login-screen p{color:#666;font-size:14px}.landing{text-align:center;background:#fff;border-radius:10px;max-width:560px;margin:48px auto 0;padding:40px 36px 32px;box-shadow:0 2px 16px #0000001a}.landing .logo{height:60px;margin-bottom:20px}.landing h2{color:#003865;margin-bottom:14px;font-size:1.35rem}.landing p{color:#555;margin-bottom:14px;font-size:14.5px;line-height:1.55}.landing .signin-detail{color:#999;font-family:monospace;font-size:12.5px}.signin-note{text-align:left;background:#f0f4f8;border-left:4px solid #003865;border-radius:6px;margin:20px 0;padding:14px 16px}.signin-note strong{color:#003865}.signin-note p{margin-bottom:0;font-size:14px}.steps{text-align:left;counter-reset:step;margin:0 auto 24px;padding-left:0;list-style:none}.steps li{counter-increment:step;color:#555;align-items:flex-start;gap:12px;padding:7px 0;font-size:14px;line-height:1.5;display:flex}.steps li:before{content:counter(step);color:#fff;background:#003865;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:13px;font-weight:600;display:flex}.bb-signin-btn{color:#fff;cursor:pointer;background:#003865;border:none;border-radius:6px;align-items:center;gap:10px;padding:13px 28px;font-size:15px;font-weight:600;transition:background .15s;display:inline-flex}.bb-signin-btn:hover{background:#00254a}.bb-signin-btn svg{flex-shrink:0}.help{border-top:1px solid #eee;margin-top:24px;padding-top:18px}.help p{color:#888;margin-bottom:0;font-size:13px}.help a{color:#003865}@media (width<=600px){.app{padding:0 12px 32px}header{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}header h1{font-size:1.1rem}.student-tab{padding:6px 14px;font-size:13px}.doc-tab{padding:8px 14px;font-size:13px}.doc-list td,.doc-list th{padding:9px 10px;font-size:13px}.staff-search input{width:160px}.landing{margin-top:24px;padding:30px 22px 26px}}
