*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#182b48;font:15px/1.6 system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}.wrap{max-width:1200px;margin:auto;padding:0 22px}.top{background:white;border-bottom:1px solid #e3eaf2;position:sticky;top:0;z-index:5}.nav{display:flex;justify-content:space-between;align-items:center;min-height:72px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#183b70}.brandicon{display:grid;place-items:center;background:#123d76;color:white;width:42px;height:42px;border-radius:12px;font-size:25px}.brand b,.brand small{display:block}.brand small{font-size:12px;color:#70839a}.nav nav{display:flex;gap:22px}.nav a{color:#244c81;text-decoration:none;font-weight:600}main{padding-top:26px!important;padding-bottom:50px!important}.hero{background:linear-gradient(120deg,#103568,#1b68b2);border-radius:20px;padding:32px;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 16px 32px #1d5e9b22}.hero h1{font-size:clamp(22px,3vw,30px);line-height:1.3;margin:6px 0}.hero p{margin:0;color:#dbe9fb}.eyebrow{font-size:11px;letter-spacing:2px;color:#bddbff}.btn{background:#1766b0;border:0;border-radius:10px;color:white;padding:11px 19px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.btn.light{background:white;color:#174a80;text-decoration:none}.btn.wide{width:100%}.filters{display:flex;align-items:end;gap:12px;margin:22px 0;flex-wrap:wrap}.filters label,.login label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px}.filters select,.login select,.login input{border:1px solid #d8e1ee;background:#fff;border-radius:10px;padding:11px 13px;font:inherit;min-width:155px;color:#253d5e}.login input{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat,.panel{background:white;border:1px solid #e5eaf3;border-radius:16px;box-shadow:0 6px 22px #1c3e6810}.stat{padding:20px}.stat span{display:block;color:#72849b;font-size:13px}.stat strong{font-size:32px;display:block;color:#203a5e}.stat.green strong,.ok{color:#0e9c72}.stat.orange strong,.warn{color:#d88b20}.stat.blue strong{color:#2476c7}.two{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.panel{padding:24px;margin-top:18px}.panel h2{font-size:19px;margin:0 0 12px}.panel h1{margin:12px 0}.muted{color:#7b8ca3;margin-top:0}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#f4f7fc;color:#6a7d95;font-size:12px}td,th{padding:12px;border-bottom:1px solid #eef2f7;white-space:nowrap}td:nth-child(2){white-space:normal;min-width:150px}td a{color:#1666b3;text-decoration:none;font-weight:600}.login{display:grid;gap:14px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formrow select{width:100%;min-width:0}.alert{background:#fff1f1;color:#a42b2b;padding:10px;border-radius:10px}.pill{border-radius:30px;padding:5px 10px;font-size:12px;font-weight:700}.pill.success{color:#0b8d64;background:#dff8ee}.pill.pending{color:#ad7114;background:#fff2d9}.actions{display:flex;gap:5px}.iconbtn{border:1px solid #dbe6f2;border-radius:8px;background:white;color:#1a68b4;padding:5px 9px;cursor:pointer;text-decoration:none;font:inherit;font-weight:600}dialog{border:0;border-radius:18px;box-shadow:0 25px 100px #132c5360;width:min(92vw,520px);padding:25px}dialog::backdrop{background:#10274799}.modalhead{display:flex;justify-content:space-between;align-items:center}.footer{text-align:center;color:#8191a6;padding:25px}input:focus,select:focus{outline:2px solid #78b7fa}@media(max-width:800px){.two{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.hero{display:block}.hero .btn{display:inline-block;margin-top:16px}.nav nav{gap:10px;font-size:12px}.brand small{font-size:10px}}@media(max-width:480px){.wrap{padding:0 13px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:25px}.panel{padding:16px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters button{grid-column:1/3}.filters select{width:100%;min-width:0}.brand b{font-size:13px}.brandicon{width:34px;height:34px}.nav nav a:first-child{display:none}}
/* SICE Learning Plan visual refresh */
:root{--navy:#113c73;--blue:#1469b6;--muted:#71839c;--line:#e5edf7}
body{background:linear-gradient(180deg,#eaf2fd 0,#f6f9fd 270px,#f7f9fc 100%);color:#183454}
.top{background:rgba(255,255,255,.96);box-shadow:0 2px 18px #123c7210;border-bottom:1px solid #eaf0f8}
.brandicon{background:linear-gradient(135deg,#123e79,#2589d6);box-shadow:0 5px 15px #1469b633}
.nav nav a:last-child{border:1px solid #d5e5f8;padding:9px 15px;border-radius:11px;background:#f3f8ff}
.hero{background:linear-gradient(115deg,#0c315f 0%,#145b9c 60%,#2689d1 100%);padding:38px;border-radius:23px;position:relative;overflow:hidden;box-shadow:0 15px 36px #1b66ac27}
.hero:after{content:'◌';position:absolute;font-size:290px;line-height:1;color:#ffffff0c;right:20%;top:-90px;pointer-events:none}
.hero>*{position:relative;z-index:1}.hero h1{font-size:clamp(24px,3vw,35px);font-weight:800}
.hero .btn.light{padding:13px 20px;border-radius:12px;box-shadow:0 8px 20px #092c4e30}
.filters{background:#fff;border:1px solid #e7edf6;padding:16px 20px;border-radius:15px;box-shadow:0 4px 18px #234a7610}
.filters select,.login select,.login input{border:1px solid #dce7f3;border-radius:11px;background:#f9fbfe;transition:.2s}
.filters select:focus,.login select:focus,.login input:focus{background:white;border-color:#4693d8}
.stats{gap:16px}.stat{border:1px solid #e9eff7;padding:23px 24px;border-radius:18px;box-shadow:0 9px 24px #153e6b0d;position:relative;overflow:hidden}
.stat:after{content:'↗';position:absolute;right:17px;top:12px;font-size:22px;color:#9ab3d0}.stat strong{font-size:36px;line-height:1.4}
.stat.green{border-bottom:3px solid #16a37a}.stat.orange{border-bottom:3px solid #e5a63a}.stat.blue{border-bottom:3px solid #3287d7}
.panel{border-radius:20px;padding:26px;box-shadow:0 10px 30px #1d457310}
.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.sectionhead h2{margin:3px 0}.sectionhead p{margin:0}.eyebrow.dark{color:#4280bc;font-weight:800}
.searchbox{display:flex;align-items:center;gap:7px;border:1px solid #dce6f1;background:#f8fbff;border-radius:11px;padding:0 13px;color:#7a92ac}.searchbox input{border:0;outline:0;background:transparent;padding:11px 0;font:inherit;width:210px}
table{border-spacing:0}th{background:#f1f6fc;font-weight:800;color:#55708e}td,th{padding:15px 13px}tbody tr:hover{background:#f8fbff}.deptname{font-weight:700;color:#183f6d}.viewlink{display:inline-block;border:1px solid #dbe9f8;background:#f5f9ff;padding:6px 11px;border-radius:9px}.progress{height:7px;background:#e6edf5;border-radius:9px;width:90px;overflow:hidden;display:inline-block;margin-right:8px;vertical-align:middle}.progress i{display:block;height:100%;background:linear-gradient(90deg,#16a77c,#53c5a4);border-radius:9px}
.loginmodal{width:min(94vw,450px);max-height:92vh;overflow:auto;border-radius:23px;padding:0;box-shadow:0 28px 90px #071b3b66}.loginmodal::backdrop{background:#0a2246a8;backdrop-filter:blur(4px)}.modalbanner{background:linear-gradient(135deg,#0c315f,#2477bb);padding:25px 30px 27px;color:#fff;text-align:center;position:relative}.modalbanner h2{font-size:23px;margin:8px 0 2px}.modalbanner p{color:#dceafa;margin:0}.modalbadge{font-size:10px;letter-spacing:2px;color:#c4e1ff;font-weight:800}.modalicon{font-size:30px;display:grid;place-items:center;background:#ffffff20;border:1px solid #ffffff33;width:58px;height:58px;border-radius:17px;margin:14px auto 0}.closemodal{position:absolute;right:15px;top:12px;border:0;background:#ffffff20;color:#fff;font-size:24px;width:32px;height:32px;border-radius:9px;cursor:pointer}.modalbody{padding:27px 30px}.modalbody .login{gap:15px}.modalbody .login input,.modalbody .login select{min-width:0}.modalbody .btn{margin-top:5px;padding:14px}.loginhint{text-align:center;font-size:12px;color:#8190a5;margin:16px 0 0}
@media(max-width:800px){.sectionhead{align-items:stretch;flex-direction:column}.searchbox input{width:100%}.hero{padding:27px}.stat{padding:16px}.stat strong{font-size:29px}}
@media(max-width:480px){.modalbody{padding:22px}.modalbanner{padding:20px}.hero h1{font-size:25px}.nav nav a:last-child{font-size:11px;padding:7px}.stats{gap:9px}.stat{padding:13px}.stat:after{font-size:16px;right:9px;top:7px}.stat strong{font-size:25px}}

/* SICE Learning Plan V3 — department cards adapted from SICE Document Center v13 */
.lp-department-heading{margin:30px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.lp-department-heading h2{font-size:23px;margin:4px 0}.lp-department-heading .muted{margin:0}
.lp-department-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.lp-department-card{--card-a:#ee4266;--card-b:#fa7c95;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:220px;padding:16px 16px 14px;border:1px solid #ffffffc7;border-radius:21px;text-decoration:none;color:#fff;background:linear-gradient(125deg,var(--card-a),var(--card-b));box-shadow:0 12px 25px #31527d23;transition:transform .2s,box-shadow .2s}
.lp-department-card:hover,.lp-department-card:focus-visible{transform:translateY(-5px);box-shadow:0 18px 34px #31527d37;outline:none}
.lp-color-1{--card-a:#7c43d7;--card-b:#b16bee}.lp-color-2{--card-a:#2166cf;--card-b:#63a5f1}.lp-color-3{--card-a:#078f98;--card-b:#40cbbd}.lp-color-4{--card-a:#e77c17;--card-b:#f5b24c}.lp-color-5{--card-a:#178b65;--card-b:#5cc49a}.lp-color-6{--card-a:#d34e9c;--card-b:#f18ab5}.lp-color-7{--card-a:#315ca7;--card-b:#6a8fdf}
.lp-card-glow{position:absolute;z-index:-1;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;background:#ffffff22;box-shadow:0 0 0 55px #ffffff0a}
.lp-card-top{display:flex;align-items:center;justify-content:space-between}.lp-dept-icon{font-size:23px;display:grid;place-items:center;width:43px;height:43px;background:#ffffff2b;border:1px solid #ffffff4d;border-radius:15px}.lp-dept-number{font-size:19px;font-weight:800;opacity:.75}
.lp-department-card h3{font-size:16px;line-height:1.35;margin:10px 0 12px;min-height:44px;font-weight:800}
.lp-card-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:auto}.lp-card-counts div{background:#ffffff21;border:1px solid #ffffff1a;border-radius:9px;padding:7px 6px}.lp-card-counts span{display:block;font-size:10px;opacity:.92}.lp-card-counts strong{font-size:21px;line-height:1.25}
.lp-card-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:11px 0 5px}.lp-card-progress-label b{font-size:15px}
.lp-card-track{height:8px;background:#ffffff50;border-radius:12px;overflow:hidden}.lp-card-track i{display:block;height:100%;background:#fff;border-radius:12px;box-shadow:0 0 10px #fff8}
.lp-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:11px;font-size:11px;font-weight:700}.lp-card-arrow{display:grid;place-items:center;background:#ffffff2b;border-radius:50%;width:31px;height:31px;font-size:19px}
.lp-department-card.lp-selected{outline:3px solid #ffcf5b;outline-offset:2px}.lp-empty{padding:26px;text-align:center;color:#72849b;background:white;border-radius:14px}
#department-detail{scroll-margin-top:100px}
@media(max-width:1100px){.lp-department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.lp-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.lp-department-grid{grid-template-columns:1fr;gap:12px}.lp-department-card{min-height:215px;padding:16px}.lp-department-card h3{min-height:0;margin:12px 0}.lp-department-heading h2{font-size:20px}.lp-department-heading .searchbox{width:100%}.lp-department-heading .searchbox input{width:100%}}

/* V6: match college-wide summary cards to colorful department cards.
   Department cards are intentionally unchanged from V4. */
.stats{gap:16px}
.stats .stat{--sum-a:#ee4266;--sum-b:#fa7c95;position:relative;isolation:isolate;overflow:hidden;min-height:145px;padding:21px 22px;border:1px solid #ffffffb0;border-radius:21px;background:linear-gradient(125deg,var(--sum-a),var(--sum-b));color:#fff;box-shadow:0 12px 25px #31527d23;transition:transform .2s ease,box-shadow .2s ease}
.stats .stat:nth-child(2){--sum-a:#159b78;--sum-b:#55c9a3}
.stats .stat:nth-child(3){--sum-a:#e88616;--sum-b:#f5b34e}
.stats .stat:nth-child(4){--sum-a:#2166cf;--sum-b:#63a5f1}
.stats .stat:before{content:"";position:absolute;z-index:-1;right:-48px;top:-95px;width:230px;height:230px;border-radius:50%;background:#ffffff19;box-shadow:0 0 0 48px #ffffff0b}
.stats .stat:after{content:none}
.stats .stat span{position:relative;color:#fff;font-size:13px;font-weight:700;opacity:.95}
.stats .stat strong,.stats .stat.green strong,.stats .stat.orange strong,.stats .stat.blue strong{position:relative;color:#fff;font-size:clamp(30px,3vw,43px);line-height:1.2;margin-top:13px;font-weight:800}
.stats .stat:hover{transform:translateY(-3px);box-shadow:0 17px 31px #31527d35}
@media(max-width:620px){.stats{gap:10px}.stats .stat{min-height:117px;padding:16px}.stats .stat strong{font-size:30px}.stats .stat span{font-size:12px}}

/* V7: concise public dashboard header. No duplicate login button. */
.lp-dashboard-intro{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 0;margin:0 0 4px;background:transparent;border:0;box-shadow:none}
.lp-dashboard-intro h1{font-size:clamp(23px,2.4vw,32px);font-weight:800;color:#123d76;line-height:1.3;letter-spacing:-.4px;margin:4px 0 7px}
.lp-dashboard-intro p{margin:0;color:#7589a5;font-size:14px}
.lp-dashboard-kicker{font-size:11px;font-weight:800;letter-spacing:2.1px;color:#327fcb}
.lp-dashboard-intro+.filters{margin:16px 0 18px;padding:15px 17px;border:1px solid #e2eaf5;background:#fff;border-radius:16px;box-shadow:0 5px 18px #193c6810}
@media(max-width:620px){.lp-dashboard-intro{padding:4px 0}.lp-dashboard-intro h1{font-size:23px}.lp-dashboard-intro p{font-size:12px}.lp-dashboard-intro+.filters{padding:12px}}

/* V9: clearly visible but disabled excluded subjects */
tr.lp-exempt{background:#f1f3f6!important;color:#89919e!important;opacity:.82}tr.lp-exempt td{color:#89919e!important}tr.lp-exempt a{pointer-events:none}.lp-exempt-pill{background:#dfe3e9;color:#596372;border:1px solid #cbd1d9}.lp-exempt-note{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#687483;padding:7px 10px;border-radius:8px;background:#e2e6eb}
