@font-face{font-family:Poppins;src:url('fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--navy:#102647;--blue:#244c85;--bg:#f0f2f6;--muted:#647187;--line:#e8edf4}
body{font-family:Poppins,system-ui,sans-serif;line-height:1.65}
.shell{max-width:1180px;padding:32px 32px 55px}
.top{margin-bottom:28px}.brand{display:flex;align-items:center;gap:7px;font-size:25px;letter-spacing:-1px}.brandmark{background:var(--navy);color:white!important;width:44px;height:44px;border-radius:15px;display:grid;place-items:center;margin-right:5px;font-size:27px}.brand>span:last-child{margin-left:-7px}
.class-pill{background:white;padding:9px 15px;border-radius:30px;font-size:13px;color:var(--muted)}
.eyebrow{letter-spacing:.12em;font-size:12px}
nav{gap:5px;margin:18px 0 28px}nav a{border-radius:30px;font-size:14px;padding:11px 21px}nav a.active{background:var(--navy);box-shadow:0 6px 15px #10264718}
h1{font-weight:600;letter-spacing:-.04em;font-size:34px;line-height:1.25}h2{font-size:20px;font-weight:600;letter-spacing:-.025em}h3{font-weight:600;font-size:18px;line-height:1.5}
.hero{padding:32px 36px;background:var(--navy);color:white;border-radius:30px;min-height:225px;margin-bottom:22px;align-items:center}.hero h1{font-size:40px;margin:12px 0}.hero .eyebrow{color:#b9cff2}.hero .muted{color:#c5d3e8;font-size:14px;max-width:600px}.hero .button{background:#d7e8ff;color:#102647;white-space:nowrap}.hero .button:hover{background:white}
button,.button{border-radius:30px;min-height:46px;font-size:14px;padding:12px 21px;font-weight:600}
.secondary{background:#edf2f9;color:var(--navy)}
.stats{margin:0 0 24px;gap:16px}.stat,.stat:first-child{background:white;color:var(--navy);border:0;border-radius:22px;padding:22px 26px}.stat strong{font-size:34px;font-weight:600;letter-spacing:-1px}.stat span{color:var(--muted);font-size:14px}.stat:nth-child(2){background:#e4ebf5}
.card{border:0;border-radius:24px;padding:25px;box-shadow:0 5px 24px #10264704}.card .actions>a:not(.button){font-size:14px;padding:9px 0;min-height:42px;display:inline-flex;align-items:center}.grid{gap:20px}.grid.actions{gap:24px;margin-top:28px}.stack{gap:16px}
.badge{border-radius:20px;padding:5px 11px;background:#edf2fa;color:#345582}.late{background:#ffeaed;color:#a32942}.done{background:#e4f3ee;color:#20694e}
.meeting{border-left:0;border-top:4px solid #274d7f}.empty{padding:35px 24px;line-height:1.9}.empty a{display:inline-block;margin-top:8px}
input,textarea,select{border-color:#e0e6ef;border-radius:13px;background:#fbfcfe;font-size:16px}label{font-weight:600}.filter{padding:22px;background:white;border-radius:24px;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto}.filter>div{min-width:0}.notice{border-radius:16px}progress{border:0;border-radius:20px;overflow:hidden;height:8px}progress::-webkit-progress-bar{background:#dce4ef}progress::-webkit-progress-value{background:#244c85;border-radius:20px}footer{border-top:1px solid #dce3ed;padding-top:22px;margin-top:40px}
@media(max-width:700px){.shell{padding:22px 16px 110px}.top{margin-bottom:24px;gap:10px}.brand{font-size:22px}.brandmark{width:38px;height:38px;font-size:24px;border-radius:13px}.class-pill{font-size:11px;padding:7px 10px}.shell>.eyebrow{font-size:10px;margin-bottom:18px}.hero{border-radius:25px;padding:26px 24px;align-items:flex-start;gap:15px}.hero h1{font-size:32px}.hero .eyebrow{font-size:10px}.hero .muted{font-size:13px}.hero .button{padding:11px 19px}.stats{gap:8px;margin-bottom:20px}.stat,.stat:first-child{padding:17px 12px;border-radius:18px}.stat strong{font-size:27px}.stat span{font-size:11px}.card{padding:21px;border-radius:22px}.grid.actions{gap:26px}.head{gap:9px}h1{font-size:28px}.filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px;gap:12px}.filter>div:first-child{grid-column:1/-1}nav{padding:10px 5px max(10px,env(safe-area-inset-bottom));border-radius:23px 23px 0 0;box-shadow:0 -5px 25px #10264709;gap:0;margin:0}nav a{font-size:11px;padding:11px 7px;border-radius:20px;letter-spacing:-.25px}.form{padding:21px}.actions{gap:12px}.grid{gap:16px}.card small{font-size:13px}}

.university-brand{gap:16px;letter-spacing:0;min-width:0}.university-brand img{width:64px;height:66px;object-fit:contain;flex-shrink:0}.brand.university-brand>span:last-child{margin:0}.university-name{display:flex;flex-direction:column;gap:2px}.university-name strong{font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.5px}.university-name>span{font-size:15px;font-weight:400;color:var(--muted)}.university-name small{font-size:13px;font-weight:400}.top{align-items:center}@media(max-width:700px){.top{flex-wrap:wrap;gap:12px}.university-brand{gap:12px;align-items:center}.university-brand img{width:48px;height:50px}.university-name strong{font-size:17px;letter-spacing:-.3px}.university-name>span{font-size:12px;line-height:1.5}.university-name small{font-size:12px}.class-pill{margin-left:60px}.top{margin-bottom:20px}} 

.summary-info{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:16px;margin-bottom:28px}.summary-info .stat{display:flex;flex-direction:column;justify-content:center}.summary-info .stat a{font-size:14px;margin-top:10px}.info-link{display:block;color:var(--navy)}.info-link:hover{text-decoration:none;box-shadow:0 8px 24px #10264712}.info-link h2{margin:0 0 8px}.info-link p{font-size:14px;color:var(--muted)}.info-link>span{display:block;font-size:14px;color:var(--blue);margin-top:14px}.schedule-day{margin:24px 0 12px}.student-list{padding:0;list-style:none;counter-reset:students}.student-list li{counter-increment:students;padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:15px;overflow-wrap:anywhere}.student-list li:before{content:counter(students,decimal-leading-zero);color:var(--muted)}@media(max-width:700px){.summary-info{grid-template-columns:1fr 1fr;gap:12px}.summary-info .stat{grid-column:1/-1;padding:18px 22px}.summary-info .card{padding:18px}.info-link h2{font-size:17px}.info-link p{font-size:13px}}

.theme-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.theme-picker>span{font-size:12px;color:var(--muted);margin-right:4px}.theme-picker button{background:white;color:var(--navy);padding:8px 14px;font-size:12px}.theme-picker button[aria-pressed=true]{background:var(--navy);color:white}.install-guide{background:white;border:1px solid var(--line);border-radius:20px;margin:0 0 20px;padding:16px 20px}.install-guide summary{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600}.install-guide summary:after{content:"＋";margin-left:auto}.install-guide[open] summary:after{content:"−"}.install-guide summary img{border-radius:8px}.install-guide small{display:block;font-size:12px;font-weight:400}.install-guide>div{font-size:14px;margin-top:16px}.student-nim{display:block;font-size:13px;margin-top:4px}.theme-emerald{--navy:#104b45;--blue:#087366;--bg:#eff6f4;--muted:#54716c;--line:#dae9e4}.theme-emerald .hero{background:#104b45}.theme-emerald .hero .button{background:#d0f3d9;color:#104b45}.theme-emerald .hero .eyebrow,.theme-emerald .hero .muted{color:#d3e9df}.theme-emerald .secondary,.theme-emerald .badge{background:#e0f1e9;color:#175d50}.theme-emerald .meeting{border-color:#16806b}.theme-emerald .late{background:#ffeaed;color:#a32942}.theme-emerald .done{background:#e4f3ee;color:#20694e}.theme-emerald input:focus,.theme-emerald select:focus,.theme-emerald textarea:focus{outline-color:#58bda6}@media(max-width:700px){.theme-picker{margin-left:60px}.install-guide{padding:15px}.install-guide summary{font-size:14px}}
@media(display-mode:standalone){.install-guide{display:none}}

:root{--navy:#102647;--blue:#2463a6;--bg:#ffffff;--muted:#596d86;--line:#e1eaf5}body{background:#fff}.card,.stat,.stat:first-child{border:1px solid var(--line);background:#fff}.hero{background:#102647}.hero .button{background:#d9ecff;color:#102647}.summary-info .stat{background:#eef6ff}.badge,.secondary{background:#eaf3ff;color:#214c7e}dialog{border:1px solid #dfe8f3;border-radius:26px;padding:28px;width:calc(100% - 40px);max-width:440px;color:#102647;background:#fff;box-shadow:0 24px 100px #10264730}dialog::backdrop{background:#10264766}dialog h2{margin-top:16px}dialog p{font-size:15px;color:#52667e}dialog img{border-radius:14px}button[hidden]{display:none}#install-open{flex-shrink:0}@media(max-width:700px){#install-open{margin-left:60px;font-size:12px;padding:9px 16px}}

.action-button{font-size:14px;min-height:44px;padding:10px 17px;text-decoration:none!important;line-height:1.5}.summary-info .stat .action-button{align-self:flex-start;margin-top:14px;padding:10px 17px}.card .actions{gap:9px}.action-button.danger{background:#fff0f2;color:#a5233d;border:1px solid #f3cad2}.action-button:hover{filter:brightness(.96)}.head .action-button{flex-shrink:0}.empty .action-button{margin-top:12px}@media(max-width:700px){.action-button{font-size:13px;padding:10px 15px}.actions .action-button{min-height:44px}}

.meeting-card{border-top:4px solid #294e80;background:#fff}.meeting-card.is-complete{background:#eef7f4;border-top-color:#287564}.meeting-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.meeting-title h3{margin:0;font-size:19px}.meeting-title .badge{margin:0}.meeting-date{font-size:14px;color:#52667e;margin:0 0 15px!important}.meeting-field{display:grid;grid-template-columns:65px minmax(0,1fr);gap:9px;margin:10px 0;white-space:normal!important}.meeting-field ul{margin:0;padding-left:18px}.meeting-field strong{font-weight:600}.meeting-card .actions{border-top:1px solid #dce6ee;padding-top:16px;margin-top:18px;gap:8px}.meeting-add{background:#102647;color:#fff}.meeting-view{background:#b72e48;color:#fff}.meeting-card .meeting-note{font-size:14px;color:#52667e;margin-top:14px}.meeting-card .actions .button{padding:10px 14px;font-size:13px;min-height:44px}.meeting-card .badge.done{background:#d7eee5;color:#195b49}

/* Refined meeting cards: uniform outline and blue completion state. */
.card.meeting-card{border:1px solid #e0e7f0;border-radius:20px;padding:24px;background:#fff;box-shadow:0 4px 18px rgba(16,38,71,.035)}.card.meeting-card.is-complete{background:#f2f7ff;border:1px solid #cddff5;box-shadow:0 4px 18px rgba(27,70,125,.035)}.meeting-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.meeting-title h3{font-size:18px;line-height:1.5;font-weight:600;letter-spacing:-.35px}.meeting-card .badge.done{background:#deebfc;color:#24578d;border-radius:8px;font-size:11px;line-height:1.6;padding:5px 9px;white-space:nowrap}.meeting-card .meeting-date{font-size:13px;line-height:1.7;color:#60738c;margin:0 0 22px!important}.meeting-field{grid-template-columns:62px minmax(0,1fr);gap:10px;margin:14px 0;font-size:14px;line-height:1.8}.meeting-field strong{font-size:14px;color:#203c5e}.meeting-field>span,.meeting-field li{color:#425975}.meeting-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;border-top:1px solid #e0e8f2;padding-top:18px;margin-top:23px}.meeting-card .actions>.button:first-child{grid-column:1/-1}.meeting-card .actions>.button{min-height:44px;border-radius:11px;padding:11px 12px;font-size:12px;line-height:1.5;font-weight:600;margin:0}.meeting-card .actions>.secondary{background:#e7effa;color:#244f80}.meeting-card .actions>.meeting-add{background:#142f50;color:#fff}.meeting-card .actions>.meeting-view{background:#b52b46;color:#fff}.meeting-card .actions>.button:focus-visible{outline:3px solid #7eb3f2;outline-offset:3px}.meeting-card .meeting-note{font-size:13px;line-height:1.8}@media(max-width:700px){.card.meeting-card{padding:20px;border-radius:18px}.meeting-title{flex-wrap:wrap;gap:8px}.meeting-title h3{font-size:17px}.meeting-card .actions{gap:8px}.meeting-field{grid-template-columns:58px minmax(0,1fr);gap:8px}}

.summary-info.has-resources{grid-template-columns:repeat(4,minmax(0,1fr))}.resource-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.8}.resource-folder{margin-bottom:22px}.resource-form{max-width:760px}@media(max-width:950px){.summary-info.has-resources{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.summary-info.has-resources .stat{grid-column:auto}.summary-info.has-resources{grid-template-columns:1fr 1fr}.summary-info.has-resources .info-link h2{font-size:17px}}@media(max-width:380px){.summary-info.has-resources{grid-template-columns:1fr}}

#resource-dialog{width:min(1000px,calc(100% - 32px));max-width:1000px;height:min(820px,90dvh);max-height:90dvh;padding:0;overflow:hidden;border-radius:22px}#resource-dialog[open]{display:flex;flex-direction:column}.resource-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid #e1eaf5}.resource-dialog-header h2{margin:0;font-size:18px}#resource-frame{width:100%;flex:1;min-height:0;border:0;background:white}.resource-embedded .top,.resource-embedded nav,.resource-embedded footer,.resource-embedded #install-panel{display:none}.resource-embedded .shell{padding:22px;max-width:100%}.resource-embedded a[href*="page=home"]{display:none}.resource-embedded .resource-folder{margin-bottom:18px}@media(max-width:700px){#resource-dialog{width:calc(100% - 16px);height:94dvh;max-height:94dvh;border-radius:18px}.resource-dialog-header{padding:12px 16px}.resource-embedded .shell{padding:16px}.resource-embedded .head h1{font-size:24px}}
