@font-face{font-family:PFIcons;src:url(../vendor/bootstrap-icons/font/fonts/bootstrap-icons.woff2) format("woff2")}*{box-sizing:border-box}html{background:var(--pf-bg)}body{margin:0;min-height:100vh;color:#12263a;background:radial-gradient(circle at 95% 0,rgba(14,116,108,.12),transparent 28%),linear-gradient(180deg,var(--pf-bg),#edf4f8);font-family:Tahoma,"Segoe UI",sans-serif}button,input,textarea{font:inherit}.pf-login-page{display:grid;place-items:center;padding:24px}.pf-login-shell{width:min(1050px,100%);display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 32px 90px rgba(18,38,58,.16)}.pf-login-brand{position:relative;display:flex;flex-direction:column;justify-content:center;padding:55px;color:#fff;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.18),transparent 28%),linear-gradient(145deg,#123c59,var(--pf-brand) 70%,#d79b35)}.pf-login-brand:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.13);border-radius:50%;left:-90px;bottom:-100px}.pf-school-mark{width:86px;height:86px;display:grid;place-items:center;margin-bottom:28px;border:1px solid rgba(255,255,255,.25);border-radius:26px;background:rgba(255,255,255,.14);font-size:40px;font-weight:900}.pf-school-mark img{width:100%;height:100%;object-fit:cover;border-radius:25px}.pf-login-brand small{font-weight:900;opacity:.75}.pf-login-brand h1{font-size:35px;line-height:1.45;margin:8px 0}.pf-login-brand p{max-width:560px;line-height:2;opacity:.84}.pf-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.pf-trust span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.13);font-size:12px;font-weight:800}.pf-login-card{display:flex;flex-direction:column;justify-content:center;padding:55px}.pf-login-tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;margin-bottom:24px;border-radius:14px;background:#edf3f5}.pf-login-tabs button{padding:10px;border:0;border-radius:10px;background:transparent;color:#667987;font-weight:900}.pf-login-tabs button.active{color:#fff;background:var(--pf-brand);box-shadow:0 8px 20px rgba(15,118,110,.18)}.pf-form{display:grid;gap:14px}.pf-form label{display:grid;gap:7px}.pf-form label>span{font-size:13px;font-weight:900;color:#385064}.pf-form input,.pf-form textarea{width:100%;padding:13px 14px;border:1px solid #cbd9df;border-radius:13px;background:#fff;outline:none}.pf-form input:focus,.pf-form textarea:focus{border-color:var(--pf-brand);box-shadow:0 0 0 4px rgba(15,118,110,.1)}.pf-form>button,.pf-outline-button{border:0;border-radius:13px;padding:13px 18px;color:#fff;background:var(--pf-brand);font-weight:900;cursor:pointer}.pf-form>a,.pf-form>small,.pf-public-link{color:#72838e;text-align:center;font-size:12px}.pf-public-link{margin-top:22px}.pf-alert{margin:0 0 18px;padding:12px 14px;border-radius:13px;font-weight:800}.pf-alert.success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.pf-alert.danger{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.pf-app{min-height:100vh;padding-bottom:20px}.pf-header{height:82px;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1460px)/2));color:#fff;background:linear-gradient(90deg,#123c59,var(--pf-brand));box-shadow:0 10px 35px rgba(18,60,89,.18)}.pf-brand{display:flex;align-items:center;gap:12px}.pf-brand img{width:48px;height:48px;border-radius:15px;background:#fff;object-fit:cover}.pf-brand div{display:grid}.pf-brand small{opacity:.72}.pf-brand strong{font-size:16px}.pf-header-actions{display:flex;gap:8px}.pf-header-actions form{margin:0}.pf-icon-button{width:42px;height:42px;position:relative;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:13px;color:#fff;background:rgba(255,255,255,.1);text-decoration:none;cursor:pointer}.pf-icon-button b{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:2px;border-radius:99px;color:#fff;background:#e44747;font-size:10px}.pf-layout{width:min(1460px,100%);margin:auto;display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;padding:22px}.pf-sidebar{position:sticky;top:104px;align-self:start;padding:15px;border:1px solid #d8e4e7;border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 14px 42px rgba(18,38,58,.07)}.pf-family-code{display:grid;gap:4px;margin-bottom:12px;padding:13px;border-radius:16px;background:linear-gradient(135deg,#eef8f5,#edf4fb)}.pf-family-code span{font-size:11px;color:#70818b}.pf-family-code strong{direction:ltr;color:var(--pf-brand)}.pf-sidebar nav{display:grid;gap:4px}.pf-sidebar a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:13px;color:#526774;text-decoration:none;font-weight:800;font-size:13px}.pf-sidebar a i{font-size:18px}.pf-sidebar a:hover,.pf-sidebar a.active{color:#fff;background:var(--pf-brand)}.pf-content{min-width:0}.pf-child-switcher{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;padding:15px 18px;border:1px solid #d8e4e7;border-radius:22px;background:rgba(255,255,255,.88)}.pf-child-switcher h2{margin:4px 0 0;font-size:22px}.pf-child-switcher small{color:#70818b}.pf-child-list{display:flex;gap:8px;overflow:auto;max-width:70%}.pf-child-list a{min-width:125px;display:grid;grid-template-columns:38px 1fr;column-gap:8px;align-items:center;padding:8px;border:1px solid #dbe5e8;border-radius:15px;color:#314b5a;background:#fff;text-decoration:none}.pf-child-list a.active{border-color:var(--pf-brand);background:#edf9f6}.pf-child-list img,.pf-child-list a>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--pf-brand);object-fit:cover;font-weight:900}.pf-child-list b{font-size:12px;white-space:nowrap}.pf-child-list small{font-size:10px}.pf-welcome{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:26px;border-radius:27px;color:#fff;background:radial-gradient(circle at 8% 0,rgba(255,255,255,.16),transparent 30%),linear-gradient(135deg,#143d5b,var(--pf-brand) 70%,#2879c7)}.pf-welcome h1{margin:6px 0;font-size:27px}.pf-welcome p{margin:0;opacity:.8}.pf-welcome>a{padding:11px 14px;border-radius:13px;color:#173e59;background:#fff;text-decoration:none;font-weight:900}.pf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}.pf-kpis article{display:grid;grid-template-columns:44px 1fr;align-items:center;padding:15px;border:1px solid #dce6e9;border-radius:20px;background:#fff}.pf-kpis i{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:var(--pf-brand);background:#e7f5f1;font-size:20px}.pf-kpis span{color:#71828c;font-size:11px}.pf-kpis strong{font-size:21px}.pf-kpis article.danger strong{color:#c63838}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.pf-panel{padding:18px;border:1px solid #dce6e9;border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(20,47,64,.05)}.pf-panel-head,.pf-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pf-panel-head h3{margin:0;font-size:18px}.pf-panel-head a{color:var(--pf-brand);font-weight:900;text-decoration:none}.pf-feed{display:grid;gap:9px;margin-top:13px}.pf-feed>a,.pf-feed>article{display:flex;align-items:flex-start;gap:11px;padding:11px;border:1px solid #e0e8ea;border-radius:15px;color:#304956;background:#fafcfc;text-decoration:none}.pf-feed i{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:var(--pf-brand);background:#e8f6f2}.pf-feed strong,.pf-feed p,.pf-feed small{display:block}.pf-feed p{margin:5px 0;color:#667983;font-size:12px;line-height:1.7}.pf-feed small{color:#95a1a8;font-size:10px}.pf-feed .danger{border-right:4px solid #dc4949}.pf-feed .warning{border-right:4px solid #d99c2d}.pf-feed .success{border-right:4px solid #1f9b66}.pf-feed .read{opacity:.62}.pf-page-head{margin-bottom:15px;padding:22px 24px;border-radius:23px;color:#fff;background:linear-gradient(135deg,#163d59,var(--pf-brand))}.pf-page-head h1{margin:4px 0 0;font-size:25px}.pf-page-head>div:last-child{display:grid;text-align:center}.pf-page-head>div:last-child b{font-size:25px}.pf-page-head>div:last-child span{font-size:10px;opacity:.8}.pf-table-wrap{width:100%;overflow:auto}.pf-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.pf-table-wrap th,.pf-table-wrap td{padding:12px;border-bottom:1px solid #e5ecee;text-align:right;font-size:12px}.pf-table-wrap th{color:#60727d;background:#f1f6f7}.pf-table-wrap .success{color:#168252;font-weight:900}.pf-table-wrap .danger{color:#c33535;font-weight:900}.pf-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.pf-attendance-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #d9e7e2;border-radius:18px;background:#fff}.pf-attendance-card>i{font-size:30px;color:#22a06b}.pf-attendance-card div{display:grid;gap:4px}.pf-attendance-card span{font-size:11px;color:#73848d}.pf-homework-card{position:relative;padding:20px;border:1px solid #dbe6e8;border-radius:21px;background:#fff;overflow:hidden}.pf-homework-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--pf-brand)}.pf-card-tag{display:inline-block;padding:6px 9px;border-radius:9px;color:var(--pf-brand);background:#e8f6f2;font-size:11px;font-weight:900}.pf-homework-card h3{font-size:17px}.pf-homework-card p{color:#5e717c;line-height:1.85;font-size:13px}.pf-homework-card footer{display:flex;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #edf1f2;font-size:11px}.pf-homework-card footer b{color:#a86b17}.pf-timeline{display:grid;gap:11px}.pf-timeline article{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px;border:1px solid #dce6e8;border-radius:19px;background:#fff}.pf-timeline time{display:grid;place-items:center;padding:10px;border-radius:14px;color:#fff;background:var(--pf-brand);font-weight:900}.pf-timeline time small{opacity:.8}.pf-timeline h3{margin:5px 0}.pf-timeline p,.pf-timeline span{color:#6d7e88;font-size:12px}.pf-form-panel h3{margin-top:0}.pf-text-button,.pf-danger-button{border:0;color:#b83232;background:transparent;font-weight:900;cursor:pointer}.pf-danger-button{width:100%;padding:11px;border:1px solid #efc7c7;border-radius:12px;background:#fff1f1}.pf-conversations{display:grid;gap:10px}.pf-conversation{border:1px solid #dce6e8;border-radius:19px;background:#fff;overflow:hidden}.pf-conversation summary{display:flex;justify-content:space-between;align-items:center;padding:16px;cursor:pointer;list-style:none}.pf-conversation summary div{display:grid;gap:4px}.pf-conversation summary span{color:#758690;font-size:11px}.pf-conversation summary>b{min-width:23px;height:23px;display:grid;place-items:center;border-radius:99px;color:#fff;background:#dc4949}.pf-chat{display:grid;gap:8px;padding:15px;background:#f4f8f8}.pf-chat article{width:min(80%,540px);padding:10px 12px;border-radius:15px;background:#fff}.pf-chat article.parent{justify-self:start;color:#fff;background:var(--pf-brand)}.pf-chat article.staff{justify-self:end}.pf-chat p{margin:5px 0;line-height:1.7}.pf-chat time,.pf-chat small{font-size:9px;opacity:.7}.pf-chat-reply{display:grid;grid-template-columns:1fr 45px;padding:10px}.pf-chat-reply input{border:1px solid #d3dfe2;border-radius:12px;padding:10px}.pf-chat-reply button{border:0;border-radius:12px;color:#fff;background:var(--pf-brand)}.pf-outline-button{color:var(--pf-brand);background:#fff}.pf-security-options{display:grid;gap:10px}.pf-security-options>button{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dce6e9;border-radius:15px;background:#f9fbfb;text-align:right;cursor:pointer}.pf-security-options>button i{font-size:27px;color:var(--pf-brand)}.pf-security-options>button span{display:grid;gap:4px}.pf-security-options>button small{color:#75858e}.pf-account-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px;border-radius:15px;background:#eef5f6}.pf-account-info span{color:#74858e;font-size:11px}.pf-empty{padding:70px 20px;text-align:center;border:1px solid #dce6e8;border-radius:25px;background:#fff}.pf-empty i{font-size:55px;color:#91a6af}.pf-muted{color:#73848d;line-height:1.8}.pf-bottom-nav{display:none}
@media(max-width:980px){.pf-layout{grid-template-columns:1fr;padding:14px}.pf-sidebar{display:none}.pf-content{padding-bottom:80px}.pf-bottom-nav{position:fixed;z-index:60;right:10px;left:10px;bottom:10px;display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid #dbe5e8;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 15px 45px rgba(18,38,58,.18);backdrop-filter:blur(14px)}.pf-bottom-nav a{display:grid;place-items:center;gap:3px;padding:6px;color:#72848e;text-decoration:none;font-size:9px}.pf-bottom-nav i{font-size:19px}.pf-bottom-nav a.active{color:var(--pf-brand)}.pf-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.pf-login-page{padding:0}.pf-login-shell{min-height:100vh;grid-template-columns:1fr;border-radius:0}.pf-login-brand{min-height:330px;padding:30px}.pf-login-brand h1{font-size:27px}.pf-school-mark{width:70px;height:70px;margin-bottom:18px}.pf-login-card{padding:28px 22px}.pf-header{height:70px;padding:0 12px}.pf-brand img{width:43px;height:43px}.pf-brand small{display:none}.pf-header-actions{gap:5px}.pf-icon-button{width:38px;height:38px}.pf-layout{padding:10px}.pf-child-switcher{display:block;padding:13px}.pf-child-switcher>div:first-child{display:none}.pf-child-list{max-width:none}.pf-child-list a{min-width:116px}.pf-welcome{align-items:flex-start;padding:20px;flex-direction:column}.pf-welcome h1{font-size:22px}.pf-kpis{gap:8px}.pf-kpis article{grid-template-columns:36px 1fr;padding:11px;border-radius:16px}.pf-kpis i{width:32px;height:32px}.pf-kpis strong{font-size:17px}.pf-grid{grid-template-columns:1fr}.pf-page-head{align-items:flex-start;padding:18px}.pf-page-head h1{font-size:21px}.pf-panel{padding:13px;border-radius:18px}.pf-timeline article{grid-template-columns:85px 1fr;gap:11px}.pf-homework-card footer{display:grid}.pf-table-wrap{margin:0 -13px;width:calc(100% + 26px)}}
.pf-ack-form{margin:0}.pf-ack-form button{padding:11px 14px;border:1px solid rgba(255,255,255,.5);border-radius:13px;color:#fff;background:rgba(255,255,255,.12);font-weight:900;cursor:pointer}.pf-ack-form button:disabled{color:#173e59;background:#dff8e9;border-color:#dff8e9;cursor:default}.pf-device-lock{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(9,30,44,.94);backdrop-filter:blur(12px)}.pf-device-lock-card{width:min(390px,100%);padding:35px;border:1px solid rgba(255,255,255,.16);border-radius:28px;color:#fff;background:linear-gradient(145deg,#173f5b,#0f766e);text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.3)}.pf-device-lock-card i{display:block;margin-bottom:16px;font-size:55px}.pf-device-lock-card h2{margin:0 0 8px}.pf-device-lock-card p{opacity:.78;line-height:1.8}.pf-device-lock-card button{padding:12px 20px;border:0;border-radius:13px;color:#17445a;background:#fff;font-weight:900;cursor:pointer}
@media(max-width:700px){.pf-welcome .pf-ack-form,.pf-welcome>a{width:100%}.pf-welcome .pf-ack-form button,.pf-welcome>a{display:block;text-align:center;width:100%}}
@media(max-width:980px){.pf-bottom-nav{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}.pf-bottom-nav::-webkit-scrollbar{display:none}.pf-bottom-nav a{min-width:62px;flex:1 0 62px;scroll-snap-align:start}}
.pf-login-tabs{grid-template-columns:repeat(3,1fr)}.pf-login-tabs button{font-size:11px}.pf-login-title{margin-bottom:20px}.pf-login-title h2{margin:5px 0}.pf-login-title p{color:#70808a;line-height:1.8;font-size:12px}.pf-pin-login{margin-top:15px;padding:12px;border:1px solid #dce6e8;border-radius:14px;background:#f7fafb}.pf-pin-login summary{color:#49606e;font-size:12px;font-weight:900;cursor:pointer}.pf-pin-login .pf-form{margin-top:14px}.pf-public-link{display:block}
.pf-form select{width:100%;padding:13px 14px;border:1px solid #cbd9df;border-radius:13px;color:#263f4d;background:#fff;outline:none}.pf-form select:focus{border-color:var(--pf-brand);box-shadow:0 0 0 4px rgba(15,118,110,.1)}
.pf-print-title{display:none;align-items:center;gap:12px;margin-bottom:15px}.pf-print-title img{width:52px;height:52px;object-fit:contain}.pf-print-title div{display:grid}.pf-print-title strong{font-size:19px}.pf-print-title span{color:#5d707b}.pf-timetable-table th,.pf-timetable-table td{text-align:center!important;white-space:normal!important;min-width:120px;border:1px solid #dfe8ea}.pf-timetable-table th:first-child{min-width:95px}.pf-timetable-table td strong,.pf-timetable-table td small,.pf-timetable-table th small{display:block}.pf-timetable-table td small,.pf-timetable-table th small{margin-top:4px;color:#72838d;font-size:10px}
.pf-receipt-link{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:9px;color:#fff;background:var(--pf-brand);text-decoration:none;font-weight:900}
@media print{body.pf-authenticated{background:#fff}.pf-header,.pf-sidebar,.pf-child-switcher,.pf-bottom-nav,.pf-print-hide,.pf-content>.pf-alert{display:none!important}.pf-app,.pf-layout,.pf-content{display:block!important;width:100%!important;margin:0!important;padding:0!important}.pf-timetable-print{border:0!important;box-shadow:none!important;padding:0!important}.pf-timetable-print .pf-print-title{display:flex}.pf-timetable-print .pf-table-wrap{overflow:visible}.pf-timetable-table{font-size:10pt}.pf-timetable-table th,.pf-timetable-table td{padding:8px!important;min-width:0!important}.pf-content>*:not(.pf-timetable-print){display:none!important}@page{size:A4 landscape;margin:10mm}}

/* Keep the login screen focused: one role and one authentication method at a time. */
.pf-role-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;background:transparent}
.pf-role-tabs button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d7e2e5;background:#f6f9fa}
.pf-role-tabs button i{font-size:20px}
.pf-role-tabs button.active{border-color:var(--pf-brand);background:var(--pf-brand)}
.pf-login-panel{padding:18px;border:1px solid #dce6e8;border-radius:18px;background:#fff}
.pf-other-login{display:grid;gap:9px;margin-top:16px;padding-top:14px;border-top:1px dashed #d4e0e3;text-align:center}
.pf-other-login>span{color:#71828b;font-size:11px}
.pf-other-login>div{display:flex;justify-content:center;gap:8px}
.pf-other-login button,.pf-back-method{border:1px solid #d1dfe2;border-radius:11px;padding:8px 11px;color:#385362;background:#f7fafb;font-weight:900;cursor:pointer}
.pf-other-login button:hover,.pf-back-method:hover{border-color:var(--pf-brand);color:var(--pf-brand);background:#edf8f5}
.pf-back-method{margin-bottom:13px}
.pf-method-head{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding:12px;border-radius:14px;background:#edf7f5}
.pf-method-head>i,.pf-login-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;color:#fff;background:var(--pf-brand);font-size:21px}
.pf-method-head>div{display:grid;gap:3px}
.pf-method-head small{color:#70818a;font-size:10px}
.pf-login-icon{margin-bottom:12px}

@media(max-width:520px){.pf-role-tabs button{min-height:48px;padding:8px 5px;font-size:10px}.pf-role-tabs button i{font-size:17px}.pf-login-panel{padding:14px}.pf-other-login>div{display:grid;grid-template-columns:1fr 1fr}.pf-other-login button{padding:9px 5px;font-size:10px}}
.pf-stories{margin-bottom:18px;padding:15px 0;border-bottom:1px solid #dce9e7}.pf-stories-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pf-stories-head div{display:flex;flex-direction:column}.pf-stories-head strong{color:#15334b}.pf-stories-head small,.pf-stories-head>span{color:#718489;font-size:.72rem}.pf-stories-row{display:flex;gap:13px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin}.pf-story{flex:0 0 76px;text-align:center;text-decoration:none;color:#15334b}.pf-story-ring{width:70px;height:70px;margin:auto;display:grid;place-items:center;border-radius:50%;padding:3px;background:#a8bbb8}.pf-story.new .pf-story-ring{background:linear-gradient(135deg,#f4c95d,#ef4444,#0f766e)}.pf-story-ring img,.pf-story-ring b{width:100%;height:100%;border:3px solid #fff;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#e9f4f1;font-size:1.4rem}.pf-story>strong,.pf-story>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-story>strong{font-size:.75rem;margin-top:5px}.pf-story>small{font-size:.65rem;color:#718489}
