
:root{--ink:#15273e;--muted:#66768a;--accent:#245fe4;--line:#e4eaf2}body{font-family:Inter,"Segoe UI",sans-serif;background:#f5f7fb;color:var(--ink);font-size:14px}.shell{display:flex;min-height:100vh}.sidebar{width:260px;background:#fff;border-right:1px solid var(--line);padding:30px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:20px;font-weight:750;text-decoration:none;overflow-wrap:anywhere}.brand img,.brand-icon{width:40px;height:40px;object-fit:contain;flex-shrink:0}.brand-icon{background:var(--accent);color:white;border-radius:12px;text-align:center;padding-top:4px;font-size:25px}.brand small{display:block;font-size:8px;letter-spacing:1.4px;margin-top:4px}.nav-label{font-size:10px;letter-spacing:1.7px;color:#8492a5;margin:34px 12px 12px}.sidebar nav a{display:block;padding:12px 14px;margin:4px 0;text-decoration:none;color:#5b6b80;border-radius:8px}.sidebar nav a:hover,.sidebar nav a[aria-current]{background:#edf3ff;color:#245fe4}.sidebar-note{margin-top:auto;color:#8b98aa;font-size:11px;padding:25px 10px;line-height:1.8}.main{margin-left:260px;flex:1;min-width:0;display:flex;flex-direction:column}.public-shell .main{margin-left:0}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.institution{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:600;text-decoration:none}.institution img{width:36px;height:42px;object-fit:contain}.institution small,.user-menu small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.user-menu,.user-menu a{display:flex;align-items:center;gap:14px}.user-menu a{color:var(--ink);text-decoration:none}.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}.content{padding:38px;max-width:1400px;width:100%;margin:0 auto;flex:1}h1{font-size:29px;font-weight:700;letter-spacing:-.8px;margin:10px 0 12px}h2{font-size:20px;font-weight:650}h3{font-size:17px;font-weight:650}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--accent)}.subtitle{color:var(--muted);margin-bottom:30px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}.form-panel{max-width:920px}.form-panel h2{margin-bottom:20px}.form-label{font-weight:600;font-size:13px}.form-control{padding:11px 13px;font-size:14px;border-color:#dce3ed;border-radius:8px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.btn{border-radius:8px;padding:10px 17px;font-size:13px;font-weight:600}.btn-primary{background:var(--accent);border-color:var(--accent)}.welcome-banner{padding:32px;background:#173963;color:#fff;border-radius:14px;display:flex;justify-content:space-between;align-items:center}.welcome-banner p{color:#d4e0ee}.banner-mark{font-size:80px;font-weight:800;color:#7395c2}.section-title{margin:34px 0 18px}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.action-card{text-decoration:none;color:var(--ink)}.action-card:hover{border-color:#98b5ee}.action-card p{color:var(--muted);line-height:1.7;min-height:50px}.action-card strong{font-size:12px;color:var(--accent)}.tile-icon{display:inline-flex;background:#edf3ff;color:var(--accent);width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;font-size:24px;margin-bottom:22px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.empty-state{text-align:center;padding:65px!important;color:var(--muted)}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)!important}td{padding:18px 8px!important}.logo-preview{display:block;max-width:130px;height:70px;object-fit:contain;margin:10px 0 16px}.profile-preview{width:96px;height:96px;border-radius:50%;object-fit:cover}footer{font-size:11px;color:#7a889c;border-top:1px solid var(--line);padding:22px 38px}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1000px;margin:70px auto}.login-intro h1{font-size:44px}.login-intro p{font-size:22px;color:var(--muted);line-height:1.7}.intro-line{width:50px;height:3px;background:var(--accent);margin:35px 0}.login-panel{padding:36px}.login-panel form{margin-top:30px}.hero{padding:65px 6%}.hero h1{font-size:24px;color:var(--accent)}.hero h2{font-size:62px;line-height:1.12;letter-spacing:-2px;margin:30px 0}.hero p{font-size:19px;line-height:1.8;color:var(--muted);margin-bottom:35px}.hero-logo{display:block;max-width:130px;height:64px;object-fit:contain;margin:22px 0}@media(max-width:1000px){.sidebar{width:215px;padding:24px 14px}.main{margin-left:215px}.content{padding:24px}.action-grid{grid-template-columns:1fr}.login-grid{gap:30px}.topbar{padding:16px 24px}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;width:auto;padding:18px}.sidebar .nav-label,.sidebar-note{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:14px}.sidebar nav a{padding:8px;font-size:12px}.main{margin:0}.topbar{align-items:flex-start;flex-wrap:wrap;padding:16px 20px}.content{padding:24px 18px}h1{font-size:25px}.panel{padding:22px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px}.subtitle{margin-bottom:18px}.login-grid{grid-template-columns:1fr;margin:15px auto}.login-intro p{font-size:17px}.login-intro h1{font-size:32px}.hero{padding:35px 0}.hero h2{font-size:43px}.banner-mark{display:none}.user-menu{width:100%;justify-content:space-between}.institution small{max-width:290px}.form-actions{flex-wrap:wrap}footer{padding:20px}.login-panel{padding:24px}}

.module-tabs{display:flex;gap:8px;flex-wrap:wrap}.module-tabs a{padding:9px 14px;border:1px solid #dce3ed;border-radius:8px;text-decoration:none;background:white;color:#526477}.module-tabs a.selected{background:#245fe4;color:white}.simdo-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.simdo-stats a{text-decoration:none;color:inherit;padding:20px}.simdo-stats p{font-size:12px;color:#66768a}.simdo-stats small{font-size:11px;color:#66768a}.simdo-table{font-size:12px;min-width:850px}.simdo-table a{text-decoration:none}.simdo-table td:nth-child(2){min-width:210px}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.master-form{min-width:240px;max-width:520px;margin-top:16px}details summary{cursor:pointer}details[open]>summary{margin-bottom:14px}.sidebar{overflow-y:auto}.sidebar-note{padding-bottom:0}@media(max-width:1100px){.simdo-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.simdo-stats{grid-template-columns:repeat(2,1fr)}.simdo-stats .panel{padding:14px}.page-heading .d-flex{flex-wrap:wrap}}

.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:26px}.status-card{--tone:#5c6f86;--wash:#f0f4f8;position:relative;display:block;padding:22px 24px;background:#fff;border:1px solid #e5ebf3;border-radius:18px;text-decoration:none!important;color:#182b44!important;box-shadow:0 3px 12px #21365904;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.status-card:after{content:"";position:absolute;inset:auto 24px 0;height:3px;background:var(--tone);opacity:.25;border-radius:3px 3px 0 0}.status-card:hover,.status-card.is-selected{border-color:var(--tone);box-shadow:0 8px 24px #2136590d;transform:translateY(-2px)}.status-card:focus-visible{outline:3px solid var(--tone);outline-offset:3px}.status-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.status-icon{width:42px;height:42px;border-radius:13px;background:var(--wash);color:var(--tone);display:grid;place-items:center}.status-icon svg{width:23px;height:23px}.status-arrow{color:#9ba9bc;font-size:21px}.status-label{font-size:13px;font-weight:650;display:block}.status-number{font-size:34px;font-weight:750;line-height:1.2;letter-spacing:-1px;margin:7px 0 8px;font-variant-numeric:tabular-nums}.status-number span{font-size:12px;color:#748397;font-weight:400;letter-spacing:0;margin-left:8px}.status-hint{font-size:11px;color:#77869a}.tone-blue{--tone:#3473e5;--wash:#eef4ff}.tone-green{--tone:#14936a;--wash:#eaf8f1}.tone-amber{--tone:#b77a12;--wash:#fff6e4}.tone-rose{--tone:#d15373;--wash:#fff0f4}.tone-violet{--tone:#8060cb;--wash:#f4efff}@media(max-width:1050px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.status-grid{gap:10px}.status-card{padding:16px 13px;border-radius:14px}.status-number{font-size:29px}.status-hint{display:none}.status-label{font-size:12px}}@media(prefers-reduced-motion:reduce){.status-card{transition:none}.status-card:hover{transform:none}}
.app-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}.pagination-controls{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;border:1px solid #dce3ef;border-radius:10px;overflow:hidden;background:#fff}.pagination-link,.pagination-current{padding:.65rem .9rem;text-decoration:none;border-right:1px solid #dce3ef;white-space:nowrap;font-size:.875rem}.pagination-link:last-child{border-right:0}.pagination-link:hover{background:#edf3ff}.pagination-current{background:#edf3ff;color:#1744a0;font-weight:600}.pagination-link.disabled{color:#8893a5;pointer-events:none;background:#f8fafc}.pagination-jump,.pagination-jump label{display:flex;align-items:center;gap:.65rem;margin:0}.pagination-jump label{font-size:.875rem}.pagination-jump input{width:90px}.pdf-reader{border:1px solid #dce3ef;border-radius:16px;overflow:hidden;background:#fff}.pdf-toolbar{padding:1rem;border-bottom:1px solid #dce3ef}.pdf-toolbar .app-pagination{margin-top:0}.pdf-tools{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.pdf-tools select{width:auto}.pdf-status{padding:.6rem 1rem;margin:0;background:#f8fafc;color:#526176;font-size:.875rem}.pdf-stage{background:#e4e9f0;padding:16px;overflow:auto;max-height:80vh;min-height:300px;overscroll-behavior:contain}.pdf-stage canvas{display:block;margin:0 auto;box-shadow:0 3px 18px #172a4526;background:#fff}.pdf-stage canvas[hidden]{display:none}@media(max-width:640px){.pagination-link,.pagination-current{padding:.55rem .5rem;font-size:.78rem}.pagination-jump{width:100%}.pdf-toolbar{padding:.75rem}.pdf-stage{padding:8px}.pdf-tools{gap:.5rem}}
