:root{--purple:#4b216f;--purple2:#6d399a;--orange:#e4572d;--ink:#30233a;--muted:#75697d;--line:#e5dbe9;--bg:#f7f3f9;--green:#16805a;--red:#b83f4e;--white:#fff;--shadow:0 14px 38px rgba(62,27,88,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a.btn{cursor:pointer}.public-body{background:radial-gradient(circle at 4% 2%,rgba(228,87,45,.09),transparent 26%),radial-gradient(circle at 96% 96%,rgba(75,33,111,.12),transparent 30%),#fbf9fc}.public-nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,76px);border-bottom:1px solid rgba(75,33,111,.12);background:rgba(255,255,255,.9);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--purple2),var(--orange));font-size:19px;font-weight:950}.brand b,.brand small{display:block}.brand b{color:var(--purple);font-size:16px;letter-spacing:.08em}.brand small{margin-top:2px;color:var(--muted);font-size:8px;letter-spacing:0}.brand.light b,.brand.light small{color:#fff}.public-nav nav{display:flex;align-items:center;gap:5px}.public-nav nav a{padding:9px 12px;border-radius:8px;color:#685773;font-size:12px;font-weight:750;text-decoration:none}.public-nav nav a.active,.public-nav nav a:hover{color:var(--purple);background:#f2ebf6}.public-main{width:min(1240px,calc(100% - 36px));min-height:calc(100vh - 150px);margin:0 auto;padding:48px 0 70px}.eyebrow,.page-heading span{color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.faculty-hero{min-height:530px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);align-items:center;gap:64px}.faculty-hero h1,.public-form-grid h1,.single-form>h1,.feedback-shell>h1,.login-shell h1,.setup-intro h1{margin:12px 0 17px;color:#381553;font-size:clamp(43px,6vw,76px);font-weight:950;line-height:.98;letter-spacing:-.055em}.faculty-hero>div>p,.public-form-grid>div>p,.single-form>p,.feedback-shell>p,.login-shell section>p,.setup-intro>p{max-width:660px;color:var(--muted);font-size:15px;line-height:1.75}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid transparent;border-radius:9px;font-size:11px;font-weight:850;text-decoration:none;transition:.16s}.btn:hover{transform:translateY(-1px)}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--purple2),var(--purple));box-shadow:0 8px 18px rgba(75,33,111,.18)}.btn.secondary{color:var(--purple);border-color:#d9c9e2;background:#fff}.btn.small,.danger.small{min-height:31px;padding:0 9px;font-size:9px}.btn:disabled,button:disabled{opacity:.6;cursor:wait}.program-card{padding:29px;border:1px solid #e0d3e7;border-top:5px solid var(--orange);border-radius:19px;background:#fff;box-shadow:0 22px 55px rgba(62,27,88,.13)}.program-card>small{color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.12em}.program-card h2{margin:10px 0;color:var(--purple);font-size:25px;line-height:1.2}.program-card>p{color:var(--muted);font-size:12px;line-height:1.65}.program-card>div{display:grid;gap:9px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line);color:#5f5068;font-size:11px;font-weight:750}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.steps article{padding:25px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 25px rgba(70,35,94,.06)}.steps article>b{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--purple2)}.steps h2{margin:15px 0 7px;color:var(--purple);font-size:16px}.steps p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.public-form-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(560px,1.2fr);gap:55px;align-items:start}.public-form-grid h1,.single-form>h1,.feedback-shell>h1,.setup-intro h1{font-size:clamp(38px,5vw,58px)}.public-form-grid .program-card{margin-top:30px}.form-card,.card,.feedback-form>section,.table-card,.download-strip{padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}form{display:grid;gap:15px}label{display:grid;gap:7px;color:#514058;font-size:11px;font-weight:800}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dcd2e1;border-radius:9px;color:var(--ink);background:#fff;font-size:12px;outline:0}input:focus,select:focus,textarea:focus{border-color:#8d62aa;box-shadow:0 0 0 3px rgba(109,57,154,.12)}textarea{min-height:88px;resize:vertical}.two,.three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;color:#6b5b74;font-weight:600}.check input{width:17px;min-height:17px;margin:0}.single-form,.feedback-shell{width:min(980px,100%);margin:0 auto}.single-form>.form-card{margin-top:25px}.status-result{margin:23px 0;padding:22px;border:1px solid #d8c9e1;border-left:5px solid var(--purple2);border-radius:13px;background:#fff}.status-result small,.status-result h2,.status-result p{display:block;margin:0}.status-result h2{margin:6px 0 11px;color:var(--purple)}.status-result p{margin-top:11px;color:var(--muted)}.pill{display:inline-flex;width:max-content;padding:6px 9px;border-radius:20px;font-size:9px;font-weight:900;text-transform:uppercase}.pill.approved{color:#0f6848;background:#e4f6ed}.pill.pending,.pill.waitlisted{color:#9b6315;background:#fff3d9}.pill.rejected{color:#9c3040;background:#ffedf0}.feedback-form{display:grid;gap:17px;margin-top:24px}.feedback-form>section>small{color:var(--orange);font-size:9px;font-weight:900}.feedback-form h2,.form-card h2,.card h2,.table-card h2{margin:5px 0 18px;color:var(--purple);font-size:20px}.rating-question{display:grid;grid-template-columns:minmax(200px,1fr) minmax(250px,340px);align-items:center;gap:15px;margin:0;padding:13px 0;border:0;border-top:1px solid #eee6f1}.rating-question legend{float:left;width:100%;font-size:11px;font-weight:800}.rating-question legend b{color:var(--red)}.rating-question>div{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.rating-question label{cursor:pointer}.rating-question input{position:absolute;opacity:0}.rating-question span{height:38px;display:grid;place-items:center;border:1px solid #ded2e4;border-radius:8px;color:#776781;background:#fff;font-size:10px}.rating-question input:checked+span{color:#fff;border-color:var(--purple2);background:var(--purple2)}.security-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.security-strip span{padding:10px 7px;border-radius:8px;color:#116b4b;background:#e7f6ef;font-size:9px;font-weight:850;text-align:center}.empty{padding:35px;color:#887b8f;text-align:center}.empty strong{display:block;color:var(--purple);font-size:16px}.notice{padding:16px;border-radius:11px;font-size:12px;line-height:1.6}.notice.error{color:#9d3343;border:1px solid #efc8cf;background:#fff1f3}.flash{position:fixed;top:18px;left:50%;z-index:1000;max-width:min(620px,calc(100% - 30px));transform:translateX(-50%);padding:13px 18px;border-radius:11px;color:#fff;background:var(--purple);box-shadow:0 14px 36px rgba(39,16,54,.28);font-size:12px;font-weight:800;transition:.3s}.flash.success{background:var(--green)}.flash.error{background:var(--red)}.flash.hide{opacity:0;transform:translate(-50%,-15px);pointer-events:none}.site-footer{padding:25px;color:#82758a;font-size:10px;text-align:center}.login-shell,.setup-shell{min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.65fr);align-items:center;gap:70px;padding:clamp(28px,6vw,80px);background:radial-gradient(circle at 10% 10%,rgba(228,87,45,.12),transparent 28%),radial-gradient(circle at 90% 90%,rgba(109,57,154,.16),transparent 32%),#fbf9fc}.login-shell .brand{margin-bottom:70px}.login-card{padding:34px}.login-card>a{width:max-content;margin:auto;color:var(--purple2);font-size:10px}.setup-intro ol{display:grid;gap:10px;margin-top:25px;padding-left:22px;color:#6f6077;font-size:12px}.admin-body{background:#f6f3f7}.admin-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 17px;color:#fff;background:linear-gradient(180deg,#3c1857,#4b216f 55%,#30113f)}.sidebar>p{margin:24px 8px 9px;color:#d8c8df;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:8px;color:#e8ddeb;font-size:11px;font-weight:750;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(255,255,255,.13)}.sidebar nav a>b{min-width:21px;padding:3px 6px;border-radius:10px;color:#fff;background:var(--orange);font-size:8px;text-align:center}.sidebar>form{margin-top:auto}.sidebar>form button{width:100%;padding:11px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;background:rgba(255,255,255,.07);font-size:10px;font-weight:800}.workspace{min-width:0}.topbar{height:70px;display:flex;align-items:center;gap:15px;padding:0 28px;border-bottom:1px solid var(--line);background:#fff}.topbar>div{margin-right:auto}.topbar small,.topbar strong{display:block}.topbar small{color:var(--orange);font-size:8px;font-weight:900}.topbar strong{margin-top:3px;color:var(--purple);font-size:12px}.online{color:var(--green);font-size:10px;font-weight:800}.content{max-width:1500px;margin:auto;padding:28px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{margin:5px 0 4px;color:var(--purple);font-size:30px;letter-spacing:-.02em}.page-heading p{margin:0;color:var(--muted);font-size:11px}.program-picker{min-width:min(430px,45vw);display:block}.program-picker label{font-size:9px}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.stat-grid article{padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(65,31,88,.05)}.stat-grid small,.stat-grid strong,.stat-grid span{display:block}.stat-grid small{color:var(--muted);font-size:9px;font-weight:800}.stat-grid strong{margin-top:7px;color:var(--purple);font-size:25px}.stat-grid span{margin-top:4px;color:var(--green);font-size:8px}.content>.program-card{margin-bottom:18px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-grid a{padding:20px;border:1px solid var(--line);border-radius:13px;background:#fff;text-decoration:none}.quick-grid b,.quick-grid span{display:block}.quick-grid b{color:var(--purple);font-size:12px}.quick-grid span{margin-top:5px;color:var(--muted);font-size:9px}.split{display:grid;grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr);gap:17px;align-items:start}.split>.form-card{position:sticky;top:88px}.list-card>h2,.expert-list>h2{margin-top:0}.list-card>article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid #eee6f1}.list-card>article>div:first-child{min-width:0}.list-card small,.list-card strong,.list-card span{display:block}.list-card small{color:var(--orange);font-size:8px;font-weight:900}.list-card strong{margin:4px 0;color:#493650;font-size:12px}.list-card span{color:var(--muted);font-size:9px}.list-card article>div:last-child{display:flex;gap:6px}.list-card form{display:block}.danger{border:1px solid #efc8cf;border-radius:8px;color:var(--red);background:#fff2f4;font-weight:850}.table-card{overflow-x:auto;padding:0}.table-card>h2{padding:20px 20px 0}.table-card table{width:100%;min-width:920px;border-collapse:collapse}.table-card th,.table-card td{padding:13px 15px;border-bottom:1px solid #eee7f1;text-align:left;font-size:10px;vertical-align:middle}.table-card th{color:#7c6c84;background:#faf7fb;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.table-card td>strong,.table-card td>small{display:block}.table-card td>strong{color:#493650;font-size:11px}.table-card td>small{margin-top:4px;color:#887a8f;font-size:8px}.inline{display:flex;grid-template-columns:130px auto;gap:6px}.inline select{min-height:34px;padding:5px 8px}.attendance-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:17px;margin-bottom:17px}.qr-card{text-align:center}.qr-card #attendanceQr,.feedback-share #feedbackQr{width:max-content;margin:0 auto;padding:10px;border:1px solid var(--line);background:#fff}.qr-card h2{margin:14px 0 5px}.qr-card p{color:var(--muted);font-size:10px}.qr-card form{margin:14px 0 9px}.people-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #eee6f1}.people-list article>span,.expert-list article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--purple2);font-size:11px;font-weight:900}.people-list strong,.people-list small{display:block}.people-list strong{font-size:10px}.people-list small{margin-top:3px;color:var(--muted);font-size:8px}.people-list time{color:var(--muted);font-size:8px}.feedback-share{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:30px;align-items:center;margin-bottom:14px}.feedback-share small{color:var(--orange);font-size:8px;font-weight:900}.feedback-share h2{margin:5px 0}.feedback-share p{overflow:hidden;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px;color:#685973;background:#faf7fb;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.feedback-stats{grid-template-columns:repeat(5,1fr)}.download-strip{display:flex;align-items:center;gap:10px;margin-bottom:14px}.download-strip>div{margin-right:auto}.download-strip strong,.download-strip span{display:block}.download-strip strong{color:var(--purple);font-size:12px}.download-strip span{margin-top:3px;color:var(--muted);font-size:8px}.analysis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:14px}.bar-row{padding:8px 0}.bar-row>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.bar-row b{font-size:9px}.bar-row em{color:var(--purple2);font-size:9px;font-style:normal;font-weight:900}.bar-row>i{height:7px;display:block;overflow:hidden;border-radius:10px;background:#eee7f1}.bar-row>i>b{height:100%;display:block;border-radius:10px;background:linear-gradient(90deg,var(--purple2),var(--orange))}.comment-list{display:grid;gap:9px;max-height:550px;overflow:auto}.comment-list article{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fdfbfe}.comment-list strong,.comment-list small{display:block}.comment-list strong{font-size:10px}.comment-list small{margin-top:3px;color:var(--muted);font-size:8px}.comment-list p{margin:9px 0 0;color:#66576f;font-size:9px;line-height:1.55}.expert-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #eee6f1}.expert-list strong,.expert-list small,.expert-list p{display:block;margin:0}.expert-list strong{font-size:11px}.expert-list small,.expert-list p{margin-top:3px;color:var(--muted);font-size:8px}.expert-list article>b{color:var(--purple2);font-size:8px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-grid article>span{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--purple2),var(--orange));font-size:10px;font-weight:950}.report-grid h2{margin:13px 0 5px}.report-grid p{color:var(--muted);font-size:10px}.certificate-body{padding:30px;background:#efeaf2}.certificate-page{width:min(1120px,100%);margin:auto}.certificate-border{min-height:740px;display:flex;flex-direction:column;align-items:center;padding:52px;border:16px double var(--purple);outline:4px solid var(--orange);outline-offset:-25px;background:#fff;text-align:center}.certificate-border header{display:flex;align-items:center;gap:13px}.certificate-logo{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--purple),var(--orange));font-size:25px;font-weight:950}.certificate-border header strong,.certificate-border header span{display:block;color:var(--purple)}.certificate-border header strong{font-size:18px;letter-spacing:.08em}.certificate-border header span{font-size:12px;font-weight:900}.certificate-label{margin:46px 0 28px;color:var(--orange);font-family:Georgia,serif;font-size:24px;font-weight:900;letter-spacing:.12em}.certificate-border>p{max-width:800px;margin:8px 0;color:#65566d;font-family:Georgia,serif;font-size:16px;line-height:1.7}.certificate-border>h1{margin:10px 0 4px;color:var(--purple);font-family:Georgia,serif;font-size:45px}.certificate-border>h2{max-width:850px;margin:10px 0;color:var(--purple);font-family:Georgia,serif;font-size:25px}.faculty-line{font-size:13px!important}.certificate-border footer{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px;margin-top:auto}.certificate-border footer b,.certificate-border footer span{display:block}.certificate-border footer b{color:var(--purple);font-size:11px}.certificate-border footer span{margin-top:4px;color:var(--muted);font-size:9px}.certificate-border footer>div:first-child,.certificate-border footer>div:last-child{padding-top:9px;border-top:1px solid #8c7b94}.certificate-border #certificateQr{padding:6px;border:1px solid var(--line)}.certificate-border #certificateQr img,.certificate-border #certificateQr canvas{width:82px!important;height:82px!important}.certificate-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.certificate-actions button,.certificate-actions a{padding:11px 18px;border:0;border-radius:8px;color:#fff;background:var(--purple);font-size:11px;font-weight:850;text-decoration:none}
@media(max-width:1050px){.admin-shell{grid-template-columns:210px minmax(0,1fr)}.stat-grid,.feedback-stats{grid-template-columns:repeat(3,1fr)}.public-form-grid{grid-template-columns:1fr}.public-form-grid>div{max-width:760px}.split{grid-template-columns:1fr}.split>.form-card{position:static}.analysis-grid{grid-template-columns:1fr}.faculty-hero{gap:32px}}
@media(max-width:780px){.public-nav{align-items:flex-start;padding:12px 17px}.public-nav nav{overflow-x:auto;max-width:65vw}.public-nav nav a{white-space:nowrap}.public-main{width:min(100% - 24px,1240px);padding-top:32px}.faculty-hero{min-height:0;grid-template-columns:1fr}.faculty-hero h1{font-size:46px}.steps,.quick-grid,.report-grid{grid-template-columns:1fr}.two,.three{grid-template-columns:1fr}.rating-question{grid-template-columns:1fr}.login-shell,.setup-shell{grid-template-columns:1fr;gap:30px;padding:26px}.login-shell .brand{margin-bottom:35px}.admin-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar>form{margin-top:15px}.topbar{padding:0 15px}.topbar .online{display:none}.content{padding:18px 12px}.page-heading{align-items:stretch;flex-direction:column}.program-picker{min-width:0;width:100%}.stat-grid,.feedback-stats{grid-template-columns:repeat(2,1fr)}.attendance-grid{grid-template-columns:1fr}.feedback-share{grid-template-columns:1fr}.download-strip{align-items:stretch;flex-direction:column}.download-strip>div{margin-right:0}.certificate-body{padding:10px}.certificate-border{min-height:700px;padding:35px 25px;border-width:10px}.certificate-border>h1{font-size:34px}.certificate-border footer{grid-template-columns:1fr}.certificate-border footer>div:first-child,.certificate-border footer>div:last-child{border:0}.certificate-label{font-size:18px}}
@media(max-width:500px){.brand b{display:none}.public-nav nav{max-width:82vw}.faculty-hero h1,.public-form-grid h1,.single-form>h1,.feedback-shell>h1{font-size:37px}.form-card,.card,.feedback-form>section{padding:19px}.rating-question>div{gap:3px}.rating-question span{font-size:8px}.security-strip{grid-template-columns:repeat(2,1fr)}.sidebar nav{grid-template-columns:1fr}.topbar>a{display:none}.stat-grid,.feedback-stats{grid-template-columns:1fr}.people-list article{grid-template-columns:38px minmax(0,1fr) auto}.people-list time{grid-column:2}.certificate-border header strong{font-size:12px}.certificate-border>h1{font-size:27px}.certificate-border>h2{font-size:19px}}
@media print{body{background:#fff}.certificate-body{padding:0}.certificate-page{width:100%}.certificate-border{min-height:100vh;outline-offset:-20px}.certificate-actions{display:none}@page{size:A4 landscape;margin:8mm}}
