:root{--simyud-green-deep:#00377d;--simyud-green:#0047a1;--simyud-green-soft:#e7effb;--simyud-gold:#e8ad18;--simyud-gold-soft:#fff6db;--simyud-ink:#172f52;--simyud-muted:#61718a;--simyud-line:#d8e2f0;--simyud-surface:#fff;--simyud-bg:#f7f8f3}body.simyud-app{min-height:100dvh;color:var(--simyud-ink);background-color:var(--simyud-bg);background-image:linear-gradient(135deg,#0047a114,#0000 38%),linear-gradient(45deg,#e8ad1817,#0000 45%);grid-template-rows:auto minmax(0,1fr) auto;padding-bottom:0;font-family:Instrument Sans,Segoe UI,sans-serif;display:grid}.app-header{background:var(--simyud-green-deep);border-bottom:1px solid #ffffff2e;box-shadow:0 2px 14px #00377d33}.app-navbar{width:100%;max-width:1140px;min-height:82px;margin:0 auto;padding:.7rem 1rem}.app-brand{letter-spacing:0;flex-direction:column;align-items:flex-start;gap:.2rem;font-size:1rem;font-weight:700;display:inline-flex;color:#fff!important}.app-brand-logo{object-fit:contain;width:auto;max-width:190px;height:38px;display:block}.app-brand-label{font-size:.72rem;font-weight:600;line-height:1}.app-user-menu{color:#fff}.app-user-name{font-size:.9rem}.app-logout{color:#fff;border:1px solid #ffffffa6}.app-logout:hover{color:var(--simyud-green-deep);background:var(--simyud-gold-soft)}.app-content{min-width:0;padding-top:2.5rem;padding-bottom:1.5rem}.app-footer{background:var(--simyud-green-deep);color:#fff;width:100%;box-shadow:0 -2px 14px #00377d29}.app-footer .container{padding-top:1rem;padding-bottom:2rem;font-size:.82rem}.app-card{border:1px solid var(--simyud-line);background:var(--simyud-surface);border-radius:8px;overflow:hidden;box-shadow:0 10px 24px #233a5012}.app-card .card-body{padding:1.5rem}.dashboard-profile{border-left:4px solid var(--simyud-gold)}.account-card{background:linear-gradient(150deg, #fff, var(--simyud-green-soft))}.dashboard-prerequisites-heading{border-bottom:1px solid var(--simyud-line);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.15rem;padding-bottom:1rem;display:flex}.dashboard-prerequisites-title{align-items:center;gap:.8rem;min-width:0;display:flex}.dashboard-prerequisites-icon{width:46px;height:46px;color:var(--simyud-green);background:linear-gradient(145deg,#f0f6fd,#fff);border:1px solid #d7e5f5;border-radius:8px;flex:0 0 46px;place-items:center;font-size:1.45rem;display:grid}.dashboard-prerequisites-title .section-kicker{margin-bottom:.2rem}.dashboard-prerequisites-title p{color:var(--simyud-muted);font-size:.82rem}.dashboard-prerequisites-count{white-space:nowrap;border-radius:999px;flex:none;align-items:center;min-height:30px;padding:.35rem .65rem;font-size:.74rem;font-weight:700;display:inline-flex}.dashboard-prerequisites-count.is-ready{color:#176448;background:#e8f5ee}.dashboard-prerequisites-count.is-incomplete{color:#984a26;background:#fff2e8}.dashboard-prerequisites-count.is-unavailable{color:var(--simyud-muted);background:#edf1f6}.dashboard-requirements-intro{color:var(--simyud-muted);margin-bottom:.75rem;font-size:.88rem}.dashboard-requirements-list{gap:.5rem;display:grid}.dashboard-requirement-item{min-height:44px;color:var(--simyud-ink);background:#fffdfc;border:1px solid #f0e2dc;border-left:3px solid #c96b46;border-radius:5px;align-items:center;gap:.7rem;padding:.55rem .7rem;font-size:.85rem;display:flex}.dashboard-requirement-number{color:#984a26;background:#fbede7;border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:.73rem;font-weight:700;display:grid}.dashboard-requirement-item>span:nth-child(2){flex:1;min-width:0}.dashboard-requirement-item>.mdi{color:#b85a37;flex:none;font-size:1rem}.dashboard-prerequisites-unavailable{border:1px solid var(--simyud-line);color:var(--simyud-muted);background:#f7f9fc;border-radius:6px;align-items:center;gap:.65rem;padding:.8rem .9rem;font-size:.86rem;display:flex}.dashboard-prerequisites-unavailable .mdi{color:#77879b;font-size:1.15rem}.dashboard-period-closed{border:1px solid #e9dfc4;border-left:4px solid var(--simyud-gold);color:#78530a;background:#fff9e9;border-radius:6px;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;display:flex}.dashboard-period-closed>.mdi{flex:none;font-size:1.15rem}.dashboard-period-closed>div{flex-direction:column;gap:.2rem;display:flex}.dashboard-period-closed strong{font-size:.88rem}.dashboard-period-closed span{font-size:.82rem;line-height:1.45}.dashboard-registration-ready{background:linear-gradient(100deg,#edf8f2,#fff 88%);border-left:4px solid #21815f;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.dashboard-registration-icon{color:#21815f;background:#fff;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1.45rem;display:grid}.dashboard-registration-link{border:1px solid var(--simyud-green);background:var(--simyud-green);color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:.5rem;min-height:42px;padding:.55rem .9rem;font-weight:600;transition:background-color .16s,transform .16s;display:inline-flex}.dashboard-registration-link:hover,.dashboard-registration-link:focus{background:var(--simyud-green-deep);color:#fff;text-decoration:none;transform:translateY(-1px)}.dashboard-registration-already{border-radius:5px;align-items:center;gap:.6rem;padding:.7rem .85rem;font-size:.86rem;font-weight:600;display:flex}.dashboard-registration-already.is-approved{color:#175b45;background:#f0f8f3;border-left:3px solid #21815f}.dashboard-registration-already.is-pending{border-left:3px solid var(--simyud-gold);color:#78530a;background:#fff8e8}.dashboard-registration-already .mdi{flex:none;font-size:1.1rem}.dashboard-status-card .card-body{padding-bottom:1.25rem}.dashboard-status-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.dashboard-status-heading .section-kicker{margin-bottom:.25rem}.dashboard-status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;min-height:30px;padding:.3rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.dashboard-status-badge.is-processed{color:#176448;background:#e8f5ee}.dashboard-status-badge.is-pending{color:#78530a;background:#fff5df}.dashboard-status-content{border:1px solid var(--simyud-line);border-left-width:4px;border-radius:6px;align-items:center;gap:.9rem;padding:1rem;display:flex}.dashboard-status-content.is-processed{background:linear-gradient(100deg,#f0f8f3,#fff 85%);border-left-color:#21815f}.dashboard-status-content.is-pending{border-left-color:var(--simyud-gold);background:linear-gradient(100deg,#fff9e9,#fff 85%)}.dashboard-status-icon{background:#fff;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1.4rem;display:grid}.is-processed>.dashboard-status-icon{color:#21815f}.is-pending>.dashboard-status-icon{color:#a9770b}.dashboard-status-copy{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.dashboard-status-copy strong{color:var(--simyud-ink);font-size:.92rem}.dashboard-status-copy span{color:var(--simyud-muted);font-size:.82rem}.dashboard-download-button{border:1px solid var(--simyud-green);background:var(--simyud-green);color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:.5rem;min-height:42px;padding:.6rem .9rem;font-size:.84rem;font-weight:600;transition:transform .16s,background-color .16s,box-shadow .16s;display:inline-flex;box-shadow:0 4px 10px #0047a129}.dashboard-download-button:hover,.dashboard-download-button:focus{border-color:var(--simyud-green-deep);background:var(--simyud-green-deep);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 14px #00377d38}.dashboard-download-button:focus-visible{outline-offset:2px;outline:3px solid #0047a147}.student-avatar{object-fit:cover;border:3px solid #fff;border-radius:50%;flex:0 0 76px;box-shadow:0 3px 10px #00377d33}.section-kicker{color:var(--simyud-green);letter-spacing:0;text-transform:uppercase;margin-bottom:.45rem;font-size:.73rem;font-weight:700}.login-page{padding-top:4vh}.login-page>[class*=col-]{display:flex}.login-page .app-card{width:100%;height:100%}.login-card{border-top:4px solid var(--simyud-gold)}.login-description{margin-bottom:1.75rem}.login-submit-button{border-radius:6px;justify-content:center;align-items:center;gap:.55rem;width:100%;min-height:48px;transition:transform .16s,box-shadow .16s,background-color .16s;display:inline-flex;box-shadow:0 4px 12px #0047a12e}.login-submit-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00377d3d}.login-submit-button:focus-visible{outline-offset:2px;outline:3px solid #0047a147}.login-period-card{border-top:4px solid var(--simyud-green);background:linear-gradient(155deg,#fff,#f1f6fc);height:100%}.login-period-icon{width:46px;height:46px;color:var(--simyud-green);background:#fff;border:1px solid #d8e5f4;border-radius:8px;place-items:center;margin-bottom:1rem;font-size:1.45rem;display:grid}.login-period-card .section-kicker{margin-bottom:.35rem}.login-period-description{color:var(--simyud-muted);margin:.8rem 0 1.2rem;line-height:1.6}.login-period-note{border:1px solid var(--simyud-line);color:var(--simyud-ink);background:#fffc;border-radius:6px;align-items:flex-start;gap:.65rem;padding:.8rem;font-size:.84rem;line-height:1.5;display:flex}.login-period-note .mdi{color:var(--simyud-green);flex:none;font-size:1.1rem}.form-control,.custom-select{border-color:#cbd8e4;border-radius:5px;min-height:42px}.form-control:focus,.custom-select:focus{border-color:var(--simyud-green);box-shadow:0 0 0 .18rem #0047a129}.app-primary-button{border-color:var(--simyud-green);background:var(--simyud-green);min-height:42px;font-weight:600}.app-primary-button:hover,.app-primary-button:focus{border-color:var(--simyud-green-deep);background:var(--simyud-green-deep)}.registration-actions{border-top:1px solid var(--simyud-line);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.registration-actions .btn{border-radius:6px;justify-content:center;align-items:center;gap:.55rem;min-height:46px;padding:.65rem 1.1rem;font-weight:600;transition:transform .16s,box-shadow .16s,background-color .16s;display:inline-flex}.registration-submit{box-shadow:0 4px 10px #0047a133}.registration-submit:hover{transform:translateY(-1px);box-shadow:0 6px 14px #00377d3d}.registration-back{border:1px solid var(--simyud-line);color:var(--simyud-ink);background:#fff}.registration-back:hover,.registration-back:focus{border-color:var(--simyud-green);background:var(--simyud-green-soft);color:var(--simyud-green-deep);text-decoration:none}.registration-actions .btn:focus-visible{outline-offset:2px;outline:3px solid #0047a147}.registration-confirmation{border:1px solid var(--simyud-line);width:min(680px,100vw - 2rem);max-height:min(85vh,780px);color:var(--simyud-ink);border-radius:8px;padding:0;overflow:hidden;box-shadow:0 24px 70px #0f1f3247}.registration-confirmation::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1f3294}.registration-confirmation[open]{flex-direction:column;display:flex}.registration-confirmation-header,.registration-confirmation-actions{justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;display:flex}.registration-confirmation-header{border-bottom:1px solid var(--simyud-line)}.registration-confirmation-kicker{color:var(--simyud-green);text-transform:uppercase;font-size:.72rem;font-weight:700}.registration-confirmation-header h2{margin:.2rem 0 0;font-size:1.15rem;font-weight:700}.registration-confirmation-close{border:1px solid var(--simyud-line);width:38px;height:38px;color:var(--simyud-muted);background:#fff;border-radius:6px;flex:0 0 38px;place-items:center;font-size:1.2rem;display:grid}.registration-confirmation-close:hover{background:var(--simyud-green-soft);color:var(--simyud-green-deep)}.registration-confirmation-body{min-height:0;padding:1rem 1.4rem;overflow-y:auto}.registration-confirmation-body>p{color:var(--simyud-muted);margin-bottom:.9rem;font-size:.9rem}.registration-confirmation-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.registration-confirmation-item{border:1px solid var(--simyud-line);background:#fbfcfe;border-radius:5px;min-width:0;padding:.65rem .75rem}.registration-confirmation-item dt{color:var(--simyud-muted);margin-bottom:.2rem;font-size:.72rem;font-weight:600}.registration-confirmation-item dd{overflow-wrap:anywhere;color:var(--simyud-ink);white-space:pre-wrap;margin:0;font-size:.88rem;font-weight:600}.registration-confirmation-actions{border-top:1px solid var(--simyud-line);background:#fbfcfe;justify-content:flex-end}.registration-confirmation-actions .btn{border-radius:6px;justify-content:center;align-items:center;gap:.5rem;min-height:42px;font-weight:600;display:inline-flex}.registration-confirmation-actions .btn:disabled{cursor:wait;opacity:.7}.photo-preview{object-fit:cover;background:var(--simyud-green-soft);height:270px}.photo-upload-group{margin-top:1.25rem}.photo-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.photo-dropzone{min-height:180px;color:var(--simyud-ink);cursor:pointer;text-align:center;background:linear-gradient(145deg,#f5f9fe,#fff);border:1px dashed #9bb5d2;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.25rem;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.photo-dropzone:hover,.photo-dropzone.is-dragging,.photo-file-input:focus-visible+.photo-dropzone{border-color:var(--simyud-green);background:var(--simyud-green-soft);box-shadow:0 0 0 3px #0047a11a}.photo-dropzone>.mdi{color:var(--simyud-green);font-size:2rem}.photo-dropzone strong{font-size:.95rem}.photo-dropzone>span:not(.photo-browse-button){color:var(--simyud-muted);font-size:.82rem}.photo-browse-button{border:1px solid var(--simyud-line);color:var(--simyud-green);background:#fff;border-radius:5px;margin-top:.35rem;padding:.45rem .8rem;font-size:.82rem;font-weight:700}.photo-file-info{overflow-wrap:anywhere;min-height:1.2rem;color:var(--simyud-muted);text-align:center;margin:.55rem 0 0;font-size:.78rem}.photo-dropzone.is-uploading{cursor:progress;opacity:.7;pointer-events:none}.registration-card{max-width:1080px}.registration-card textarea.form-control{min-height:96px}@media (width<=575.98px){.app-navbar{min-height:68px}.app-brand{gap:.15rem}.app-brand-logo{max-width:150px;height:30px}.app-brand-label{font-size:.62rem}.app-user-name{display:none}.app-content{padding-top:1.25rem}.app-card .card-body{padding:1.15rem}.login-page{padding-top:.5rem}.dashboard-registration-ready{border-radius:6px;flex-flow:column;align-items:stretch;gap:.6rem;padding:.75rem}.dashboard-registration-icon{flex-basis:38px;align-self:center;width:38px;height:38px;font-size:1.3rem}.dashboard-prerequisites-heading{flex-direction:column;align-items:flex-start}.dashboard-prerequisites-count{margin-left:3.25rem}.dashboard-registration-link{white-space:nowrap;flex:none;gap:.35rem;width:100%;padding:.55rem .65rem;font-size:.82rem}.dashboard-status-heading{align-items:flex-start}.dashboard-status-content{flex-wrap:wrap;align-items:flex-start}.dashboard-status-copy{flex-basis:calc(100% - 56px)}.dashboard-download-button{width:100%}.registration-actions{align-items:stretch}.registration-actions .btn{width:100%}.registration-confirmation-summary{grid-template-columns:1fr}.registration-confirmation-header,.registration-confirmation-body,.registration-confirmation-actions{padding-left:1rem;padding-right:1rem}.registration-confirmation-actions{flex-direction:column-reverse;align-items:stretch}.registration-confirmation-actions .btn{width:100%}}
