@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--green:#1B8A55;--green-dark:#146B42;--pink:#E83A7A;--pink-dark:#C41D5E;--purple:var(--green);--purple-dark:var(--green-dark);--ink:#17261e;--muted:#7a8a82;--bg:#f3f8f5;--line:#e3ede7;--lavender:#e6f6ee;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3,.brand-name{font-family:'Manrope',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #7EC8A4;outline-offset:4px}button:disabled{cursor:default}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}button .icon{pointer-events:none}.muted{color:var(--muted)}.purple{color:var(--purple)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650}.skip-link{position:fixed;left:16px;top:-70px;z-index:100;background:#fff;padding:12px 20px;border-radius:8px}.skip-link:focus{top:12px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;background:var(--purple);border-radius:14px;color:#fff;box-shadow:0 5px 10px #1B8A5512}.brand-mark .icon{width:24px;height:24px}.brand-name{font-size:21px;font-weight:800;letter-spacing:-.8px;line-height:1.1}.brand-name>span{display:block;margin-top:6px;letter-spacing:3.5px;font-size:10px;font-weight:650}.sidebar{position:fixed;inset:0 auto 0 0;background:#fff;width:232px;display:flex;flex-direction:column;padding:34px 22px 22px;border-right:1px solid #f0eff6;z-index:30}.main-nav{margin-top:49px}.nav-caption{display:block;font-size:9px;letter-spacing:1.5px;color:#9694a3;font-weight:600;margin:0 14px 17px}.nav-link{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:11px;margin-bottom:6px;font-weight:500;color:#767381;background:transparent;font-size:13px;width:100%;text-align:left;transition:background .2s,color .2s}.nav-link .icon{width:19px;height:19px}.nav-link:hover{background:#e6f6ee;color:var(--purple)}.nav-link.active{background:var(--lavender);color:var(--purple-dark);font-weight:700}.nav-gap{margin-top:33px}.sidebar-bottom{margin-top:auto;padding-top:32px}.sidebar-note{background:#f3fbf6;padding:19px 15px;border-radius:16px;margin-bottom:20px}.note-icon{display:block;color:var(--purple);margin-bottom:12px}.sidebar-note strong{font-size:11px}.sidebar-note p{font-size:10px;line-height:1.9;color:#9994a9;margin-top:7px}.sidebar-note>span:last-child{display:flex;justify-content:space-between;margin-top:18px;font-size:8px;letter-spacing:.9px;color:#3d8f68}.logout{color:#dc806f}.workspace{margin-left:232px}.topbar{height:95px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #eae9f0;background:var(--bg)}.breadcrumb{display:flex;align-items:center;gap:17px;font-size:12px;color:#93909f}.breadcrumb strong{color:#484454;font-weight:500}.breadcrumb>span{color:#c7c3d2}.topbar-right{display:flex;align-items:center;gap:23px}.topbar-date{display:flex;align-items:center;gap:9px;font-size:11px;color:#8a8696}.topbar-date .icon{width:16px;height:16px}.topbar-separator{height:30px;width:1px;background:#dfdce9}.avatar{display:grid;place-items:center;border-radius:50%;background:#e6f6ee;color:#3d8f68;font-weight:700;flex-shrink:0}.avatar.small{height:38px;width:38px;font-size:15px}.tone-1{background:#e7f1ec;color:#73988d}.tone-2{background:#fff0df;color:#bd9862}.topbar-account{display:flex;align-items:center;gap:11px}.topbar-account strong{display:block;font-size:12px;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-account small{display:block;color:#a6a0b2;font-size:10px;margin-top:4px}.dashboard-main{max-width:1640px;margin:auto;padding:30px 34px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px}.page-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.page-heading h1{font-size:29px;font-weight:800;letter-spacing:-1.2px;margin:6px 0 7px}.heading-dot{color:var(--purple);font-size:24px;margin-left:5px}.page-heading p{font-size:12px;line-height:1.7}.role-pill{display:flex;align-items:center;gap:7px;font-size:10px;padding:9px 13px;background:#e6f6ee;color:#1B8A55;border:1px solid #cde8d9;border-radius:30px;white-space:nowrap}.role-pill .icon{height:14px;width:14px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:24px}.main-column,.right-column{min-width:0}.hero{background:var(--purple);color:#fff;border-radius:24px;min-height:263px;padding:30px;position:relative;overflow:hidden;display:flex;align-items:center}.hero::before{content:'';width:300px;height:300px;position:absolute;border:1px solid #ffffff13;border-radius:50%;right:-40px;top:-120px}.hero-copy{position:relative;z-index:1;width:65%;max-width:430px}.hero .eyebrow{font-size:8px;letter-spacing:2px;color:#d4f5e4}.hero h2{font-size:29px;letter-spacing:-1px;line-height:1.3;margin:14px 0 11px;font-weight:650}.hero p{font-size:10px;line-height:1.9;max-width:310px;color:#d5f0e0}.hero-campus{position:absolute;width:46%;right:-18px;bottom:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;border-radius:28px;padding:13px 21px;font-size:12px;font-weight:550;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:#262432;color:#fff;margin-top:23px;padding:7px 8px 7px 18px;font-size:10px;gap:19px}.button-circle{background:#fff;color:#292431;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.button-circle .icon{width:16px;height:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:21px 0 28px}.stat-card{display:flex;align-items:center;gap:12px;background:#fff;border-radius:19px;padding:18px 14px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 5px 20px #0E4F3209}.stat-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;flex-shrink:0}.lavender{background:#e6f6ee;color:#1B8A55}.mint{background:#eaf6f1;color:#6aad99}.peach{background:#fff1e9;color:#dca17d}.stat-card>div>span{display:block;font-size:10px;color:#96909f;margin-bottom:5px}.stat-card strong{font-size:22px;font-weight:650;letter-spacing:-.5px}.stat-card small{font-size:10px;color:#99919f;letter-spacing:0;font-weight:400;margin-left:2px}.content-section{margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.section-heading h2,.card-heading h2{font-size:16px;font-weight:750;letter-spacing:-.5px}.section-heading p{font-size:10px;color:#9791a1;margin-top:6px}.count-pill{font-size:9px;color:#9a91ad;border:1px solid #e5e1ee;background:#f3fbf6;padding:6px 10px;border-radius:8px;white-space:nowrap}.carousel-panel{background:#fff;border-radius:21px;overflow:hidden}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 21px;border-bottom:1px solid #f1eff6}.toolbar-title{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:500}.status-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#1B8A55}.search-field{display:flex;align-items:center;gap:7px;max-width:190px}.search-field .icon{height:15px;width:15px;color:#a9a4b3}.search-field input{border:0;min-width:0;width:100%;padding:6px 0;background:transparent;font-size:10px;color:var(--ink)}input::placeholder{color:#aaa5b1}.empty-carousel{text-align:center;padding:25px 15px 29px}.empty-art{position:relative;height:84px;width:110px;margin:0 auto 10px;display:grid;place-items:center}.empty-art>.icon{position:relative;z-index:1;width:53px;height:53px;padding:12px;color:#1B8A55;background:#d4f0e2;border-radius:14px;transform:rotate(-9deg);box-shadow:7px 7px 0 #e6f6ee}.empty-art-orbit{position:absolute;width:88px;height:70px;border:1px dashed #cde8d9;border-radius:50%;transform:rotate(-25deg)}.empty-spark{position:absolute;color:#E83A7A;right:8px;top:6px;font-size:20px}.empty-carousel h3{font-size:14px;font-weight:700;margin-bottom:8px}.empty-carousel p{font-size:11px;color:#a09aaa;line-height:1.9}.empty-label{display:inline-block;font-size:9px;color:#E83A7A;background:#e6f6ee;padding:7px 12px;border-radius:6px;margin-top:17px}.carousel-item{display:flex;align-items:center;gap:18px;padding:20px;border-bottom:1px solid var(--line)}.carousel-thumb{width:145px;height:95px;border-radius:13px;overflow:hidden;background:var(--lavender);flex-shrink:0}.carousel-thumb img{height:100%;width:100%;object-fit:cover}.carousel-item-copy h3{font-size:14px;margin:8px 0}.carousel-item-copy p,.carousel-item-copy small{font-size:10px;color:#9991a5}.carousel-item-copy small{display:block;margin-top:6px}.badge{display:inline-block;font-size:9px;padding:5px 10px;border-radius:20px;color:#E83A7A;background:#fde8f1;font-weight:500}.badge-green{color:#61a78d;background:#e8f7ef}.search-empty{padding:30px;text-align:center;font-size:12px;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:20px;padding:20px;font-size:12px}.pagination a{color:var(--purple)}.table-card{overflow:auto;background:#fff;border-radius:18px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.6px;color:#aaa3b5;padding:15px 20px;border-bottom:1px solid var(--line)}td{padding:14px 20px;font-size:10px;color:#9b92a7;border-bottom:1px solid #f6f3f9}tbody tr:last-child td{border-bottom:0}.table-person{display:flex;align-items:center;gap:10px}.table-person strong{color:#5d536b;font-size:10px;font-weight:550}.table-person small{display:block;font-size:9px;margin-top:4px;color:#aba2b6}.table-person .avatar{width:31px;height:31px;font-size:12px}.role-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.role-summary>div{background:#fff;border-radius:17px;padding:17px}.role-summary strong{display:block;font-size:23px;margin-top:13px}.role-summary strong small{font-size:9px;font-weight:400;color:#a297ac}.role-summary p{font-size:9px;color:#a297ac;margin-top:6px;line-height:1.7}.author-note{display:flex;align-items:center;gap:16px;padding:23px;background:#fff;border-radius:20px;margin-top:25px}.author-note h3{font-size:13px;margin-bottom:6px}.author-note p{font-size:11px;color:var(--muted);line-height:1.8}.right-column{display:flex;flex-direction:column;gap:21px}.profile-card,.schedule-card{background:#fff;border-radius:23px;padding:22px}.card-heading{display:flex;justify-content:space-between;align-items:center}.card-heading>.icon{width:17px;height:17px;color:#b8afc8}.profile-card{text-align:center}.profile-ring{background:conic-gradient(var(--purple) var(--progress),#e6f6ee 0);width:124px;height:124px;padding:2px;border-radius:50%;margin:26px auto 18px;position:relative}.profile-ring::before{content:'';position:absolute;inset:2px;border-radius:50%;background:#fff}.profile-avatar{position:relative;display:grid;place-items:center;margin:9px;background:#e6f6ee;width:102px;height:102px;border:5px solid white;border-radius:50%;font-family:'Manrope',sans-serif;font-size:40px;font-weight:700;color:#3d8f68;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.progress-label{position:absolute;top:7px;right:-5px;border-radius:14px;color:#fff;background:var(--purple);padding:5px 8px;font-size:9px;border:3px solid #fff}.profile-card h3{font-size:16px;line-height:1.5;margin-bottom:8px;letter-spacing:-.5px;overflow-wrap:anywhere}.profile-greeting{font-size:10px;color:#a19aa9;margin-top:11px}.profile-detail{text-align:left;margin:23px 0 0;background:#f4fbf6;border-radius:14px;padding:5px 14px}.profile-detail>div{padding:12px 0;border-bottom:1px solid #eeebf3}.profile-detail>div:last-child{border:0}.profile-detail span{display:block;font-size:9px;color:#a99fb7;margin-bottom:4px}.profile-detail strong{display:block;font-size:10px;font-weight:500;color:#776b88;overflow-wrap:anywhere}.profile-completion{margin-top:18px}.profile-completion>div:first-child{display:flex;justify-content:space-between;font-size:9px;color:#a296ad}.profile-completion strong{font-weight:500;color:var(--purple)}.progress-track{height:4px;background:#e6f6ee;border-radius:10px;margin-top:9px;overflow:hidden}.progress-track span{height:100%;display:block;background:#1B8A55;border-radius:10px}.profile-completion p{font-size:8px;color:#b4aabc;text-align:left;margin-top:9px}.schedule-card .card-heading h2{font-size:14px}.schedule-date{display:flex;align-items:center;gap:11px;padding:18px 0;margin-bottom:5px;border-bottom:1px dashed #e9e3f0}.schedule-date>span:first-child{width:41px;height:46px;display:grid;place-items:center;color:var(--purple);background:#e6f6ee;border-radius:10px;font-size:21px}.schedule-date strong{display:block;font-size:10px;font-weight:550}.schedule-date small{display:block;font-size:9px;color:#a298ae;margin-top:5px}.today-label{margin-left:auto;font-size:8px;color:#a699b5}.schedule-line{display:flex;align-items:flex-start;gap:12px;margin-top:18px}.schedule-line .status-dot{margin-top:4px;box-shadow:0 0 0 4px #e6f6ee}.status-dot.amber{background:#d9ad7d;box-shadow:0 0 0 4px #fdf5ec}.schedule-line strong{font-weight:500;font-size:10px}.schedule-line p{font-size:9px;color:#a79db2;margin-top:5px}.soft-link{display:flex;justify-content:center;align-items:center;gap:10px;padding:12px;background:#e6f6ee;color:#E83A7A;border-radius:12px;font-size:10px;margin-top:21px}.soft-link .icon{width:14px;height:14px}.quote-card{text-align:center;border-radius:20px;background:#fde8f1;padding:16px}.quote-card>span{font-family:Georgia,serif;font-size:40px;line-height:1;color:#E83A7A}.quote-card p{font-size:12px;line-height:1.8;color:#9a8aad}.quote-card small{display:block;font-size:7px;letter-spacing:1.5px;margin-top:14px;color:#b2a3bf}.dashboard-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #eae6f0;padding-top:19px;margin-top:31px;font-size:9px;color:#aaa1b5}.dashboard-footer .purple{margin-left:5px}.mobile-menu{display:none}.icon-button{background:#fff;border:1px solid var(--line);border-radius:10px;width:36px;height:36px;place-items:center}.sidebar-backdrop{display:none}.login-body{background:#f7fbf8}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding:18px}.login-story{background:var(--purple);border-radius:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:40px 46px;color:#fff;min-height:720px}.brand-light .brand-mark{background:#ffffff25}.brand-light .brand-name>span{color:#d5f0e0}.story-copy{margin-top:74px;position:relative;z-index:2}.story-copy .eyebrow{font-size:9px;letter-spacing:2px;color:#c8f0d8}.story-copy h1{font-size:43px;line-height:1.27;letter-spacing:-1.6px;font-weight:650;margin-top:23px}.story-copy h1 em{font-style:normal;color:#f7b6d0}.story-copy p{font-size:12px;line-height:1.9;max-width:330px;color:#d5f0e0;margin-top:22px}.login-campus{width:78%;max-width:440px;align-self:center;margin-top:20px;margin-bottom:25px}.story-footer{display:flex;gap:12px;align-items:center;font-size:9px;color:#d5f0e0;margin-top:auto}.story-dots{display:flex;gap:4px}.story-dots i{width:5px;height:5px;border-radius:50%;background:#f5a3c4}.story-dots i:first-child{width:19px;border-radius:4px;background:white}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:65px 40px}.login-form-wrap{width:100%;max-width:366px}.pill{display:inline-flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1.5px;color:#C41D5E;background:#fde8f1;border-radius:6px;padding:8px 10px}.pill .status-dot{width:4px;height:4px}.login-form-wrap h2{font-size:32px;letter-spacing:-1.25px;line-height:1.35;font-weight:750;margin-top:24px;max-width:350px}.login-intro{font-size:11px;line-height:1.8;margin-top:13px}.login-form{margin-top:30px}.login-form>label{display:block;font-size:11px;font-weight:600;margin:20px 0 9px;color:#625c6d}.input-wrap{display:flex;align-items:center;gap:11px;border:1px solid #e6e1ec;border-radius:11px;background:#fff;padding:0 14px}.input-wrap:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px #1B8A550b}.input-wrap>.icon{width:17px;height:17px;color:#afa5be}.input-wrap input{background:transparent;padding:15px 0;border:0;outline:none;min-width:0;flex:1;font-size:11px}.input-wrap input:focus-visible{outline:none}.password-toggle{display:grid;place-items:center;background:transparent;color:#a99db8;padding:3px}.password-toggle .icon{width:17px;height:17px}.login-options{display:flex;justify-content:space-between;align-items:center;margin-top:17px;gap:10px}.checkbox-label{display:flex;align-items:center;gap:6px;color:#8c819b;font-size:10px;cursor:pointer}.checkbox-label input{accent-color:var(--purple);width:13px;height:13px;margin:0}.secure-note{display:flex;align-items:center;gap:5px;font-size:9px;color:#b2a7bf}.secure-note .icon{width:12px;height:12px}.button-primary{background:var(--purple);color:#fff}.button-primary:hover{background:var(--purple-dark)}.login-submit{width:100%;justify-content:space-between;border-radius:11px;margin-top:25px;padding:15px 20px;font-size:11px;box-shadow:0 6px 14px #1B8A5520}.login-submit .icon{width:16px;height:16px}.login-help{font-size:10px;line-height:1.9;text-align:center;color:#ada2ba;margin-top:22px}.login-help strong{font-weight:500;color:#E83A7A}.login-divider{height:1px;background:#ece7f2;margin:27px 0}.institution{display:flex;align-items:center;gap:11px;justify-content:center}.institution-icon{width:36px;height:36px;border-radius:10px;background:#fde8f1;color:#E83A7A;display:grid;place-items:center}.institution-icon .icon{width:20px;height:20px}.institution strong{display:block;font-size:10px;font-weight:600;color:#8b7e9c}.institution span:not(.institution-icon){display:block;font-size:8px;line-height:1.8;color:#b2a7bf;margin-top:3px}.login-copyright{position:absolute;bottom:13px;font-size:8px;color:#b4a9c0}.form-alert{background:#fff0ed;border:1px solid #f6dcd6;color:#a45344;padding:12px;border-radius:9px;font-size:11px;margin-top:20px;line-height:1.8}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:295px}.hero h2{font-size:35px}.hero p{font-size:12px}.hero .eyebrow{font-size:10px}.stat-card{padding:22px}.hero-campus{width:43%}.dashboard-grid{grid-template-columns:minmax(0,1fr) 330px}.story-copy h1{font-size:52px}}
@media(max-width:1200px){.sidebar{width:205px;padding:30px 17px 20px}.brand-name{font-size:18px}.brand-mark{width:38px;height:38px}.workspace{margin-left:205px}.dashboard-main{padding:25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.hero{padding:25px}.hero h2{font-size:25px}.stat-card{gap:8px;padding:15px 10px}.stat-icon{width:35px;height:39px;border-radius:12px}.stat-icon .icon{width:18px;height:18px}.stat-card strong{font-size:20px}.stat-card small{display:none}.stats-grid{gap:9px}.profile-card,.schedule-card{padding:18px}.story-copy h1{font-size:36px}.login-story{padding:35px}.login-panel{padding:55px 35px}.hero-copy{width:68%}}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.quote-card{display:none}.profile-card{grid-row:span 2}.hero h2{font-size:29px}.hero-campus{width:42%;right:0}.stats-grid{gap:14px}.stat-card{padding:18px}.stat-card small{display:inline}.topbar-date{display:none}.topbar-separator{display:none}.role-pill{display:none}.login-story{padding:30px}.story-copy h1{font-size:31px}.story-copy .eyebrow{font-size:8px}.login-panel{padding:45px 30px}.login-form-wrap h2{font-size:28px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:232px}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:#24203270;z-index:25}.workspace{margin-left:0}.mobile-menu{display:grid;flex-shrink:0}.topbar{height:75px;padding:0 20px;gap:12px}.breadcrumb{margin-right:auto;font-size:10px;gap:8px}.topbar-right{gap:8px}.topbar-account strong{max-width:100px;font-size:10px}.topbar-account small{font-size:8px}.avatar.small{width:32px;height:32px}.dashboard-main{padding:23px 20px}.page-heading h1{font-size:26px}.page-heading p{font-size:10px}.hero{min-height:250px}.hero h2{font-size:27px}.hero p{font-size:10px}.hero-campus{width:42%;right:-12px}.stats-grid{gap:9px}.stat-card{padding:15px 10px;gap:8px}.stat-card small{display:none}.stat-card>div>span{font-size:9px}.login-shell{grid-template-columns:1fr;padding:0}.login-story{min-height:0;padding:24px;border-radius:0 0 26px 26px}.login-story .brand-name{font-size:20px}.story-copy{margin-top:27px}.story-copy .eyebrow{font-size:7px;letter-spacing:1.5px}.story-copy h1{font-size:29px;max-width:75%;margin-top:13px}.story-copy h1 br:first-child{display:none}.story-copy p,.story-footer{display:none}.login-campus{position:absolute;width:37%;right:-12px;bottom:0;margin:0;opacity:.75}.login-panel{padding:35px 25px 70px}.login-form-wrap{max-width:420px}.login-form-wrap h2{font-size:30px;max-width:none;margin-top:16px}.login-copyright{bottom:24px}.login-intro{font-size:12px}.login-form>label,.input-wrap input{font-size:12px}.login-form{margin-top:20px}}
@media(max-width:480px){.breadcrumb{font-size:9px}.breadcrumb>span,.breadcrumb>strong{display:none}.topbar-account strong{max-width:115px}.dashboard-main{padding:22px 16px}.hero{padding:23px 20px;min-height:285px;align-items:flex-start}.hero-copy{width:82%}.hero h2{font-size:26px;max-width:270px}.hero p{max-width:215px;font-size:10px}.hero-campus{width:45%;right:-25px;bottom:0;opacity:.75}.hero .eyebrow{font-size:7px}.button-dark{margin-top:19px}.stats-grid{gap:7px;margin-top:14px}.stat-card{flex-direction:column;align-items:flex-start;padding:13px 11px;gap:10px;border-radius:16px}.stat-card>div>span{font-size:8px}.stat-icon{width:32px;height:32px}.stat-card strong{font-size:22px}.right-column{grid-template-columns:1fr}.profile-card{grid-row:auto}.profile-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.profile-detail>div:nth-child(3){border:0}.dashboard-footer{font-size:8px;flex-direction:column;gap:8px}.section-heading h2{font-size:15px}.section-heading p{font-size:9px}.panel-toolbar{padding:16px;gap:8px}.toolbar-title{font-size:9px;white-space:nowrap}.search-field{max-width:145px}.search-field input{font-size:9px}.role-summary{gap:7px}.role-summary>div{padding:13px 10px}.role-summary strong{font-size:20px}.role-summary .badge{font-size:8px;padding:5px 7px}.role-summary strong small{display:block;margin-top:4px}.carousel-thumb{width:95px;height:85px}.carousel-item{padding:15px;gap:12px}.sidebar-note{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

@media(max-width:760px){.input-wrap input{font-size:16px}.password-toggle{min-width:32px;min-height:36px}.login-submit{font-size:13px}.checkbox-label{min-height:28px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.crud-main{max-width:1450px}.crud-heading{margin-bottom:24px}.crud-heading h1{margin-top:7px}.crud-primary{border-radius:11px;padding:13px 17px;gap:9px;box-shadow:0 7px 16px #1B8A5522}.crud-primary .icon{width:17px;height:17px}.carousel-stats{max-width:840px;margin:0 0 24px}.flash-message{display:flex;align-items:center;gap:11px;padding:13px 16px;background:#eaf7f1;border:1px solid #d5eee3;color:#548d78;border-radius:13px;margin-bottom:20px;font-size:12px}.flash-message>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#fff}.flash-message .icon{width:15px;height:15px}.flash-message button{margin-left:auto;background:transparent;color:#7d9d91;padding:4px}.crud-card{background:#fff;border-radius:22px;overflow:hidden;min-height:390px}.crud-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border-bottom:1px solid var(--line)}.crud-toolbar h2{font-size:16px}.crud-toolbar p{font-size:10px;color:var(--muted);margin-top:6px}.crud-filters{display:flex;align-items:center;gap:8px}.crud-search{padding:0 12px;border:1px solid #e6e1ec;border-radius:10px;max-width:210px}.crud-search input{padding:10px 0;font-size:10px}.crud-filters select{border:1px solid #e6e1ec;background:#fff;color:#777080;border-radius:10px;padding:10px 29px 10px 11px;font-size:10px;min-height:37px}.filter-button,.filter-reset{padding:10px 13px;border-radius:9px;font-size:10px}.filter-button{background:#e6f6ee;color:var(--purple-dark)}.filter-reset{color:#9a8ba9}.inline-error{margin:17px 24px 0;padding:11px 13px;border-radius:10px;background:#fff0ed;color:#a45344;font-size:11px}.crud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding:22px}.crud-carousel-card{border:1px solid #eeebf2;border-radius:18px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}.crud-carousel-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0E4F320b}.crud-image{height:165px;background:#e6f6ee;position:relative;overflow:hidden}.crud-image img{width:100%;height:100%;object-fit:cover}.crud-image .badge{position:absolute;left:13px;top:13px;box-shadow:0 4px 12px #0E4F3216}.badge-purple{background:#fde8f1;color:#146B42}.badge-gray{background:#f0eff2;color:#827d89}.crud-card-body{padding:16px}.crud-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.crud-card-title h3{font-size:14px}.crud-card-title>span{font-size:8px;color:#aaa1b1}.date-range,.creator-row{display:flex;align-items:center;gap:10px;margin-top:15px}.date-range>.icon{width:17px;height:17px;color:#3d8f68}.date-range span,.creator-row>div>span{display:block;font-size:8px;color:#aca3b2;margin-bottom:4px}.date-range strong,.creator-row strong{display:block;font-size:9px;font-weight:550;color:#6f6778}.creator-row{padding-top:13px;border-top:1px dashed #ebe7ef}.creator-row .avatar{width:29px;height:29px;font-size:11px}.crud-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.crud-actions form{min-width:0}.action-button{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;padding:10px;width:100%;font-size:10px}.action-button .icon{width:14px;height:14px}.action-button.edit{background:#e6f6ee;color:#1B8A55}.action-button.delete{background:#fff0ed;color:#d87565}.crud-empty{padding:55px 20px}.empty-action{margin:19px auto 0;width:max-content}.crud-empty .button{display:inline-flex}.crud-pagination{display:flex;justify-content:center;align-items:center;gap:24px;padding:20px;border-top:1px solid var(--line);font-size:10px;color:#898090}.crud-pagination a{color:var(--purple);font-weight:550}.crud-pagination .disabled{color:#c4bdca}.back-link{font-size:11px;color:#80738e;background:#fff;border:1px solid var(--line);padding:11px 14px;border-radius:10px}.carousel-form{max-width:900px}.form-card{background:#fff;border-radius:20px;padding:24px;margin-bottom:17px}.form-card-heading{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}.form-card-heading h2{font-size:15px}.form-card-heading p{font-size:10px;color:var(--muted);margin-top:6px}.form-card-heading .stat-icon{width:40px;height:40px}.upload-zone{height:300px;border:1.5px dashed #b7dcc8;background:#faf9fe;border-radius:17px;margin-top:22px;position:relative;display:grid;place-items:center;overflow:hidden;cursor:pointer;transition:border-color .2s,background .2s}.upload-zone:hover,.upload-zone.is-dragging{border-color:var(--purple);background:#e6f6ee}.upload-zone.has-error{border-color:#db8476;background:#fff9f7}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#edeaf4}.upload-preview.is-empty{display:none}.upload-placeholder{display:flex;align-items:center;flex-direction:column;text-align:center;position:relative;z-index:1;color:#8b8198}.upload-zone:hover .upload-preview:not(.is-empty){opacity:.2}.upload-zone:hover .upload-placeholder[hidden]{display:flex!important;background:#ffffffeb;border-radius:14px;padding:20px}.upload-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#fde8f1;color:var(--purple);margin-bottom:13px}.upload-placeholder strong{font-size:12px;color:#554d62}.upload-placeholder>span{font-size:10px;margin-top:6px}.upload-placeholder small{font-size:9px;color:#aaa0b4;margin-top:15px}.field-error{font-size:10px;color:#bd5f51;margin-top:8px}.field-hint{font-size:9px;color:#a098a8;margin-top:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.form-field label{display:block;font-size:10px;font-weight:600;color:#625a6c;margin-bottom:9px}.form-field label span{color:#d97766}.form-field input{width:100%;padding:13px;border:1px solid #e4dfea;border-radius:10px;color:#635b6c;background:#fff;font-size:11px;min-height:43px}.form-field input[aria-invalid=true]{border-color:#d98577}.schedule-tip{display:flex;align-items:center;gap:8px;background:#f3fbf6;color:#9a8ca8;padding:11px 13px;border-radius:10px;margin-top:17px;font-size:9px}.schedule-tip .icon{width:13px;height:13px;color:#1B8A55}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:6px 0 15px}.cancel-button{background:#fff;color:#7d7485;border:1px solid #e5e1e9;border-radius:11px;padding:12px 21px}
@media(max-width:1100px){.crud-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crud-toolbar{align-items:flex-start;flex-direction:column}.crud-filters{width:100%}.crud-search{flex:1;max-width:none}}
@media(max-width:760px){.crud-heading{align-items:flex-start}.crud-primary{font-size:11px}.crud-card{border-radius:18px}.crud-grid{grid-template-columns:1fr}.crud-toolbar{padding:18px}.crud-filters{display:grid;grid-template-columns:1fr 1fr}.crud-search{grid-column:1/-1}.crud-filters select{width:100%}.filter-reset{text-align:center}.crud-image{height:190px}.form-card{padding:18px}.upload-zone{height:230px}.form-grid{grid-template-columns:1fr}.form-field input{font-size:16px}.form-heading{display:block}.form-heading .back-link{display:inline-block;margin-top:15px}.carousel-form{max-width:none}}
@media(max-width:480px){.crud-heading{display:block}.crud-heading .crud-primary{margin-top:16px}.carousel-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.crud-grid{padding:14px}.crud-toolbar{padding:16px}.crud-filters{grid-template-columns:1fr}.crud-search{grid-column:auto}.upload-zone{height:190px}.upload-placeholder small{max-width:220px;line-height:1.6}.form-actions>*{flex:1}.form-actions .button{padding:12px 10px}.crud-pagination{gap:12px}.crud-pagination span:nth-child(2){font-size:9px}}
.sidebar{overflow-y:auto}select,textarea{font:inherit}select:focus-visible,textarea:focus-visible{outline:3px solid #7EC8A4;outline-offset:4px}.article-stats{max-width:1100px;grid-template-columns:repeat(4,minmax(0,1fr))}.article-excerpt{font-size:11px;line-height:1.7;color:#8f8798;margin-top:10px;min-height:36px}.article-meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.crud-actions.three{grid-template-columns:1fr 1fr 1fr}.action-button.view{background:#eef6f2;color:#5d9a86}.crud-image-empty{height:100%;display:grid;place-items:center;color:#7EC8A4}body:has(.article-page) .crud-main{padding:18px 22px 12px}.article-page .page-heading{margin-bottom:14px}.article-page .page-heading h1{font-size:26px;margin:4px 0 4px}.article-page .form-card{padding:16px 18px;margin-bottom:12px;border-radius:16px}.article-page .form-card-heading{padding-bottom:12px;gap:10px}.article-page .form-card-heading h2{font-size:14px}.article-page .form-card-heading .stat-icon{width:34px;height:34px}.article-form{max-width:none}.article-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.article-form-side{position:sticky;top:12px}.article-form-actions{margin-top:4px;padding:4px 0 8px}.form-field select,.form-field textarea{width:100%;padding:13px;border:1px solid #e4dfea;border-radius:10px;color:#635b6c;background:#fff;font-size:11px;min-height:43px}.form-field textarea{min-height:120px;resize:vertical}.form-field select[aria-invalid=true]{border-color:#d98577}.form-field input[type=checkbox]{width:auto;min-height:0;padding:0}.soft-inline{color:var(--purple);font-weight:550}.upload-zone-thumb{height:160px;margin-top:12px}.check-select{position:relative}.check-select-toggle{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #e4dfea;border-radius:10px;background:#fff;color:#635b6c;font-size:11px;text-align:left}.check-select-toggle[aria-expanded=true]{border-color:var(--purple);box-shadow:0 0 0 3px #7EC8A433}.check-select-label,.check-select-toggle span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-select-caret{color:#9a93a4}.check-select-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:#fff;border:1px solid #e4dfea;border-radius:12px;padding:6px;box-shadow:0 12px 28px #0E4F3214}.check-select-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:12px;color:#5c5470;cursor:pointer}.check-select-option:hover{background:#e6f6ee}.check-select-option input{width:15px;height:15px;min-height:0;padding:0;accent-color:var(--purple);flex-shrink:0}.quill-wrap{margin-top:12px;border:1px solid #e4dfea;border-radius:12px;overflow:hidden;background:#fff}.quill-wrap.has-error{border-color:#d98577}.ql-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;background:#f7fcf9;border-bottom:1px solid #eeeaf3}.ql-toolbar button,.ql-toolbar select{border:1px solid transparent;background:#fff;border-radius:7px;min-height:30px;padding:0 8px;color:#6d6578;font-size:12px}.ql-toolbar button{width:30px}.ql-toolbar select{min-width:92px}.ql-toolbar button:hover,.ql-toolbar select:hover{border-color:#e4dfea;color:var(--purple)}.ql-sep{width:1px;height:18px;background:#e4dfea;margin:0 2px}.ql-editor{min-height:280px;padding:14px 16px;line-height:1.8;font-size:14px;outline:none}.ql-editor.is-empty:before{content:attr(data-placeholder);color:#b3abbe;pointer-events:none}.ql-editor h1{font-size:26px;margin:12px 0}.ql-editor h2{font-size:20px;margin:12px 0}.ql-editor h3{font-size:16px;margin:12px 0}.ql-editor p{margin:8px 0}.ql-editor blockquote{margin:12px 0;padding:8px 12px;border-left:3px solid var(--purple);background:#e6f6ee}.ql-editor img{max-width:100%;border-radius:10px}.select2-container{width:100%!important}.select2-container--default .select2-selection--multiple{border:1px solid #e4dfea;border-radius:10px;min-height:43px;padding:4px 6px}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:var(--purple);outline:3px solid #7EC8A4;outline-offset:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:#e6f6ee;border:0;color:#1B8A55;border-radius:8px;padding:3px 8px;font-size:11px;margin:3px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#3d8f68;margin-right:4px}.select2-container--default .select2-search--inline .select2-search__field{font-size:11px;margin-top:6px;font-family:'DM Sans',sans-serif}.select2-dropdown{border:1px solid #e4dfea;border-radius:10px;overflow:hidden;z-index:80}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background:var(--purple)}.select2-container--default .select2-results__option{font-size:12px;padding:8px 12px}.kategori-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.kategori-form{margin-top:20px;display:grid;gap:16px}.table-actions{display:flex;justify-content:flex-end;gap:8px}.table-actions .action-button{width:auto;padding:8px 11px}.heading-actions{display:flex;gap:10px;align-items:center}.article-preview{background:#fff;border-radius:22px;overflow:hidden;max-width:980px}.article-preview-meta{display:flex;flex-wrap:wrap;gap:8px;padding:22px 24px 0}.article-preview-cover{width:100%;max-height:420px;object-fit:cover;margin-top:18px}.article-preview-body{padding:28px 32px 36px}.article-preview-body h1,.article-preview-body h2,.article-preview-body h3{margin:22px 0 12px}.article-preview-body h1{font-size:26px}.article-preview-body h2{font-size:22px}.article-preview-body h3{font-size:18px}.article-preview-body p{font-size:14px;line-height:1.9;color:#534c5d;margin:12px 0}.article-preview-body blockquote{margin:18px 0;padding:16px 18px;border-left:3px solid var(--purple);background:#e6f6ee;border-radius:0 12px 12px 0;font-size:15px;line-height:1.8;color:#5c5470}.article-preview-body ul,.article-preview-body ol{margin:12px 0 12px 22px;color:#534c5d;line-height:1.8}.article-preview-body img{max-width:100%;border-radius:16px;margin:16px 0}.article-preview-body a{color:var(--purple);text-decoration:underline}
@media(max-width:1100px){.article-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kategori-layout,.article-form-layout{grid-template-columns:1fr}.article-form-side{position:static}}
@media(max-width:760px){body:has(.article-page) .crud-main{padding:16px}.article-form,.article-preview{max-width:none}.article-preview-body{padding:20px}.heading-actions{flex-direction:column;align-items:flex-start}.crud-actions.three{grid-template-columns:1fr}.form-field select,.form-field textarea{font-size:16px}}
@media(max-width:480px){.article-stats{grid-template-columns:1fr 1fr}}

.article-preview-body p,
.article-preview-body > div{margin:0 0 32px;font-size:14px;line-height:1.9;color:#534c5d}
.article-preview-body p:last-child,
.article-preview-body > div:last-child{margin-bottom:0}
.article-preview-body br{content:"";display:block;margin-top:20px}
.ql-editor p,
.ql-editor > div{margin:0 0 22px}
.ql-editor br{content:"";display:block;margin-top:16px}
.article-page .article-preview{max-width:none;border:1px solid #eeebf2}
.article-page .article-preview-cover{margin-top:0}
.article-side-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.article-side-badges .badge{font-size:11px;padding:7px 12px}
.article-author-card{display:flex;align-items:flex-start;gap:12px;margin-top:14px}
.article-author-card .avatar{width:46px;height:46px;font-size:16px}
.article-author-card strong{display:block;font-size:13px;color:#4c4558}
.article-author-card small{display:block;font-size:10px;color:#a6a0b2;margin-top:4px;line-height:1.5}
.article-stats{max-width:none;width:100%;margin:0 0 24px;grid-template-columns:repeat(4,minmax(0,1fr))}
.article-table-no{width:44px;color:#9a93a4;font-weight:600}
.article-table .table-person{min-width:240px;max-width:420px;white-space:normal}
.article-table .table-person strong{font-size:12px;color:#3f394c}
.article-table .table-person small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.article-table-thumb{width:54px;height:38px;border-radius:8px;overflow:hidden;background:#e6f6ee;flex-shrink:0;display:block}
.article-table-thumb.is-round{width:38px;height:38px;border-radius:50%}
.user-form-note-copy{margin-top:14px;font-size:13px;line-height:1.8;color:#5c5470}
.user-form-note-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.user-form-note-roles p{font-size:11px;line-height:1.6;color:#8f8798;margin-top:8px}
.form-field input:disabled{background:#f7f6fb;color:#8a8494;cursor:default}
@media(max-width:760px){.user-form-note-roles{grid-template-columns:1fr}}
.article-table-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.article-table-thumb .crud-image-empty{height:100%;width:100%}
.article-table-thumb .icon{width:16px;height:16px}
.article-table-tags{display:flex;flex-wrap:wrap;gap:5px;max-width:210px;white-space:normal}
.article-table .table-actions .action-button{width:auto;padding:8px 11px}
.page-numbers{display:flex;justify-content:center;align-items:center;gap:6px;padding:18px;border-top:1px solid var(--line)}
.page-numbers-btn{min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border-radius:9px;font-size:12px;font-weight:600;color:#6d6578;background:#f7f6fb}
a.page-numbers-btn:hover{background:#e6f6ee;color:var(--purple)}
.page-numbers-btn.is-current{background:var(--purple);color:#fff}
.page-numbers-btn.is-disabled{opacity:.4;cursor:default}
@media(max-width:480px){.article-stats{grid-template-columns:1fr 1fr}}
.brand-mark{background:linear-gradient(145deg,var(--green) 0%,var(--green-dark) 100%);box-shadow:0 8px 18px #1B8A5524}
.heading-dot{color:var(--pink)}
.hero{background:linear-gradient(135deg,#1B8A55 0%,#157A4B 48%,#0F5C38 100%)}
.hero::after{content:'';position:absolute;width:280px;height:280px;right:-70px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(232,58,122,.42) 0%,transparent 70%);pointer-events:none}
.login-story{background:linear-gradient(160deg,#1B8A55 0%,#146B42 58%,#0F5C38 100%)}
.login-story::after{content:'';position:absolute;width:320px;height:320px;right:-80px;top:-60px;border-radius:50%;background:radial-gradient(circle,rgba(232,58,122,.38) 0%,transparent 70%);pointer-events:none}
.peach{background:#fde8f1;color:var(--pink)}
.progress-label{background:var(--pink)}
.badge-purple{background:#fde8f1;color:var(--pink)}
.button-primary{background:linear-gradient(180deg,var(--green) 0%,var(--green-dark) 100%)}
.button-primary:hover{background:var(--green-dark)}
.soft-link{background:#fde8f1;color:var(--pink-dark)}
.profile-ring.is-low{background:conic-gradient(#e24b4b var(--progress),#fdeaea 0)}
.profile-ring.is-mid{background:conic-gradient(#e6b325 var(--progress),#fff6d9 0)}
.profile-ring.is-full{background:conic-gradient(var(--green) var(--progress),#e6f6ee 0)}
.progress-label.is-low{background:#e24b4b}
.progress-label.is-mid{background:#e6b325;color:#3a2f0a}
.progress-label.is-full{background:var(--green)}
.progress-track.is-low span{background:#e24b4b}
.progress-track.is-mid span{background:#e6b325}
.progress-track.is-full span{background:var(--green)}
.profile-completion.is-low strong{color:#e24b4b}
.profile-completion.is-mid strong{color:#c99612}
.profile-completion.is-full strong{color:var(--green)}
.checkbox-label input{accent-color:var(--green)}
.avatar{overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.form-field.full{grid-column:1/-1}
.brand-mark.has-logo{background:#fff;padding:4px;box-shadow:0 8px 18px #1B8A5524}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block;border-radius:10px}

/* Collapsible sidebar menus */
.nav-group{margin-top:6px}
.nav-group-toggle{cursor:pointer;list-style:none}
.nav-group-toggle::-webkit-details-marker{display:none}
.nav-group-toggle:focus-visible{outline:3px solid #7EC8A4;outline-offset:4px}
.nav-group-toggle>span:first-of-type{flex:1}
.nav-group-chevron{display:flex;margin-left:auto}
.nav-group-chevron .icon{width:15px;height:15px;transition:transform .2s}
.nav-group[open]>.nav-group-toggle .nav-group-chevron .icon{transform:rotate(90deg)}
.nav-submenu{margin:4px 0 10px 24px;padding-left:12px;border-left:1px solid var(--line)}
.nav-submenu .nav-link{padding:10px 12px;margin-bottom:3px;font-size:12px}

/* SPMB settings dialogs */
.spmb-modal{width:min(760px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:28px;border:1px solid var(--line);border-radius:22px;color:var(--ink);background:#fff;box-shadow:0 24px 80px #17261e33}
.spmb-modal::backdrop{background:#17261e88}
.spmb-modal-small{max-width:460px}
.spmb-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.spmb-modal-heading h2{font-size:21px}
.spmb-modal-heading p{margin-top:6px;font-size:13px}
.spmb-quota{border:1px solid var(--line);border-radius:12px;padding:18px;margin:24px 0}
.spmb-quota legend{font-weight:650;padding:0 6px}
.spmb-quota>.field-hint{margin-bottom:16px}
.spmb-modal .form-actions{margin-top:24px;flex-wrap:wrap}
@media(max-width:600px){.spmb-modal{padding:20px}.spmb-modal .form-grid{grid-template-columns:1fr}}
.spmb-quota-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:16px}
.spmb-quota-row>.action-button{margin-bottom:4px}
@media(max-width:600px){.spmb-quota-row{grid-template-columns:1fr}.spmb-quota-row>.action-button{justify-self:start}}
.karya-thumb{width:64px;height:48px;object-fit:cover;border-radius:8px;display:block;background:#e6f6ee}
.karya-table td a{color:#146b42;text-decoration:underline}
.karya-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.karya-add .button{padding:8px 12px;font-size:12px;border-radius:10px}
.karya-add .icon{width:14px;height:14px}
.karya-block{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px;background:#fbfefc}
.karya-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.karya-block-head strong{font-size:13px}
.karya-block-actions{display:flex;gap:6px}
.karya-block-actions button{width:32px;height:32px;border-radius:9px;background:#eef6f2;color:#146b42;display:grid;place-items:center}
.karya-block-actions .icon{width:16px;height:16px}
.karya-block-actions [data-move="up"] .icon{transform:rotate(90deg)}
.karya-block-actions [data-move="down"] .icon{transform:rotate(-90deg)}
.karya-block textarea,.karya-block-caption input{width:100%;border:1px solid #d7e6de;border-radius:10px;padding:10px 12px;background:#fff}
.karya-block textarea{resize:vertical;min-height:88px}
.karya-image-pick{display:grid;gap:8px;cursor:pointer}
.karya-image-pick input{font-size:13px}
.karya-image-pick img{width:160px;height:110px;object-fit:cover;border-radius:10px;background:#e6f6ee}
.karya-image-pick img.is-empty{display:none}
.karya-image-pick span{font-size:12px;color:#5d7568}
.karya-block-caption{display:grid;gap:6px;margin-top:10px;font-size:12px;color:#5d7568}
.karya-empty{margin-top:12px;padding:16px;border:1px dashed #cfe0d6;border-radius:12px;color:#5d7568;font-size:13px}
.sheet-id-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.sheet-id-row input{flex:1;min-width:220px}
.sheet-id-row .button{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.flash-message.is-error{background:#fde8f0;border-color:#f6c3d4;color:#9d234c}
.sheet-docs{margin-top:16px}
.sheet-docs ol{margin:14px 0 0;padding-left:18px;color:#3d4f46;line-height:1.7}
.sheet-docs li{margin:8px 0}
.sheet-script{margin-top:16px}
.sheet-script-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;font-weight:700;color:#146b42}
.sheet-script-bar button{border:0;background:#e6f6ee;color:#146b42;border-radius:8px;padding:6px 10px;font:inherit;font-weight:700}
.sheet-script textarea{width:100%;min-height:280px;border:1px solid #d7e6de;border-radius:12px;padding:12px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#17261e;background:#fbfefc;resize:vertical}
.student-heading-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.student-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.student-bulk [data-bulk-count]{font-size:12px;font-weight:700;color:#146b42}
.student-check{min-width:42px !important;width:42px;text-align:center}
.student-check input{width:16px;height:16px;accent-color:#1B8A55}
.student-export-dialog{width:min(640px,calc(100% - 32px))}
.student-export-dialog .field-hint{margin:4px 0 18px}
.student-stats{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 20px}
.student-stats .stat-card[aria-current=page]{outline:2px solid var(--green)}
@media(max-width:760px){.student-stats{grid-template-columns:1fr}}
.student-filters{display:flex;align-items:end;gap:18px;margin-bottom:24px;flex-wrap:wrap}
.student-filters .form-field{flex:1;min-width:180px}
.student-table-wrap{overflow-x:auto}
.student-table{width:100%;border-collapse:collapse;font-size:12px}
.student-table th,.student-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;min-width:140px;max-width:280px;overflow-wrap:anywhere}
.student-table th{color:var(--muted);font-size:11px;white-space:nowrap}
.student-table th:first-child,.student-table td:first-child{min-width:50px}
.student-actions{flex-wrap:wrap;gap:6px;min-width:180px;margin:2px 0}
.student-section{margin-top:22px}
.student-section .form-grid{margin-top:22px}
.student-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.student-details dt{color:var(--muted);font-size:12px;margin-bottom:6px}
.student-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
@media(max-width:600px){.student-details{grid-template-columns:1fr}}

.student-table{font-size:12px;color:#000}
.student-table th{font-size:11px;color:#000}
.student-table td,.student-table td strong,.student-table td small,.student-table .badge{color:#000}
.student-table td small,.student-table .badge{font-size:11px}
.student-table .action-button{font-size:12px;padding:6px 8px}
.student-modal{width:min(1080px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff;color:#000}
.student-modal::backdrop{background:#17261e88}
.student-modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:-26px;background:#fff;padding:16px 0;z-index:1;border-bottom:1px solid var(--line);margin-bottom:20px}
.student-detail-identity{margin-bottom:20px}
.student-detail-identity p{margin-top:8px}
.student-modal .student-details{font-size:16px}
.student-modal .student-details dt{font-size:14px;color:#000;font-weight:600}
.student-modal .student-details dd,.student-modal .field-hint{color:#000}
@media(max-width:600px){.student-modal{padding:16px}.student-modal-header{top:-16px}.student-modal-header h2{font-size:20px}}
.student-table tbody td,.student-table tbody td strong{font-size:12px;line-height:1.4;color:#000}
.student-table tbody td small,.student-table tbody .badge{font-size:11px;color:#000}
.badge-pink{background:#fde8f1;color:var(--pink-dark)}
.student-table .badge-pink{color:var(--pink-dark)}
.student-table .badge-green{color:var(--green-dark)}
.student-filters .student-search{flex-basis:320px}

/* Keep long applicant values inside their table cells. */
.student-table tbody td{white-space:normal;overflow-wrap:anywhere;word-break:normal}
.student-table tbody td strong,.student-table tbody td small{white-space:normal;overflow-wrap:anywhere}

.student-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.student-document{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding:22px;background:#f7faf8;border:1px solid #dce9e0;border-radius:16px}
.student-document-heading{display:flex;align-items:center;gap:14px;min-width:0}
.student-document-icon{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:12px;background:#e0f1e6;color:#146b42}
.student-document-heading h3{font-size:17px;line-height:1.4;color:#111;overflow-wrap:anywhere}
.student-document-status{display:block;font-size:13px;color:#52685b;margin-top:5px}
.student-download{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#16804d;color:#fff;padding:12px 18px;border:1px solid #16804d;border-radius:10px;font-size:14px;font-weight:700;line-height:1.4;margin-top:auto;transition:background .2s}
.student-download:hover{background:#11683e;border-color:#11683e;color:#fff}
.student-download:focus-visible{outline:3px solid #7ec8a4;outline-offset:3px}
.student-download .icon{width:18px;height:18px}
.student-document-empty{font-size:13px;color:#52685b;margin-top:auto}
@media(max-width:600px){.student-documents{grid-template-columns:1fr}.student-document{padding:18px}}
.student-document-input{width:100%;min-width:0}
.student-document-input input[type=file]{width:100%;min-width:0;max-width:100%;color:#111;background:#fff}
.student-document-input input[type=file]::file-selector-button{border:0;border-radius:7px;padding:9px 12px;margin-right:10px;background:#e0f1e6;color:#146b42;font:inherit;font-weight:600;cursor:pointer}
.student-document-input input[type=file]::file-selector-button:hover{background:#cae8d6}
.student-selection{max-width:780px;margin:30px auto}
.student-selection .form-grid{margin-top:28px}
.student-selection .form-actions{margin-top:26px}
.ws-skeleton{position:fixed;top:95px;left:232px;right:0;bottom:0;z-index:20;overflow:auto;background:#f3f8f5;padding:28px 34px 40px;display:grid;align-content:start;gap:14px}
.ws-skeleton.is-done{opacity:0;visibility:hidden;transition:opacity .35s ease}
.wsk{display:block;border-radius:14px;background:linear-gradient(90deg,#e3ede7 25%,#f7fbf8 37%,#e3ede7 63%);background-size:400% 100%;animation:ws-skeleton 1.15s ease infinite}
.wsk.is-title{width:280px;height:32px}
.wsk.is-line{width:220px;height:14px}
.ws-skeleton-dash{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;margin-top:10px}
.wsk.is-hero{height:180px;border-radius:22px}
.ws-skeleton-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.ws-skeleton-stats.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.wsk.is-stat{height:88px}
.wsk.is-list{height:240px;border-radius:22px}
.wsk.is-side{height:420px;border-radius:22px}
.ws-skeleton-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:12px;margin-top:10px}
.wsk.is-filter{height:68px}
.ws-skeleton-table{display:grid;gap:8px;margin-top:8px}
.wsk.is-row{height:42px;border-radius:10px}
@keyframes ws-skeleton{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:1200px){.ws-skeleton{left:205px;padding:25px}}
@media(max-width:760px){.ws-skeleton{left:0;top:75px;padding:20px}.ws-skeleton-dash,.ws-skeleton-stats,.ws-skeleton-stats.is-four,.ws-skeleton-filters{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wsk{animation:none}.ws-skeleton.is-done{transition:none}}

.chart-page{display:grid;gap:16px}
.chart-filters .form-grid{margin-top:0}
.chart-summary{margin:0;padding:14px 16px;border-radius:16px;background:#e6f6ee;color:#146b42;font-weight:700}
.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none}
.chart-legend li{display:flex;align-items:center;gap:8px;font-weight:700}
.chart-legend span{width:12px;height:12px;border-radius:99px}
.chart-card{display:grid;gap:16px}
.chart-block{display:grid;gap:8px;padding-top:4px}
.chart-block-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.chart-block-title strong{font-size:16px}
.chart-block-title span,.chart-abk p{color:#5d7268}
.chart-line{display:grid;grid-template-columns:92px minmax(0,1fr) 36px;gap:10px;align-items:center}
.chart-level{font-size:13px;font-weight:700}
.chart-track{display:block;height:16px;border-radius:99px;background:#eef4f0;overflow:hidden}
.chart-fill{display:block;height:100%;min-width:4px;border-radius:99px}
.chart-line strong{text-align:right}
.chart-empty{margin:0;color:#5d7268}
.chart-abk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.chart-abk{display:grid;gap:10px;padding:16px;border:1px solid #dce9e0;border-radius:16px;background:#f7faf8}
.chart-abk h3{margin:0;font-size:18px}
.chart-abk p{margin:0}
@media(max-width:760px){.chart-abk-grid{grid-template-columns:1fr}.chart-line{grid-template-columns:78px minmax(0,1fr) 28px}}
