@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap);:root{--app-bg:#eef5ef;--app-bg-accent:#f9fcf7;--surface:#ffffffdb;--surface-border:#1e442a1a;--text-primary:#183326;--brand:#2f8f53;--shell-top-offset:64px;--shell-top-offset-desktop:88px;--shell-top-offset-mobile:84px;--sidebar-layout-width:220px;--sidebar-width:var(--sidebar-layout-width)}#root,body,html{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#183326;color:var(--text-primary);font-family:Segoe UI,sans-serif;margin:0}@media (min-width:901px){body.sidebar-collapsed{--sidebar-layout-width:72px;--sidebar-width:72px}}#root{display:flex;flex-direction:column}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}::selection{background:#2f8f532e}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1 1}.app-container{position:relative}.app-loading{align-items:center;color:#183326;color:var(--text-primary);display:flex;font-size:1rem;font-weight:700;justify-content:center;letter-spacing:.02em;min-height:100vh}:root{--primary-green-dark:#21683c;--sidebar-bg:#ffffffd1;--navbar-height:64px;--text-light:#6d8377;--active-bg:linear-gradient(135deg,#2f8f5329,#66ff8f1f);--border-color:#18332614;--shadow-soft:0 16px 40px #17382514}.main_Nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#164026f0,#2f8f53e6);border-bottom:1px solid #ffffff14;box-shadow:0 16px 36px #0f2c1b2e;color:#fff;height:64px;height:var(--navbar-height);justify-content:space-between;left:0;padding:0 24px;position:fixed;right:0;top:0;z-index:1000}.main_Nav,.nav-left,.nav-right{align-items:center;display:flex}.nav-left,.nav-right{gap:16px}.brand-container{align-items:center;display:flex;gap:12px}.brand-container svg{height:28px;width:28px}.navbar-logo-badge{background:#fff;border-radius:12px;box-shadow:0 2px 8px #09251429;display:grid;flex-shrink:0;height:40px;place-items:center;width:40px}.navbar-logo-crop{display:block;height:26px;overflow:hidden;position:relative;width:32px}.navbar-logo-crop img{height:auto;left:-50%;max-width:none;position:absolute;top:-70%;width:200%}.navbar-brand{font-family:Manrope,Segoe UI,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.03em;margin:0;text-transform:uppercase}.branding-container.custom-logo{max-height:40px}.branding-container .custom-logo{max-height:40px;max-width:150px;object-fit:contain}.branding-container .logo-fallback{align-items:center;display:flex;gap:10px}.branding-container .logo-placeholder{align-items:center;display:flex;font-size:20px;height:28px;justify-content:center;width:28px}.user-info{background:#ffffff1a;border:1px solid #ffffff24;padding:8px 12px;text-align:right}.username{align-items:center;display:flex;font-size:.88rem;font-weight:700;gap:8px}.user-info.account-trigger{align-items:center;background:#f2f7ef;border:1px solid #ffffffbf;border-radius:10px;box-shadow:0 2px 8px #0a27171f;color:#214e34;cursor:pointer;display:inline-flex;font:inherit;gap:10px;height:42px;padding:4px 13px 4px 4px;text-align:left;transition:background .18s ease,box-shadow .18s ease}.account-avatar{background:#d8e9d4;border-radius:50%;color:#285b38;display:grid;flex-shrink:0;font-size:.72rem;font-weight:800;height:32px;letter-spacing:.02em;place-items:center;width:32px}.account-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.account-trigger .username{font-size:.82rem;gap:7px}.account-trigger .badge{font-size:.58rem;padding:3px 6px}.account-edit-affordance{align-items:center;border-left:1px solid #d3dfd0;color:#54705c;display:flex;gap:5px;padding-left:10px}.account-edit-label{font-size:.72rem;font-weight:600}.account-edit-icon{flex-shrink:0}.user-info.account-trigger:hover{background:#fff;box-shadow:0 3px 20px rgba(0,97,43,.805)}.account-trigger:focus-visible{outline:2px solid #fff;outline-offset:3px}.account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{background-color:#fff;border-radius:999px;color:#21683c;color:var(--primary-green-dark);font-size:.65rem;font-weight:700;letter-spacing:.5px;padding:4px 8px}.badge.dev{background-color:#e8eaf6;color:#1a237e}.logout-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffff24;border:1px solid #ffffff29;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:7px;padding:10px 16px;transition:all .2s ease}.logout-btn:hover{background-color:#ffffff38;border-color:#ffffff4d;transform:translateY(-1px)}.hamburger-btn{background:none;border:none;cursor:pointer;display:none;padding:5px;z-index:1001}.hamburger-icon{display:flex;flex-direction:column;height:18px;justify-content:space-between;width:24px}.hamburger-icon span{background-color:#fff;border-radius:2px;display:block;height:2px;transition:all .3s ease;width:100%}.hamburger-icon.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.left_sidebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-color:#ffffffd1;background-color:var(--sidebar-bg);border:1px solid #18332614;border:1px solid var(--border-color);border-radius:0 24px 24px 0;box-shadow:0 16px 40px #17382514;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;height:calc(100vh - 64px);height:calc(100vh - var(--navbar-height));left:0;margin-top:0;overflow-y:auto;position:fixed;top:64px;top:var(--navbar-height);transition:width .24s ease,transform .3s ease;width:var(--sidebar-width);z-index:900}.sidebar-collapse-row{padding:14px 14px 0}.sidebar-collapse-btn{align-items:center;background:#2f8f5312;border:1px solid #2f8f5324;border-radius:12px;color:#356447;cursor:pointer;display:flex;font:inherit;font-size:.76rem;font-weight:700;gap:10px;min-height:38px;padding:8px 11px;transition:background .18s ease,color .18s ease;width:100%}.sidebar-collapse-btn:hover{background:#2f8f5324;color:#21683c;color:var(--primary-green-dark)}.sidebar-collapse-btn:focus-visible{outline:2px solid #2f8f53;outline:2px solid var(--primary-green);outline-offset:2px}.sidebar-collapse-icon{display:grid;flex:0 0 19px;place-items:center;transition:transform .24s ease}.sidebar-collapse-icon.is-collapsed{transform:rotate(180deg)}.nav-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:18px 14px}.nav-link{border-radius:14px;color:#183326;color:var(--text-dark);font-size:.95rem;font-weight:500;gap:12px;padding:13px 16px;text-decoration:none;transition:all .2s ease}.nav-icon,.nav-link{align-items:center;display:flex}.nav-icon{color:#6d8377;color:var(--text-light);opacity:.95;transition:color .2s}.nav-link:hover{background-color:#ffffffb8;color:#21683c;color:var(--primary-green-dark);transform:translateX(2px)}.nav-link:hover .nav-icon{color:#2f8f53;color:var(--primary-green)}.nav-link.active{background:linear-gradient(135deg,#2f8f5329,#66ff8f1f);background:var(--active-bg);box-shadow:inset 0 0 0 1px #2f8f5314;color:#21683c;color:var(--primary-green-dark);font-weight:600}.nav-link.active .nav-icon{color:#2f8f53;color:var(--primary-green)}.nav-divider{border-top:1px solid #18332614;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;margin-top:15px;padding-top:15px}.divider-label{color:#6d8377;color:var(--text-light);font-size:.75rem;font-weight:600;margin-bottom:4px;padding-left:16px;text-transform:uppercase}.sidebar-footer{border-top:1px solid #18332614;border-top:1px solid var(--border-color);margin-top:auto;padding:18px 20px 22px;text-align:center}.sidebar-footer p{color:#6d8377;color:var(--text-light);font-size:.72rem;font-weight:700;line-height:1.5;margin:0}@media (min-width:901px){body.sidebar-collapsed .left_sidebar{overflow-x:visible;width:72px}body.sidebar-collapsed .sidebar-collapse-row{padding:14px 10px 0}body.sidebar-collapsed .sidebar-collapse-btn{justify-content:center;padding:8px}body.sidebar-collapsed .divider-label,body.sidebar-collapsed .nav-text,body.sidebar-collapsed .sidebar-collapse-label,body.sidebar-collapsed .sidebar-footer{display:none}body.sidebar-collapsed .nav-list{padding:14px 10px}body.sidebar-collapsed .nav-link{justify-content:center;padding:13px 10px}body.sidebar-collapsed .nav-link:hover{transform:none}body.sidebar-collapsed .nav-divider{gap:6px;margin-top:8px;padding-top:8px}body.sidebar-collapsed .nav-divider .nav-link{padding:13px 10px}}@media (max-width:900px){.hamburger-btn{display:block}.main_Nav{padding:0 16px}.user-info{border-radius:999px;padding:7px 9px}.account-name{max-width:90px}.account-trigger .badge{display:none}.nav-left,.nav-right{gap:8px}.left_sidebar{border-radius:0 24px 24px 0;height:calc(100vh - 64px);height:calc(100vh - var(--navbar-height));left:0;margin-top:0;top:64px;top:var(--navbar-height);transform:translateX(-100%);width:260px}.left_sidebar.active{transform:translateX(0)}.sidebar-collapse-row{display:none}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;height:calc(100vh - 64px);height:calc(100vh - var(--navbar-height));left:0;position:fixed;top:64px;top:var(--navbar-height);width:100%;z-index:899}}@media (max-width:600px){.brand-container{gap:7px}.navbar-logo-badge{border-radius:9px;height:32px;width:32px}.navbar-logo-crop{height:22px;width:26px}.main_Nav{padding:0 10px}.navbar-brand{font-size:.95rem}.user-info.account-trigger{gap:0;height:40px;justify-content:center;padding:4px;width:40px}.account-edit-affordance,.account-trigger .username,.logout-label{display:none}.account-avatar{font-size:.7rem;height:32px;width:32px}.logout-btn{height:40px;justify-content:center;padding:0;width:40px}}@media (max-width:380px){.nav-left,.nav-right{gap:5px}.navbar-brand{font-size:.85rem}.logout-label{display:none}}@media print{.left_sidebar,.main_Nav,.sidebar-overlay{display:none!important}body>div{margin:0!important;padding:0!important}}body.hide-sidebar .left_sidebar{display:none!important}.account-dialog{background:#fff;border:1px solid #dce8df;border-radius:20px;box-shadow:0 24px 80px #102b2940;box-sizing:border-box;color:#183326;max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;width:min(460px,calc(100vw - 32px))}.account-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102b2980}.account-actions,.account-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.account-heading h2{font-size:1.4rem;margin:0}.account-dialog fieldset{border:0;margin:20px 0;min-width:0;padding:0}.account-dialog label{display:block;font-weight:600;margin:14px 0 6px}.account-dialog input{border:1px solid #b8cbbf;border-radius:8px;box-sizing:border-box;font:inherit;padding:11px 12px;width:100%}.account-dialog p{font-size:.85rem;line-height:1.5;margin:8px 0}.account-dialog h3{font-size:1rem;margin:24px 0 6px}.account-picture-row{align-items:center;display:flex;gap:14px}.account-picture-preview{background:#dcefe2;border-radius:50%;color:#21683c;display:grid;flex:0 0 64px;font-size:1.35rem;font-weight:700;height:64px;overflow:hidden;place-items:center;width:64px}.account-picture-preview img{height:100%;object-fit:cover;width:100%}.account-picture-row input{border:0;padding:0;width:auto}.account-picture-row button{font-size:.85rem;margin-top:6px;padding:7px 10px}.account-dialog button{background:#f4f8f5;border:1px solid #b8cbbf;border-radius:9px;color:#183326;cursor:pointer;font:inherit;padding:10px 14px}.account-dialog .account-save{background:#21683c;border-color:#21683c;color:#fff}.account-dialog button:disabled{cursor:wait;opacity:.65}.account-dialog :focus-visible{outline:3px solid #56a971;outline-offset:2px}.account-dialog .account-error{color:#a32323}.account-dialog .account-success{color:#21683c}.account-actions{justify-content:flex-end;margin-top:20px}.app-footer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff9e;border-top:1px solid #18332614;box-shadow:0 -10px 30px #1738250d;color:#555;font-size:.85rem;margin-top:auto;padding:18px 24px}.footer-content{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto}.footer-left{flex:1 1}.footer-text{color:#888;font-size:.8rem}.footer-right{flex-shrink:0}.help-menu-container{position:relative}.help-btn{align-items:center;background:#2f8f5314;border:1px solid #2f8f5314;border-radius:999px;color:#1c723a;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.help-btn:hover{background-color:#2f8f5324;transform:translateY(-1px)}.support-group{align-items:center;display:flex;gap:12px}.support-label{color:#21683c;font-size:.9rem;font-weight:700;white-space:nowrap}.help-buttons{align-items:center;display:flex;gap:8px}.whatsapp-btn{color:#25d366;font-weight:700}.whatsapp-btn:hover{background-color:#e8f5e9;transform:translateY(-1px)}.help-menu{animation:slideUp .2s ease;background:#fff;border:1px solid #e0e0e0;border-radius:8px;bottom:100%;box-shadow:0 4px 12px #00000026;margin-bottom:12px;min-width:220px;overflow:hidden;position:absolute;right:0;z-index:1000}.menu-header{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:600;justify-content:space-between;padding:12px 16px}.menu-close,.menu-header{align-items:center;display:flex}.menu-close{background:none;border:none;color:#999;cursor:pointer;padding:0;transition:color .2s}.menu-close:hover{color:#333}.menu-items{padding:8px 0}.menu-item{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#333;cursor:pointer;display:flex;font-size:.9rem;gap:12px;padding:12px 16px;text-align:left;transition:all .15s ease;width:100%}.menu-item:hover{background-color:#f5f5f5;border-left-color:#1c723a;color:#1c723a}.menu-item svg{flex-shrink:0;opacity:.7}.modal-overlay{animation:fadeIn .2s ease;z-index:2000}.contact-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:450px;width:90%}.modal-header h3{color:#333;font-size:1.1rem;margin:0}.modal-close{color:#999;transition:color .2s}.modal-close:hover{color:#333}.contact-modal form{display:flex;flex-direction:column;gap:16px;padding:24px}.form-group label{color:#333;font-size:.9rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;color:#333;font-family:inherit;font-size:.9rem;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#1c723a;box-shadow:0 0 0 3px #1c723a1a;outline:none}.form-group textarea{resize:vertical}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s}.btn-cancel{background-color:#f0f0f0;color:#666}.btn-cancel:hover{background-color:#e0e0e0}.btn-submit{background-color:#1c723a;color:#fff}.btn-submit:hover{background-color:#155530;box-shadow:0 2px 8px #1c723a4d;transform:translateY(-1px)}.success-message{background-color:#f1f8f4;border-radius:8px;color:#2e7d32;padding:24px;text-align:center}.success-message p{font-weight:600;margin:0}@media (max-width:768px){.footer-content{align-items:flex-start;flex-direction:column;gap:12px}.footer-right{align-self:flex-end}.help-menu{bottom:auto;left:50%;max-width:400px;position:fixed;right:auto;top:50%;transform:translateX(-50%) translateY(-50%);width:90%}.contact-modal{width:95%}}.resource-wrapper{background-color:#f6f8fa;background-color:var(--bg-color);font-family:Inter,-apple-system,sans-serif;margin-left:var(--sidebar-layout-width);min-height:100vh;padding:calc(40px + var(--shell-top-offset)) 40px 40px}.page-header h1{color:#2c3e50;color:var(--text-dark)}.upload-card{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);margin-bottom:30px;max-width:800px;padding:24px}.upload-form{display:flex;flex-wrap:wrap;gap:15px}.form-group{flex:1 1 100%}.form-group.half{flex-basis:calc(50% - 15px);flex-grow:1;flex-shrink:1}.file-input,.modern-input,.modern-select{background-color:#fff;border:1px solid #ccc;border-radius:6px;font-size:.95rem;padding:10px 12px}.file-input{background-color:#f9f9f9;border:1px dashed #ccc}.btn-primary:hover:not(:disabled){background-color:#388e3c;background-color:var(--primary-green-dark)}.error-message{color:#e53935;font-size:.9rem;margin-top:10px;text-align:center}.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.filter-form{display:flex;gap:10px}.modern-input.small,.modern-select.small{min-width:140px;padding:8px 12px}.btn-filter{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:6px;color:#2c3e50;color:var(--text-dark);cursor:pointer;display:flex;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-filter:hover{background-color:#f5f5f5;border-color:#ccc}.resource-count{color:#388e3c;color:var(--primary-green-dark);font-size:.9rem;font-weight:800}.resources-content{width:100%}.resources-container{display:flex;flex-direction:column;gap:16px}.subject-section{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);transition:all .2s}.subject-section:hover{box-shadow:0 8px 12px -3px #0000001a}.section-header{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c980);background:linear-gradient(135deg,var(--primary-green-light) 0,#c8e6c980 100%);border-bottom:2px solid #4caf50;border-bottom:2px solid var(--primary-green);cursor:pointer;display:flex;justify-content:space-between;padding:18px 24px;transition:all .2s;-webkit-user-select:none;user-select:none}.section-header:hover{background:linear-gradient(135deg,#d4edda,#c8e6c9b3)}.subject-title-group{align-items:center;display:flex;gap:14px}.subject-title-group h2{color:#388e3c;color:var(--primary-green-dark);font-size:1.2rem;font-weight:700;margin:0}.item-count{background:#4caf50;background:var(--primary-green);border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:2px 10px}.expand-icon{color:#388e3c;color:var(--primary-green-dark);font-size:.8rem;transition:transform .3s ease}.expand-icon.open{transform:rotate(180deg)}.section-content{background:#fff;padding:24px}.grade-subsection{margin-bottom:32px}.grade-subsection:last-child{margin-bottom:0}.grade-header{border-bottom:2px solid #f0f0f0;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.grade-header h4{color:#2c3e50;color:var(--text-dark);font-size:1rem;font-weight:700;margin:0}.file-count{color:#7f8c8d;color:var(--text-light);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.files-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.resource-card{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex-direction:column;padding:16px;transition:all .2s}.resource-card:hover{background:#fff;border-color:#4caf50;border-color:var(--primary-green);box-shadow:0 4px 12px #4caf5026;transform:translateY(-2px)}.card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.card-header svg{color:#4caf50;color:var(--primary-green);flex-shrink:0}.file-date{color:#7f8c8d;color:var(--text-light);font-size:.75rem;font-weight:500}.card-body{flex:1 1;margin-bottom:12px}.card-body h5{word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;color:var(--text-dark);display:-webkit-box;font-size:.95rem;font-weight:600;line-height:1.4;margin:0;overflow:hidden}.card-footer{border-top:1px solid #e8e8e8;gap:8px;padding-top:12px}.btn-download{align-items:center;background:#4caf50;background:var(--primary-green);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.8rem;font-weight:600;gap:6px;justify-content:center;padding:8px 12px;text-decoration:none;transition:all .2s}.btn-download:hover{background:#388e3c;background:var(--primary-green-dark);transform:scale(1.02)}.btn-delete{align-items:center;background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;color:#d32f2f;display:flex;justify-content:center;padding:8px 12px}.btn-delete:hover{background:#ffcdd2;border-color:#d32f2f}.empty-state{font-size:1.1rem;padding:80px 20px}@media (max-width:900px){.resource-wrapper{margin-left:0;padding:var(--shell-top-offset-mobile) 16px 16px}.page-header{margin-bottom:20px;padding:16px 20px}.page-header h1{font-size:1.5rem}.upload-card{margin-bottom:20px;padding:16px}.filter-bar{align-items:stretch;margin-bottom:20px}.filter-bar,.filter-form{flex-direction:column}.modern-input.small,.modern-select.small{min-width:auto;width:100%}.form-group.half{flex:1 1 100%}.section-header{padding:14px 16px}.subject-title-group h2{font-size:1rem}.subject-title-group{gap:10px}.section-content{padding:16px}.grade-header{margin-bottom:12px}.grade-header h4{font-size:.95rem}.files-grid{gap:12px;grid-template-columns:1fr}.resource-card{padding:12px}.card-footer{flex-wrap:wrap}.btn-download{font-size:.75rem;padding:6px 10px}}@media (max-width:600px){.resource-wrapper{padding:var(--shell-top-offset-mobile) 12px 12px}.page-header h1{font-size:1.25rem}.subject-title-group{flex-wrap:wrap}.item-count{font-size:.7rem;padding:2px 8px}}.resource-wrapper{--library-ink:#183326;--library-muted:#637568;--library-green:#2f8f53;--library-line:#dce8df;background:radial-gradient(circle at 88% 2%,#e3f1d7 0,#0000 25%),#f6f8f5;padding:92px 30px 48px}.resource-wrapper .page-header{background:radial-gradient(circle at 88% 0,#85b96e 0,#0000 31%),linear-gradient(125deg,#153c2a,#2f8f53);border:0;border-radius:24px;box-shadow:0 18px 40px #1738252e;color:#fff;overflow:hidden;padding:30px 32px;position:relative}.resource-wrapper .page-header h1{color:#fff;font-size:clamp(1.85rem,3vw,2.55rem);letter-spacing:-.045em}.resource-wrapper .page-header p{color:#dcefe2}.library-kicker{color:#bfe4c9;display:block;font-size:.72rem;font-weight:800;letter-spacing:.11em;margin-bottom:7px;text-transform:uppercase}.subject-section,.upload-card{border-color:var(--library-line);border-radius:18px;box-shadow:0 10px 25px #1738250f}.upload-card{background:#fff;max-width:none;padding:22px}.card-header-row h3{color:var(--library-ink)}.upload-form{grid-gap:13px;display:grid;gap:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.upload-form .form-group,.upload-form .form-group.full,.upload-form .form-group.half{flex:none;min-width:0}.upload-form .form-group.full,.upload-form .form-group:first-child,.upload-form .full-width{grid-column:1/-1}.library-search input,.resource-wrapper .file-input,.resource-wrapper .modern-input,.resource-wrapper .modern-select{border-color:#ceddd3;border-radius:9px}.filter-bar{background:#fff;border:1px solid var(--library-line);border-radius:15px;box-shadow:0 8px 20px #1738250a;margin-bottom:18px;padding:14px}.filter-form{align-items:center;flex:1 1;flex-wrap:wrap}.library-search{flex:1 1 230px}.library-search input{font:inherit;padding:9px 11px;width:100%}.btn-filter{border-color:#b9d7c3;border-radius:9px;color:#256541;font-weight:700}.btn-clear-filter{background:#0000;border:0;color:#526b5b;cursor:pointer;font:inherit;font-size:.85rem;padding:8px 5px}.btn-clear-filter:hover{color:#256541;text-decoration:underline}.resource-count{background:#eaf6ee;border-radius:99px;color:#256541;font-size:.78rem;padding:6px 10px}.subject-section{overflow:hidden}.section-header{background:#fff;border-bottom:1px solid var(--library-line);padding:17px 21px}.section-header:hover{background:#f4f9f5}.subject-title-group h2,.subject-title-group svg{color:var(--library-green)}.subject-title-group h2{font-size:1.08rem}.item-count{background:#eaf6ee;color:#256541}.section-content{background:#fbfdfb;padding:21px}.grade-header{border-bottom-color:var(--library-line)}.files-grid{gap:13px}.resource-card{background:#fff;border-color:var(--library-line);border-radius:13px}.resource-card:hover{border-color:#8ac39b;box-shadow:0 10px 20px #1e61391a}.btn-download{background:var(--library-green);border-radius:8px}.btn-download:hover{background:#216c3d}.btn-primary{background:var(--library-green);border-radius:9px}@media (max-width:900px){.resource-wrapper{padding:var(--shell-top-offset-mobile) 14px 30px}.resource-wrapper .page-header{border-radius:18px;padding:24px 20px}.upload-form{grid-template-columns:1fr}.upload-form .form-group.full,.upload-form .form-group:first-child,.upload-form .full-width{grid-column:auto}.library-search{flex-basis:100%}.filter-form{display:grid;grid-template-columns:1fr 1fr}.filter-form .library-search{grid-column:1/-1}.btn-filter{justify-content:center}}@media (max-width:560px){.resource-wrapper{padding-inline:10px}.filter-form{grid-template-columns:1fr}.filter-form .library-search{grid-column:auto}.resource-wrapper .page-header h1{font-size:1.7rem}.section-content,.section-header{padding:14px}}:root{--primary-green:#2f8f53;--primary-green-light:#e9f7ee;--text-dark:#183326;--text-grey:#6a8072;--card-shadow:0 18px 45px #17382514;--hover-shadow:0 24px 55px #1738251f;--bg-color:#0000}body{background-color:initial}.dash_main{box-sizing:border-box;font-family:Inter,-apple-system,sans-serif;margin-left:var(--sidebar-layout-width);padding:92px 34px 34px}.dash_header{background-color:#fff;border-radius:28px;box-shadow:0 18px 45px #17382514;box-shadow:var(--card-shadow);margin:8px 0 28px;padding:32px}.dash_header h1{color:#183326;color:var(--text-dark);font-family:Inter,-apple-system,sans-serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:600;letter-spacing:-.04em;margin:0 0 5px}.date_text{border-bottom:2px solid rgba(5,63,5,.508);padding:6px;width:-webkit-fit-content;width:fit-content}.date_text,.random-quote{font-size:.98rem;font-weight:600;margin:0;max-width:70ch}.random-quote{color:#183326;color:var(--text-dark)}.card_container{grid-gap:28px;align-items:stretch;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:28px}.card.stat_card{background-color:#fff;border:1px solid #e2e8f0d9;border-radius:22px;box-shadow:0 4px 20px #0f172a0d,0 1px 3px #0f172a05;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;padding:1.4rem 1.55rem 1.35rem;position:relative;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease}.card.stat_card:before{display:none}.card.stat_card.clickable{cursor:pointer}.card.stat_card.clickable:hover{border-color:#10b98166;box-shadow:0 12px 28px -4px #0f172a14,0 4px 10px -2px #0f172a0a;transform:translateY(-3px)}.card.stat_card.clickable:hover .click-hint{color:#10b981;opacity:1;transform:translateX(4px)}.card .title,.card .title span{align-items:center;display:flex}.card .title span{background-color:#10b981;border-radius:9999px;box-shadow:none;flex-shrink:0;height:2.25rem;justify-content:center;position:relative;width:2.25rem}.card .title span.badge-blue{background-color:#3b82f6}.card .title span.badge-green{background-color:#10b981}.card .title span.badge-orange{background-color:#f59e0b}.card .title span svg{color:#fff;height:1.15rem;width:1.15rem}.card .title-text{color:#374151;font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 0 .65rem}.card .percent{align-items:center;color:#02972f;display:flex;font-size:1rem;font-weight:700;gap:4px;margin:0 0 0 auto}.card .percent svg{height:14px;width:14px}.card .percent.percent-blue{color:#2563eb}.card .percent.percent-green{color:#02972f}.card .percent.percent-orange{color:#d97706}.card .data{display:flex;flex-direction:column;justify-content:flex-start;margin-top:.2rem}.card .data p{color:#1f2937;font-size:2.75rem;font-weight:800;letter-spacing:-.03em;line-height:1;margin-bottom:1rem;margin-top:1.1rem;text-align:left}.card .data .range{background-color:#e5e7eb;border-radius:9999px;box-shadow:none;height:8px;overflow:hidden;position:relative;width:100%}.card .data .range .fill{background-color:#10b981;border-radius:9999px;height:100%;left:0;position:absolute;top:0;transition:width .6s cubic-bezier(.4,0,.2,1);width:76%}.card .data .range .fill.fill-blue{background-color:#3b82f6}.card .data .range .fill.fill-green{background-color:#10b981}.card .data .range .fill.fill-orange{background-color:#f59e0b}.card .data p.stat_desc{align-items:center;color:#64748b;display:flex;font-size:.85rem;font-weight:500;justify-content:space-between;line-height:1.35;margin-bottom:0;margin-top:.85rem}.card .data p.stat_desc .click-hint{font-size:.95rem;opacity:.65;transition:transform .18s ease,opacity .18s ease,color .18s ease}.loading_state{color:#6a8072;color:var(--text-grey);font-size:1.1rem;padding:40px;text-align:center}.alerts-banner-container{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.alert-banner{align-items:flex-start;animation:slideInDown .3s ease-out;border-left:0;border-radius:18px;box-shadow:0 12px 30px #17382514;display:flex;gap:16px;padding:18px 20px}.alert-icon{flex-shrink:0;font-size:1.5rem}.alert-content{flex:1 1}.alert-content strong{display:block;font-size:.95rem;font-weight:700;margin-bottom:4px}.alert-content p{font-size:.85rem;margin:0;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-overdue{background:linear-gradient(135deg,#fff1f1,#ffe4e4);border:1px solid #d32f2f1f;color:#8b0000}.alert-approaching{background:linear-gradient(135deg,#fff8e1,#fff1bf);border:1px solid #ff980024;color:#856404}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.dash_main{margin-left:0;padding:88px 18px 24px}.dash_header h1{font-size:1.75rem}.dash_header{border-radius:24px;padding:24px}}@media (max-width:480px){.card_container{grid-template-columns:1fr}.card.stat_card{padding:1rem 1.15rem}.card .data p{font-size:1.85rem}}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{display:inline-block;margin-left:.25rem;opacity:1}.text-type__cursor--hidden{display:none}.average-modal-overlay{align-items:center;background-color:#0f172a6b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.average-modal-content{background:#fff;border-radius:18px;box-shadow:0 18px 60px #0f172a38;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;width:min(960px,100%)}.average-modal-header{align-items:flex-start;border-bottom:1px solid #eef2f3;display:flex;gap:16px;justify-content:space-between;padding:24px 28px}.average-modal-header h2{color:#23313f;font-size:1.35rem;margin:0}.average-modal-header p{color:#6b7785;font-size:.92rem;margin:6px 0 0}.average-close-btn{background:#f4f7f7;border:none;border-radius:999px;color:#556270;cursor:pointer;font-size:1rem;font-weight:700;height:36px;width:36px}.average-close-btn:hover{background:#e8eeee}.average-modal-body{overflow-y:auto;padding:24px 28px}.average-empty-state{align-items:center;color:#6b7785;display:flex;font-size:1rem;justify-content:center;min-height:220px}.average-term-sections{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.average-term-card{background:linear-gradient(180deg,#fff,#fbfcfc);border:1px solid #e9eff0;border-radius:16px;overflow:hidden}.average-term-card-header{align-items:flex-start;border-bottom:1px solid #eef2f3;display:flex;gap:14px;justify-content:space-between;padding:18px 18px 14px}.average-term-card-header h3{color:#23313f;font-size:1rem;margin:0}.average-term-card-header p{color:#6b7785;font-size:.82rem;margin:6px 0 0}.average-term-badge{background:#edf8ef;border-radius:12px;color:#2e7d32;flex-shrink:0;font-size:.95rem;font-weight:800;padding:10px 12px}.average-term-badge.is-empty{background:#f3f6f7;color:#8793a0}.average-term-table-wrap{padding:0 18px 18px}.average-term-table{border-collapse:collapse;font-size:.9rem;width:100%}.average-term-table td,.average-term-table th{border-bottom:1px solid #eef2f3;padding:10px 0;text-align:left}.average-term-table th{color:#7a8794;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.average-term-table tbody tr:last-child td{border-bottom:none}.average-term-table td:last-child,.average-term-table td:nth-child(2),.average-term-table th:last-child,.average-term-table th:nth-child(2){text-align:right}.average-term-empty-row{color:#7a8794;font-size:.88rem;padding:18px}.average-modal-footer{border-top:1px solid #eef2f3;display:flex;justify-content:flex-end;padding:18px 28px 24px}.average-footer-btn{background:#edf2f3;border:none;border-radius:10px;color:#23313f;cursor:pointer;font-weight:600;padding:10px 18px}.average-footer-btn:hover{background:#e3e9eb}@media (max-width:720px){.average-modal-overlay{padding:12px}.average-modal-body,.average-modal-footer,.average-modal-header{padding-left:18px;padding-right:18px}.average-term-sections{grid-template-columns:1fr}}.pending-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pending-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:980px;width:90%}.pending-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:24px}.pending-modal-header h2{color:#333;font-size:20px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-btn:hover{background-color:#f5f5f5;color:#333}.pending-modal-body{flex:1 1;overflow-y:auto;padding:24px}.loading-state{align-items:center;color:#999;display:flex;font-size:16px;height:200px;justify-content:center}.loading-state:after{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;content:"";display:inline-block;height:20px;margin-left:10px;width:20px}.error-state{background-color:#ffebee;border-left:4px solid #d32f2f;border-radius:8px;color:#d32f2f;font-size:16px;height:200px;padding:16px}.empty-state,.error-state{align-items:center;display:flex;justify-content:center}.empty-state{color:#999;flex-direction:column;height:250px}.empty-state svg{margin-bottom:16px}.empty-state p{color:#666;font-size:16px;margin:0}.list-info{background-color:#f5f5f5;border-radius:8px;margin-bottom:16px;padding:12px 16px}.list-info p{color:#666;font-size:14px;font-weight:500;margin:0}.students-list{width:100%}.pending-mark-actions{display:flex;flex-direction:column;gap:8px;min-width:150px}.pending-enter-marks{background:#f0f8f2;border:1px solid #c6dfce;border-radius:10px;color:#21683c;display:flex;flex-direction:column;gap:4px;padding:10px 12px;text-decoration:none}.pending-enter-marks small,.pending-enter-marks>span{font-size:.75rem}.pending-enter-marks:hover{background:#dff0e4;border-color:#2f8f53}.pending-enter-marks:focus-visible{outline:3px solid #2f8f53;outline-offset:2px}.pending-table{border-collapse:collapse;font-size:14px;width:100%}.pending-table thead{background-color:#f9f9f9}.pending-table th{border-bottom:2px solid #f0f0f0;color:#666;font-weight:600;padding:12px;text-align:left}.pending-table td{border-bottom:1px solid #f0f0f0;color:#333;padding:12px}.pending-table tbody tr:hover{background-color:#fafafa}.student-name{color:#1976d2;font-weight:500}.student-class{color:#666;font-weight:500;text-align:center}.student-subjects{color:#f57c00;font-size:13px;font-weight:500}.pending-modal-footer{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-close{background-color:#f0f0f0;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-close:hover{background-color:#e0e0e0}@media (max-width:600px){.pending-modal-content{max-height:90vh;width:95%}.pending-modal-body,.pending-modal-header{padding:16px}.pending-modal-footer{padding:12px 16px}.pending-table{font-size:12px}.pending-table td,.pending-table th{padding:8px}}.dashboard-charts{color:#183326;margin-top:24px}.dashboard-charts-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.dashboard-charts-heading h2{font-size:1rem;font-weight:700;margin:0}.dashboard-charts-heading label{align-items:center;color:#536c5d;display:flex;font-size:.8rem;gap:8px}.dashboard-charts-heading select{background:#fff;border:1px solid #d6e3d9;border-radius:9px;color:#214e34;cursor:pointer;font:inherit;padding:7px 10px}.dashboard-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-chart-card{min-width:0;padding:20px}.dashboard-chart-card,.dashboard-trend-card{background:#fff;border:1px solid #e0eae2;border-radius:18px;box-shadow:0 6px 18px #1738250a}.dashboard-trend-card{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);margin-top:20px;min-height:255px;padding:22px}.dashboard-trend-card h3{font-size:1rem;font-weight:700;margin:0}.dashboard-line-chart{height:230px;width:100%}.dashboard-chart-card h3{font-size:.94rem;font-weight:700;margin:0}.dashboard-chart-caption{color:#617768;font-size:.75rem;line-height:1.5;margin:5px 0 16px}.dashboard-progress-summary{align-items:baseline;display:flex;gap:8px;margin:18px 0 14px}.dashboard-progress-summary strong{color:#286840;font-size:1.9rem;font-weight:650;line-height:1}.dashboard-progress-summary>span{color:#617768;font-size:.82rem}.dashboard-average-track,.dashboard-progress-track{background:#edf2eb;border-radius:999px;display:block;height:10px;overflow:hidden}.dashboard-progress-track{background:#f4e8c9}.dashboard-average-track>span,.dashboard-progress-track>span{background:#68a47c;border-radius:inherit;display:block;height:100%}.dashboard-progress-legend{color:#526b5b;display:flex;flex-wrap:wrap;font-size:.75rem;gap:8px;justify-content:space-between;margin:12px 0 18px}.dashboard-progress-legend>span{align-items:center;display:flex;gap:6px}.dashboard-progress-legend i{background:#68a47c;border-radius:50%;height:7px;width:7px}.dashboard-progress-legend>span:last-child i{background:#d9b76a}.dashboard-chart-action{background:#edf6ef;border:0;border-radius:8px;color:#286840;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;padding:8px 11px}.dashboard-chart-action:hover{background:#dceee1}.dashboard-chart-complete{color:#286840;font-size:.8rem;margin:0}.dashboard-chart-empty{color:#617768;font-size:.83rem;line-height:1.6;margin:20px 0 10px}.dashboard-average-list{list-style:none;margin:0;max-height:178px;overflow-y:auto;padding:0 6px 0 0;scrollbar-width:thin}.dashboard-average-list li+li{margin-top:10px}.dashboard-average-link{border-radius:4px;color:inherit;display:block;padding:3px 2px;text-decoration:none}.dashboard-average-link:hover{background:#f5f9f5}.dashboard-average-label{display:flex;font-size:.76rem;gap:12px;justify-content:space-between;line-height:1.4;margin-bottom:6px}.dashboard-average-label>span{overflow-wrap:anywhere}.dashboard-average-label strong{color:#286840;flex-shrink:0;font-weight:600}.dashboard-average-track{height:6px}.dashboard-support-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.dashboard-support-heading .dashboard-chart-caption{margin-bottom:14px}.dashboard-support-count{background:#fff0e8;border-radius:999px;color:#a74d1e;display:grid;font-size:.75rem;font-weight:700;height:24px;min-width:24px;padding:0 5px;place-items:center}.dashboard-support-list{list-style:none;margin:0;max-height:178px;overflow-y:auto;padding:0;scrollbar-width:thin}.dashboard-support-list li+li{margin-top:7px}.dashboard-support-link{align-items:center;border-radius:8px;color:inherit;display:flex;gap:10px;justify-content:space-between;padding:7px 8px;text-decoration:none}.dashboard-support-link:hover{background:#fff7f1}.dashboard-support-person,.dashboard-support-score{display:flex;flex-direction:column;min-width:0}.dashboard-support-person strong{font-size:.79rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-support-person small,.dashboard-support-score small{color:#687b6d;font-size:.68rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-support-score{align-items:flex-end;color:#a74d1e;flex-shrink:0}.dashboard-support-score strong{font-size:.78rem}.dashboard-support-all-button{background:none;border:0;color:#286840;cursor:pointer;font:inherit;font-size:.75rem;font-weight:650;margin-top:12px;padding:0}.dashboard-support-all-button:hover{color:#163d25;text-decoration:underline}.dashboard-support-modal-overlay{background:#0f2a1c73;display:grid;inset:0;overflow:auto;overscroll-behavior:contain;padding:clamp(12px,3vh,28px);place-items:center;position:fixed;z-index:2000}.dashboard-support-modal{background:#fff;border:0;border-radius:18px;box-shadow:0 24px 70px #0a271747;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(720px,calc(100dvh - 24px));min-height:0;overflow:hidden;width:min(640px,100%)}.dashboard-support-modal header{align-items:flex-start;border-bottom:1px solid #e6eee7;display:flex;gap:16px;justify-content:space-between;padding:22px 24px 18px}.dashboard-support-modal h2{color:#183326;font-size:1.1rem;margin:0}.dashboard-support-modal header p{color:#637568;font-size:.82rem;margin:5px 0 0}.dashboard-support-modal header button{background:#f1f5f1;border:0;border-radius:50%;color:#4d6253;cursor:pointer;display:grid;font-size:1.2rem;height:32px;place-items:center;width:32px}.dashboard-support-modal header button:hover{background:#e2ece4}.dashboard-support-modal-list{list-style:none;margin:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 18px}.dashboard-support-modal-list li+li{margin-top:5px}.dashboard-support-modal-list .dashboard-support-link{padding:11px 10px}.dashboard-charts :focus-visible{outline:2px solid #2f8f53;outline-offset:2px}@media (max-width:1100px){.dashboard-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-support-card{grid-column:span 2}}@media (max-width:700px){.dashboard-charts-grid{gap:12px;grid-template-columns:1fr}.dashboard-support-card{grid-column:auto}.dashboard-chart-card{padding:18px}.dashboard-trend-card{gap:8px;grid-template-columns:1fr;margin-top:12px;min-height:0;padding:18px}.dashboard-line-chart{height:245px}}:root{--border-color:#ecf0f1}body{background-color:#f6f8fa;background-color:var(--bg-color)}.recent-wrapper{font-family:Inter,-apple-system,sans-serif;margin-left:var(--sidebar-layout-width);padding:calc(-60px + var(--shell-top-offset)) 40px 40px}.recent-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.recent-header h1{color:#2c3e50;color:var(--text-dark);font-size:2rem;font-weight:800;letter-spacing:-.5px;margin:0 0 5px}.subtitle{color:#7f8c8d;color:var(--text-light);font-size:.95rem;margin:0}.btn-refresh{align-items:center;background-color:#fff;border:1px solid #ecf0f1;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#4caf50;color:var(--primary-green);cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-refresh:hover:not(:disabled){background-color:#f0fdf4;border-color:#4caf50;border-color:var(--primary-green);transform:translateY(-1px)}.btn-refresh:disabled{cursor:default;opacity:.7}.btn-refresh.spinning svg{animation:spin 1s linear infinite}.recent-card{background:#fff;border:1px solid #ecf0f1;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);overflow:hidden}.table-responsive{overflow-x:auto}.modern-table{min-width:800px}.modern-table thead{background-color:#fafaf8;border-bottom:2px solid #ecf0f1;border-bottom:2px solid var(--border-color)}.modern-table th{letter-spacing:.5px}.modern-table td{border-bottom:1px solid #ecf0f1;border-bottom:1px solid var(--border-color)}.modern-table tr:hover{background-color:#fcfcfc}.subject-cell{align-items:center;display:flex;gap:8px;margin-bottom:4px}.grade-tag,.subject-name{font-weight:600}.grade-tag{background-color:#e3f2fd;border-radius:6px;color:#1976d2;font-size:.75rem;padding:2px 6px}.section-name{color:#7f8c8d;color:var(--text-light);font-size:.85rem}.change-cell{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.mark-change{font-family:Consolas,Monaco,monospace;font-size:.9rem}.old-val{color:#999;text-decoration:line-through}.arrow{color:#ccc;margin:0 6px}.new-val{color:#388e3c;color:var(--primary-green-dark);font-weight:700}.user-cell{display:flex;flex-direction:column;gap:4px}.username{font-weight:500}.date-cell{color:#7f8c8d;color:var(--text-light);font-size:.9rem;white-space:nowrap}.status-badge{border-radius:20px;font-size:.75rem;font-weight:700;padding:4px 10px;text-transform:uppercase}.status-badge.add{background-color:#e8f5e9;color:#388e3c;color:var(--primary-green-dark)}.status-badge.update{background-color:#fff3e0;color:#ef6c00}.role-badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.role-badge.admin{background-color:#fee2e2;color:#dc2626}.role-badge.hod{background-color:#f3e8ff;color:#9333ea}.role-badge.teacher{background-color:#eff6ff;color:#2563eb}.role-badge.developer{background-color:#ffedd5;color:#ea580c}.role-badge.unknown{background-color:#f3f4f6;color:#6b7280}.empty-state{padding:60px!important}.empty-state,.loading-container{color:#7f8c8d;color:var(--text-light);text-align:center}.loading-container{padding:60px}.spinner{animation:spin 1s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#4caf50;border-top:3px solid var(--primary-green);height:30px;margin:0 auto 15px;width:30px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:900px){.recent-wrapper{margin-left:0;padding:var(--shell-top-offset-mobile) 20px 20px}.recent-header{flex-direction:column;gap:15px}.recent-header button{justify-content:center;width:100%}.recent-header h1{font-size:1.75rem}}:root{--hover-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--danger-color:#ef4444}.main-subjects-wrapper{background-color:#f6f8fa;background-color:var(--bg-color);font-family:Inter,-apple-system,sans-serif;margin-left:var(--sidebar-layout-width);min-height:100vh;padding:calc(40px + var(--shell-top-offset)) 40px 40px}.page-header p{color:#7f8c8d;color:var(--text-light)}.add-subject-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);margin-bottom:40px;padding:24px}.add-subject-card h3{color:#2c3e50;color:var(--text-dark);font-size:1.1rem;margin:0 0 20px}.add-subject-form{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.grade-select{flex:0 0 100px;min-width:100px}.modern-input,.modern-select{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:12px 16px;transition:all .2s ease;width:100%}.modern-input:focus,.modern-select:focus{border-color:#4caf50;border-color:var(--primary-green);box-shadow:0 0 0 3px #4caf501a;outline:none}.btn-add{align-items:center;background-color:#4caf50;background-color:var(--primary-green);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;height:45px;padding:12px 24px;transition:background-color .2s}.btn-add:hover{background-color:#388e3c;background-color:var(--primary-green-dark)}.grade-section{margin-bottom:40px}.grade-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;gap:12px;margin-bottom:20px;padding-bottom:10px}.grade-header h2{color:#2c3e50;color:var(--text-dark);font-size:1.75rem;font-weight:800;letter-spacing:-.5px;margin:0}.badge-count{background-color:#e8f5e9;background-color:var(--primary-green-light);border-radius:20px;color:#388e3c;color:var(--primary-green-dark);font-size:.95rem;font-weight:800;padding:6px 14px}.subjects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.go-corner{align-items:center;background-color:#2f8f53;border-radius:0 15px 0 32px;display:flex;height:32px;justify-content:center;overflow:hidden;position:absolute;right:0;top:0;transition:all .25s ease-out;width:32px;z-index:3}.go-arrow{color:#fff;font-family:courier,monospace,sans-serif;font-size:16px;line-height:1;margin-right:-4px;margin-top:-4px}.subject-card{background:#fff;border:1px solid #f0f0f0;border-radius:15px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);color:inherit;display:flex;flex-direction:column;justify-content:space-between;min-height:130px;overflow:hidden;padding:20px;position:relative;text-decoration:none;transition:transform .25s ease-out,box-shadow .25s ease-out,border-color .25s ease-out;z-index:1}.subject-card.palette-open{overflow:visible!important;z-index:50!important}.subject-card.palette-open:before{display:none!important}.subject-card:before{background:#2f8f53;border-radius:32px;content:"";height:32px;pointer-events:none;position:absolute;right:-16px;top:-16px;transform:scale(1);transform-origin:50% 50%;transition:transform .28s ease-out;width:32px;z-index:1}.subject-card:hover{border-color:#2f8f5366;box-shadow:0 18px 40px #17382529;transform:translateY(-6px)}.subject-card:hover:before{transform:scale(28)}.subject-card .card-meta,.subject-card .card-top{position:relative;z-index:2}.card-top{align-items:flex-start;display:flex;justify-content:space-between}.subject-title{color:#2c3e50;color:var(--text-dark);font-size:1.2rem;font-weight:700;line-height:1.3;margin:0;padding-right:36px;transition:color .25s ease-out}.subject-card:hover .subject-title{color:#fff}.subject-card:hover .meta-tag,.subject-card:hover .notes-button{background:#ffffff38;color:#fff;transition:all .25s ease-out}.subject-card:hover .notes-button{border-color:#ffffff73}.subject-card:hover .notes-button svg{stroke:#fff}.subject-card:hover .color-toggle-button{border-color:#fffc;box-shadow:0 0 0 2px #ffffff59}.btn-delete{background:#0000;border:none;border-radius:4px;color:#ccc;cursor:pointer;opacity:0;padding:4px;position:absolute;right:15px;top:15px;transition:all .2s}.btn-delete:hover{background-color:#fee2e2;color:#ef4444;color:var(--danger-color)}.subject-delete-button{opacity:0;position:absolute;right:36px;top:10px;transition:opacity .2s ease,background-color .2s ease,color .2s ease;z-index:4}.subject-card:hover .subject-delete-button{color:#ffffffd9;opacity:1}.subject-card:hover .btn-delete:hover{background-color:#dc2626e6;color:#fff}.color-toggle-button,.notes-button{border:1px solid #0000001f;border-radius:50%;box-shadow:0 1px 2px #0000000a;cursor:pointer;height:28px;padding:0;width:28px}.notes-button{align-items:center;background:#fff;color:#334155;display:inline-flex;justify-content:center}.color-chooser-wrap{align-items:center;display:flex;gap:8px;margin-left:auto;position:relative;z-index:60}.color-popover{background:#fff;border:1px solid #0000001a;border-radius:12px;bottom:38px;box-shadow:0 16px 36px #0f172a38,0 4px 12px #0f172a14;min-width:190px;padding:12px;position:absolute;right:0;z-index:100}.color-popover .swatches{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.swatch{border:1px solid #00000014;border-radius:6px;cursor:pointer;height:28px;padding:0;width:28px}.swatch.selected{outline:2px solid #4caf50;outline:2px solid var(--primary-green);transform:scale(1.05)}.popover-reset{background:#0000;border:1px solid #eee;border-radius:6px}.popover-close,.popover-reset{cursor:pointer;padding:6px 10px}.popover-close{background:#4caf50;background:var(--primary-green);border:none;border-radius:6px;color:#fff}.card-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.meta-tag{border-radius:8px;font-size:.8rem;font-weight:700;padding:5px}.class-tag{background-color:#e3fde6;color:#11913c;font-size:1rem}.count-tag{background-color:#d8a353;color:#fff}.card-footer{align-items:center;border-top:1px dashed #f0f0f0;display:flex;justify-content:space-between;margin-top:auto;padding-top:15px}.avg-label{color:#7f8c8d;color:var(--text-light);font-size:.8rem;text-transform:uppercase}.avg-value{color:#4caf50;color:var(--primary-green);font-size:1.2rem;font-weight:700}.avg-value.empty{color:#ccc;font-size:1rem}.empty-state,.loading-state{color:#7f8c8d;color:var(--text-light);font-size:1.1rem;padding:60px;text-align:center}@media (max-width:900px){.main-subjects-wrapper{margin-left:0;padding:var(--shell-top-offset-mobile) 20px 20px}.btn-delete{background-color:#fee2e2;color:#ef4444;color:var(--danger-color);opacity:1}.subject-delete-button{right:12px;top:12px}}@media (max-width:600px){.add-subject-form{align-items:stretch;flex-direction:column}.btn-add{justify-content:center}}.subject-notes-page{font-family:Inter,-apple-system,sans-serif;margin-left:var(--sidebar-layout-width);min-height:100vh;padding:calc(40px + var(--shell-top-offset)) 40px 40px}.notes-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.notes-kicker,.section-row-title{font-weight:700}.notes-kicker{color:#3f7f45;font-size:.75rem;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.notes-header h1{color:#16311a;font-size:2.2rem;margin:0}.notes-subtitle{color:#5f6f62;margin:8px 0 0;max-width:720px}.back-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #dfe8e0;border-radius:10px;box-shadow:0 10px 22px #12301414;color:#24542a;font-weight:700;padding:10px 14px;text-decoration:none}.notes-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #e5eee6;border-radius:20px;box-shadow:0 16px 40px #14341814;padding:24px}.notes-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.notes-meta span{background:#edf7ee;border:1px solid #d7ead9;border-radius:999px;color:#2f5d35;font-weight:700;padding:8px 12px}.notes-label{color:#1f3122;display:block;font-weight:800;margin-bottom:10px}.notes-textarea{border:1px solid #d9e5da;border-radius:16px;box-sizing:border-box;color:#19301d;font-size:1rem;line-height:1.6;min-height:128px;padding:16px;resize:vertical;width:100%}.notes-textarea:focus{border-color:#5ba963;box-shadow:0 0 0 4px #5ba9631f;outline:none}.notes-field-group{display:flex;flex-direction:column;gap:10px}.notes-select{background:#fbfdfb;border:1px solid #d9e5da;border-radius:12px;box-sizing:border-box;color:#19301d;font-size:.95rem;padding:12px 14px;width:100%}.notes-select:focus{border-color:#5ba963;box-shadow:0 0 0 4px #5ba9631f;outline:none}.notes-date-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.note-date-label{align-items:center;color:#27432a;display:flex;font-size:.9rem;font-weight:700;gap:6px}.note-date-input{background:#fbfdfb;border:1px solid #d9e5da;border-radius:10px;color:#19301d;flex:1 1;font-size:.9rem;min-width:160px;padding:10px 12px}.note-date-input:focus{border-color:#5ba963;box-shadow:0 0 0 4px #5ba9631f;outline:none}.notes-compose-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:16px}.notes-scope-row{display:inline-flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.scope-toggle-btn{align-items:center;background:#f7faf7;border:1px solid #d8e6db;border-radius:12px;color:#2c5032;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:10px 14px}.scope-toggle-btn.active{background:#edf8ee;border-color:#8bbf92;color:#2f7d39}.notes-helper-banner{background:#eef7ff;border:1px solid #d7e6f5;border-radius:12px;color:#25527a;font-size:.92rem;line-height:1.5;margin:0 0 16px;padding:12px 14px}.notes-helper-banner.muted{background:#f8faf8;border-color:#e3ebe4;color:#617164}.btn-danger{background:#e57373;border:none;border-radius:12px;box-shadow:0 12px 24px #e573732e;color:#fff;cursor:pointer;font-weight:700;padding:10px 16px}.btn-danger:hover{background:#ef5350;color:#fff}.notes-save-btn{align-items:center;background:linear-gradient(135deg,#2f7d39,#4caf50);border:none;border-radius:12px;box-shadow:0 12px 24px #4caf502e;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;padding:12px 18px}.notes-save-btn:disabled{cursor:progress;opacity:.75}.important-toggle{align-items:center;color:#27432a;display:inline-flex;font-weight:700;gap:10px;-webkit-user-select:none;user-select:none}.important-toggle input{accent-color:#f1a208;height:16px;width:16px}.notes-filter-card{margin-top:22px}.notes-filter-grid{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.notes-checkbox-row{align-items:center;color:#27432a;display:inline-flex;font-weight:700;gap:10px;padding-bottom:12px}.notes-checkbox-row input{accent-color:#2f7d39;height:16px;width:16px}.notes-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:22px}.note-card{background:linear-gradient(180deg,#fff,#fbfcfd);border:1px solid #dde7de;border-radius:18px;box-shadow:0 12px 28px #1f3b2314;display:flex;flex-direction:column;gap:14px;padding:18px}.note-card.important{border-color:#f0c25d;box-shadow:0 12px 28px #e0a5181f}.note-card.due-overdue{border-color:#e57373;box-shadow:0 12px 28px #d32f2f1f}.note-card.due-due-today{border-color:#ffb74d;box-shadow:0 12px 28px #ff98001f}.note-card.due-due-soon{border-color:#ffa726;box-shadow:0 12px 28px #ff980026}.note-card.done{opacity:.82}.note-card.done .note-text{color:#657065;text-decoration:line-through}.note-card-top{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.note-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.note-date{color:#64756a;font-size:.86rem;font-weight:700}.note-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;gap:6px;padding:5px 10px}.important-pill{background:#fff5d6;color:#8b6510}.school-pill{background:#e7f2ff;color:#1f5f99}.subject-pill{background:#edf7ee;color:#2f5d35}.done-pill{background:#e8f6ea;color:#2d6b35}.due-pill{align-items:center;display:inline-flex;gap:6px}.due-overdue{background:#ffe5e5;color:#d32f2f}.due-due-today{background:#fff3cd;color:#856404}.due-due-soon{background:#ffe4a3;color:#b8870b}.due-due-week{background:#e3f2fd;color:#1565c0}.due-future{background:#f0f4c3;color:#558b2f}.note-card-actions{flex-shrink:0;gap:8px}.note-action-btn,.note-card-actions{align-items:center;display:inline-flex}.note-action-btn{background:#fff;border:1px solid #d7e3d8;border-radius:10px;color:#38503b;cursor:pointer;height:36px;justify-content:center;width:36px}.note-action-btn.active{background:#edf8ee;border-color:#8bbf92;color:#2f7d39}.note-action-btn.danger{color:#a33b3b}.assessment-stepper-guidance{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;justify-content:flex-start;margin-bottom:24px;padding:12px 20px}.step-item{color:#495057;font-size:14px;font-weight:500;gap:8px}.step-circle,.step-item{align-items:center;display:flex}.step-circle{background:#4dae50;border-radius:50%;color:#fff;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.step-connector{background:#dee2e6;height:2px;width:40px}.assessment-group-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #dfe8e0;border-radius:20px;box-shadow:0 16px 40px #14341814;display:flex;flex-direction:column;gap:16px;margin-top:32px;padding:24px}.assessment-inline-editors{grid-gap:.85rem;display:grid;flex:1 1 380px;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));min-width:min}.assessment-group-list{gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-template-rows:repeat(1,1fr)}.note-text{color:#203124;font-size:1rem;line-height:1.65;margin:0;white-space:pre-wrap;word-break:break-word}.note-context-line{color:#5f6f62;font-size:.88rem;font-weight:600;line-height:1.45}.notes-error-card{background:#fff5f6;border-color:#f1c2c7;color:#9f2430;margin-bottom:20px}.assessment-guidance{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #dfe8e0;border-radius:20px;box-shadow:0 16px 40px #14341814;margin-top:32px;padding:24px}.assessment-inline-editors{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:24px}.notes-empty-state{background:#ffffffbf;border:1px dashed #c7d7cb;border-radius:20px;color:#3c4d40;display:grid;margin-top:22px;padding:40px 24px;place-items:center;text-align:center}.notes-empty-state h3{font-size:1.2rem;margin:14px 0 8px}.notes-empty-state p{color:#5f6c61;margin:0;max-width:560px}@media (max-width:900px){.subject-notes-page{margin-left:0;padding:var(--shell-top-offset-mobile) 20px 20px}.notes-header{flex-direction:column}.back-link{align-self:flex-start}.notes-card{padding:18px}.note-card-top{flex-direction:column}.notes-filter-grid{grid-template-columns:1fr}}:root{--primary-green:#316944;--primary-dark:#2c702f;--primary-light:#e8f5e9;--shadow:0 10px 30px #00000014}.login-wrapper{align-items:center;background-color:#f6f8fa;background-color:var(--bg-color);background-image:radial-gradient(#e0e0e0 1px,#0000 0);background-size:20px 20px;display:flex;font-family:Inter,-apple-system,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .5s ease-out;background:#fff;border:1px solid #fff;border-radius:16px;box-shadow:0 10px 30px #00000014;box-shadow:var(--shadow);max-width:400px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.brand-section{margin-bottom:30px;text-align:center}.brand-section h1{color:#2c3e50;color:var(--text-dark);font-size:1.8rem;font-weight:800;letter-spacing:-.5px;margin:10px 0 5px}.brand-section p{color:#7f8c8d;color:var(--text-light);font-size:.95rem;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.input-group label{font-size:.85rem}.modern-input{background-color:#fafafa;border:2px solid #f0f0f0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.modern-input:focus{background-color:#fff;border-color:#316944;box-shadow:0 0 0 4px #4caf501a}.modern-input::placeholder{color:#ccc}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper .modern-input{padding-right:45px}.toggle-password{align-items:center;background:none;border:none;border-radius:4px;color:#7f8c8d;color:var(--text-light);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;transition:color .2s}.toggle-password:hover{background-color:#e8f5e9;background-color:var(--primary-light);color:#316944;color:var(--primary-green)}.btn-login{background-color:#316944;border:none;border-radius:8px;box-shadow:0 4px 6px #4caf5033;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:10px;padding:14px;transition:all .2s ease}.btn-login:hover:not(:disabled){background-color:#2c702f;background-color:var(--primary-dark);box-shadow:0 6px 12px #4caf504d;transform:translateY(-2px)}.btn-login:disabled{background-color:#a5d6a7;box-shadow:none;cursor:not-allowed;transform:none}.error-alert{animation:shake .4s ease-in-out;background-color:#ffebee;border-radius:8px;color:#c62828;font-size:.9rem;padding:12px;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.login-footer{border-top:1px solid #f0f0f0;margin-top:30px;padding-top:20px;text-align:center}.login-footer p{color:#7f8c8d;color:var(--text-light);font-size:.9rem;margin:0}.login-footer a{color:#316944;color:var(--primary-green);font-weight:600;margin-left:5px;text-decoration:none;transition:color .2s}.login-footer a:hover{color:#2c702f;color:var(--primary-dark);text-decoration:underline}@media (max-width:480px){.login-wrapper{align-items:flex-start;padding:60px 15px 15px}.login-card{padding:25px}}.marksure-global-loader-overlay{align-items:center;background:#fffffff2;display:flex;height:100vh;inset:0;justify-content:center;opacity:1;pointer-events:all;position:fixed;transition:opacity .2s ease;width:100vw;z-index:999999}.marksure-global-loader-overlay.is-inline{background:#0000;height:280px;min-height:280px;position:relative;width:100%}.marksure-global-loader-overlay .loader,.marksure-global-loader-overlay .pencil-loader-anim{animation:pencil-rotate-animate 8s linear infinite;background:#0000!important;height:35px;left:50%;mask:none!important;-webkit-mask:none!important;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:150px}.marksure-global-loader-overlay .loader:after,.marksure-global-loader-overlay .pencil-loader-anim:after{content:none!important;display:none!important}.marksure-global-loader-overlay .pencil{background:#2f8f53;border-bottom:10px solid #1f6b3b;border-top:10px solid #4bb872;box-sizing:border-box;height:35px;overflow:visible!important;position:relative;transform-origin:top;width:150px}.marksure-global-loader-overlay .pencil p{color:#fff;font-family:Segoe UI,-apple-system,sans-serif;font-size:11px;font-weight:800;letter-spacing:.1em;line-height:15px;margin:0;max-width:120px;overflow:hidden;padding:0;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 2px #0a2814b3;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.marksure-global-loader-overlay .pencil:before{border-color:#0000 #e29663 #0000 #0000;border-style:solid;border-width:17.5px 36px 17.5px 0;box-sizing:border-box;content:"";height:0;left:-36px;position:absolute;top:-10px;width:0}.marksure-global-loader-overlay .pencil:after{border-color:#0000 #262626 #0000 #0000;border-style:solid;border-width:5px 11px 5px 0;box-sizing:border-box;content:"";height:0;left:-36px;position:absolute;top:2.5px;width:0}.marksure-global-loader-overlay .top{background:#cbd5e1;border-bottom:10px solid #94a3b8;border-top:10px solid #e2e8f0;box-sizing:border-box;height:35px;position:absolute;right:0;top:-10px;width:24px}.marksure-global-loader-overlay .top:before{background:#e17574;border-bottom:10px solid #c85a58;border-bottom-right-radius:6px;border-top:10px solid #f09594;border-top-right-radius:6px;box-sizing:border-box;content:"";height:35px;left:100%;position:absolute;top:-10px;width:20px;z-index:2}.marksure-global-loader-overlay .stroke{border-color:#2f8f53 #0000 #0000 #2f8f53;border-radius:50%;border-style:solid;border-width:4px;box-sizing:border-box;height:220px;left:calc(100% - 80px);pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:220px;z-index:1}.marksure-global-loader-overlay.pencil-yellow .pencil{background:#ffc334;border-bottom:10px solid #e3af38;border-top:10px solid #ffd268}.marksure-global-loader-overlay.pencil-yellow .pencil p{color:#8c5b00;text-shadow:none}.marksure-global-loader-overlay.pencil-yellow .stroke{border-left-color:#ffc334;border-top-color:#ffc334}@keyframes pencil-rotate-animate{0%{transform:translate(-50%,-50%) rotate(1turn)}to{transform:translate(-50%,-50%) rotate(0deg)}}:root{--primary-green-dark:#388e3c;--primary-green-light:#e8f5e9;--border-color:#e0e0e0}.users-page-wrapper{background-color:#f6f8fa;background-color:var(--bg-color);font-family:Inter,-apple-system,sans-serif;margin-left:var(--sidebar-layout-width);min-height:100vh;padding:calc(40px + var(--shell-top-offset)) 40px 40px}.page-header{background:#fff;background:radial-gradient(circle at top right,#ffd06647,#0000 28%),linear-gradient(135deg,#1f5a39,#3f8d58 55%,#e9f5df 160%);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);margin-bottom:30px;padding:24px 32px}.page-header h1{color:#fff;font-size:2rem;font-weight:800;letter-spacing:-.5px;margin:0 0 5px}.page-header p{color:#fff;font-size:1rem;margin:0}.modern-card{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);margin-bottom:30px;padding:24px}.form-card{max-width:800px}.card-header-row h3{align-items:center;color:#2c3e50;color:var(--text-dark);display:flex;font-size:1.2rem;gap:10px;margin:0 0 20px}.user-form{display:flex;flex-wrap:wrap;gap:20px}.form-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:200px}.form-group label{color:#2c3e50;color:var(--text-dark);font-size:.85rem;font-weight:600}.modern-input{background-color:#fff;border:1px solid #ccc;font-size:.95rem;padding:10px 12px;transition:all .2s}.modern-input:focus{border-color:#4caf50;border-color:var(--primary-green);box-shadow:0 0 0 3px #4caf501a;outline:none}.btn-primary{border-radius:6px;font-weight:600;padding:12px;transition:background .2s}.btn-primary:hover{background-color:var(--primary-green-dark)}.alert{border-radius:6px;font-size:.9rem;font-weight:500;margin-bottom:20px;padding:12px}.alert.error{background-color:#ffebee;border-left:4px solid #c62828;color:#c62828}.alert.success{background-color:#e8f5e9;border-left:4px solid #2e7d32;color:#2e7d32}.table-container{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);overflow:hidden}.modern-table{min-width:600px}.modern-table th{background:#f8f9fa;border-bottom:2px solid #eee;font-size:.8rem;font-weight:600;padding:16px 24px}.modern-table td{border-bottom:1px solid #eee;font-size:.95rem;padding:16px 24px;vertical-align:middle}.modern-table tr:hover{background-color:#fafafa}.badge.admin{background-color:#fff3e0;border-radius:4px;color:#e65100;font-size:.7rem;margin-left:8px;padding:2px 6px;vertical-align:middle}.role-pill{border-radius:12px;font-size:.75rem;font-weight:700;padding:4px 10px;text-transform:uppercase}.role-pill.admin{background-color:#fff3e0;color:#ef6c00}.role-pill.developer{background-color:#e3f2fd;color:#1565c0}.role-pill.teacher{background-color:#e8f5e9;color:#2e7d32}.role-pill.hod{background-color:#f3e5f5;color:#7b1fa2}.actions-cell{display:flex;gap:8px;justify-content:flex-end}.icon-btn{align-items:center;background:#fff;border:1px solid #eee;border-radius:6px;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.icon-btn:disabled{cursor:not-allowed;opacity:.5}.icon-btn.edit:hover:not(:disabled){background:#e3f2fd;border-color:#1976d2;color:#1976d2}.icon-btn.key:hover{background:#fff3e0;border-color:#ef6c00;color:#ef6c00}.icon-btn.delete:hover{background:#ffebee;border-color:#d32f2f;color:#d32f2f}.loading-state{color:#7f8c8d;color:var(--text-light);padding:40px;text-align:center}@media (max-width:900px){.users-page-wrapper{margin-left:0;padding:var(--shell-top-offset-mobile) 20px 20px}.modern-table{display:block;overflow-x:auto}}:root{--card-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.hod-dashboard{background-color:#f6f8fa;background-color:var(--bg-color);font-family:Inter,sans-serif;margin-left:var(--sidebar-layout-width);min-height:100vh;padding:calc(40px + var(--shell-top-offset)) 40px 40px}body.hide-sidebar .hod-dashboard{margin-left:0!important}.dashboard-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);display:flex;justify-content:space-between;margin-bottom:40px;padding:20px 30px}.dashboard-header h1{color:#2c3e50;color:var(--text-dark);font-size:2rem;margin:0 0 5px}.dashboard-header .subtitle{color:#7f8c8d;color:var(--text-light);margin:0}.header-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px;max-width:100%}.header-actions-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.header-actions-secondary{max-width:100%}.action-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#2c3e50;color:var(--text-dark);cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s;width:-webkit-fit-content;width:fit-content}.action-btn:hover{background:#f5f5f5;transform:translateY(-2px)}.modern-input{background:#fff;border:1px solid #d9d9d9;border-radius:6px;color:#2c3e50;color:var(--text-dark);padding:8px 10px}.insights-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.insight-card{background:#fff;border-left:4px solid #ccc;border-radius:10px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);display:flex;gap:15px;padding:20px}.insight-card.warning{background:#fff3e0;border-color:#ff9800}.insight-card.success{background:#e8f5e9;border-color:#4caf50}.insight-card.info{background:#e3f2fd;border-color:#2196f3}.insight-icon{align-items:center;color:inherit;display:flex}.insight-card h3{font-size:1rem;margin:0 0 5px}.insight-card p{color:#555;font-size:.9rem;margin:0}.stats-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:30px}.stat-card{background:#fff;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);gap:20px;padding:24px}.stat-card,.stat-icon-wrapper{align-items:center;border-radius:12px;display:flex}.stat-icon-wrapper{height:50px;justify-content:center;width:50px}.stat-icon-wrapper.blue{background:#e3f2fd;color:#1976d2}.stat-icon-wrapper.green{background:#e8f5e9;color:#2e7d32}.stat-icon-wrapper.orange{background:#fff3e0;color:#f57c00}.stat-content h3{color:#2c3e50;color:var(--text-dark);font-size:2rem;margin:0}.stat-content p{color:#7f8c8d;color:var(--text-light);font-size:.9rem;margin:0}.class-badge{background:#eef7ff;border-radius:8px;color:#1a73e8;display:inline-block;font-size:.8rem;margin-left:8px;padding:4px 8px}.class-inline{color:#666;font-size:.85rem;margin-left:8px}.charts-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:30px}.chart-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);padding:24px}.chart-card.full-width{grid-column:1/-1}.chart-card h3{color:#2c3e50;color:var(--text-dark);font-size:1.2rem;margin:0 0 20px}.tables-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:30px}.table-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);overflow:hidden}.card-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:20px}.card-header h3{color:#2c3e50;color:var(--text-dark);font-size:1.1rem;margin:0}.modern-table{border-collapse:collapse;width:100%}.modern-table th{color:#7f8c8d;color:var(--text-light);font-size:.85rem;padding:15px 20px;text-align:left;text-transform:uppercase}.modern-table td{border-bottom:1px solid #f0f0f0;color:#2c3e50;color:var(--text-dark);padding:15px 20px}.modern-table tr:last-child td{border-bottom:none}.rank-badge{background:#e8f5e9;border-radius:4px;color:#2e7d32;font-size:.85rem;font-weight:700;padding:4px 8px}.priority-badge{border-radius:12px;font-size:.75rem;font-weight:700;padding:4px 10px;text-transform:uppercase}.priority-badge.high{background:#ffebee;color:#c62828}.priority-badge.med{background:#fff3e0;color:#ef6c00}.highlight-text{color:#4caf50;color:var(--primary-green);font-weight:700}.danger-text{color:#c62828;font-weight:700}.detailed-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);padding:24px}.detailed-section h3{color:#2c3e50;color:var(--text-dark);margin:0 0 20px}.support-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.support-card{border:1px solid #e0e0e0;border-radius:8px;padding:15px}.support-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.support-header h4{color:#2c3e50;color:var(--text-dark);font-size:1rem;margin:0}.count-badge{background:#ffebee;border-radius:10px;color:#c62828;font-size:.75rem;font-weight:600;padding:2px 8px}.student-list{max-height:200px;overflow-y:auto}.student-row{border-bottom:1px dashed #f0f0f0;display:flex;font-size:.9rem;justify-content:space-between;padding:8px 0}.student-row:last-child{border-bottom:none}.student-row .score{color:#c62828;font-weight:600}.rewards-section{background:linear-gradient(180deg,#fffdf7,#fff);border:1px solid #f0e6c8;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;box-shadow:var(--card-shadow);margin-bottom:30px;padding:28px}.rewards-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px}.rewards-section-header h2{color:#6d4c41;font-size:1.45rem;margin:0}.rewards-section-header p{color:#7a6d5a;margin:6px 0 0}.rewards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.reward-card{background:#fff;border:1px solid #efe2c7;border-radius:12px;padding:16px}.rewards-top-ten{margin-top:28px}@media (max-width:900px){.hod-dashboard{margin-left:0;padding:var(--shell-top-offset-mobile) 20px 20px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:15px}.header-actions{align-items:flex-start;width:100%}.header-actions-row{justify-content:flex-start}}@media print{.hod-dashboard{margin:0;padding:0}.no-print{display:none!important}.chart-card,.stat-card,.table-card{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}.hod-dashboard{--hod-ink:#183326;--hod-muted:#637568;--hod-green:#2f8f53;--hod-border:#dce8df;background:radial-gradient(circle at 92% 2%,#e3f1d7 0,#0000 26%),#f6f8f5;color:var(--hod-ink);padding:92px 30px 48px}body.hide-sidebar .hod-dashboard{padding-left:30px}.dashboard-header{background:radial-gradient(circle at 92% 0,#86ba6c 0,#0000 30%),linear-gradient(125deg,#153c2a,#2f8f53);border:0;border-radius:24px;box-shadow:0 18px 40px #1738252e;color:#fff;margin-bottom:26px;overflow:hidden;padding:30px 32px;position:relative}.dashboard-header:after{border:35px solid #ffffff14;border-radius:50%;bottom:-180px;content:"";height:260px;position:absolute;right:-105px;width:260px}.dashboard-header>*{position:relative;z-index:1}.dashboard-header h1{color:#fff;font-size:clamp(1.85rem,3vw,2.6rem);letter-spacing:-.045em}.dashboard-header .subtitle{color:#dcefe2;font-size:.95rem}.header-actions{gap:9px}.header-actions-row{gap:7px}.action-btn{background:#ffffff21;border:1px solid #ffffff61;border-radius:9px;box-shadow:none;color:#fff;font-size:.78rem;min-height:38px;padding:8px 12px!important}.action-btn:hover{background:#ffffff40;transform:translateY(-1px)}.modern-input{background:#fffffff0;border:1px solid #ffffff59;border-radius:9px;min-height:38px}.charts-section,.insights-grid,.stats-cards,.tables-grid{gap:18px;margin-bottom:24px}.insight-card{border:1px solid var(--hod-border);border-left-width:4px;border-radius:16px;box-shadow:0 8px 22px #1738250d;padding:18px}.chart-card,.detailed-section,.stat-card,.table-card{border:1px solid var(--hod-border);border-radius:18px;box-shadow:0 10px 25px #1738250f}.stat-card{padding:21px}.stat-icon-wrapper{border-radius:14px;height:48px;width:48px}.stat-content h3{color:var(--hod-ink);font-size:1.8rem;letter-spacing:-.04em}.dashboard-header .subtitle,.stat-content p{font-weight:500}.chart-card{padding:22px}.card-header h3,.chart-card h3,.detailed-section h3{color:var(--hod-ink)}.chart-card.full-width{border-color:#cfe5d5}.table-card{overflow:auto}.card-header{background:#f3f8f3;border-bottom-color:var(--hod-border);padding:17px 20px}.modern-table th{background:#f8fbf8;color:var(--hod-muted);font-size:.72rem;letter-spacing:.05em;padding:12px 16px}.modern-table td{border-bottom-color:#eaf0ec;padding:13px 16px}.reward-card,.support-card{border-color:var(--hod-border);border-radius:14px;box-shadow:none}.rewards-section{border-radius:20px;box-shadow:0 10px 25px #1738250f}@media (max-width:900px){.hod-dashboard,body.hide-sidebar .hod-dashboard{padding:var(--shell-top-offset-mobile) 14px 30px}.dashboard-header{border-radius:18px;padding:24px 20px}.header-actions-row{width:100%}.header-actions-row .action-btn{flex:1 1;justify-content:center}.header-actions-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions-secondary .modern-input{min-width:0;width:100%!important}}@media (max-width:560px){.charts-section,.insights-grid,.stats-cards,.tables-grid{gap:12px;grid-template-columns:1fr}.chart-card,.detailed-section,.stat-card{border-radius:14px}.header-actions-secondary{grid-template-columns:1fr 1fr}.header-actions-secondary .action-btn{grid-column:span 1}.header-actions-secondary .action-btn:last-child{grid-column:span 2}}.developer-dashboard{--ink:#173428;--muted:#718076;--line:#dbe7df;--green:#28794a;background:#f6f9f6;box-sizing:border-box;color:var(--ink);font-family:Inter,system-ui,sans-serif;margin-left:var(--sidebar-layout-width);min-height:100vh;padding:92px 30px 45px}.developer-hero{align-items:center;background:radial-gradient(circle at 82% 0,#80b96d,#0000 30%),linear-gradient(125deg,#133b2a,#28794a);border-radius:24px;color:#fff;display:flex;gap:20px;justify-content:space-between;margin-bottom:25px;padding:30px 34px}.developer-hero p,.workspace-heading p{color:#a9dec0;font-size:.72rem;font-weight:800;letter-spacing:.1em;margin:0 0 7px;text-transform:uppercase}.developer-hero h1{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.05em;margin:0}.developer-hero span{color:#e3f2e8;display:block;margin-top:9px}.developer-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:270px minmax(0,1fr)}.developer-workspace,.school-panel,.selection-empty{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 30px #1b3e2a0b}.school-panel{padding:17px;position:-webkit-sticky;position:sticky;top:88px}.panel-heading,.toolbar,.toolbar>div:last-child,.workspace-heading,.workspace-heading>div:last-child{align-items:center;display:flex;gap:9px;justify-content:space-between}.panel-heading h2,.toolbar h3,.workspace-heading h2{letter-spacing:-.03em;margin:0}.icon-button{background:var(--green);border:0;border-radius:9px;color:#fff;cursor:pointer;font-size:1.3rem;height:30px;width:30px}.search-input,input,select{background:#fff;border:1px solid #ceddd3;border-radius:9px;box-sizing:border-box;color:var(--ink);font:inherit;font-size:.82rem;padding:10px}.search-input{background:#f8fbf8;margin:13px 0;width:100%}.compact-form,.user-form{grid-gap:8px;display:grid;gap:8px}.compact-form{background:#eaf6ee;border-radius:12px;margin:12px 0;padding:11px}.school-list{grid-gap:6px;display:grid;gap:6px;max-height:60vh;overflow:auto}.school-choice{grid-gap:3px;background:#0000;border:1px solid #0000;border-radius:11px;color:var(--ink);cursor:pointer;display:grid;gap:3px;padding:11px;text-align:left}.school-choice:hover{background:#f2f8f3}.school-choice.is-selected{background:#eaf6ee;border-color:#b8dfc5}.hod-list small,.school-choice small,.user-table small{color:var(--muted);font-size:.7rem}.selection-empty{display:grid;min-height:390px;padding:30px;place-content:center;text-align:center}.selection-empty span{color:var(--green);font-size:2.2rem}.selection-empty h2{margin:10px}.selection-empty p{color:var(--muted);margin:0}.developer-workspace{padding:25px}.workspace-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.workspace-heading p{color:var(--green)}.toolbar p,.workspace-heading span{color:var(--muted);font-size:.8rem}.developer-button{background:var(--green);border:0;border-radius:9px;color:#fff;cursor:pointer;font:700 .76rem inherit;padding:10px 12px}.developer-button--quiet{background:#fff;border:1px solid #b9d7c3;color:#246541}.developer-button--danger{background:#b83d34}.summary-grid{grid-gap:11px;display:grid;gap:11px;grid-template-columns:repeat(4,1fr);margin:21px 0}.summary-grid article{background:#fbfdfb;border:1px solid var(--line);border-radius:13px;padding:14px}.summary-grid span{color:var(--muted);display:block;font-size:.72rem}.summary-grid strong{display:block;font-size:1.45rem;margin-top:5px}.is-danger{color:#bd392e}.developer-tabs{background:#edf4ef;border-radius:11px;display:flex;gap:4px;margin-bottom:17px;padding:4px;width:-webkit-max-content;width:max-content}.developer-tabs button{background:#0000;border:0;border-radius:8px;color:#607267;cursor:pointer;font-weight:700;padding:8px 11px}.developer-tabs .is-active{background:#fff;box-shadow:0 2px 8px #18332614;color:#1b633a}.management-card{border:1px solid var(--line);border-radius:16px;padding:18px}.toolbar{margin-bottom:14px}.toolbar p{margin:4px 0 0}.user-form{background:#f3f8f4;grid-template-columns:repeat(3,1fr);margin-bottom:13px}.import-panel,.user-form{border-radius:12px;padding:13px}.import-panel{align-items:center;background:#fff8ea;display:flex;font-size:.78rem;gap:12px;margin-bottom:12px}.user-table-wrap{overflow:auto}.user-table{border-collapse:collapse;min-width:700px;width:100%}.user-table th{border-bottom:1px solid var(--line);color:var(--muted);font-size:.68rem;padding:10px 8px;text-align:left;text-transform:uppercase}.user-table td{border-bottom:1px solid #edf2ee;font-size:.79rem;padding:13px 8px}.user-table b,.user-table small{display:block}.user-table small{margin-top:3px}.plan-badge,.role-badge{background:#edf4ef;border:0;border-radius:99px;color:#2e6947;font-weight:750;padding:4px 8px;text-transform:capitalize}.role-badge{cursor:pointer}.plan-badge.is-expired{background:#fbeae8;color:#aa3c31}.row-actions{white-space:nowrap}.danger-link,.row-actions button{background:#0000;border:0;color:#347454;cursor:pointer;font-weight:700}.danger-link,.row-actions .danger-link{color:#b43e34}.assignment-form{grid-gap:12px;align-items:end;background:#f5f8f6;border-radius:13px;display:grid;gap:12px;grid-template-columns:1fr 2fr auto;padding:14px}.assignment-form label{grid-gap:5px;display:grid;font-size:.72rem;font-weight:750;gap:5px}.assignment-form select[multiple]{height:95px}.hod-list{grid-gap:10px;display:grid;gap:10px;margin-top:16px}.hod-list article{align-items:center;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:11px;padding:13px}.hod-list article>div:first-child{margin-right:auto}.assignment-tags{display:flex;flex-basis:100%;flex-wrap:wrap;gap:6px}.assignment-tags span{background:#eaf6ee;border-radius:8px;color:#286440;font-size:.72rem;padding:5px 7px}.assignment-tags button{background:#0000;border:0;color:#a33c33;cursor:pointer;font-size:1rem}.empty-note{color:var(--muted);font-size:.82rem;text-align:center}.developer-loading{color:var(--green);display:grid;font-weight:700;min-height:100vh;place-items:center}@media(max-width:900px){.developer-dashboard{margin-left:0;padding:78px 15px 30px}.developer-layout{grid-template-columns:1fr}.school-panel{position:static}.school-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));max-height:none}.summary-grid{grid-template-columns:repeat(2,1fr)}.developer-hero,.toolbar,.workspace-heading{align-items:flex-start;flex-direction:column}.assignment-form,.user-form{grid-template-columns:1fr}}@media(max-width:520px){.developer-hero{padding:24px 19px}.developer-workspace{padding:15px}.import-panel{align-items:flex-start;flex-direction:column}.developer-tabs{box-sizing:border-box;width:100%}.developer-tabs button{flex:1 1}}@media(max-width:600px){.developer-dashboard{padding:70px 10px 24px}.developer-hero{align-items:stretch;border-radius:18px;padding:23px 19px}.developer-hero .developer-button{width:100%}.developer-workspace,.school-panel{border-radius:16px;padding:14px}.school-list{grid-template-columns:1fr 1fr}.summary-grid{gap:8px;margin:16px 0}.summary-grid article{padding:11px}.summary-grid strong{font-size:1.25rem}.toolbar>div:last-child,.workspace-heading>div:last-child{display:flex;gap:8px;width:100%}.toolbar>div:last-child .developer-button,.workspace-heading>div:last-child .developer-button{flex:1 1}.management-card{padding:13px}.user-table-wrap{margin-inline:-13px;overscroll-behavior-inline:contain;padding-inline:13px}.user-table{min-width:640px}.user-table td,.user-table th{padding:10px 7px}.import-panel{align-items:stretch}.assignment-form .developer-button{width:100%}.hod-list article{align-items:flex-start;flex-direction:column}.search-input{min-height:42px}.user-table-wrap{margin:0;overflow:visible;padding:0}.user-table{border-collapse:initial;border-spacing:0 10px;min-width:0}.user-table thead{display:none}.user-table,.user-table tbody,.user-table td,.user-table tr{box-sizing:border-box;display:block;width:100%}.user-table tr{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px}.user-table td{grid-gap:8px;align-items:center;border:0;display:grid;gap:8px;grid-template-columns:94px minmax(0,1fr);padding:7px 0}.user-table td:before{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.user-table td:first-child:before{content:"User"}.user-table td:nth-child(2):before{content:"Role"}.user-table td:nth-child(3):before{content:"Plan"}.user-table td:nth-child(4):before{content:"Last access"}.user-table td:nth-child(5):before{content:"Actions"}.user-table td small{grid-column:2}.user-table .row-actions{display:flex;gap:14px;grid-template-columns:94px 1fr}.user-table .row-actions button{justify-self:start}.user-table .row-actions:before{align-self:center}.user-table td:nth-child(4){font-size:.74rem;word-break:break-word}}.developer-activity .developer-hero a{text-decoration:none;white-space:nowrap}.developer-activity .activity-filters{grid-gap:14px;background:#f5f9f6;border:1px solid var(--line);border-radius:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px}.developer-activity .activity-filters label{display:flex;flex-direction:column;font-size:.78rem;font-weight:700;gap:7px}.developer-activity .activity-filters input,.developer-activity .activity-filters select{min-height:42px;min-width:0;width:100%}.developer-activity .activity-filter-actions{align-items:flex-end;display:flex;gap:8px}.developer-activity .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-explanation{color:#607267;font-size:.8rem;line-height:1.6;max-width:900px}.activity-table-wrap{border:1px solid #dbe7df;border-radius:12px;min-height:150px;overflow-x:auto}.activity-table{border-collapse:collapse;min-width:760px;text-align:left;width:100%}.activity-table th{background:#f5f9f6;color:#607267;font-size:.72rem;letter-spacing:.04em;padding:13px;text-transform:uppercase}.activity-table td{border-top:1px solid #edf2ee;font-size:.82rem;line-height:1.5;padding:15px 13px}.activity-table td:first-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.activity-table small{color:#718076;display:block}.activity-badge{background:#edf2ee;border-radius:20px;color:#3e594a;display:inline-block;font-size:.72rem;padding:4px 9px;white-space:nowrap}.activity-badge--login{background:#e0f4e7;color:#216b3c}.activity-badge--logout{background:#fff0df;color:#855c22}.activity-badge--feature_request{background:#e9edff;color:#4b568a}.activity-pagination{align-items:center;color:#607267;display:flex;font-size:.76rem;gap:12px;justify-content:space-between;margin-top:16px}.activity-pagination>div{display:flex;gap:8px}.activity-error{background:#fff3f1;border:1px solid #e7c3bd;border-radius:10px;color:#9e3426;padding:14px}.developer-activity button:disabled{cursor:default;opacity:.5}.developer-activity a:focus-visible,.developer-activity button:focus-visible{outline:3px solid #80b96d;outline-offset:3px}@media(max-width:900px){.developer-activity .activity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.developer-activity .activity-filters{grid-template-columns:1fr;padding:12px}.developer-activity .summary-grid{grid-template-columns:1fr}.activity-pagination{align-items:flex-start;flex-direction:column}}:root{--primary-green:#4caf50;--dark-green:#388e3c;--light-green:#e8f5e9;--text-dark:#2c3e50;--text-light:#7f8c8d;--bg-color:#f6f8fa;--card-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.sub-wrapper{background-color:#f6f8fa;background-color:var(--bg-color);display:flex;font-family:Inter,-apple-system,sans-serif;justify-content:center;min-height:100vh;padding:20px}.sub-container{max-width:900px;width:100%}.header-section{margin-bottom:40px}.header-section.center{text-align:center}.header-section h1{color:#2c3e50;color:var(--text-dark);font-size:2.5rem;font-weight:800;margin:0 0 10px}.header-section p{color:#7f8c8d;color:var(--text-light);font-size:1.1rem;margin:0}.plans-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.plan-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--card-shadow);display:flex;flex-direction:column;padding:40px 30px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.plan-card:hover{box-shadow:0 20px 30px -10px #00000026;transform:translateY(-8px)}.plan-card.highlight{background-color:#fff;border:2px solid #4caf50;border:2px solid var(--primary-green)}.popular-badge{background:#4caf50;background:var(--primary-green);border-radius:20px;box-shadow:0 4px 6px #4caf504d;color:#fff;font-size:.85rem;font-weight:700;left:50%;letter-spacing:.5px;padding:6px 16px;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%)}.plan-header{border-bottom:1px solid #f0f0f0;margin-bottom:30px;padding-bottom:30px;text-align:center}.plan-header h2{font-size:1.5rem;margin:0 0 15px}.plan-header h2,.price-wrapper{color:#2c3e50;color:var(--text-dark)}.price-wrapper{align-items:baseline;display:flex;justify-content:center}.currency{font-size:1.5rem;font-weight:600;margin-right:2px}.amount{font-size:3.5rem;font-weight:800;line-height:1}.period{color:#7f8c8d;color:var(--text-light);font-size:1rem;font-weight:500}.feature-list{flex-grow:1;list-style:none;margin:0 0 30px;padding:0}.feature-list li{align-items:center;color:#2c3e50;color:var(--text-dark);display:flex;font-size:1rem;margin-bottom:15px}.btn-primary{background-color:#4caf50;background-color:var(--primary-green);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:16px;transition:all .2s ease}.btn-primary:hover{background-color:#388e3c;background-color:var(--dark-green);transform:translateY(-1px)}.btn-primary.outline{background-color:#e8f5e9;background-color:var(--light-green);color:#4caf50;color:var(--primary-green)}.btn-primary.outline:hover{background-color:#dcedc8;color:#388e3c;color:var(--dark-green)}.full-width{width:100%}.registration-card{background:#fff;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--card-shadow);max-width:500px;padding:40px;width:100%}.modern-form{gap:20px}.input-group,.modern-form{display:flex;flex-direction:column}.input-group{gap:8px;text-align:left}.input-group label{color:#2c3e50;color:var(--text-dark);font-size:.9rem;font-weight:600}.input-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .2s}.input-group input:focus{border-color:#4caf50;border-color:var(--primary-green);outline:none}.bottom-link{color:#7f8c8d;color:var(--text-light);margin-top:40px;text-align:center}.bottom-link a,.login-link a{color:#4caf50;color:var(--primary-green);font-weight:600;text-decoration:none}.bottom-link a:hover{text-decoration:underline}.alert-banner{border-radius:8px;font-weight:600;margin-bottom:30px;padding:15px;text-align:center}.alert-banner.error{background-color:#ffebee;border:1px solid #ef9a9a;color:#c62828}@media (max-width:600px){.header-section h1{font-size:2rem}.plan-card{padding:30px 20px}.amount{font-size:2.8rem}}.terms-section{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--card-shadow);margin-bottom:30px;padding:20px}.terms-checkbox{align-items:flex-start;display:flex;gap:12px}.terms-checkbox input[type=checkbox]{accent-color:#4caf50;accent-color:var(--primary-green);height:18px;margin-top:4px;width:18px}.terms-checkbox label{color:#2c3e50;color:var(--text-dark);flex:1 1;font-size:.95rem;line-height:1.5;margin:0}.link-button{background:none;border:none;color:#4caf50;color:var(--primary-green);cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-decoration:underline}.link-button:hover{color:#388e3c;color:var(--dark-green)}.btn-primary.disabled,.btn-primary.disabled:hover{background-color:#ccc;cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#2c3e50;color:var(--text-dark);font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;color:#7f8c8d;color:var(--text-light);cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{color:#2c3e50;color:var(--text-dark)}.modal-body{line-height:1.6;padding:24px}.modal-body h3{color:#2c3e50;color:var(--text-dark);font-size:1.2rem;margin-bottom:12px;margin-top:24px}.modal-body h3:first-child{margin-top:0}.modal-body ul{margin:12px 0;padding-left:20px}.modal-body li{margin-bottom:8px}.modal-body p{margin-bottom:16px}.modal-footer{border-top:1px solid #e0e0e0;padding:20px 24px;text-align:right}.btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#2c3e50;color:var(--text-dark);cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px}.btn-secondary:hover{background-color:#e8e8e8}.login-wrapper:has(.settings-content){align-items:flex-start;background:radial-gradient(circle at 88% 2%,#e3f1d7 0,#0000 25%),#f6f8f5;box-sizing:border-box;margin-left:var(--sidebar-layout-width);min-height:100vh;padding:92px 30px 48px}.login-card:has(.settings-content){animation:none;background:#0000;border:0;box-shadow:none;max-width:900px!important;padding:0}.login-card:has(.settings-content) .brand-section{background:radial-gradient(circle at 88% 0,#85b96e 0,#0000 31%),linear-gradient(125deg,#153c2a,#2f8f53);border-radius:24px;box-shadow:0 18px 40px #17382826;color:#fff;margin:0 0 22px;padding:31px 33px;text-align:left}.login-card:has(.settings-content) .brand-section h1{color:#fff;font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-.045em}.login-card:has(.settings-content) .brand-section p{color:#dcefe2}.settings-content{grid-gap:18px;display:grid;gap:18px}.settings-content .setting-group{background:#fff;border:1px solid #dce8df!important;border-radius:18px!important;box-shadow:0 10px 25px #1738280d;box-sizing:border-box!important;margin:0!important;padding:24px!important}.settings-content .setting-group h3{color:#183326!important;font-size:1.1rem;letter-spacing:-.025em}.settings-content .setting-group>p{color:#637568!important;line-height:1.55}.settings-content .setting-group label{border:1px solid #dce8df;border-radius:12px;flex:1 1;padding:13px}.settings-content .setting-group input[type=radio]{accent-color:#2f8f53}.settings-content .setting-group>div:last-child{background:#f7faf7!important;border-color:#e0ebe2!important;border-radius:13px!important}.settings-content .setting-group>div:last-child>div>div{border-color:#e0ebe2!important;border-radius:9px!important}.settings-content .setting-group a{background:#256541!important;border-radius:9px!important}.settings-content>div:last-child{background:#edf5ef!important;border:1px solid #dce8df;border-radius:13px!important;padding:15px!important}.login-card:has(.settings-content) .login-footer{background:#0000;border:0;margin-top:20px;padding:18px}.login-card:has(.settings-content) .login-footer a{color:#256541}@media(max-width:900px){.login-wrapper:has(.settings-content){margin-left:0;padding:var(--shell-top-offset-mobile) 14px 30px}.login-card:has(.settings-content) .brand-section{border-radius:18px;padding:25px 21px}}@media(max-width:560px){.login-wrapper:has(.settings-content){padding-inline:10px}.settings-content .setting-group{border-radius:14px!important;padding:17px!important}.settings-content .setting-group>div:first-of-type{flex-direction:column;gap:9px!important}.settings-content .setting-group label{box-sizing:border-box;width:100%}.settings-content .setting-group>div:last-child>div{grid-template-columns:repeat(4,1fr)!important}}.export-marks-page{box-sizing:border-box;margin-left:var(--sidebar-width);min-height:calc(100vh - 64px);padding:var(--shell-top-offset-desktop) 24px 48px;width:calc(100% - var(--sidebar-width))}.export-marks-shell{margin:0 auto}.export-empty-state,.export-header-card,.export-toolbar,.grade-block{background:#fffffff5;border:1px solid #223c2914;box-shadow:0 10px 26px #1226190f}.export-header-card{background:radial-gradient(circle at top right,#ffd06647,#0000 28%),linear-gradient(135deg,#1f5a39,#3f8d58 55%,#e9f5df 160%);border-radius:20px;display:flex;flex-direction:column;margin-bottom:16px;padding:24px}.export-header-copy{min-width:0}.export-eyebrow{color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.export-header-card h1{color:#fff;font-size:clamp(1rem,1.9vw,2.8rem);margin:0}.export-subtitle{color:#fff;line-height:1.5;margin:8px 0 0}.export-actions{display:flex;justify-content:flex-end}.class-select-all,.export-primary-btn,.export-secondary-btn,.toolbar-refresh{align-items:center;border:none;border-radius:14px;cursor:pointer;display:inline-flex;font-weight:700;gap:10px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.export-primary-btn{align-items:center;box-shadow:0 14px 28px #1f7a443d;color:#aeaeae;display:inline-flex;gap:10px;padding:14px 18px}.class-select-all,.export-secondary-btn,.toolbar-refresh{background:#f4f7f5;border:1px solid #23402d1f;color:#23402d;padding:12px 16px}.export-primary-btn:hover{color:#000}.class-select-all:hover,.export-primary-btn:hover,.export-secondary-btn:hover,.toolbar-refresh:hover{transform:translateY(-1px)}.export-primary-btn:disabled,.toolbar-refresh:disabled{cursor:not-allowed;opacity:.6;transform:none}.export-toolbar{align-items:center;background:#fff;border:1px solid #223c291a;border-radius:16px;box-shadow:0 4px 20px #1232230d;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px;padding:14px 20px}.toolbar-field{color:#3a5142;display:flex;flex-direction:column;font-weight:600;gap:4px;min-width:140px}.toolbar-label{color:#1f7455;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.toolbar-select-wrapper{align-items:center;display:flex;position:relative}.toolbar-field select{appearance:none;-webkit-appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f7455' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px 14px;border:1.5px solid #d0ded6;border-radius:10px;box-shadow:0 1px 3px #123c320a;color:#17301f;cursor:pointer;font-size:.92rem;font-weight:700;height:44px;padding:0 36px 0 14px;transition:all .18s ease;width:100%}.toolbar-field select:hover{background-color:#fafcfb;border-color:#84b99b}.toolbar-field select:focus{border-color:#1f7455;box-shadow:0 0 0 3px #1f745526;outline:none}.toolbar-summary{flex-wrap:wrap}.toolbar-summary,.toolbar-summary-card{align-items:center;display:flex;gap:12px}.toolbar-summary-card{background:#f8faf9;border:1px solid #e2ede6;border-radius:12px;color:#355041;min-width:165px;padding:8px 16px;transition:all .18s ease}.toolbar-summary-card.has-selection{background:#eef8f1;border-color:#b2dbbf}.summary-card-icon{background:#eef5f1;border-radius:10px;color:#1f7455;display:grid;flex-shrink:0;height:36px;place-items:center;transition:all .18s ease;width:36px}.toolbar-summary-card.has-selection .summary-card-icon{background:#1f7455;color:#fff}.summary-card-body{display:flex;flex-direction:column;line-height:1.15}.summary-card-body strong{color:#123c32;font-size:1.25rem;font-weight:800}.toolbar-summary-card.has-selection .summary-card-body strong{color:#1f7455}.summary-card-body small{color:#5d7568;font-size:.78rem;font-weight:600;white-space:nowrap}.toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-left:auto}.toolbar-mark-toggle{align-items:center;background:#f8faf9;border:1px solid #e2ede6;border-radius:10px;box-sizing:border-box;color:#1f3629;cursor:pointer;display:flex;gap:10px;height:44px;padding:8px 14px;transition:all .18s ease;-webkit-user-select:none;user-select:none}.toolbar-mark-toggle:hover{background:#fff;border-color:#9ccdb0}.toolbar-mark-toggle.is-checked{background:#eef8f1;border-color:#9ccdb0}.toolbar-mark-toggle input{accent-color:#1f7455;cursor:pointer;flex-shrink:0;height:17px;margin:0;width:17px}.toolbar-mark-toggle span{display:flex;flex-direction:column;gap:1px;line-height:1.15}.toolbar-mark-toggle strong{color:#123c32;font-size:.82rem;font-weight:700}.toolbar-mark-toggle small{color:#647a6d;font-size:.72rem;font-weight:500}.toolbar-export-btn{align-items:center;background:linear-gradient(135deg,#1f7455,#154c37);border:1px solid #ffffff1f;border-radius:10px;box-shadow:0 2px 8px #1f745547;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:700;gap:8px;height:44px;padding:0 18px;transition:all .18s ease;white-space:nowrap}.toolbar-export-btn:hover:not(:disabled){background:linear-gradient(135deg,#258a66,#1a5e44);box-shadow:0 4px 14px #1f745561;transform:translateY(-1px)}.toolbar-export-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.toolbar-refresh{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-sizing:border-box;color:#1e3a2b;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:700;gap:8px;height:44px;padding:0 16px;transition:all .18s ease;white-space:nowrap}.toolbar-refresh:hover:not(:disabled){background:#f1f7f3;border-color:#1f7455;color:#1f7455;transform:translateY(-1px)}.toolbar-refresh svg{transition:transform .4s ease}.toolbar-refresh:hover:not(:disabled) svg{transform:rotate(180deg)}.assessment-weights-panel{background:linear-gradient(180deg,#1f7a440a,rgba(31,122,68,.015));border:1px solid #1f7a441a;border-radius:16px;margin-top:14px;padding:14px}.assessment-weights-panel[open]{background:linear-gradient(180deg,#1f7a440d,#1f7a4405)}.assessment-weights-summary{cursor:pointer;list-style:none}.assessment-weights-summary::-webkit-details-marker{display:none}.assessment-weights-summary span{grid-gap:4px;color:#24402b;display:grid;gap:4px}.assessment-weights-summary strong{font-size:.95rem}.assessment-weights-summary small{color:#65786c}.assessment-weight-list{grid-gap:10px;display:grid;gap:10px}.assessment-weight-list.disabled{opacity:.6}.assessment-scale-toggle{align-items:flex-start;background:#ffffffe0;border:1px solid #23402d14;border-radius:12px;color:#24402b;cursor:pointer;display:flex;gap:12px;margin-bottom:12px;padding:10px 12px}.assessment-scale-toggle.active{background:#1f7a4414;border-color:#1f7a4433}.assessment-scale-toggle input{accent-color:#1f7a44;height:16px;margin:2px 0 0;width:16px}.assessment-scale-toggle span{grid-gap:2px;display:grid;gap:2px}.assessment-scale-toggle small{color:#66796d;font-size:.8rem}.assessment-weight-row{align-items:center;background:#ffffffd9;border:1px solid #23402d14;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.assessment-weight-row span{grid-gap:2px;display:grid;gap:2px}.assessment-weight-row small{color:#66796d;font-size:.8rem}.assessment-weight-row input{background:#fff;border:1px solid #23402d24;border-radius:12px;color:#17301f;font:inherit;padding:10px 12px;text-align:center;width:96px}.export-empty-state,.export-error,.export-loading{border-radius:18px;color:#284131;margin-bottom:18px;padding:20px}.export-error{background:#d32f2f14;border:1px solid #d32f2f2e;color:#8a1f1f}.export-empty-state,.export-loading{align-items:center;display:flex;justify-content:center;min-height:220px;text-align:center}.grade-block{background:#fff;border:1px solid #223c2917;border-radius:20px;box-shadow:0 4px 20px #1232230a;margin-bottom:22px;padding:20px 24px}.grade-block-header{align-items:center;border-bottom:1px solid #23402d14;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}.grade-block-title-group{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.grade-badge-tag{background:linear-gradient(135deg,#1f7455,#17523c);border-radius:10px;box-shadow:0 2px 6px #1f745538;color:#fff;font-size:.95rem;font-weight:800;letter-spacing:-.01em;padding:6px 14px}.grade-class-pill{background:#eef5f0;border:1px solid #27523c1f;border-radius:10px;color:#27523c}.grade-class-pill,.grade-selected-pill{font-size:.82rem;font-weight:700;padding:6px 12px}.grade-selected-pill{background:#dcf5e7;border:1px solid #125e3638;border-radius:10px;color:#125e36}.grade-block-actions{align-items:center;display:flex;gap:8px}.grade-select-all-btn{align-items:center;background:#fff;border:1.5px solid #d4e2d8;border-radius:10px;color:#244432;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:6px;padding:7px 14px;transition:all .18s ease}.grade-select-all-btn:hover{background:#f0f7f3;border-color:#1f7455;color:#1f7455;transform:translateY(-1px)}.grade-select-all-btn.active{background:#eef8f2;border-color:#2f8f53;color:#1a633a}.export-class-grid{display:flex;flex-direction:column;gap:14px}.class-card{background:#fff;border:1.5px solid #e1ede5;border-radius:16px;box-shadow:0 3px 12px #12322308;overflow:hidden;transition:all .2s cubic-bezier(.16,1,.3,1)}.class-card:hover{border-color:#bcdcc5;box-shadow:0 8px 24px #12322312}.class-card.selected{border-color:#2f8f53;box-shadow:0 8px 26px #1f7a441f}.class-card-head{align-items:center;background:#fff;cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:14px 18px;transition:background .15s ease;-webkit-user-select:none;user-select:none}.class-card:hover .class-card-head{background:#fafdfb}.class-card.selected .class-card-head{background:#f7fbf8;border-bottom:1px solid #2f8f531f}.class-card-primary{align-items:center;display:flex;gap:14px;min-width:0}.class-toggle{align-items:center;cursor:pointer;display:flex;position:relative}.class-toggle input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.custom-checkbox-box{align-items:center;background:#fff;border:2px solid #a8c1b2;border-radius:7px;color:#fff;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:all .18s ease;width:22px}.class-toggle:hover .custom-checkbox-box{background:#f5fbf7;border-color:#1f7455}.custom-checkbox-box.checked{background:#1f7455;border-color:#1f7455;box-shadow:0 2px 6px #1f745547;color:#fff}.custom-checkbox-box svg{stroke:#fff;stroke-width:2.5;height:14px;width:14px}.class-icon-avatar{align-items:center;background:#eef6f1;border:1px solid #1f745524;border-radius:12px;color:#1f7455;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.class-icon-avatar svg{color:#1f7455;height:20px;width:20px}.class-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.class-name{color:#132e20;font-size:1.05rem;font-weight:800;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-subject-name{color:#4a6c5b;font-size:.84rem;font-weight:600}.class-card-meta{align-items:center;display:flex;flex-shrink:0;gap:12px}.class-stat-chips{align-items:center;display:flex;gap:8px}.class-stat-pill{align-items:center;background:#f1f6f3;border:1px solid #23402d14;border-radius:10px;color:#3b5847;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:6px 12px}.class-stat-pill strong{color:#132e20;font-weight:800}.class-stat-pill svg{color:#4a755d;flex-shrink:0}.class-status-chip{align-items:center;border-radius:10px;display:inline-flex;font-size:.8rem;font-weight:700;gap:6px;padding:6px 12px;transition:all .18s ease}.class-status-chip.active{background:#d8f3e5;border:1px solid #16653438;color:#13532c}.class-status-chip.inactive{background:#f0f4f1;border:1px solid #23402d14;color:#647a6d}.status-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.status-dot.green{background:#16a34a;box-shadow:0 0 0 2px #16a34a40}.status-dot.grey{background:#94a3b8}.class-expand-toggle-btn{align-items:center;background:#fff;border:1.5px solid #d4e2d8;border-radius:10px;color:#1e3a29;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:6px;padding:7px 14px;transition:all .18s ease}.class-expand-toggle-btn:hover{background:#f0f7f3;border-color:#1f7455;color:#1f7455}.class-expand-toggle-btn.open{background:#1f7455;border-color:#1f7455;color:#fff}.chevron-svg{transition:transform .2s ease}.chevron-svg.rotate{transform:rotate(180deg)}.class-card-body{background:#fafcfb;padding:18px 20px 22px}.class-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.class-actions-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.class-actions-title{color:#153826;font-size:.92rem;font-weight:800}.class-actions-sub{color:#5a7566;font-size:.8rem;font-weight:600}.class-action-buttons{align-items:center;display:flex;gap:8px}.class-subaction-btn{background:#1f7455;border:1.5px solid #1f7455;border-radius:8px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:700;padding:6px 14px;transition:all .15s ease}.class-subaction-btn:hover:not(:disabled){background:#17573f;border-color:#17573f;transform:translateY(-1px)}.class-subaction-btn.outline{background:#fff;color:#1f7455}.class-subaction-btn.outline:hover:not(:disabled){background:#edf7f1}.class-subaction-btn:disabled{cursor:not-allowed;opacity:.45;transform:none}.section-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.section-chip{align-items:center;background:#fff;border:1.5px solid #dce8df;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;position:relative;transition:all .18s ease;-webkit-user-select:none;user-select:none}.section-chip input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.section-chip-check{align-items:center;background:#fff;border:2px solid #a8c1b2;border-radius:6px;color:#fff;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .18s ease;width:20px}.section-chip:hover .section-chip-check{border-color:#1f7455}.section-chip-check.checked{background:#1f7455;border-color:#1f7455;color:#fff}.section-chip-check svg{stroke:#fff;stroke-width:2.5;height:13px;width:13px}.section-chip:hover{background:#fdfffe;border-color:#a3cbb2;box-shadow:0 4px 12px #1232230d;transform:translateY(-1px)}.section-chip.active{background:#f2faf5;border-color:#2f8f53;box-shadow:0 3px 10px #1f7a4414}.section-chip-body{display:flex;flex-direction:column;gap:3px;min-width:0}.section-chip-name{color:#132e20;font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-chip-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.section-mark-count{color:#557262;font-size:.76rem;font-weight:600}.section-max-pill{background:#e4f3e9;border-radius:6px;color:#1f7455;font-size:.72rem;font-weight:700;padding:2px 6px}.empty-sections-notice{background:#f3f6f4;border:1.5px dashed #cbdad0;border-radius:12px;color:#587364;font-size:.88rem;font-weight:600;grid-column:1/-1;padding:18px 20px;text-align:center}.weights-summary-text{display:flex;flex-direction:column;gap:2px}.weights-summary-text strong{color:#183d28;font-size:.92rem}.weights-summary-text small{color:#597565;font-size:.8rem}.weights-chevron{color:#3b634c;flex-shrink:0;transition:transform .2s ease}details[open] .weights-chevron{transform:rotate(180deg)}@media (max-width:900px){.export-marks-page{margin-left:0;padding:var(--shell-top-offset-mobile) 14px 32px;width:100%}.export-header-card,.export-toolbar{padding:18px}.export-header-card{display:flex}.export-header-card,.grade-block-header{align-items:stretch;flex-direction:column}.grade-block-header{gap:12px}.grade-select-all-btn{justify-content:center;width:100%}.class-card-head{align-items:stretch;flex-direction:column;gap:14px;padding:14px}.class-card-meta{flex-wrap:wrap;gap:10px;justify-content:space-between;width:100%}.export-actions,.export-primary-btn{width:100%}.export-primary-btn{justify-content:center}.toolbar-field select{width:100%}.export-toolbar{align-items:stretch;flex-direction:column;width:100%}.toolbar-field{width:100%}.toolbar-summary{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.toolbar-actions{align-items:stretch;flex-direction:column;margin-left:0;width:100%}.toolbar-mark-toggle{width:100%}.assessment-weight-row{align-items:stretch;flex-direction:column}.assessment-weight-row input{width:100%}.toolbar-export-btn,.toolbar-refresh{justify-content:center;width:100%}}@media (max-width:520px){.export-marks-page{padding-inline:10px}.export-header-card,.export-toolbar,.grade-block{border-radius:16px;padding:14px}.export-header-card h1{font-size:1.7rem}.toolbar-summary{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.class-card,.class-card-head,.toolbar-mark-toggle,.toolbar-summary-card{padding:10px}.class-card-meta{align-items:stretch;flex-direction:column;gap:10px}.class-stat-chips{flex-wrap:wrap;width:100%}.class-expand-toggle-btn{justify-content:center;width:100%}.section-list{grid-template-columns:1fr}.section-chip{padding:10px}}.ai-rubric-builder{border:1px solid #d8e0d2;border-radius:16px;margin-top:1rem;padding:1.25rem}.ai-rubric-builder__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.ai-rubric-builder__criteria h4,.ai-rubric-builder__header h3{color:#294034;margin:0}.ai-rubric-builder__helper{color:#5d6d61;margin:.35rem 0 0;max-width:44rem}.ai-rubric-builder__grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ai-rubric-builder__field{grid-gap:.35rem;display:grid;gap:.35rem}.ai-rubric-builder__field--full{grid-column:1/-1}.ai-rubric-builder__field label{color:#3f5547;font-size:.88rem;font-weight:600}.ai-rubric-builder__field input,.ai-rubric-builder__field select,.ai-rubric-builder__field textarea{background:#fffffff2;border:1px solid #cfd9ca;border-radius:10px;box-sizing:border-box;padding:.72rem .8rem;width:100%}.ai-rubric-builder__status{border-radius:10px;font-size:.92rem;margin-top:.9rem;padding:.8rem .95rem}.ai-rubric-builder__status.error{background:#fff1f1;border:1px solid #efc7c7;color:#a23a3a}.ai-rubric-builder__criteria{grid-gap:1rem;display:grid;gap:1rem;margin-top:1.1rem}.ai-rubric-builder__criterion{background:#ffffffe0;border:1px solid #dbe4d6;border-radius:14px;padding:1rem}.ai-rubric-builder__sheet{background:#fffefb;border:1px solid #d8ded2;border-radius:18px;padding:1.25rem}.ai-rubric-builder__sheet-name{align-items:center;display:flex;gap:.6rem;margin-bottom:1rem}.ai-rubric-builder__name-line{border-bottom:1.5px solid #616161;flex:0 0 180px;height:1px}.ai-rubric-builder__sheet-title{font-size:1.8rem;margin:0 0 1rem;text-align:center;text-decoration:underline}.ai-rubric-builder__matrix-wrap{overflow-x:auto}.ai-rubric-builder__matrix{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.ai-rubric-builder__matrix td,.ai-rubric-builder__matrix th{border:1px solid #383838a6;padding:1rem .8rem;text-align:center;vertical-align:middle}.ai-rubric-builder__matrix thead th{background:#faf9f4;font-weight:700}.ai-rubric-builder__matrix tbody th{background:#fcfbf8;font-weight:700;width:18%}.ai-rubric-builder__matrix-score{font-size:1.05rem;font-weight:800}.ai-rubric-builder__criterion-header,.ai-rubric-builder__criterion-level{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1.4fr .7fr}.ai-rubric-builder__levels{grid-gap:.65rem;display:grid;gap:.65rem;margin-top:.85rem}.ai-rubric-builder__criterion-level{grid-template-columns:.9fr 2fr .7fr}.ai-rubric-builder__notes{grid-gap:.6rem;display:grid;gap:.6rem;margin-top:1rem}.ai-rubric-builder__footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:1rem}.btn.btn-secondary{background:#eef4ec;border:1px solid #cfdbca;color:#294034}@media (max-width:720px){.ai-rubric-builder__criterion-header,.ai-rubric-builder__criterion-level,.ai-rubric-builder__header{grid-template-columns:1fr}}.ai-tools-page{grid-gap:1rem;align-content:start;display:grid;gap:1rem;margin-left:var(--sidebar-layout-width);max-width:calc(100vw - 220px);min-height:100vh;padding:var(--shell-top-offset-desktop) 24px 24px;width:calc(100% - 220px)}.ai-tools-hero{background:radial-gradient(circle at top right,#ffd06647,#0000 28%),linear-gradient(135deg,#1f5a39,#3f8d58 55%,#e9f5df 160%);border-radius:18px;box-shadow:0 18px 42px #1f5a392e;color:#fff;padding:1rem 1.25rem}.ai-tools-band-label,.ai-tools-day-label,.ai-tools-kicker,.ai-tools-section-kicker{font-size:.78rem;letter-spacing:.08em;margin:0 0 .5rem;text-transform:uppercase}.ai-tools-hero h1{font-size:clamp(1.45rem,2.4vw,1.8rem);line-height:1.05;margin:0}.ai-tools-launcher{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-tools-launcher button{grid-column-gap:9px;grid-row-gap:2px;align-items:center;background:#fff;border:1px solid #cfe1d1;border-radius:10px;color:#25563a;column-gap:9px;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr);min-height:76px;padding:9px 10px;row-gap:2px;text-align:left}.ai-tools-launcher button:hover{background:#f1f8f2;border-color:#4d9870}.ai-tools-launcher button span,.ai-tools-launcher button strong{grid-column:2}.ai-tools-launcher button span{color:#61796a;display:block;font-size:.76rem;line-height:1.25}.ai-tools-launcher__icon{border-radius:9px;display:grid;grid-row:1/span 2;height:34px;place-items:center;width:34px}.ai-tools-launcher__icon svg{height:19px;width:19px}.ai-tools-launcher__icon--assessment{background:#e5f1ff;color:#2563a8}.ai-tools-launcher__icon--worksheet{background:#f3eaff;color:#7545a6}.ai-tools-launcher__icon--lesson{background:#e1f5e6;color:#237344}.ai-tools-launcher__icon--rubric{background:#fff1d9;color:#9a6410;font-size:1.3rem;font-style:normal;font-weight:900}.ai-tools-launcher__icon--diagnostics{background:#ffe7e5;color:#b34638;font-size:1.5rem;font-style:normal;font-weight:900}.ai-tools-launcher__icon--revision{background:#e5efff;color:#3a61a3;font-size:1.35rem;font-style:normal;font-weight:900}.ai-tools-page--diagnostics .ai-tools-panel--revision,.ai-tools-page--diagnostics .ai-tools-panel--rubric,.ai-tools-page--hub .ai-tools-layout,.ai-tools-page--hub .ai-tools-toolbar,.ai-tools-page--revision .ai-tools-panel--diagnostics,.ai-tools-page--revision .ai-tools-panel--rubric,.ai-tools-page--rubrics .ai-tools-panel--diagnostics,.ai-tools-page--rubrics .ai-tools-panel--revision{display:none}.ai-tools-intro{color:#ffffffe0;margin:.45rem 0 0}.ai-tools-layout{grid-gap:1.5rem;display:grid;gap:1.5rem}.ai-tools-panel{background:linear-gradient(180deg,#fff,#f6faf3);border:1px solid #20462c1a;border-radius:22px;box-shadow:0 12px 30px #1738250f;padding:1.4rem}.ai-tools-activity-block h5,.ai-tools-day-card h4,.ai-tools-detail-card h4,.ai-tools-panel__header h2,.ai-tools-result h3,.ai-tools-topic-card h4{color:#244231;margin:0}.ai-tools-band-card p,.ai-tools-context-card span,.ai-tools-info,.ai-tools-muted,.ai-tools-panel__header p,.ai-tools-preview p{color:#607164}.ai-tools-form{margin-top:1rem}.ai-tools-alert-grid,.ai-tools-band-grid,.ai-tools-detail-grid,.ai-tools-form,.ai-tools-grid,.ai-tools-insight-list,.ai-tools-stat-grid,.ai-tools-topic-grid{grid-gap:.9rem;display:grid;gap:.9rem}.ai-tools-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ai-tools-stat-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.ai-tools-alert-grid,.ai-tools-band-grid,.ai-tools-detail-grid,.ai-tools-insight-list,.ai-tools-topic-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ai-tools-form label,.ai-tools-toolbar label{grid-gap:.35rem;color:#395242;display:grid;font-size:.92rem;font-weight:600;gap:.35rem}.ai-tools-toolbar{grid-gap:.9rem;background:#ffffffe0;border:1px solid #20462c14;border-radius:20px;box-shadow:0 10px 24px #1738250d;display:grid;gap:.9rem;padding:1.1rem 1.2rem}.ai-tools-form input,.ai-tools-form textarea,.ai-tools-toolbar input,.ai-tools-toolbar select{background:#fff;border:1px solid #d0dacb;border-radius:12px;box-sizing:border-box;font:inherit;padding:.75rem .85rem;width:100%}.ai-tools-form .btn[disabled]{cursor:not-allowed;filter:saturate(.7);opacity:.65}.ai-tools-alert-card,.ai-tools-band-card,.ai-tools-context-card,.ai-tools-day-card,.ai-tools-detail-card,.ai-tools-info,.ai-tools-insight-card,.ai-tools-preview,.ai-tools-result,.ai-tools-stat-card,.ai-tools-summary-card,.ai-tools-topic-card{background:#fbfdf9;border:1px solid #dde7d8;border-radius:16px}.ai-tools-context-card,.ai-tools-info,.ai-tools-preview{padding:.9rem 1rem}.ai-tools-result{background:#fff;margin-top:1rem;padding:1rem 1.05rem}.ai-tools-result__actions{display:flex;justify-content:flex-end;margin-bottom:.75rem}.ai-tools-summary-card{background:#f8fbf7;margin-bottom:1rem;padding:1.1rem 1.15rem}.ai-tools-summary-card--soft{background:#faf9f2}.ai-tools-result h3,.ai-tools-summary-card h3{margin-bottom:.7rem}.ai-tools-alert-card,.ai-tools-band-card,.ai-tools-detail-card,.ai-tools-insight-card,.ai-tools-stat-card,.ai-tools-topic-card{padding:.95rem 1rem}.ai-tools-stat-card{background:#fcfdfb;border-radius:12px}.ai-tools-band-label,.ai-tools-day-label,.ai-tools-section-kicker,.ai-tools-stat-card span{color:#6b7f70}.ai-tools-band-card strong,.ai-tools-stat-card strong{color:#1f5a39;display:block;font-size:1.7rem;margin-top:.35rem}.ai-tools-alert-card,.ai-tools-topic-card--risk{background:#fdfaf5;border-color:#e8dcc8}.ai-tools-topic-card__top{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.55rem}.ai-tools-remediation-callout{align-items:center;background:#fff9e9;border:1px solid #efc879;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin:14px 0;padding:14px}.ai-tools-remediation-callout p{color:#72571d;font-size:.88rem;margin:4px 0 0}.ai-tools-remediation-actions{display:flex;flex-wrap:wrap;gap:8px}.ai-tools-remediation-actions .btn{text-align:left;white-space:normal}.ai-tools-topic-mark{color:#8b4a17;font-size:1.55rem;font-weight:700;margin:0 0 .55rem}.ai-tools-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:.28rem .7rem;text-transform:uppercase}.ai-tools-badge--high{background:#ffe0db;color:#9a3224}.ai-tools-badge--medium{background:#fff1cf;color:#8a6100}.ai-tools-badge--low,.ai-tools-badge--positive{background:#dff3e3;color:#215b34}.ai-tools-badge--outline{background:#0000;border:1px solid #bfd3c2;color:#395242}.ai-tools-activity-block{background:#f8fbf7;border:1px solid #e0e8dc;border-radius:10px;margin:.8rem 0;padding:.85rem .95rem}.ai-tools-loading-banner{align-items:flex-start;background:linear-gradient(180deg,#f4faf1,#edf6ea);border:1px solid #d7e4d6;border-radius:14px;color:#31503b;display:flex;gap:.8rem;padding:.9rem 1rem}.ai-tools-loading-banner strong{display:block;margin-bottom:.2rem}.ai-tools-loading-banner p{color:#597060;margin:0}.ai-tools-loading-spinner{animation:ai-tools-spin .8s linear infinite;border:2px solid #1f5a3933;border-radius:999px;border-top-color:#1f5a39;flex-shrink:0;height:1rem;margin-top:.2rem;width:1rem}.ai-tools-days{grid-gap:1rem;display:grid;gap:1rem}.ai-tools-day-card{background:#fff;padding:1rem}.ai-tools-day-card ul,.ai-tools-detail-card ul,.ai-tools-preview h3,.ai-tools-result ul,.ai-tools-summary-card ul,.ai-tools-topic-card ul{margin-top:.55rem}.ai-tools-day-card ul,.ai-tools-detail-card ul,.ai-tools-preview ul,.ai-tools-result ul,.ai-tools-summary-card ul,.ai-tools-topic-card ul{color:#425747;margin-bottom:0;padding-left:1.15rem}.ai-tools-error{background:#fff1f1;border:1px solid #efcccc;border-radius:12px;color:#a13c3c;margin-top:.9rem;padding:.8rem .95rem}.ai-tools-clean-list{color:#425747;margin:.35rem 0 1rem;padding-left:1.15rem}.ai-tools-clean-list li+li{margin-top:.45rem}.ai-tools-table-wrap{background:#fff;border:1px solid #e1e8de;border-radius:12px;margin-bottom:1rem;overflow-x:auto}.ai-tools-table{border-collapse:collapse;font-size:.95rem;width:100%}.ai-tools-table td,.ai-tools-table th{border-bottom:1px solid #edf2ea;padding:.8rem .85rem;text-align:left;vertical-align:top}.ai-tools-table th{background:#f6faf4;color:#375141;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.ai-tools-table tr:last-child td{border-bottom:0}.ai-tools-stat-grid--compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ai-tools-detail-grid--simple{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@keyframes ai-tools-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:720px){.ai-tools-hero,.ai-tools-panel{padding:1.1rem}.ai-tools-topic-card__top{flex-direction:column}}@media (max-width:900px){.ai-tools-page{margin-left:0;max-width:100%;min-height:auto;padding:var(--shell-top-offset-mobile) 16px 20px;width:100%}}.ai-tools-risk-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.ai-tools-risk-toggle{background:#1f5a39!important;border:0;border-radius:10px;color:#fff!important;cursor:pointer;font:inherit;font-weight:800;padding:.72rem 1rem}.ai-tools-risk-toggle:hover{background:#17482d!important}.ai-tools-risk-support{grid-gap:1rem;background:#f6faf5;border:1px solid #d8e6d8;border-radius:14px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:1rem}.ai-tools-risk-support h4{color:#244231;margin:0}.lesson-plan-page{background:radial-gradient(circle at top right,#216b3d14,#0000 28%),linear-gradient(180deg,#f6faf7,#eef4ef);box-sizing:border-box;margin-left:var(--sidebar-width);min-height:calc(100vh - 64px);padding:var(--shell-top-offset-desktop) 24px 48px;width:calc(100% - var(--sidebar-width))}.lesson-plan-shell{margin:0 auto;max-width:1380px}.lesson-plan-empty,.lesson-plan-form-card,.lesson-plan-hero,.lesson-plan-preview{background:#fffffff7;border:1px solid #193a2714;box-shadow:0 14px 32px #12261914}.lesson-plan-hero{grid-gap:18px;align-items:end;background:radial-gradient(circle at top right,#ffd06647,#0000 28%),linear-gradient(135deg,#1f5a39,#3f8d58 55%,#e9f5df 160%);border-radius:24px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:18px;padding:28px}.lesson-plan-kicker{color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.lesson-plan-hero h1{color:#fff;font-size:clamp(1.5rem,2.8vw,2.6rem);margin:0}.lesson-plan-intro{color:#fff;line-height:1.55;margin:10px 0 0;max-width:760px}.lesson-plan-form-actions,.lesson-plan-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.lesson-plan-primary-btn,.lesson-plan-secondary-btn{border:none;border-radius:14px;cursor:pointer;font-weight:700;padding:13px 18px;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.lesson-plan-primary-btn{background:linear-gradient(135deg,#1f7a44,#38a35a);box-shadow:0 12px 24px #1f7a4433;color:#fff}.lesson-plan-secondary-btn{background:#f5f8f5;border:1px solid #23402d1f;color:#23402d}.lesson-plan-primary-btn:hover,.lesson-plan-secondary-btn:hover{transform:translateY(-1px)}.lesson-plan-primary-btn:disabled,.lesson-plan-secondary-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.lesson-plan-form-card{border-radius:24px;margin-bottom:18px;padding:24px}.lesson-plan-form{grid-gap:16px;display:grid;gap:16px}.lesson-plan-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-plan-form-grid--secondary{grid-template-columns:1fr 1.3fr}.lesson-plan-form label,.lesson-plan-header label,.lesson-plan-weekbar label{grid-gap:7px;display:grid;gap:7px}.lesson-plan-form span,.lesson-plan-header span,.lesson-plan-weekbar span{color:#486050;font-size:.84rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lesson-plan-form input,.lesson-plan-form textarea,.lesson-plan-header input,.lesson-plan-table textarea,.lesson-plan-weekbar input{background:#fff;border:1px solid #23402d24;border-radius:12px;box-sizing:border-box;color:#17301f;font:inherit;padding:12px 14px;width:100%}.lesson-plan-form textarea,.lesson-plan-table textarea{resize:vertical}.lesson-plan-form-span{grid-column:1/-1}.lesson-plan-form-footer{align-items:center;display:flex;gap:16px;justify-content:space-between;padding-top:6px}.lesson-plan-form-hint{grid-gap:2px;color:#567061;display:grid;gap:2px}.lesson-plan-form-hint strong{color:#17301f;font-size:1.1rem}.lesson-plan-empty,.lesson-plan-error,.lesson-plan-info{border-radius:18px;color:#284131;padding:18px 20px}.lesson-plan-info{background:#1f7a4414;border:1px solid #1f7a4429;margin-top:16px}.lesson-plan-error{background:#d32f2f14;border:1px solid #d32f2f2e;color:#8a1f1f;margin-top:16px}.lesson-plan-empty{align-items:center;display:flex;justify-content:center;min-height:220px;text-align:center}.lesson-plan-preview{border-radius:24px;padding:24px}.lesson-plan-printable{grid-gap:18px;display:grid;gap:18px}.lesson-plan-header{grid-gap:14px;display:grid;gap:14px}.lesson-plan-header-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1.6fr 1.2fr repeat(3,minmax(0,.8fr))}.lesson-plan-weekbar{grid-gap:12px;align-items:end;background:#eff5f0;border-radius:16px;display:grid;gap:12px;grid-template-columns:220px minmax(0,1fr);padding:14px}.lesson-plan-table-wrap{overflow-x:auto}.lesson-plan-table{border-collapse:collapse;table-layout:fixed;width:100%}.lesson-plan-table td,.lesson-plan-table th{border:1px solid #bccabf;vertical-align:top}.lesson-plan-table thead th{background:#22392a;color:#fff;font-weight:800;padding:14px 10px;text-align:center}.lesson-plan-table tbody th{background:#f3f6f3;color:#17301f;font-weight:800;padding:14px 12px;text-align:left;width:180px}.lesson-plan-table td{background:#fff;padding:0}.lesson-plan-table textarea{background:#0000;border:none;border-radius:0;line-height:1.5;min-height:96px;padding:14px 12px}.lesson-plan-skeleton{overflow:hidden}.lesson-plan-skeleton-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.lesson-plan-skeleton-column{grid-gap:12px;display:grid;gap:12px}.lesson-plan-skeleton-block{animation:lesson-plan-shimmer 1.4s linear infinite;background:linear-gradient(90deg,#edf2ee 25%,#f8fbf9 50%,#edf2ee 75%);background-size:200% 100%;border-radius:16px}.lesson-plan-skeleton-header{height:70px;margin-bottom:12px}.lesson-plan-skeleton-toolbar{height:52px;margin-bottom:18px}.lesson-plan-skeleton-title{height:48px}.lesson-plan-skeleton-body{height:120px}.lesson-plan-skeleton-body.short{height:70px}@keyframes lesson-plan-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:1100px){.lesson-plan-form-grid,.lesson-plan-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-plan-form-grid--secondary,.lesson-plan-weekbar{grid-template-columns:1fr}}@media (max-width:900px){.lesson-plan-page{margin-left:0;padding:var(--shell-top-offset-mobile) 14px 32px;width:100%}.lesson-plan-form-card,.lesson-plan-hero,.lesson-plan-preview{border-radius:20px;padding:18px}.lesson-plan-form-footer,.lesson-plan-hero{display:grid;grid-template-columns:1fr}.lesson-plan-form-grid,.lesson-plan-header-grid{grid-template-columns:1fr}.lesson-plan-form-actions,.lesson-plan-hero-actions{justify-content:stretch}.lesson-plan-primary-btn,.lesson-plan-secondary-btn{width:100%}}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff}.left_sidebar,.lesson-plan-form-card,.lesson-plan-hero,.main_Nav,.sidebar-overlay{display:none!important}.lesson-plan-page{background:#fff;margin:0;min-height:auto;padding:0;width:100%}.lesson-plan-preview,.lesson-plan-printable,.lesson-plan-shell{background:#fff;border:none;box-shadow:none;margin:0;max-width:none;padding:0;width:100%}.lesson-plan-table thead th{background:#22392a!important}.lesson-plan-table tbody th,.lesson-plan-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.lesson-plan-table tbody th{background:#f3f6f3!important}.lesson-plan-header input,.lesson-plan-table textarea,.lesson-plan-weekbar input{border:none;overflow:visible;padding:0;resize:none}}.lesson-plan-worksheet-row td{padding:12px}.lesson-plan-worksheet-btn{background:#e8f5eb;border:1px solid #2f8f53;border-radius:9px;color:#215c38;cursor:pointer;font:inherit;font-weight:800;padding:10px 12px;width:100%}.lesson-plan-worksheet-btn:hover{background:#d9efdf}.lesson-plan-form select{background:#fff;border:1px solid #cbd9cf;border-radius:10px;color:#1f3d2b;font:inherit;padding:11px 12px;width:100%}.lesson-plan-topic-field{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.lesson-plan-topic-field label{min-width:0}.lesson-plan-caps-topics{background:#f7faf7;border:1px solid #d6e4d9;border-radius:12px;padding:14px}.lesson-plan-caps-topics>div{grid-gap:9px;display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:10px}.lesson-plan-caps-topics button{grid-gap:4px;background:#fff;border:1px solid #d2e0d5;border-radius:10px;color:#234734;cursor:pointer;display:grid;font:inherit;font-weight:800;gap:4px;padding:11px;text-align:left}.lesson-plan-caps-topics button small{color:#607868;font-weight:400;line-height:1.35}.lesson-plan-caps-topics button.selected{background:#e5f4e7;border-color:#2f8f53;box-shadow:inset 0 0 0 1px #2f8f53}.lesson-plan-caps-topics>p{color:#61766a;font-size:.8rem;line-height:1.4;margin:11px 0 0}@media(max-width:700px){.lesson-plan-topic-field{grid-template-columns:1fr}.lesson-plan-topic-field button{width:100%}}.generation-language{border:0;margin:0;min-width:0;padding:0}.generation-language legend{font-size:.9rem;font-weight:700;margin-bottom:8px;padding:0}.generation-language__options{background:#f3f7f3;border:1px solid #c9d9cf;border-radius:12px;display:inline-flex;gap:4px;padding:4px}.generation-language__options label{cursor:pointer;position:relative}.generation-language .generation-language__options input{height:1px;margin:0;opacity:0;padding:0;position:absolute;width:1px}.generation-language__options label span{border-radius:8px;color:#345142;display:block;font-size:.85rem;font-weight:600;padding:8px 18px}.generation-language__options input:checked+span{background:#286342;color:#fff}.generation-language__options input:focus-visible+span{outline:2px solid #172f25;outline-offset:2px}.generation-language:disabled{opacity:.65}.worksheet-studio{--ink:#214d32;--muted:#607564;--paper:#fffef9;--line:#d7e5d8;--accent:#2f8f53;--deep:#1f6e3d;grid-gap:24px;background:radial-gradient(circle at top right,#2f8f531f,#0000 28%),linear-gradient(180deg,#f6faf7,#eef5ef);color:var(--ink);display:grid;font-family:Inter,-apple-system,sans-serif;gap:24px;margin-left:var(--sidebar-width);min-height:calc(100vh - 64px);padding:var(--shell-top-offset-desktop) 24px 48px;width:calc(100% - var(--sidebar-width))}.worksheet-brief,.worksheet-builder-panel,.worksheet-output{border-radius:24px}.worksheet-brief{background:radial-gradient(circle at top right,#ffd06647,#0000 28%),linear-gradient(135deg,#1f5a39,#3f8d58 55%,#e9f5df 160%);box-shadow:0 18px 42px #1f5a392e;color:#fff;overflow:hidden;padding:36px;position:relative}.worksheet-brief:after{border:1px solid #ffffff40;border-radius:50%;box-shadow:0 0 0 34px #ffffff0f;content:"";height:260px;position:absolute;right:-65px;top:-145px;width:260px}.worksheet-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;margin:0 0 7px;text-transform:uppercase}.worksheet-brief h1,.worksheet-memo h2,.worksheet-output h2,.worksheet-panel-heading h2,.worksheet-paper h2{font-family:Inter,-apple-system,sans-serif;font-weight:800;letter-spacing:-.5px;margin:0}.worksheet-brief h1{font-size:clamp(2rem,3vw,2.2rem);line-height:1.05;position:relative;z-index:1}.worksheet-brief>p:not(.worksheet-eyebrow){color:#ffffffe0;line-height:1.55;margin:12px 0 0;position:relative;z-index:1}.worksheet-brief__steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;position:relative;z-index:1}.worksheet-brief__steps span,.worksheet-meta span,.worksheet-meta strong,.worksheet-panel-heading__badge{border-radius:999px;font-size:.8rem;font-weight:750;padding:6px 11px}.worksheet-brief__steps span{background:#ffffff1a;border:1px solid #ffffff4d}.worksheet-builder-panel,.worksheet-output{background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #17382512;padding:clamp(18px,3vw,32px)}.worksheet-output__toolbar,.worksheet-panel-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.worksheet-meta strong,.worksheet-panel-heading__badge{background:#e5f4e7;color:#256b3f;white-space:nowrap}.worksheet-form{grid-gap:15px;display:grid;gap:15px;margin-top:22px}.worksheet-form__grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.worksheet-form label{grid-gap:6px;color:#395242;display:grid;font-size:.9rem;font-weight:750;gap:6px}.worksheet-form label span{color:var(--muted);font-weight:500}.worksheet-form input,.worksheet-form select,.worksheet-form textarea{background:#fcfefd;border:1px solid #cbdad7;border-radius:10px;box-sizing:border-box;color:var(--ink);font:inherit;padding:12px 13px;width:100%}.worksheet-form textarea{resize:vertical}.worksheet-form input:focus,.worksheet-form select:focus,.worksheet-form textarea:focus{border-color:var(--accent);outline:3px solid #2f8f532e}.worksheet-export-button,.worksheet-generate-button{border:0;border-radius:10px;color:#fff;cursor:pointer;font:inherit;font-weight:800;padding:13px 18px}.worksheet-generate-button{background:var(--accent);box-shadow:0 8px 17px #2f8f5338;justify-self:start}.worksheet-generate-button:hover{background:var(--deep)}.worksheet-generate-button:disabled{cursor:wait;opacity:.72}.worksheet-export-button{background:#214d32;white-space:nowrap}.worksheet-export-button:hover{background:var(--deep)}.worksheet-error,.worksheet-loading{border-radius:12px;display:flex;gap:11px;margin-top:16px;padding:13px 15px}.worksheet-loading{align-items:center;background:#edf6f2;color:#285348}.worksheet-loading span{animation:worksheet-spin .8s linear infinite;border:2px solid #b8d2c5;border-radius:50%;border-top-color:#285348;height:16px;width:16px}.worksheet-loading p{margin:0}.worksheet-error{background:#fff1ee;color:#982e21}.worksheet-output{grid-gap:18px;display:grid;gap:18px}.worksheet-output__toolbar{border-bottom:1px solid var(--line);padding-bottom:18px}.worksheet-meta{display:flex;flex-wrap:wrap;gap:8px}.worksheet-meta span{background:#eaf4eb;color:#315b40}.worksheet-paper{background:repeating-linear-gradient(to bottom,var(--paper),var(--paper) 31px,#f0eadc 32px);border:1px solid #e7ddc9;box-shadow:0 10px 24px #503f1f14;padding:clamp(18px,4vw,48px)}.worksheet-paper__header{border-bottom:2px solid var(--ink);padding-bottom:20px}.worksheet-paper__header p{color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.12em;margin:0 0 7px;text-transform:uppercase}.worksheet-paper__header h2{font-size:clamp(1.5rem,3vw,2.25rem)}.worksheet-paper__header div{color:#52626a;display:flex;flex-wrap:wrap;font-size:.9rem;gap:24px;margin-top:22px}.worksheet-question-list{grid-gap:16px;display:grid;gap:16px;margin-top:22px}.worksheet-question-card{padding:16px 0 0}.worksheet-question-card+.worksheet-question-card{border-top:1px solid #d9d0c1}.worksheet-question-card__header{display:flex;gap:16px;justify-content:space-between}.worksheet-question-card__header span{font-weight:850}.worksheet-question-card__header strong,.worksheet-subquestions strong{color:var(--accent);white-space:nowrap}.worksheet-question-card__text{line-height:1.65;margin:11px 0}.worksheet-subquestions{grid-gap:8px;display:grid;gap:8px;margin:13px 0;padding-left:22px}.worksheet-subquestions li{display:flex;gap:16px;justify-content:space-between;line-height:1.5}.worksheet-answer-space{border-bottom:1px dotted #aab0a5;height:42px}.worksheet-memo{background:#1f5a39;border-radius:16px;color:#fff;padding:24px}.worksheet-memo h2{color:#fff}.worksheet-memo__heading>p:last-child{color:#ffffffbd}.worksheet-memo__grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:16px}.worksheet-memo-card{background:#ffffff1a;border-radius:12px;padding:16px}.worksheet-memo-card__number{color:#d6f1b7;font-weight:850}.worksheet-memo-card ol{grid-gap:7px;color:#ffffffe6;display:grid;gap:7px;line-height:1.45;margin:12px 0;padding-left:20px}.worksheet-memo-card p{margin:0}@keyframes worksheet-spin{to{transform:rotate(1turn)}}@media(max-width:900px){.worksheet-studio{margin-left:0;padding:var(--shell-top-offset-mobile) 14px 32px;width:100%}}@media(max-width:700px){.worksheet-studio{padding:var(--shell-top-offset-mobile) 16px 32px}.worksheet-brief{padding:24px}.worksheet-form__grid{grid-template-columns:1fr}.worksheet-output__toolbar,.worksheet-panel-heading{flex-direction:column}.worksheet-export-button{width:100%}.worksheet-paper{padding:18px}.worksheet-paper__header div{flex-direction:column;gap:10px}}.ai-test-page{--test-ink:#172f25;--test-green:#2c7750;--test-mist:#edf5ef;grid-gap:22px;background:radial-gradient(circle at 85% 10%,#e4eed0 0,#0000 24%),#f6f8f3;color:var(--test-ink);display:grid;gap:22px;margin-left:var(--sidebar-width);min-height:calc(100vh - 64px);padding:var(--shell-top-offset-desktop) 24px 48px;width:calc(100% - var(--sidebar-width))}.ai-test-builder,.ai-test-hero,.ai-test-output{border-radius:22px}.ai-test-hero{background:linear-gradient(125deg,#163c2c,#397a4d 58%,#87a95b);box-shadow:0 18px 36px #18372826;color:#fff;padding:34px}.ai-test-heading p,.ai-test-hero p,.ai-test-output-head p,.ai-test-paper-kicker{font-size:.75rem;font-weight:800;letter-spacing:.11em;margin:0 0 8px;text-transform:uppercase}.ai-test-heading h2,.ai-test-hero h1,.ai-test-output h2{letter-spacing:-.04em;margin:0}.ai-test-hero h1{font-size:clamp(2rem,3vw,1.7rem);max-width:680px}.ai-test-hero span{color:#f0f6e8;display:block;line-height:1.55;margin-top:12px}.ai-test-builder,.ai-test-output{background:#fff;border:1px solid #d6e4d9;box-shadow:0 10px 26px #17332112;padding:clamp(18px,3vw,30px)}.ai-test-heading,.ai-test-output-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.ai-test-heading>span{background:#e4f0e6;border-radius:999px;color:#286342;font-size:.78rem;font-weight:800;padding:6px 10px}.ai-test-form{grid-gap:15px;display:grid;gap:15px;margin-top:20px}.ai-test-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.ai-test-form label{grid-gap:6px;color:#345142;display:grid;font-size:.9rem;font-weight:750;gap:6px}.ai-test-form label span{color:#6a7d70;font-weight:500}.ai-test-form input,.ai-test-form select,.ai-test-form textarea{background:#fcfffc;border:1px solid #c9d9cf;border-radius:10px;box-sizing:border-box;color:var(--test-ink);font:inherit;padding:12px;width:100%}.ai-test-toggle{align-items:start;background:#f8fbf8;border:1px solid #c9d9cf;border-radius:10px;display:flex!important;grid-template-columns:auto 1fr;padding:11px 12px}.ai-test-toggle input{accent-color:var(--test-green);height:17px;margin-top:2px;width:17px!important}.ai-test-toggle span{grid-gap:2px;display:grid;gap:2px}.ai-test-toggle strong{font-weight:800}.ai-test-toggle small{font-size:.8rem}.ai-test-framework{background:var(--test-mist);border-radius:10px;color:#3d604b;font-size:.88rem;line-height:1.45;margin:0;padding:11px 13px}.ai-test-generate,.ai-test-output-head button{background:var(--test-green);border:0;border-radius:10px;color:#fff;cursor:pointer;font:inherit;font-weight:800;padding:13px 18px}.ai-test-generate{justify-self:start}.ai-test-generate:disabled{cursor:wait;opacity:.7}.ai-test-error{background:#fff0ed;border-radius:10px;color:#8f3024;margin-top:16px;padding:12px 14px}.ai-test-output{grid-gap:20px;display:grid;gap:20px}.ai-test-output-head{border-bottom:1px solid #d6e4d9;padding-bottom:18px}.ai-test-output-head span{color:#5d7667;display:block;margin-top:7px}.ai-test-paper{background:#fffdf7;border:1px solid #e4dbc5;padding:clamp(18px,4vw,46px)}.ai-test-paper h2{font-size:clamp(1.5rem,3vw,2.2rem)}.ai-test-paper>p:not(.ai-test-paper-kicker){color:#52685a}.ai-test-paper article{border-top:1px solid #e4dbc5;padding:17px 0}.ai-test-paper article div{display:flex;gap:16px;justify-content:space-between}.ai-test-paper article b{color:var(--test-green)}.ai-test-paper article p{line-height:1.55}.ai-test-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-test-summary>div{background:#f4f8f4;border:1px solid #d6e4d9;border-radius:14px;padding:17px}.ai-test-summary h3{margin:0 0 10px}.ai-test-summary p{grid-gap:9px;align-items:center;border-top:1px solid #dce8df;display:grid;font-size:.88rem;gap:9px;grid-template-columns:1fr auto auto;margin:0;padding:9px 0}.ai-test-summary p span{color:#597264}.ai-test-summary p b{color:#24613e}@media(max-width:900px){.ai-test-page{margin-left:0;padding:var(--shell-top-offset-mobile) 14px 32px;width:100%}}@media(max-width:700px){.ai-test-page{padding-inline:14px}.ai-test-hero{padding:25px}.ai-test-grid,.ai-test-summary{grid-template-columns:1fr}.ai-test-heading,.ai-test-output-head{flex-direction:column}.ai-test-output-head button{width:100%}.ai-test-summary p{grid-template-columns:1fr auto}.ai-test-summary p span{grid-column:1}.ai-test-summary p b{grid-column:2;grid-row:1}}.ai-test-topic-field{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.ai-test-topic-field button{background:#f3f8f3;border:1px solid #bcd5c3;border-radius:10px;color:#215b3a;cursor:pointer;font:inherit;font-weight:800;padding:12px 14px}.ai-test-topic-field button:disabled{cursor:wait;opacity:.7}.ai-test-topic-results{background:#f7faf7;border:1px solid #d6e4d9;border-radius:12px;padding:14px}.ai-test-topic-results>strong{font-size:.9rem}.ai-test-topic-results>div{grid-gap:9px;display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:10px}.ai-test-topic-results button{grid-gap:4px;background:#fff;border:1px solid #d2e0d5;border-radius:10px;color:#234734;cursor:pointer;display:grid;gap:4px;padding:11px;text-align:left}.ai-test-topic-results button:hover{background:#f1f8f2;border-color:#5f9b70}.ai-test-topic-results button span{font-weight:800}.ai-test-topic-results button small{color:#607868;line-height:1.35}.ai-test-topic-results>p{color:#61766a;font-size:.8rem;line-height:1.4;margin:11px 0 0}@media(max-width:700px){.ai-test-topic-field{grid-template-columns:1fr}.ai-test-topic-field button{width:100%}}.ai-test-page{font-family:Inter,-apple-system,sans-serif}.ai-test-heading h2,.ai-test-hero h1,.ai-test-output h2{font-family:Inter,-apple-system,sans-serif;letter-spacing:-.5px}.ai-test-hero h1{font-size:clamp(2rem,3vw,2.2rem)}.ai-test-heading h2,.ai-test-hero h1,.ai-test-output h2{font-family:Inter,-apple-system,sans-serif!important;letter-spacing:-.5px!important}.ai-test-hero h1{font-size:clamp(2rem,3vw,2.2rem)!important}.ai-test-hero{background:radial-gradient(circle at top right,#ffd06647,#0000 28%),linear-gradient(135deg,#1f5a39,#3f8d58 55%,#e9f5df 160%)!important;box-shadow:0 18px 42px #1f5a392e!important}.ai-test-paper h3{border-bottom:2px solid #294f39;font-size:1.05rem;margin:26px 0 10px;padding-bottom:8px}.ai-test-instruction{font-size:.9rem;line-height:1.45;margin:5px 0!important}.ai-test-item{padding:4px 0 10px}.ai-test-item p{margin:8px 0!important}.ai-test-item p b{float:right}.ai-test-item>span{border-bottom:1px dotted #aab0a5;display:block;height:22px}.ai-test-topic-results{position:relative}.ai-test-topic-count{background:#e3f0e5;border-radius:999px;color:#286342;display:inline-block;font-size:.75rem;font-weight:800;margin-left:8px;padding:3px 7px}.ai-test-topic-results button.selected{background:#e5f4e7;border-color:#2f8f53;box-shadow:inset 0 0 0 1px #2f8f53}.ai-test-topic-results button.selected span:before{color:#286342;content:"Selected ";font-size:.72rem}.ai-test-source-text{background:#fffdf7;border:1px solid #ddd4bf;line-height:1.65;padding:14px;white-space:pre-line}.automated-marking-page{color:#19352d;margin:0 auto;max-width:1200px;padding:var(--shell-top-offset-desktop) 24px 56px}@media (min-width:901px){.automated-marking-page{margin-left:var(--sidebar-layout-width);margin-right:0;width:calc(100% - var(--sidebar-layout-width))}}.automated-marking-header{margin-bottom:24px}.automated-marking-header h1,.marking-results h2{color:#123c32;margin:4px 0 8px}.automated-marking-header p:not(.eyebrow){color:#5d746b;max-width:720px}.automated-marking-header .marking-disclaimer{color:#8a5a00;font-weight:700;margin-top:10px;max-width:860px}.automated-marking-header .marking-privacy-notice{color:#45685a;font-size:.85rem;margin-top:8px;max-width:920px}.marking-steps{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 0 20px;padding:0}.marking-steps li{align-items:center;background:#f7fbf8;border:1px solid #d8e7df;border-radius:12px;color:#668077;display:flex;font-size:.82rem;gap:9px;min-width:0;padding:12px}.marking-steps li.current{background:#eef8f1;border-color:#84b99b;color:#1f7455;font-weight:700}.marking-steps li.complete{background:#e5f5e9;border-color:#b5d8bf;color:#1f7455}.marking-steps strong{background:#d8e9df;border-radius:50%;display:grid;flex:0 0 25px;height:25px;place-items:center;width:25px}.marking-help-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:.9rem;margin-bottom:22px;padding:13px 16px}.marking-help-box ul{margin:8px 0 0;padding-left:20px}.marking-help-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:6px}.btn-toggle-scan-guide{background:#eef8f1;border:1px solid #1f7455;border-radius:999px;color:#1f7455;cursor:pointer;font-size:.8rem;font-weight:700;padding:5px 13px;transition:all .15s ease}.btn-toggle-scan-guide:hover{background:#1f7455;color:#fff}.marking-label-with-hint{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.marking-label-with-hint label{margin-bottom:0!important}.btn-inline-scan-help{background:#0000;border:none;color:#1f7455;cursor:pointer;font-size:.78rem;font-weight:700;padding:0 4px;text-decoration:underline}.btn-inline-scan-help:hover{color:#154530}.teacher-scan-guide-card{background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 4px 14px #123c320d;margin-top:14px;padding:18px 20px}.scan-guide-nav{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding-bottom:10px}.scan-guide-tab{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.82rem;font-weight:600;padding:7px 14px;transition:all .12s ease}.scan-guide-tab:hover{background:#f1f5f9;border-color:#cbd5e1}.scan-guide-tab.is-active{background:#1f7455;border-color:#1f7455;color:#fff}.scan-guide-panel{color:#1e293b;display:flex;flex-direction:column;font-size:.88rem;gap:12px;line-height:1.55}.scan-guide-panel h4{color:#0f172a;font-size:.95rem;font-weight:700;margin:0}.scan-steps-list{display:flex;flex-direction:column;gap:8px;margin:0;padding-left:20px}.scan-steps-list li{color:#334155}.scan-steps-list li strong{color:#0f172a}.scan-steps-list ul{display:flex;flex-direction:column;gap:4px;margin:6px 0 0;padding-left:18px}.scan-callout-tip{background:#f0fdf4;color:#166534}.scan-callout-tip,.scan-callout-warning{border-radius:0 8px 8px 0;font-size:.84rem;padding:10px 14px}.scan-callout-warning{background:#fffbeb;color:#92400e}.marking-mode-switch{display:flex;gap:8px;margin-bottom:16px}.marking-mode-switch button{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;font-weight:600;padding:8px 14px}.marking-mode-switch button.selected{background:#1f7455;border-color:#1f7455;color:#fff}.batch-progress-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:28px;padding:24px}.batch-list{grid-gap:8px;display:grid;gap:8px}.batch-item{grid-gap:14px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:14px;grid-template-columns:1fr auto auto;padding:11px 14px}.batch-item.needs_confirmation{background:#f8fafc;border-color:#cbd5e1}.batch-item.failed{background:#fef2f2;border-color:#fecaca}.batch-item span,.batch-item strong{display:block}.batch-item div span{color:#64748b;font-size:.82rem;margin-top:3px}.batch-item>span{color:#64748b;font-size:.84rem}.batch-item button{background:#1f7455;border:1px solid #1f7455;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:7px 12px}.batch-item select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#1e293b;min-width:160px;padding:7px 10px}.method-step-list{color:#475569;font-size:.85rem;margin:8px 0 0;padding-left:18px}.marking-evidence{border-top:1px solid #f1f5f9;color:#64748b;font-size:.8rem;margin-top:6px;padding-top:6px}.marking-review-instruction{color:#8a5a00;font-weight:700;margin:24px 0 -12px}.eyebrow{color:#2d8060;font-size:.75rem;font-weight:800;letter-spacing:.1em;margin:0;text-transform:uppercase}.marking-results,.marking-upload-card{background:#fff;border:1px solid #d8e7df;border-radius:18px;box-shadow:0 10px 30px #16423014;padding:24px}.marking-upload-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.marking-selection-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.marking-selection-grid label{grid-gap:6px;color:#45685a;display:grid;font-size:.85rem;font-weight:700;gap:6px}.marking-selection-grid select{background:#fff;border:1px solid #bfd7c8;border-radius:8px;color:#19352d;font:inherit;min-width:0;padding:10px}.marking-upload-field label{display:block;font-weight:700;margin-bottom:8px}.marking-dropzone{grid-gap:8px;background:#f7fbf8;border:2px dashed #a9c8b8;border-radius:14px;cursor:pointer;display:grid;gap:8px;min-height:150px;padding:20px;place-content:center;text-align:center}.marking-dropzone.has-file,.marking-dropzone:focus-visible,.marking-dropzone:hover{background:#eef8f1;border-color:#2d8060;outline:none}.marking-dropzone span,.marking-progress{color:#668077;font-size:.9rem}.marking-submit{background:#1f7455;border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;margin-top:24px;padding:12px 18px}.marking-submit:disabled{cursor:wait;opacity:.65}.marking-error{color:#b42318;font-weight:600;margin:14px 0 0}.marking-progress{margin:12px 0 0}.marking-results{margin-top:28px}.marking-results-heading{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.marking-total{grid-gap:2px;background:#eef8f1;border-radius:10px;display:grid;gap:2px;padding:12px 16px;text-align:right}.marking-total strong{color:#1f7455;font-size:1.25rem}.marking-total span{color:#5d746b;font-size:.9rem}.batch-statistics,.marking-summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px}.batch-statistics>div,.marking-summary-grid>div{grid-gap:3px;background:#f7fbf8;border:1px solid #d8e7df;border-radius:10px;display:grid;gap:3px;padding:11px 12px}.batch-statistics strong,.marking-summary-grid strong{color:#1f7455;font-size:1.15rem}.batch-statistics span,.marking-summary-grid span{color:#668077;font-size:.78rem}.marking-summary-grid .warning{background:#fff6f5;border-color:#edc5bf}.marking-summary-grid .warning strong{color:#b42318}.marking-section-summary{margin-bottom:20px}.marking-section-summary h3{color:#45685a;font-size:.95rem;margin:0 0 10px}.marking-section-summary-grid{display:flex;flex-wrap:wrap;gap:8px}.marking-section-summary-grid>div{grid-gap:2px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:2px;min-width:150px;padding:8px 11px}.marking-section-summary-grid small,.marking-section-summary-grid span{color:#64748b;font-size:.8rem}.marking-paper-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:28px;padding:20px}.marking-paper-heading{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px}.marking-paper-heading h2{color:#0f172a;margin:4px 0 7px}.marking-paper-heading p:not(.eyebrow){color:#64748b;font-size:.88rem;margin:0}.marking-paper-actions{display:flex;flex-wrap:wrap;gap:8px}.marking-paper-actions button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-weight:600;padding:8px 12px}.marking-paper-actions button.selected{background:#1f7455;border-color:#1f7455;color:#fff}.marking-paper-actions button:disabled{cursor:not-allowed;opacity:.5}.marking-unplaced-banner{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;flex-shrink:0;margin-bottom:8px;max-height:150px;overflow-y:auto;padding:8px 12px}.unplaced-banner-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}.unplaced-banner-header strong{color:#1e293b;font-size:.84rem;margin:0}.btn-auto-place-margin{background:#1f7455;border:1px solid #1f7455;border-radius:6px;color:#fff;cursor:pointer;font-size:.74rem;font-weight:600;padding:4px 9px;transition:background .15s ease}.btn-auto-place-margin:hover{background:#155b41}.marking-unplaced-banner .marking-suggestion-list{display:flex;flex-direction:column;gap:5px;margin:0;max-height:100px;overflow-y:auto}.marking-unplaced-banner>p{color:#64748b;font-size:.82rem;margin:0 0 10px}.marking-suggestion-list{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:0 0 12px;padding:0}.marking-suggestion-list li{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#334155;display:flex;font-size:.82rem;gap:12px;justify-content:space-between;padding:6px 10px}.marking-suggestion-list li.needs-placement{background:#fff;border-color:#e2e8f0;color:#334155}.marking-suggestion-list li>span:last-child{display:flex;flex-wrap:wrap;gap:6px}.marking-suggestion-list button{background:#fff;border:1px solid #b58a25;border-radius:6px;color:#6e551c;cursor:pointer;font-size:.78rem;font-weight:700;padding:5px 8px}.marking-suggestion-list button.selected{background:#1f7455;border-color:#1f7455;color:#fff}.marking-suggestion-list button.reject{border-color:#c94a43;color:#a52b25}.marking-paper-viewer{min-height:420px;position:relative;text-align:center;width:100%}.marking-paper-viewer.paper-image{min-height:0}.marking-paper-viewer.can-annotate{cursor:crosshair}.marking-paper-overlay{height:100%;inset:0;pointer-events:auto;position:absolute;width:100%}.marking-pdf-page{background:#fff;display:inline-block;line-height:0;max-width:100%;position:relative;text-align:left}.marking-pdf-page canvas,.marking-pdf-page img{background:#fff;border:0;display:block;height:auto;max-width:100%}.marking-paper-loading{color:#668077;padding:40px 20px}.marking-paper-pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin:0 0 12px}.marking-paper-pagination button{background:#fff;border:1px solid #b5d8bf;border-radius:8px;color:#45685a;cursor:pointer;font-weight:700;padding:7px 11px}.marking-paper-pagination button:disabled{cursor:not-allowed;opacity:.5}.marking-paper-pagination span{color:#45685a;font-size:.85rem;font-weight:700}.marking-paper-suggestion-pages{align-items:center;color:#6e551c;display:flex;flex-wrap:wrap;font-size:.82rem;font-weight:700;gap:7px;margin:0 0 12px}.marking-paper-suggestion-pages button{background:#fffaf0;border:1px solid #d3bd77;border-radius:7px;color:#6e551c;cursor:pointer;font-size:.78rem;font-weight:700;padding:6px 9px}.marking-paper-suggestion-pages button.selected{background:#d39a2e;color:#fff}.marking-paper-tick{stroke:#fff;stroke-width:.006px;cursor:grab;font-size:.035px;font-weight:900;paint-order:stroke;-webkit-user-select:none;user-select:none}.marking-paper-tick:active{cursor:grabbing}.marking-paper-tick.suggested{fill:#d39a2e}.marking-paper-tick.confirmed{fill:#1f8a55}.marking-paper-tick.lost{fill:#c43b36}.marking-debug-box{fill:#1f745514;stroke:#1f7455;stroke-width:.002px;stroke-dasharray:.006px .004px;pointer-events:none}.marking-debug-box.lost{fill:#c43b3614;stroke:#c43b36}.marking-debug-point{fill:#1d4ed8;stroke:#fff;stroke-width:.0015px;pointer-events:none}.marking-debug-label{fill:#1d4ed8;stroke:#fff;stroke-width:.003px;font-size:.014px;font-weight:800;paint-order:stroke;pointer-events:none}.marking-debug-panel{background:#f7fbf8;border:1px solid #d8e7df;border-radius:10px;margin-top:16px;padding:14px}.marking-debug-panel h3{color:#123c32;font-size:.92rem;margin:0 0 10px}.marking-debug-table{font-size:.82rem}.marking-debug-table code{background:#e5f5e9;border-radius:4px;color:#19352d;font-size:.76rem;padding:2px 5px}.marking-paper-note{color:#668077;font-size:.8rem;margin:9px 0 0}.marking-paper-open-link{color:#1f7455;display:inline-block;font-size:.82rem;font-weight:700;margin-top:8px}.marking-table-wrapper{overflow-x:auto}.marking-table{border-collapse:collapse;font-size:.92rem;width:100%}.marking-table td,.marking-table th{border-bottom:1px solid #e5eee9;padding:12px 10px;text-align:left;vertical-align:top}.marking-table tbody tr.needs-review{background:#fff6f5}.marking-table tbody tr.needs-review td,.marking-table tbody tr.needs-review th{border-bottom-color:#f2c7c2}.marking-table thead th{background:#f7fbf8;color:#45685a;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.marking-table tbody th{color:#1f7455;white-space:nowrap}.mark-cell{font-weight:700;white-space:nowrap}.marking-mark-input{border:1px solid #bfd7c8;border-radius:6px;padding:6px;width:62px}.marking-confidence{align-items:center;color:#45685a;display:inline-flex;gap:6px;white-space:nowrap}.marking-approval-card{align-items:center;background:#fff;border:1px solid #d8e7df;border-radius:14px;display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;padding:18px 22px}.marking-approval{align-items:center;color:#45685a;display:flex;font-size:.9rem;gap:9px}@media (max-width:760px){.automated-marking-page{padding:var(--shell-top-offset-mobile) 16px 40px}.marking-upload-grid{grid-template-columns:1fr}.marking-results-heading{display:block}.marking-total{margin-top:14px;text-align:left;width:-webkit-fit-content;width:fit-content}.batch-statistics,.marking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marking-paper-heading{display:block}.marking-paper-actions{margin-top:14px}.marking-suggestion-list li{display:grid}}@media (max-width:900px){.marking-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.marking-steps{grid-template-columns:repeat(2,1fr)}.marking-steps li{font-size:.75rem}.batch-item{gap:8px;grid-template-columns:1fr}}.automated-marking-page{max-width:1760px}.automated-marking-page.has-active-marking{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;margin-left:var(--sidebar-layout-width)!important;max-width:100%!important;min-height:100vh!important;padding:88px 26px 36px!important;padding:calc(var(--navbar-height, 64px) + 24px) 26px 36px 26px!important;width:calc(100% - var(--sidebar-layout-width))!important}@media (max-width:900px){.automated-marking-page.has-active-marking{margin-left:0!important;padding:80px 14px 28px!important;padding:calc(var(--navbar-height, 64px) + 16px) 14px 28px 14px!important;width:100%!important}}.combined-pdf-splitter-banner{background:#f0f7f3;border:1.5px dashed #2f8f53;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-top:14px;padding:16px 20px}.splitter-banner-title{align-items:flex-start;display:flex;gap:12px}.splitter-icon{font-size:1.4rem;line-height:1}.splitter-banner-title strong{color:#154530;display:block;font-size:.95rem;margin-bottom:2px}.splitter-banner-title p{color:#38604d;font-size:.85rem;margin:0}.splitter-banner-actions{align-items:center;border-top:1px solid #2f8f532e;display:flex;flex-wrap:wrap;gap:14px;padding-top:8px}.splitter-pages-label{align-items:center;color:#19352d;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px}.splitter-number-input{background:#fff;border:1px solid #95c4a7;border-radius:6px;color:#154530;font-size:.92rem;font-weight:700;padding:6px 8px;text-align:center;width:58px}.splitter-output-badge{color:#276144;font-size:.86rem}.btn-split-batch-pdf{background:#2f8f53;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:8px 16px;transition:background .15s ease}.btn-split-batch-pdf:hover:not(:disabled){background:#21683c}.btn-split-batch-pdf:disabled{cursor:not-allowed;opacity:.6}.marking-studio-header{align-items:center;background:#fff;border:1px solid #d8e7df;border-radius:14px;box-shadow:0 2px 10px #123c320a;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px;padding:14px 20px}.studio-header-left,.studio-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.studio-batch-nav{align-items:center;border-right:1px solid #d8e7df;display:flex;gap:8px;padding-right:12px}.btn-studio-back{background:#eef8f1;border:1px solid #84b99b;border-radius:8px;color:#1f7455;cursor:pointer;font-size:.82rem;font-weight:700;padding:6px 12px}.btn-studio-arrow{background:#fff;border:1px solid #bfd7c8;border-radius:8px;color:#1f7455;cursor:pointer;display:grid;font-size:.9rem;font-weight:800;height:32px;place-content:center;width:32px}.btn-studio-arrow:disabled{cursor:not-allowed;opacity:.35}.studio-script-select{background:#fff;border:1px solid #bfd7c8;border-radius:8px;color:#19352d;font-size:.85rem;font-weight:700;padding:6px 11px}.studio-script-select.needs-selection{background:#fffbeb;border-color:#d97706;color:#92400e}.studio-info-tags{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.studio-tag{background:#f0f4f1;border-radius:7px;color:#45685a;font-size:.81rem;font-weight:600;padding:5px 11px}.studio-tag.learner-tag{background:#e5f5e9;color:#123c32;font-weight:700}.studio-score-badge{align-items:baseline;background:#eef8f1;border-radius:8px;color:#1f7455;display:flex;gap:6px;padding:6px 12px}.studio-score-badge strong{font-size:1.1rem}.studio-score-badge span{color:#45685a;font-size:.84rem}.studio-status-pill{border-radius:999px;font-size:.78rem;font-weight:700;padding:5px 11px}.studio-status-pill.success{background:#e5f5e9;color:#1f7455}.studio-status-pill.warning{background:#fff6f5;color:#b42318}.studio-approval-checkbox{align-items:center;color:#19352d;cursor:pointer;display:flex;font-size:.86rem;font-weight:700;gap:8px}.studio-save-btn{background:#1f7455;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;padding:8px 16px;transition:background .15s ease}.studio-save-btn:hover:not(:disabled){background:#155b41}.studio-save-btn.is-saved{background:#15803d}.studio-save-btn:disabled{cursor:not-allowed;opacity:.5}.studio-batch-download-actions{align-items:center;display:flex;gap:6px}.btn-batch-download-zip,.btn-studio-batch-download{background:#1f7455;border:1px solid #1f7455;border-radius:7px;color:#fff;cursor:pointer;font-size:.81rem;font-weight:700;padding:6px 12px;transition:all .15s ease;white-space:nowrap}.btn-batch-download-zip:hover:not(:disabled),.btn-studio-batch-download:hover:not(:disabled){background:#155b41;border-color:#155b41}.btn-batch-download-combined,.btn-studio-batch-combined{background:#0f172a;border:1px solid #0f172a;border-radius:7px;color:#fff;cursor:pointer;font-size:.81rem;font-weight:700;padding:6px 12px;transition:all .15s ease;white-space:nowrap}.btn-batch-download-combined:hover:not(:disabled),.btn-studio-batch-combined:hover:not(:disabled){background:#1e293b;border-color:#1e293b}.btn-batch-download-combined:disabled,.btn-batch-download-zip:disabled,.btn-studio-batch-combined:disabled,.btn-studio-batch-download:disabled{cursor:wait;opacity:.55}.studio-feedback-bar{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;display:flex;flex-shrink:0;font-size:.84rem;font-weight:600;gap:12px;justify-content:space-between;margin-bottom:10px;padding:8px 14px}.studio-feedback-bar.is-saved{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.studio-feedback-bar.is-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.studio-feedback-action{background:#fff;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;cursor:pointer;font-size:.78rem;font-weight:700;padding:4px 10px}.marking-pre-marking-header{align-items:center;background:#f7faf8;border:1px solid #d8e7df;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px;padding:8px 14px}.marking-pre-marking-header .pre-header-info{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.marking-pre-marking-header .pre-file-badge{background:#e5f5e9;border-radius:6px;color:#123c32;font-size:.82rem;font-weight:800;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.marking-pre-marking-header .pre-file-name{color:#45685a;font-size:.84rem;font-weight:700;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pre-batch-nav{align-items:center;display:flex;gap:4px}.btn-pre-reset{background:#fff;border:1px solid #bfd7c8;border-radius:6px;color:#5d746b;cursor:pointer;font-size:.78rem;font-weight:700;padding:5px 10px;transition:all .15s ease}.btn-pre-reset:hover{background:#fff6f5;border-color:#f3c4c0;color:#b42318}.marking-review-layout{grid-gap:22px;align-items:stretch;display:grid;flex:1 1;gap:22px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);height:calc(100vh - 120px);min-height:760px;overflow:hidden}@media (max-width:1100px){.marking-review-layout{grid-template-columns:1fr;height:auto;min-height:0;overflow-y:visible}}.marking-review-paper{display:flex;flex-direction:column;height:100%;min-height:680px;overflow:hidden}.marking-review-paper .marking-paper-card{background:#fff;border:1px solid #d8e7df;border-radius:14px;box-shadow:0 2px 12px #123c320a;box-sizing:border-box;display:flex;flex-direction:column;height:100%;margin:0;min-height:0;overflow:hidden;padding:18px 20px}.marking-paper-toolbar{align-items:center;border-bottom:1px solid #edf4f0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.paper-toolbar-actions,.paper-toolbar-left{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.paper-toolbar-tag{color:#1f7455;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.paper-page-controls{align-items:center;background:#f7faf8;border:1px solid #d0ded6;border-radius:8px;display:flex;gap:8px;padding:3px 6px}.btn-page-nav{background:#0000;border:0;border-radius:5px;color:#1f7455;cursor:pointer;font-size:.82rem;font-weight:700;padding:4px 8px}.btn-page-nav:hover:not(:disabled){background:#e5f5e9}.btn-page-nav:disabled{cursor:not-allowed;opacity:.35}.page-indicator{color:#45685a;font-size:.82rem;font-weight:700}.paper-suggestion-pills{align-items:center;display:flex;gap:5px}.suggestion-label{color:#668077;font-size:.75rem}.btn-sugg-page{background:#fff;border:1px solid #bfd7c8;border-radius:5px;color:#45685a;cursor:pointer;font-size:.75rem;font-weight:700;padding:3px 7px}.btn-sugg-page.selected{background:#1f7455;border-color:#1f7455;color:#fff}.paper-toolbar-actions button{background:#fff;border:1px solid #b5d8bf;border-radius:7px;color:#45685a;cursor:pointer;font-size:.81rem;font-weight:700;padding:6px 12px}.paper-toolbar-actions button.selected{background:#1f7455;color:#fff}.paper-toolbar-actions button:disabled{cursor:not-allowed;opacity:.4}.marking-paper-viewer{align-items:flex-start;background:#eef2ef;border:1px solid #bfd7c8;border-radius:10px;display:flex;flex:1 1;justify-content:center;min-height:0;overflow:auto;padding:16px}.marking-review-results{display:flex;flex-direction:column;height:100%;min-height:680px;overflow:hidden}.marking-review-results .marking-results{background:#fff;border:1px solid #d8e7df;border-radius:14px;box-shadow:0 2px 12px #123c320a;box-sizing:border-box;display:flex;flex-direction:column;height:100%;margin:0;min-height:0;overflow:hidden;padding:20px 24px}.marking-review-results .marking-results-heading{align-items:center;border-bottom:1px solid #edf4f0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:14px;padding-bottom:12px}.marking-review-results .marking-results-heading h2{font-size:1.15rem;margin:0}.marking-review-results .marking-total{align-items:baseline;border-radius:8px;display:inline-flex;gap:8px;padding:6px 12px}.marking-review-results .marking-total strong{font-size:.98rem}.marking-review-results .marking-total span{font-size:.8rem}.marking-review-results .marking-section-summary,.marking-review-results .marking-summary-grid{flex-shrink:0;margin-bottom:10px}.marking-review-results .marking-table-wrapper{flex:1 1;min-height:0;overflow:auto}.marking-form-wrapper{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow-y:auto}.form-return-bar{display:flex;justify-content:flex-start;padding:4px 0 8px}.marking-review-results .marking-upload-card{background:#fff;border:1px solid #d8e7df;border-radius:12px;box-sizing:border-box;margin:0;padding:16px}.marking-loading-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;height:100%;min-height:0;overflow-y:auto;padding:28px}.loading-progress-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.loading-progress-title{align-items:center;display:flex;gap:12px}.marking-loading-card h3{color:#0f172a;font-size:1.05rem;font-weight:700;margin:0 0 3px}.loading-stage-label{color:#475569;font-size:.86rem;margin:0}.loading-progress-metrics{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0}.loading-percent-value{color:#1f7455;font-size:1.45rem;font-weight:700;line-height:1.1}.loading-elapsed-time{color:#64748b;font-size:.76rem;margin-top:2px}.loading-progress-bar-track{background:#f1f5f9;border-radius:999px;height:8px;overflow:hidden;width:100%}.loading-progress-bar-fill{background:#1f7455;border-radius:999px;height:100%;transition:width .45s ease}.loading-batch-meta{align-items:center;color:#475569;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:600;gap:8px;justify-content:space-between}.loading-pipeline-steps{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:12px 14px}.loading-pipeline-steps li{align-items:center;color:#64748b;display:flex;font-size:.84rem;gap:10px}.loading-pipeline-steps li.is-done{color:#15803d;font-weight:600}.loading-pipeline-steps li.is-active{color:#0f172a;font-weight:700}.step-indicator-icon{flex-shrink:0;font-size:.82rem;text-align:center;width:18px}.loading-completed-feed{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.loading-completed-feed>strong{color:#475569;display:block;font-size:.78rem;margin-bottom:6px}.loading-completed-feed ul{display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;padding:0}.loading-completed-feed li{align-items:center;color:#1e293b;display:flex;font-size:.82rem;justify-content:space-between}.loading-completed-feed li strong{color:#15803d}.loading-completed-feed .feed-failed{color:#b91c1c;font-weight:600}.marking-loading-card .marking-progress-hint{color:#64748b;font-size:.78rem;margin:0}.marking-spinner,.marking-spinner-sm{animation:marking-spin .85s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1f7455;flex-shrink:0;height:24px;width:24px}@keyframes marking-spin{to{transform:rotate(1turn)}}.marking-setup-bar{background:#f0f7f3;border:1px solid #c8e0d2;border-radius:12px;gap:12px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.marking-setup-bar,.setup-bar-summary{align-items:center;display:flex;flex-wrap:wrap}.setup-bar-summary{color:#19352d;font-size:.9rem;gap:8px}.setup-badge{background:#1f7455;border-radius:999px;color:#fff;display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.setup-sep{color:#84b99b}.setup-learner-name{color:#123c32;font-weight:700}.btn-toggle-setup{background:#fff;border:1px solid #9ec6b0;border-radius:8px;color:#1f7455;cursor:pointer;font-size:.84rem;font-weight:700;padding:6px 12px;transition:background .15s ease}.btn-toggle-setup:hover{background:#e5f5e9}.marking-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.marking-view-mode-toggle{background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;display:inline-flex;gap:3px;overflow:hidden;padding:3px}.marking-view-mode-toggle button{background:#0000;border:0;border-radius:6px;color:#475569;cursor:pointer;font-size:.84rem;font-weight:600;padding:7px 14px;transition:all .12s ease}.marking-view-mode-toggle button.selected{background:#fff;box-shadow:0 1px 3px #0f172a14;color:#0f172a}.marking-question-strip-container{background:#0000;border-bottom:1px solid #e2e8f0;flex-shrink:0;margin:2px 0 16px;padding:4px 0 10px}.marking-question-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-color:#cbd5e1 #0000;scrollbar-width:thin}.marking-question-strip::-webkit-scrollbar{height:5px}.marking-question-strip::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.q-nav-pill{align-items:baseline;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;flex-shrink:0;font:inherit;gap:8px;padding:7px 13px;transition:all .12s ease}.q-nav-pill:hover{background:#f8fafc;border-color:#94a3b8}.q-nav-pill.is-active{background:#1f7455;border-color:#1f7455;color:#fff}.pill-qnum{color:inherit;font-size:.86rem;font-weight:700}.pill-score{color:#64748b;font-size:.78rem;font-weight:500}.q-nav-pill.is-active .pill-score{color:#ffffffe0}.q-nav-pill.status-review:not(.is-active){background:#fffbeb;border-color:#fcd34d}.q-nav-pill.status-zero:not(.is-active) .pill-score{color:#b91c1c}.focused-question-card{background:#fff;border:0;border-radius:0;display:flex;flex:1 1;flex-direction:column;gap:20px;margin-top:0;min-height:0;overflow-y:auto;padding:6px 4px 8px}.focused-card-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:14px;justify-content:space-between;padding-bottom:14px}.focused-header-info{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px}.focused-q-badge{color:#0f172a;font-size:1.2rem;font-weight:700}.focused-section-badge{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;color:#475569;display:inline-block;font-size:.78rem;font-weight:600;padding:3px 9px}.focused-step-count{color:#64748b;font-size:.84rem;font-weight:500}.focused-confidence-tag{color:#64748b;font-size:.82rem;font-weight:500}.btn-review-status-toggle{border-radius:7px;cursor:pointer;font-size:.82rem;font-weight:600;padding:7px 13px;transition:all .12s ease}.btn-review-status-toggle.is-flagged{background:#fefce8;border:1px solid #eab308;color:#854d0e}.btn-review-status-toggle.is-flagged:hover{background:#fef9c3}.btn-review-status-toggle.is-checked{background:#fff;border:1px solid #cbd5e1;color:#334155}.btn-review-status-toggle.is-checked:hover{background:#f8fafc}.focused-answers-grid{grid-gap:16px;display:grid;flex-shrink:0;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}@media (max-width:720px){.focused-answers-grid{grid-template-columns:1fr}}.focused-answer-pane{background:#fcfdfd;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;min-height:92px;padding:16px 18px}.focused-answer-pane.learner-pane{background:#fff;border:1px solid #e2e8f0}.focused-answer-pane.memo-pane{background:#f8fafc;border:1px solid #e2e8f0}.pane-tag{color:#64748b;font-size:.78rem;font-weight:600}.memo-pane .pane-tag{color:#475569}.answer-text{color:#0f172a;font-size:.96rem;font-weight:400;line-height:1.6;margin:8px 0 0;white-space:pre-wrap;word-break:break-word}.answer-empty{color:#94a3b8;font-size:.88rem;font-style:italic;margin:8px 0 0}.focused-marking-controls{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;gap:16px;justify-content:space-between;margin:0;padding:14px 18px}.focused-marking-controls,.mark-stepper-group{align-items:center;display:flex;flex-wrap:wrap}.mark-stepper-group{gap:12px}.mark-label{color:#1e293b;font-size:.9rem;font-weight:600}.mark-stepper-wrapper{align-items:center;display:flex;gap:8px}.stepper-btn{background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#334155;cursor:pointer;display:grid;font-size:1.05rem;font-weight:600;height:34px;place-content:center;transition:background .12s ease;width:34px}.stepper-btn:hover:not(:disabled){background:#f1f5f9}.stepper-btn:disabled{cursor:not-allowed;opacity:.4}.focused-mark-input{background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#0f172a;font-size:1.02rem;font-weight:700;height:34px;text-align:center;width:66px}.mark-denominator{color:#64748b;font-size:.88rem;font-weight:500;margin-left:2px}.quick-marks-group{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.quick-marks-label{color:#64748b;font-size:.8rem;font-weight:500}.btn-quick-mark{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:.84rem;font-weight:600;height:32px;min-width:34px;padding:0 10px;transition:all .12s ease}.btn-quick-mark:hover{background:#f8fafc;border-color:#94a3b8}.btn-quick-mark.selected{background:#1f7455;border-color:#1f7455;color:#fff}.focused-feedback-section{display:flex;flex-direction:column;flex-shrink:0;gap:14px;margin:0}.feedback-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#334155;font-size:.9rem;padding:14px 18px}.feedback-box strong{color:#0f172a;display:block;font-size:.82rem;font-weight:600;margin-bottom:6px}.feedback-box p{line-height:1.55;margin:0}.evidence-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#334155;font-size:.9rem;padding:14px 18px}.evidence-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.evidence-header strong{color:#0f172a;font-size:.82rem;font-weight:600}.evidence-text{color:#475569;line-height:1.55;margin:0}.btn-jump-paper-page{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:.78rem;font-weight:600;padding:4px 10px;transition:background .12s ease}.btn-jump-paper-page:hover{background:#f8fafc}.focused-method-steps{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:.88rem;margin-top:2px;padding:10px 14px}.focused-card-nav{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;margin-top:auto;padding-top:16px}.btn-nav-next,.btn-nav-prev{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 18px;transition:all .12s ease}.btn-nav-next:hover:not(:disabled),.btn-nav-prev:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.btn-nav-next:disabled,.btn-nav-prev:disabled{cursor:not-allowed;opacity:.4}.focused-nav-progress{color:#64748b;font-size:.86rem;font-weight:500}.marking-table tbody tr.active-row{background:#f8fafc!important}.active-dot{color:#1f7455;font-size:.85rem}.marking-table-stats-bar{align-items:center;background:#0000;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:8px 0 12px}.table-stat-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;color:#475569;font-size:.81rem;padding:5px 11px}.table-stat-chip strong{color:#0f172a}.table-stat-chip.warning{background:#fef2f2;border-color:#fecaca;color:#991b1b}.table-stat-chip.warning strong{color:#991b1b}.table-stat-chip.section-chip{background:#f8fafc;border-color:#e2e8f0;color:#334155}.marking-review-results .marking-table thead th{background:#f8fafc;box-shadow:inset 0 -1px 0 #e2e8f0;color:#475569;font-size:.83rem;font-weight:600;letter-spacing:0;padding:12px 16px;position:-webkit-sticky;position:sticky;text-transform:none;top:0;z-index:2}.marking-review-results .marking-table td,.marking-review-results .marking-table th{border-bottom:1px solid #f1f5f9;line-height:1.55;padding:16px}.table-q-cell{min-width:80px}.table-q-num{color:#0f172a;font-size:.96rem;font-weight:700}.table-sec-badge{background:#f1f5f9;border-radius:4px;color:#475569;display:inline-block;font-size:.72rem;font-weight:600;margin-top:4px;padding:2px 7px}.table-answer-cell{color:#1e293b;max-width:280px;min-width:140px;word-break:break-word}.table-mark-Editor{align-items:center;display:flex;gap:6px;margin-bottom:6px}.marking-denominator-input,.marking-maxmark-input{background:#f8fafc;border:1px dashed #94a3b8;border-radius:6px;color:#334155;font-size:.88rem;font-weight:600;padding:4px 6px;text-align:center;transition:border-color .15s ease,background-color .15s ease;width:48px}.marking-denominator-input:focus,.marking-denominator-input:hover,.marking-maxmark-input:focus,.marking-maxmark-input:hover{background:#fff;border:1px solid #1f7455;outline:none}.table-mark-slash{color:#64748b;font-weight:600}.table-feedback-cell{color:#334155;line-height:1.55;min-width:190px}.marking-struggle-callout{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155;display:flex;flex-shrink:0;flex-wrap:wrap;font-size:.88rem;gap:14px;justify-content:space-between;padding:14px 18px}.struggle-callout-text{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:220px}.struggle-callout-text strong{color:#0f172a;font-size:.86rem;font-weight:600}.struggle-callout-actions,.struggle-export-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-export-struggles,.btn-view-struggles{background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#1e293b;cursor:pointer;font-size:.82rem;font-weight:600;padding:7px 13px;transition:all .12s ease;white-space:nowrap}.btn-export-struggles:hover:not(:disabled),.btn-view-struggles:hover{background:#f1f5f9;border-color:#94a3b8}.btn-export-struggles.primary{background:#0f172a;border-color:#0f172a;color:#fff}.btn-export-struggles.primary:hover:not(:disabled){background:#1e293b;border-color:#1e293b}.btn-export-struggles:disabled{cursor:not-allowed;opacity:.55}.marking-struggles-panel{display:flex;flex:1 1;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;padding-right:6px}.struggle-summary-banner{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;padding:16px 20px}.struggle-banner-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.struggle-summary-banner h3{color:#0f172a;font-size:.98rem;font-weight:600;margin:0 0 6px}.struggle-summary-banner p{color:#334155;font-size:.9rem;line-height:1.55;margin:0}.struggle-batch-section,.struggle-individual-section{display:flex;flex-direction:column;flex-shrink:0;gap:12px}.struggle-batch-section h4,.struggle-individual-section h4{color:#475569;font-size:.86rem;font-weight:600;margin:0}.struggle-cards-list{display:flex;flex-direction:column;gap:12px}.struggle-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:16px 18px}.struggle-item-card.severity-critical,.struggle-item-card.severity-high,.struggle-item-card.severity-moderate{background:#fff;border-color:#e2e8f0}.struggle-card-top{justify-content:space-between}.struggle-card-title,.struggle-card-top{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.struggle-card-title{color:#0f172a}.struggle-severity-pill{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;color:#475569;font-size:.78rem;font-weight:600;padding:3px 9px}.struggle-severity-pill.critical{background:#fef2f2;border-color:#fecaca;color:#991b1b}.struggle-severity-pill.high{background:#fffbeb;border-color:#fde68a;color:#92400e}.struggle-severity-pill.moderate{background:#f8fafc;border-color:#e2e8f0;color:#334155}.struggle-feedback-text{color:#334155;font-size:.9rem;line-height:1.55;margin:0}.struggle-missed-steps{margin:4px 0 0}.struggle-answers-compare{grid-gap:12px;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;color:#475569;display:grid;font-size:.86rem;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));line-height:1.5;padding:12px 14px}.struggle-empty-state{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155;font-size:.9rem;font-weight:500;margin:0;padding:16px 18px}@keyframes activeTickPulse{0%{r:.016;opacity:.9}50%{r:.026;opacity:.35}to{r:.016;opacity:.9}}.marking-active-tick-halo{fill:none;stroke:#10b981;stroke-width:.003px;animation:activeTickPulse 1.8s ease-in-out infinite;pointer-events:none}.marking-active-tick-halo.is-selected-halo{stroke:#2563eb;stroke-width:.0035px}.marking-paper-tick.is-active-tick{stroke-width:.008px;stroke:#10b981;filter:drop-shadow(0 0 2px #10b981)}.marking-paper-tick.is-selected-tick{stroke-width:.008px;stroke:#2563eb;filter:drop-shadow(0 0 3px rgba(37,99,235,.7))}.marking-debug-box.is-active-evidence{stroke:#2563eb;stroke-width:.0035px;fill:#2563eb24;stroke-dasharray:.007px .004px}.marking-debug-label.is-active-label{fill:#1d4ed8;font-size:.016px;font-weight:900}.selected-tick-controls{align-items:center;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;display:inline-flex;gap:6px;padding:2px 8px}.selected-tick-label{color:#1d4ed8;font-size:.74rem;font-weight:800}.paper-toolbar-actions button.btn-delete-tick{background:#fff6f5;border-color:#f3c4c0;color:#b42318}.paper-toolbar-actions button.btn-delete-tick:hover{background:#fee2e2;border-color:#dc2626}.select-stamp-mode{background:#fff;border:1px solid #b5d8bf;border-radius:6px;color:#19352d;cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 10px;transition:border-color .15s ease,box-shadow .15s ease}.select-stamp-mode:focus{border-color:#1f7455;box-shadow:0 0 0 2px #1f74552e;outline:none}.marking-sticky-approval-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #bfd7c8;border-radius:16px;bottom:12px;box-shadow:0 8px 32px #123c3229;margin-top:24px;padding:14px 20px;position:-webkit-sticky;position:sticky;z-index:100}.marking-sticky-inner{gap:14px;justify-content:space-between}.marking-sticky-inner,.marking-sticky-stats{align-items:center;display:flex;flex-wrap:wrap}.marking-sticky-stats{gap:12px}.sticky-score-badge{align-items:baseline;background:#eef8f1;border-radius:8px;color:#1f7455;display:flex;gap:5px;padding:6px 12px}.sticky-score-badge strong{font-size:1.2rem}.sticky-score-badge span{color:#45685a;font-size:.85rem}.sticky-pills{display:flex;flex-wrap:wrap;gap:8px}.sticky-pill{border-radius:999px;font-size:.78rem;font-weight:700;padding:4px 9px}.sticky-pill.success{background:#e5f5e9;color:#1f7455}.sticky-pill.warning{background:#fff6f5;color:#b42318}.sticky-pill.neutral{background:#f0f3f2;color:#45685a}.marking-sticky-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.marking-sticky-checkbox{align-items:center;color:#19352d;cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:8px}.marking-submit-btn{background:#1f7455;border:0;border-radius:10px;color:#fff;cursor:pointer;font-size:.92rem;font-weight:700;padding:10px 20px;transition:background .15s ease}.marking-submit-btn:hover:not(:disabled){background:#155b41}.marking-submit-btn:disabled{cursor:not-allowed;opacity:.55}.marking-sticky-hints{color:#b42318;font-size:.8rem;font-weight:600;margin-top:8px}.ai-loader-stage{align-items:center;background:radial-gradient(ellipse at center,#14281e 0,#0b1510 100%);border:1px solid #2e7d4f66;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff14,0 10px 30px #08140e73;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;margin:6px 0 16px;min-height:170px;overflow:hidden;padding:24px 16px;position:relative;width:100%}.form-ai-loader-container{display:flex;flex-direction:column;gap:10px;margin-top:14px}.loader-wrapper{align-items:center;color:#fff;display:flex;font-family:Poppins,sans-serif;font-size:1.6em;font-weight:600;height:120px;justify-content:center;margin:2rem;position:relative;scale:2;-webkit-user-select:none;user-select:none;width:auto}.loader-wrapper .loader{background-color:initial;height:100%;left:0;-webkit-mask:repeating-linear-gradient(90deg,#0000,#0000 6px,#000 7px,#000 8px);mask:repeating-linear-gradient(90deg,#0000,#0000 6px,#000 7px,#000 8px);position:absolute;top:0;width:100%;z-index:1}.loader-wrapper .loader:after{animation:transform-animation 2s infinite alternate,opacity-animation 4s infinite;animation-timing-function:cubic-bezier(.6,.8,.5,1);background-image:radial-gradient(circle at 50% 50%,#ff0 0,#0000 50%),radial-gradient(circle at 45% 45%,red 0,#0000 45%),radial-gradient(circle at 55% 55%,#0ff 0,#0000 45%),radial-gradient(circle at 45% 55%,#0f0 0,#0000 45%),radial-gradient(circle at 55% 45%,#00f 0,#0000 45%);content:"";height:100%;left:0;-webkit-mask:radial-gradient(circle at 50% 50%,#0000 0,#0000 10%,#000 25%);mask:radial-gradient(circle at 50% 50%,#0000 0,#0000 10%,#000 25%);position:absolute;top:0;width:100%}@keyframes transform-animation{0%{transform:translate(-55%)}to{transform:translate(55%)}}@keyframes opacity-animation{0%,to{opacity:0}15%{opacity:1}65%{opacity:0}}.loader-letter{animation:loader-letter-anim 4s linear infinite;display:inline-block;opacity:0;z-index:2}.loader-letter:first-child{animation-delay:.1s}.loader-letter:nth-child(2){animation-delay:.205s}.loader-letter:nth-child(3){animation-delay:.31s}.loader-letter:nth-child(4){animation-delay:.415s}.loader-letter:nth-child(5){animation-delay:.521s}.loader-letter:nth-child(6){animation-delay:.626s}.loader-letter:nth-child(7){animation-delay:.731s}.loader-letter:nth-child(8){animation-delay:.837s}.loader-letter:nth-child(9){animation-delay:.942s}.loader-letter:nth-child(10){animation-delay:1.047s}@keyframes loader-letter-anim{0%{opacity:0}5%{opacity:1;text-shadow:0 0 4px #fff;transform:scale(1.1) translateY(-2px)}20%{opacity:.2}to{opacity:0}}@media (max-width:680px){.loader-wrapper{margin:1rem 0;scale:1.4}.ai-loader-stage{min-height:140px;padding:16px 8px}}.marking-assessment-type{display:flex;flex-direction:column;font-weight:600;gap:8px;margin:16px 0}.marking-assessment-type select{max-width:420px;min-height:42px;width:100%}.marking-assessment-type small{color:#607267;font-size:.8rem;font-weight:400;line-height:1.5;max-width:760px}
/*# sourceMappingURL=main.f2c82827.css.map*/