@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--primary:#036;--primary-light:#00509e;--secondary:#5d9cec;--accent:#22d3ee;--bg-light:#f8fafc;--text-dark:#0f172a;--text-muted:#64748b;--white:#fff;--glass:#fffc;--glass-dark:#003366e6;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--heading-color:var(--primary)}[data-theme=dark]{--bg-light:#0f172a;--text-dark:#f8fafc;--text-muted:#94a3b8;--white:#1e293b;--glass:#1e293bcc;--shadow:0 4px 6px -1px #0000004d;--heading-color:#f8fafc}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-light);color:var(--text-dark);font-family:Plus Jakarta Sans,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}h1,h2,h3,h4,.brand{font-family:Outfit,sans-serif}a{color:inherit;text-decoration:none;transition:all .3s}ul{list-style:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:.8s ease-out forwards fadeIn}.glass-header{background:var(--glass);-webkit-backdrop-filter:blur(20px);z-index:9999;border-bottom:1px solid #ffffff1a;width:100%;position:fixed;top:0;left:0}.glass-card{background:var(--white);box-shadow:var(--shadow);border:1px solid #ffffff1a;border-radius:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .glass-card{background:#1e293b;border-color:#ffffff0d}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:var(--secondary);transform:translateY(-10px)}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0033664d}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:0 0}[data-theme=dark] .btn-outline{border-color:var(--secondary);color:var(--secondary)}.btn-outline:hover{background:var(--primary);color:#fff}section{padding:5rem 10%}@media (width<=640px){section{padding:3rem 1.5rem}}@media (width<=480px){section{padding:2rem 1rem}}.section-title{text-align:center;margin-bottom:4rem}.section-title h2{color:var(--primary);margin-bottom:1rem;font-size:2.5rem}[data-theme=dark] .section-title h2{color:var(--secondary)}.section-title p{color:var(--text-muted);max-width:600px;margin:0 auto}.hero{color:#fff;background:linear-gradient(135deg,#003366a6,#00509e8c),url(/assets/thPHL-S3.jpg) 50%/cover no-repeat;justify-content:space-between;align-items:center;gap:2rem;min-height:90vh;padding:0 6%;display:flex}.badge{letter-spacing:1px;text-transform:uppercase;border-radius:100px;align-items:center;gap:8px;margin-bottom:1.5rem;padding:8px 16px;font-size:.75rem;font-weight:700;display:inline-flex}.small-feature-card{background:var(--bg-light);border:1px solid #0000;border-radius:1rem;padding:2rem;transition:all .3s}.small-feature-card:hover{background:var(--white);border-color:var(--secondary);box-shadow:var(--shadow);transform:scale(1.05)}.surface-card{background:var(--white);box-shadow:var(--shadow);border-radius:1.5rem}.main-content-wrapper{min-height:calc(100vh - 120px)}.option-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;transition:all .2s;display:flex}.option-item:hover{border-color:var(--secondary);box-shadow:0 10px 20px #0000000a}.option-item.selected{border-color:var(--secondary);background:#5d9cec14}.textarea-input{resize:vertical;background:#f8fafc;border:1px solid #cbd5e1;border-radius:1rem;width:100%;min-height:140px;padding:1rem;font-family:inherit}.textarea-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #5d9cec1f}.typing-box{overflow-wrap:break-word;background:#f8fafc;border:1px solid #cbd5e1;border-radius:1rem;min-height:140px;padding:1rem;font-family:Courier New,monospace;line-height:1.7}.typing-correct{color:#047857}.typing-error{color:#b91c1c;background:#ef44441f}.admin-table{border-collapse:collapse;width:100%;min-width:720px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:1rem}.admin-table th{color:#475569;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.admin-table tr:hover td{background:#f8fafc}.container-wide{max-width:1400px;margin:0 auto}@media (width<=768px){section{padding:4rem 5%!important}.section-title h2{font-size:2rem}}footer{background:var(--primary);color:#fff;padding:4rem 10% 2rem}[data-theme=dark] footer{background:#020617}.responsive-page-header{text-align:center;padding:10rem 10% 6rem;transition:all .3s}@media (width<=1024px){.responsive-page-header{padding:8rem 8% 5rem}}@media (width<=768px){.responsive-page-header{padding:7rem 5% 4rem}}@media (width<=480px){.responsive-page-header{padding:6rem 1.25rem 3rem}}.responsive-title{line-height:1.2;font-size:clamp(2rem,5vw,3.5rem)!important}.responsive-subtitle{line-height:1.6;font-size:clamp(1.1rem,2.5vw,1.35rem)!important}.responsive-h2{line-height:1.25;font-size:clamp(1.75rem,4vw,2.5rem)!important}.responsive-h3{line-height:1.3;font-size:clamp(1.35rem,3vw,1.8rem)!important}.flex-adaptive{flex-wrap:wrap;align-items:center;gap:4rem;display:flex!important}@media (width<=900px){.flex-adaptive{text-align:center;flex-direction:column!important;gap:2rem!important}.flex-adaptive>div{width:100%!important;min-width:0!important}.flex-adaptive img{max-width:500px;margin:0 auto;display:block}}.grid-adaptive-2{grid-template-columns:1fr 1fr;gap:2rem;display:grid!important}@media (width<=640px){.grid-adaptive-2{grid-template-columns:1fr!important;gap:1rem!important}}.table-responsive-container{-webkit-overflow-scrolling:touch;border:1px solid #0000000d;border-radius:12px;width:100%;margin-top:1.5rem;overflow-x:auto}[data-theme=dark] .table-responsive-container{border-color:#ffffff0d}.portal-auth-page,.portal-loading{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:5rem 1.5rem;display:flex}.portal-auth-card{width:100%;max-width:520px;padding:2.5rem}.portal-page{background:#eef4fb;grid-template-columns:88px minmax(0,1fr);min-height:100vh;display:grid}.portal-sidebar{color:#fff;z-index:10;background:#0f172a;flex-direction:column;gap:1rem;width:88px;min-height:100vh;padding:1rem;transition:width .18s,box-shadow .18s;display:flex;position:sticky;top:0;overflow:hidden}.portal-sidebar:hover,.portal-sidebar:focus-within{width:280px;box-shadow:16px 0 34px #0f172a38}.portal-brand{color:#fff;white-space:nowrap;align-items:center;gap:.75rem;padding:.75rem;font-weight:800;display:flex}.portal-brand span,.portal-nav-link span,.portal-signout span{opacity:0;transition:opacity .16s,transform .16s;transform:translate(-4px)}.portal-sidebar:hover .portal-brand span,.portal-sidebar:focus-within .portal-brand span,.portal-sidebar:hover .portal-nav-link span,.portal-sidebar:focus-within .portal-nav-link span,.portal-sidebar:hover .portal-signout span,.portal-sidebar:focus-within .portal-signout span{opacity:1;transform:translate(0)}.portal-nav{gap:.5rem;display:grid}.portal-nav-link,.portal-signout{color:#cbd5e1;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.85rem .9rem;display:flex}.portal-nav-link:hover,.portal-nav-link.active,.portal-signout:hover{color:#fff;background:#5d9cec2e}.portal-signout{width:100%;margin-top:auto}.portal-staff-subnav{opacity:0;gap:.25rem;max-height:0;transition:max-height .18s,opacity .18s,transform .18s;display:grid;overflow:hidden;transform:translateY(-4px)}.portal-sidebar:hover .portal-staff-subnav,.portal-sidebar:focus-within .portal-staff-subnav{opacity:1;max-height:320px;transform:translateY(0)}.portal-staff-subnav a{color:#93c5fd;border-radius:8px;padding:.42rem .85rem .42rem 2.65rem;font-size:.82rem;font-weight:700}.portal-staff-subnav a:hover{color:#fff;background:#5d9cec24}.portal-main{align-content:start;gap:1.5rem;min-width:0;padding:2rem;display:grid}.portal-topbar{box-shadow:var(--shadow);background:#fff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.portal-topbar h1{color:var(--primary);margin-bottom:.25rem;font-size:clamp(1.75rem,3vw,2.5rem)}.portal-topbar p{color:var(--text-muted)}.portal-kicker{text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem;font-size:.75rem;font-weight:800;color:var(--secondary)!important}.portal-user-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:.2rem;min-width:220px;padding:.9rem 1rem;display:grid}.portal-user-chip span{color:var(--text-muted);font-size:.85rem}.portal-topbar-actions{justify-content:flex-end;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.portal-notification-wrap{position:relative}.portal-notification-button{width:46px;height:46px;color:var(--primary);cursor:pointer;background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;place-items:center;display:grid;position:relative}.portal-notification-button:hover{border-color:var(--secondary);background:#eff6ff}.portal-notification-button span{color:#fff;background:#b91c1c;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 .35rem;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:-7px;right:-6px}.portal-notification-menu{z-index:30;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:min(360px,100vw - 2rem);position:absolute;top:calc(100% + .6rem);right:0;overflow:hidden;box-shadow:0 20px 40px #0f172a2e}.portal-notification-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.portal-notification-head strong{color:var(--primary)}.portal-notification-head button{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;font-size:.8rem;font-weight:800;display:inline-flex}.portal-notification-head button:disabled{color:#94a3b8;cursor:not-allowed}.portal-notification-list{max-height:360px;display:grid;overflow:auto}.portal-notification-list>p{color:var(--text-muted);padding:1rem}.portal-notification-item{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #e2e8f0;gap:.25rem;width:100%;padding:.9rem 1rem;display:grid}.portal-notification-item:hover,.portal-notification-item.unread{background:#f8fafc}.portal-notification-item strong{color:var(--primary)}.portal-notification-item span,.portal-notification-item small{color:var(--text-muted);overflow-wrap:anywhere}.portal-notification-item.unread strong:before{content:"";background:#2563eb;border-radius:999px;width:8px;height:8px;margin-right:.45rem;display:inline-block}.portal-grid-4,.portal-grid-2{gap:1rem;display:grid}.portal-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-stat-card{box-shadow:var(--shadow);background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:.5rem;padding:1.25rem;display:grid}.portal-stat-card svg{color:var(--secondary)}.portal-stat-card span{color:var(--text-muted);font-size:.85rem}.portal-stat-card strong{color:var(--primary);font-size:1.25rem}.portal-staff-home{border-radius:8px;grid-template-columns:minmax(280px,.78fr) minmax(360px,1.22fr);align-items:stretch;gap:1rem;padding:1.35rem;display:grid}.portal-staff-welcome{background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;align-content:center;gap:.4rem;padding:1.25rem;display:grid}.portal-staff-welcome span{color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}.portal-staff-welcome h2{color:var(--primary);font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.05}.portal-staff-welcome p{color:var(--text-muted);font-weight:700}.portal-time-block{width:fit-content;min-width:168px;color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:0;background:#fff;border:1px solid #bfdbfe;border-radius:8px;margin-top:.35rem;padding:.75rem .9rem;font-size:1.2rem;font-weight:900;line-height:1;box-shadow:inset 0 0 0 1px #3b82f60f}.portal-staff-today,.portal-staff-actions{gap:.65rem;display:grid}.portal-staff-today{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-staff-today div,.portal-staff-action-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.portal-staff-today div{align-content:center;gap:.55rem;min-height:88px;display:grid}.portal-staff-today span,.portal-staff-action-card span{color:var(--text-muted);font-size:.78rem;font-weight:800}.portal-staff-today strong,.portal-staff-action-card strong{color:var(--primary);font-size:1rem;line-height:1.2}.portal-staff-actions{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.portal-staff-action-card{color:var(--text-dark);gap:.35rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.portal-staff-action-card svg{color:var(--secondary)}.portal-staff-action-card:hover{box-shadow:var(--shadow);border-color:#bfdbfe;transform:translateY(-2px)}.portal-compact-section{padding:0}.portal-compact-section>summary{cursor:pointer;min-height:64px;color:var(--primary);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-weight:900;list-style:none;display:flex}.portal-compact-section>summary::-webkit-details-marker{display:none}.portal-compact-section>summary:after{content:"+";width:30px;height:30px;color:var(--secondary);border:1px solid #bfdbfe;border-radius:50%;place-items:center;display:grid}.portal-compact-section[open]>summary:after{content:"-"}.portal-compact-section>summary strong{color:var(--secondary);margin-left:auto;font-size:.85rem}.portal-compact-section>:not(summary){margin-left:1.25rem;margin-right:1.25rem}.portal-compact-section>:last-child{margin-bottom:1.25rem}.portal-inline-actions{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.portal-compact-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-section-heading,.portal-panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.portal-section-heading{margin-top:.25rem}.portal-section-heading span{color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:900}.portal-section-heading h2,.portal-panel-heading h2{color:var(--primary)}.portal-section-heading p,.portal-panel-heading p{color:var(--text-muted)}.portal-panel-heading svg{color:#b91c1c;flex:none}.portal-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.portal-report-card{box-shadow:var(--shadow);background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:.7rem;padding:1.1rem;display:grid}.portal-report-card>div{color:var(--secondary);align-items:center;gap:.55rem;display:flex}.portal-report-card span{color:var(--text-muted);font-size:.85rem;font-weight:700}.portal-report-card strong{color:var(--primary);font-size:1.35rem}.portal-report-card p{color:var(--text-muted);font-size:.9rem}.portal-panel{border-radius:8px;min-width:0;padding:1.5rem;overflow:hidden}.portal-panel h2{color:var(--primary);margin-bottom:.75rem}.portal-panel p{color:var(--text-muted)}.portal-alert{background:#fff;border:1px solid;border-radius:8px;padding:1rem 1.25rem;font-weight:700}.portal-checklist,.portal-document-list,.portal-queue-list{gap:.75rem;display:grid}.portal-review-list{gap:.85rem;margin-top:1rem;display:grid}.portal-check-item,.portal-document-item,.portal-review-item,.portal-queue-list div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem;display:flex}.portal-queue-list div{justify-content:flex-start}.portal-document-upload,.portal-review-item{align-items:flex-start}.portal-document-copy,.portal-review-copy{gap:.25rem;min-width:0;display:grid}.portal-document-copy strong,.portal-review-copy strong{color:var(--primary)}.portal-document-copy small,.portal-review-copy small{color:var(--text-muted);overflow-wrap:anywhere}.portal-document-actions,.portal-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.portal-document-actions .btn,.portal-review-actions .btn{border-radius:8px;min-height:38px;padding:.45rem .75rem}.portal-file-control{color:#475569;gap:.25rem;font-size:.78rem;font-weight:800;display:grid}.portal-file-control input{width:240px;min-width:0;max-width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem}.portal-status-pill{text-transform:capitalize;color:#334155;background:#e2e8f0;border-radius:999px;width:fit-content;padding:.2rem .55rem;font-size:.72rem;font-weight:800}.status-pending{color:#92400e;background:#fef3c7}.status-approved{color:#166534;background:#dcfce7}.status-needs_more_info,.status-missing{color:#991b1b;background:#fee2e2}.portal-empty-state{text-align:center;min-height:220px;color:var(--text-muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;gap:.5rem;padding:2rem;display:grid}.portal-empty-state strong{color:var(--primary);font-size:1.1rem}.portal-resource-block{gap:.55rem;width:100%;margin-top:.75rem;display:grid}.portal-video-frame,.portal-resource-frame{background:#0f172a;border:1px solid #dbeafe;border-radius:8px;width:100%;max-width:none;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.portal-video-frame{aspect-ratio:16/9}.portal-resource-frame{background:#f8fafc;height:clamp(560px,72vh,860px);min-height:520px}.portal-video-frame iframe,.portal-resource-frame iframe{border:0;width:100%;height:100%;display:block}.portal-audio-player{border-radius:8px;width:100%;min-height:52px}.portal-source-note{color:var(--text-muted);font-size:.78rem}.portal-resource-text{width:100%;max-height:680px;color:var(--text-dark);white-space:pre-wrap;background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;padding:1.15rem;line-height:1.75;overflow:auto}.portal-section-actions{justify-content:flex-end;margin-top:-.4rem;display:flex}.portal-inline-select{min-height:38px;color:var(--text-dark);font:inherit;text-transform:capitalize;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .65rem;font-weight:700}.portal-question-admin-list{grid-column:1/-1;gap:.65rem;margin-top:.75rem;display:grid}.portal-question-admin-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:.75rem;display:flex}.portal-question-admin-item>div:first-child{gap:.25rem;min-width:0;display:grid}.portal-question-admin-item small{color:var(--text-muted);overflow-wrap:anywhere}.portal-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.portal-attendance-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:.25rem;padding:.85rem;display:grid}.portal-attendance-summary span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:800}.portal-attendance-summary strong{color:var(--primary);font-size:.95rem}.portal-weekly-attendance-panel{gap:1rem;display:grid}.portal-weekly-attendance-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-weekly-attendance-heading p{color:var(--text-muted);margin:.3rem 0 0}.portal-weekly-total{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:.25rem;min-width:190px;padding:.85rem 1rem;display:grid}.portal-weekly-total span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:800}.portal-weekly-total strong{color:var(--primary);font-size:1.35rem}.portal-weekly-attendance-table{min-width:860px}.portal-weekly-attendance-table th,.portal-weekly-attendance-table td{white-space:nowrap}.portal-form,.portal-form-section{gap:1rem;min-width:0;display:grid}.portal-form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.portal-form-section h3{color:var(--primary);font-size:1.05rem}.portal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;display:grid}.portal-full-span{grid-column:1/-1}.portal-request-stack{gap:1rem;margin-top:1rem;display:grid}.portal-compact-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.portal-compact-form h3{color:var(--primary);font-size:1rem}.portal-mini-list{color:var(--text-muted);gap:.35rem;font-size:.85rem;display:grid}.portal-mini-list strong{color:var(--primary)}.portal-role-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.portal-role-picker label{min-width:0;color:var(--text-dark);background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.55rem;padding:.65rem;font-size:.85rem;display:flex}.portal-assignment-summary{background:#fff;border:1px solid #dbeafe;border-radius:8px;gap:.75rem;padding:.85rem;display:grid}.portal-assignment-summary>div{gap:.45rem;display:grid}.portal-assignment-summary strong{color:var(--primary);font-size:.85rem}.portal-enrollment-chips{flex-wrap:wrap;gap:.5rem;display:flex}.portal-enrollment-chips span{max-width:100%;color:var(--primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .55rem;font-size:.8rem;font-weight:800;display:inline-flex}.portal-enrollment-chips button{width:20px;height:20px;color:var(--primary);cursor:pointer;background:#dbeafe;border:0;border-radius:50%;place-items:center;font-weight:900;line-height:1;display:grid}.portal-enrollment-chips button:hover{background:#bfdbfe}.portal-course-list{gap:1rem;margin-top:1rem;display:grid}.portal-course-card,.portal-module-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:1rem;min-width:0;padding:1rem;display:grid}.portal-course-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.portal-course-header h3{color:var(--primary);margin:.4rem 0 .25rem}.portal-progress-badge{min-width:88px;color:var(--primary);background:#eff6ff;border:1px solid #bae6fd;border-radius:8px;place-items:center;gap:.1rem;padding:.75rem;display:grid}.portal-progress-badge strong{font-size:1.25rem}.portal-progress-badge span{color:var(--text-muted);font-size:.75rem;font-weight:800}.portal-role-tags,.portal-exercise-strip{flex-wrap:wrap;gap:.5rem;display:flex}.portal-role-tags span,.portal-exercise-strip span{color:#075985;background:#e0f2fe;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.78rem;font-weight:800;display:inline-flex}.portal-exercise-list,.portal-exercise-question-list{gap:.75rem;display:grid}.portal-exercise-card{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem;display:flex}.portal-exercise-copy{gap:.25rem;min-width:0;display:grid}.portal-exercise-copy strong{color:var(--primary)}.portal-exercise-copy span,.portal-exercise-copy small{color:var(--text-muted)}.portal-exercise-question{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:.75rem;min-width:0;padding:1rem;display:grid}.portal-exercise-question legend{color:var(--primary);padding:0 .35rem;font-weight:800}.portal-answer-list{gap:.6rem;display:grid}.portal-answer-list label{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:flex-start;gap:.65rem;padding:.75rem;display:flex}.portal-answer-list input{margin-top:.25rem}.portal-answer-list span{color:var(--text-dark)}.portal-result-card{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:.85rem;margin:1rem 0;padding:1rem;display:flex}.portal-result-card div{gap:.15rem;display:grid}.portal-payroll-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.portal-payroll-lines h3{color:var(--primary);margin-bottom:.65rem;font-size:1rem}.portal-payroll-line{grid-template-columns:minmax(0,1.3fr) minmax(120px,.65fr) auto;gap:.6rem;margin-bottom:.6rem;display:grid}.portal-payroll-line input{width:100%;min-width:0;min-height:42px;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem .75rem}.portal-payroll-line .btn{min-height:42px;padding:.55rem .65rem}.portal-payroll-total{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;gap:.75rem;padding:1rem;display:flex}.portal-payroll-total span{color:var(--text-muted)}.portal-payroll-total strong{color:var(--primary)}.portal-module-list,.portal-lesson-list{gap:.75rem;display:grid}.portal-module-heading,.portal-lesson-item{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.portal-lesson-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:stretch;align-items:stretch;gap:.9rem;padding:.85rem;display:grid}.portal-lesson-main{justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;display:flex}.portal-lesson-copy{flex:auto;gap:.45rem;min-width:0;display:grid}.portal-lesson-resource{width:100%;min-width:0}.portal-lesson-copy strong{color:var(--primary)}.portal-lesson-copy span{color:var(--text-muted);font-size:.85rem}.portal-form>.btn{justify-self:start;max-width:100%}.portal-form label{color:#475569;gap:.45rem;font-size:.85rem;font-weight:700;display:grid}.portal-form input,.portal-form select,.portal-form textarea{width:100%;min-width:0;min-height:44px;color:var(--text-dark);font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.75rem .85rem}.portal-form input:disabled{color:#64748b;background:#eef2f7}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 4px #5d9cec1f}.portal-company-form-panel{margin-top:1.5rem}.portal-company-form-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.portal-company-form-brand{align-items:center;gap:.85rem;min-width:0;display:flex}.portal-company-form-brand img{object-fit:contain;background:#fff;border:1px solid #dbe7f3;border-radius:8px;width:56px;height:56px;padding:.35rem}.portal-company-form-brand div{gap:.15rem;display:grid}.portal-company-form-brand strong{color:var(--primary);font-size:1rem}.portal-company-form-brand span{color:var(--text-muted);font-weight:800}.portal-digital-seal{color:#0b4f86;text-align:center;background:#f8fbff;border:3px double #0b4f86;border-radius:50%;flex:none;align-content:center;place-items:center;gap:.15rem;width:118px;height:118px;font-size:.68rem;font-weight:900;display:grid}.portal-digital-seal span{color:#1e6da8;text-transform:uppercase;font-size:.58rem}.portal-company-form{margin-top:0}.portal-form-clauses{background:#f8fafc;border:1px solid #dbe7f3;border-radius:8px;gap:.5rem;margin-bottom:1rem;padding:.85rem;display:grid}.portal-form-clauses p{color:#334155;margin:0}.portal-checkbox-field{background:#f8fafc;border:1px solid #dbe7f3;border-radius:8px;align-items:flex-start;gap:.7rem;padding:.85rem;display:flex!important}.portal-checkbox-field input{flex:none;height:18px;margin-top:.15rem;width:18px!important;min-height:18px!important}.portal-checkbox-field span{color:#334155;line-height:1.5}.portal-signature-wrap{color:#475569;gap:.55rem;font-size:.85rem;font-weight:700;display:grid}.portal-signature-pad{touch-action:none;background:#fff;border:1px dashed #94a3b8;border-radius:8px;width:100%;max-width:720px;height:180px}.portal-signature-wrap .btn{justify-self:start}.portal-form-footer{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.portal-online-form-details{gap:.65rem;display:grid}.portal-online-form-details summary{cursor:pointer;width:fit-content;color:var(--primary);align-items:center;gap:.4rem;font-weight:800;display:flex}.portal-online-form-review{background:#fff;border:1px solid #dbe7f3;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.75rem;display:grid}.portal-online-form-review div{gap:.2rem;min-width:0;display:grid}.portal-online-form-review span{color:#64748b;text-transform:uppercase;font-size:.74rem;font-weight:900}.portal-online-form-review strong{color:var(--primary);overflow-wrap:anywhere}.portal-review-signature{object-fit:contain;background:#fff;border:1px dashed #94a3b8;border-radius:8px;grid-column:1/-1;width:100%;max-width:360px;height:90px}.portal-sheet-panel{gap:1.2rem;display:grid}.portal-sheet-toolbar{grid-template-columns:repeat(2,minmax(150px,180px)) minmax(240px,1fr) auto;align-items:end;gap:.85rem;display:grid}.portal-sheet-toolbar label{color:#475569;gap:.4rem;font-size:.78rem;font-weight:800;display:grid}.portal-sheet-toolbar input{min-height:42px;color:var(--text-dark);font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem .75rem}.portal-sheet-search span{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.5rem;min-height:42px;padding:0 .75rem;display:flex}.portal-sheet-search input{border:0;width:100%;min-height:0;padding:0}.portal-sheet-search input:focus{outline:none}.portal-sheet-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.portal-sheet-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:.2rem;padding:.85rem;display:grid}.portal-sheet-summary span{color:var(--text-muted);font-size:.78rem;font-weight:800}.portal-sheet-summary strong{color:var(--primary);font-size:1.35rem}.portal-sheet-section{gap:.75rem;display:grid}.portal-sheet-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;display:flex}.portal-sheet-heading h3{color:var(--primary);font-size:1.05rem}.portal-sheet-table{min-width:1040px}.portal-sheet-table th,.portal-sheet-table td{white-space:nowrap;vertical-align:top}.portal-table-select{width:100%;min-width:180px;color:var(--text-dark);font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.55rem .65rem}@media (width<=1100px){.portal-grid-4,.portal-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-staff-home{grid-template-columns:1fr}.portal-staff-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.portal-page{grid-template-columns:1fr}.portal-sidebar{width:100%;min-height:auto;position:static;overflow:visible}.portal-sidebar:hover,.portal-sidebar:focus-within{width:100%;box-shadow:none}.portal-brand span,.portal-nav-link span,.portal-signout span,.portal-staff-subnav{opacity:1;transform:none}.portal-staff-subnav{max-height:none}.portal-nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.portal-grid-2{grid-template-columns:1fr}.portal-topbar-actions{justify-content:space-between;width:100%}.portal-section-heading,.portal-panel-heading{flex-direction:column}.portal-form-grid,.portal-role-picker,.portal-payroll-lines{grid-template-columns:1fr}.portal-sheet-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-sheet-search,.portal-sheet-toolbar .btn{grid-column:1/-1}.portal-sheet-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-staff-today,.portal-compact-checklist{grid-template-columns:1fr}.portal-course-header,.portal-module-heading,.portal-lesson-item,.portal-exercise-card,.portal-company-form-head,.portal-lesson-main{flex-direction:column}.portal-resource-frame{height:68vh;min-height:460px}.portal-progress-badge{width:100%}.portal-form>.btn{justify-self:stretch}}@media (width<=560px){.portal-main,.portal-sidebar,.portal-auth-card{padding:1.25rem}.portal-grid-4,.portal-report-grid,.portal-staff-actions{grid-template-columns:1fr}.portal-notification-menu{left:0;right:auto}.portal-attendance-summary{grid-template-columns:1fr}.portal-document-item{flex-direction:column;align-items:flex-start}.portal-document-actions,.portal-review-actions,.portal-form-footer{justify-content:stretch;width:100%}.portal-resource-frame{height:62vh;min-height:360px}.portal-resource-text{max-height:560px;padding:1rem}.portal-document-actions .btn,.portal-review-actions .btn,.portal-form-footer .btn,.portal-file-control,.portal-file-control input{width:100%}.portal-digital-seal{width:96px;height:96px}.portal-online-form-review,.portal-sheet-toolbar,.portal-sheet-summary{grid-template-columns:1fr}.portal-sheet-heading{align-items:stretch}.portal-sheet-heading .btn{width:100%}}
