:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;--blue: #0d2b52;--blue-soft: #183d69;--gold: #c9a227;--white: #ffffff;--surface: #f8fafc;--line: #e5e7eb;--text: #111827;--muted: #6b7280;--radius-lg: 24px;--radius-md: 14px;--shadow: 0 20px 50px rgba(13, 43, 82, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--surface)}button,input{font:inherit}button{color:inherit}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:var(--white)}.brand-panel{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(36px,5vw,72px);background:var(--blue);color:var(--white);position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:260px;height:260px;right:-130px;bottom:-130px;border:1px solid rgba(201,162,39,.55);transform:rotate(45deg)}.brand-mark{display:flex;flex-direction:column;gap:3px;position:relative;z-index:1}.brand-name{font-size:clamp(30px,3vw,46px);font-weight:800;letter-spacing:.12em}.brand-product{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb8}.brand-copy{max-width:650px;position:relative;z-index:1}.brand-motto{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}.brand-copy h1{margin:0;font-size:clamp(36px,5vw,66px);line-height:1.02;letter-spacing:-.035em;max-width:720px}.brand-principle{margin:26px 0 0;max-width:560px;font-size:17px;line-height:1.65;color:#ffffffc7}.brand-footer{position:relative;z-index:1;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff94}.login-panel{min-height:100vh;display:grid;place-items:center;padding:clamp(26px,5vw,72px);background:linear-gradient(180deg,#fff,#f8fafc)}.login-card{width:min(100%,480px);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(30px,4vw,48px);box-shadow:var(--shadow);position:relative}.login-card:before,.login-card:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--gold);pointer-events:none}.login-card:before{left:12px;bottom:12px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold)}.login-card:after{right:12px;bottom:12px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold)}.login-card-header{margin-bottom:30px}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.login-card h2{margin:8px 0;color:var(--blue);font-size:34px;letter-spacing:-.025em}.login-card-header p{margin:0;color:var(--muted);line-height:1.55}.field-label{display:block;margin:18px 0 8px;font-size:13px;font-weight:700;color:var(--blue)}.field-shell{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #d7dce3;border-radius:var(--radius-md);background:#fff;transition:border-color .18s ease,box-shadow .18s ease;color:#94a3b8}.field-shell:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5217}.field-shell input{width:100%;border:0;outline:0;padding:14px 0;color:var(--text);background:transparent}.field-shell input::placeholder{color:#a8b0bc}.field-shell input:disabled{cursor:not-allowed;opacity:.72}.primary-button{width:100%;margin-top:24px;border:0;border-radius:var(--radius-md);padding:14px 18px;background:var(--blue);color:var(--white);font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #0d2b5229}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{cursor:wait;opacity:.65}.login-note{margin:18px 0 0;text-align:center;color:var(--muted);font-size:12px;line-height:1.5}.form-error{margin:14px 0 -4px;padding:10px 12px;border-radius:10px;background:#fff5f5;border:1px solid #fecaca;color:#991b1b;font-size:13px;line-height:1.45}.screen-center{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted);background:var(--surface)}.loading-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--blue);color:var(--gold);font-weight:900;font-size:22px;box-shadow:0 12px 28px #0d2b5229}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);background:var(--surface)}.dashboard-sidebar{min-height:100vh;position:sticky;top:0;align-self:start;display:flex;flex-direction:column;padding:28px 18px 20px;background:var(--blue);color:var(--white)}.sidebar-brand{display:flex;flex-direction:column;padding:0 10px 24px;border-bottom:1px solid rgba(255,255,255,.11)}.sidebar-brand-name{font-weight:900;letter-spacing:.12em;font-size:23px}.sidebar-brand-product{margin-top:3px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#fff9}.sidebar-nav{display:flex;flex-direction:column;gap:5px;padding:24px 0}.sidebar-section-label{padding:0 12px 8px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#ffffff73}.sidebar-item{min-height:43px;display:flex;align-items:center;gap:11px;padding:0 12px;border-radius:11px;color:#ffffffad;font-size:13px;font-weight:650;position:relative}.sidebar-item.is-active{background:#ffffff14;color:var(--white)}.sidebar-item.is-active:before{content:"";position:absolute;left:-1px;width:3px;height:20px;border-radius:3px;background:var(--gold)}.sidebar-footer{margin-top:auto;padding:18px 10px 0;border-top:1px solid rgba(255,255,255,.11)}.sidebar-role{display:block;margin-bottom:10px;color:var(--gold);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.sidebar-logout{width:100%;display:flex;align-items:center;gap:9px;padding:9px 0;border:0;background:transparent;color:#ffffffa8;cursor:pointer;font-size:12px}.sidebar-logout:hover{color:var(--white)}.dashboard-main{min-width:0}.dashboard-header{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px clamp(28px,4vw,54px) 24px;background:var(--white);border-bottom:1px solid var(--line)}.dashboard-eyebrow{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.dashboard-header h1{margin:6px 0 4px;color:var(--blue);font-size:clamp(26px,3vw,34px);letter-spacing:-.025em}.dashboard-header p{margin:0;color:var(--muted);font-size:13px}.user-chip{display:flex;align-items:center;gap:11px;min-width:190px;justify-content:flex-end}.user-avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--blue);color:var(--gold);font-weight:900}.user-chip div{display:flex;flex-direction:column;gap:2px;min-width:0}.user-chip strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue);font-size:12px}.user-chip span:not(.user-avatar){color:var(--muted);font-size:10px}.dashboard-content{padding:clamp(26px,4vw,50px)}.dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:clamp(24px,4vw,38px);border-radius:20px;border:1px solid #dfe5ec;background:var(--white);box-shadow:0 12px 32px #0d2b520f;position:relative;overflow:hidden}.dashboard-banner:after{content:"";position:absolute;right:-50px;bottom:-50px;width:110px;height:110px;border:1px solid rgba(201,162,39,.45);transform:rotate(45deg)}.dashboard-banner>*{position:relative;z-index:1}.dashboard-banner-label{color:var(--gold);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.dashboard-banner h2{max-width:700px;margin:7px 0 8px;color:var(--blue);font-size:clamp(21px,2.6vw,30px);letter-spacing:-.02em}.dashboard-banner p{max-width:760px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}.status-pill{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#eef7f1;color:#23714a;border:1px solid #cfe8d8;font-size:11px;font-weight:800}.student-banner{min-height:178px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.module-card{min-height:150px;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:start;padding:22px;border-radius:16px;background:var(--white);border:1px solid var(--line);box-shadow:0 8px 24px #0d2b5209;position:relative}.module-card-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f0f4f8;color:var(--blue)}.module-card h3{margin:3px 0 6px;color:var(--blue);font-size:15px}.module-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.module-card-state{grid-column:2;align-self:end;color:#9aa3af;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.empty-state-card{display:flex;align-items:center;gap:18px;margin-top:18px;padding:25px;border-radius:16px;background:var(--white);border:1px dashed #cfd6df;color:var(--blue)}.empty-state-card h3{margin:0 0 5px;font-size:15px}.empty-state-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}@media(max-width:1000px){.dashboard-shell{grid-template-columns:210px minmax(0,1fr)}.module-grid{grid-template-columns:1fr}.user-chip{min-width:auto}}@media(max-width:760px){.dashboard-shell{display:block}.dashboard-sidebar{min-height:auto;position:static;padding:18px}.sidebar-brand{padding-bottom:15px}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:14px 0 4px}.sidebar-section-label,.sidebar-footer{display:none}.sidebar-item{flex:0 0 auto;min-height:38px}.sidebar-item.is-active:before{display:none}.dashboard-header{min-height:auto;align-items:flex-start;padding:22px 20px}.user-chip div{display:none}.dashboard-content{padding:20px}.dashboard-banner{align-items:flex-start;flex-direction:column}}@media(max-width:900px){.login-page{grid-template-columns:1fr}.brand-panel{min-height:auto;padding:34px 26px;gap:54px}.brand-copy h1{font-size:clamp(34px,9vw,50px)}.brand-footer{display:none}.login-panel{min-height:auto;padding:28px 18px 42px}}.sidebar-item.is-disabled{opacity:.42;cursor:default}.page-error{margin-top:16px;padding:12px 14px;border:1px solid #fecaca;border-radius:12px;background:#fff7f7;color:#991b1b;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.stat-card{display:flex;align-items:center;gap:13px;min-height:92px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--white);box-shadow:0 8px 24px #0d2b5209}.stat-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;background:#f0f4f8;color:var(--blue)}.stat-card div:last-child{display:flex;flex-direction:column;gap:3px}.stat-card span{color:var(--muted);font-size:11px}.stat-card strong{color:var(--blue);font-size:24px;letter-spacing:-.03em}.module-card-link{color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.module-card-link:hover{transform:translateY(-2px);border-color:#cfd7e1;box-shadow:0 12px 28px #0d2b5212}.module-card-state.is-ready{color:#23714a}.page-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,auto) minmax(170px,auto) auto;gap:10px;align-items:center;margin-bottom:16px}.page-toolbar select,.student-form select,.student-form input{min-height:42px;border:1px solid #d7dce3;border-radius:11px;background:#fff;color:var(--text);padding:0 12px;outline:none}.page-toolbar select:focus,.student-form select:focus,.student-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5214}.toolbar-search{min-height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d7dce3;border-radius:11px;background:#fff;color:#94a3b8}.toolbar-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5214}.toolbar-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.action-button,.secondary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-radius:11px;font-weight:800;font-size:12px;cursor:pointer}.action-button{border:1px solid var(--blue);background:var(--blue);color:#fff}.action-button:hover:not(:disabled){box-shadow:0 9px 20px #0d2b5221}.secondary-button{border:1px solid #d7dce3;background:#fff;color:var(--blue)}.action-button:disabled,.secondary-button:disabled{opacity:.55;cursor:wait}.data-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px #0d2b5209}.data-card-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}.data-eyebrow{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.data-card-header h2,.modal-header h2{margin:4px 0 0;color:var(--blue);font-size:18px}.record-count{color:var(--muted);font-size:11px}.table-scroll{width:100%;overflow-x:auto}.academic-table{width:100%;border-collapse:collapse;min-width:900px}.academic-table th{padding:11px 12px;background:#f8fafc;border-bottom:1px solid var(--line);color:#667085;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-align:left;white-space:nowrap}.academic-table td{padding:12px;border-bottom:1px solid #eef1f4;color:#4b5563;font-size:11px;vertical-align:middle}.academic-table tbody tr:last-child td{border-bottom:0}.academic-table tbody tr:hover{background:#fbfcfe}.student-name-cell strong{color:var(--blue);font-size:11px}.order-input{width:52px;height:32px;border:1px solid #d7dce3;border-radius:8px;padding:0 6px;text-align:center;color:var(--blue);font-weight:800;background:#fff}.status-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.05em}.status-badge.is-active{background:#eef7f1;color:#23714a}.status-badge.is-inactive{background:#f3f4f6;color:#6b7280}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button,.modal-close{width:32px;height:32px;display:grid;place-items:center;border:1px solid #dfe4ea;border-radius:9px;background:#fff;color:var(--blue);cursor:pointer}.row-actions button:hover,.modal-close:hover:not(:disabled){background:#f3f6f9}.table-empty{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:#94a3b8;text-align:center;padding:30px}.table-empty strong{color:var(--blue);font-size:13px}.table-empty span{font-size:11px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0d1a2b7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(100%,680px);max-height:calc(100vh - 40px);overflow-y:auto;border:1px solid #dfe4ea;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0d2b5238}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}.student-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 24px 24px}.student-form label{display:flex;flex-direction:column;gap:6px}.student-form label>span{color:var(--blue);font-size:10px;font-weight:800}.modal-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:9px;padding-top:4px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-toolbar{grid-template-columns:1fr 1fr}}@media(max-width:700px){.stats-grid,.page-toolbar,.student-form{grid-template-columns:1fr}.modal-actions{grid-column:1}.dashboard-content{padding:18px}}.sidebar-link{text-decoration:none}.sidebar-item.is-disabled{opacity:.42;cursor:not-allowed}.page-error,.page-success{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:11px 14px;border-radius:11px;font-size:13px;line-height:1.45}.page-error{background:#fff5f5;border:1px solid #fecaca;color:#991b1b}.page-success{background:#f0f8f3;border:1px solid #cce8d6;color:#236846}.compact-message{margin:10px 0}.context-strip{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 20px #0d2b5209}.compact-context{align-items:center}.context-field{display:flex;flex-direction:column;gap:6px;min-width:150px;flex:1}.context-field-wide{min-width:230px;flex:1.35}.context-field label{color:var(--blue);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.context-field select,.panel-select,.page-toolbar select{min-height:41px;border:1px solid #d6dce4;border-radius:11px;background:#fff;padding:0 11px;color:var(--text);outline:0}.context-field select:focus,.panel-select:focus,.page-toolbar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5212}.context-summary{display:flex;flex-direction:column;min-width:170px;padding:7px 3px}.context-summary strong{font-size:13px;color:var(--blue)}.context-summary span{font-size:11px;color:var(--muted);margin-top:3px}.action-button,.small-action,.secondary-action,.table-action-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;font-weight:800;cursor:pointer;white-space:nowrap}.action-button{min-height:41px;padding:0 15px;background:var(--blue);color:#fff}.small-action{min-height:34px;padding:0 11px;background:var(--blue);color:#fff;font-size:11px}.secondary-action{min-height:38px;padding:0 12px;background:#fff;color:var(--blue);border:1px solid #d7dde5;font-size:11px}.table-action-button{padding:7px 9px;background:#f2f5f8;color:var(--blue);font-size:11px}.action-button:disabled,.small-action:disabled,.secondary-action:disabled{opacity:.5;cursor:not-allowed}.page-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.page-toolbar.align-end{justify-content:space-between}.toolbar-copy h2{margin:3px 0;color:var(--blue)}.toolbar-search{display:flex;align-items:center;gap:8px;min-width:260px;flex:1;max-width:460px;border:1px solid #d6dce4;border-radius:11px;background:#fff;padding:0 11px;color:#94a3b8}.toolbar-search input{border:0;outline:0;width:100%;padding:11px 0;background:transparent}.data-card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 7px 24px #0d2b5209;overflow:hidden}.data-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.data-card-header h2{margin:3px 0 0;color:var(--blue);font-size:17px}.data-card-header p{margin:4px 0 0;color:var(--muted);font-size:11px}.data-eyebrow{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.record-count{font-size:10px;font-weight:800;color:var(--muted)}.table-scroll{overflow:auto}.academic-table{width:100%;border-collapse:collapse;font-size:12px}.academic-table th{padding:11px 12px;background:#f7f9fb;color:#526174;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--line);white-space:nowrap}.academic-table td{padding:10px 12px;border-bottom:1px solid #edf0f4;vertical-align:middle}.academic-table tr:last-child td{border-bottom:0}.student-name-cell{min-width:190px;color:#334155}.student-name-cell strong{color:var(--blue)}.row-actions{display:flex;gap:5px;justify-content:flex-end}.row-actions button,.unit-actions button,.component-row button,.config-row button,.task-card footer button,.staff-actions button,.institution-actions button,.access-actions button{border:1px solid #dce1e8;background:#fff;color:var(--blue);border-radius:8px;padding:6px 8px;font-size:10px;font-weight:750;cursor:pointer}.table-empty,.workspace-empty{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:25px;text-align:center;color:var(--muted)}.workspace-empty h2,.table-empty strong{margin:3px 0;color:var(--blue)}.workspace-empty p,.table-empty span{margin:0;font-size:12px;max-width:520px;line-height:1.5}.workspace-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#eef3f8;color:var(--blue)}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.publication-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#f3f4f6;color:#6b7280;border:1px solid #e1e4e8;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.publication-pill.is-published{background:#eef8f1;color:#22704a;border-color:#cae7d4}.gradebook-scroll{max-height:calc(100vh - 300px)}.gradebook-table th,.gradebook-table td{text-align:center}.gradebook-table .sticky-number,.gradebook-table .sticky-student{position:sticky;z-index:3;background:#fff}.gradebook-table thead .sticky-number,.gradebook-table thead .sticky-student{background:#f7f9fb;z-index:5}.gradebook-table .sticky-number{left:0;width:52px}.gradebook-table .sticky-student{left:52px;text-align:left;box-shadow:6px 0 8px #0d2b5206}.number-cell{text-align:center!important}.component-heading{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:#526174;padding:0;font:inherit;font-weight:800;text-transform:inherit;cursor:pointer}.grade-cell-editor{min-width:86px;display:grid;grid-template-columns:54px 22px;gap:3px;justify-content:center}.score-input{width:54px;height:34px;border:1px solid #d5dbe3;border-radius:8px;text-align:center;outline:0;background:#fff}.score-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #0d2b5214}.observation-select{width:22px;height:34px;border:1px solid #d5dbe3;border-radius:7px;color:transparent;background:#fff;padding:0;cursor:pointer}.observation-select.has-value{border-color:#c9a227;background:#fffaf0}.observation-text{grid-column:1/3;width:79px;border:1px solid #d5dbe3;border-radius:7px;padding:4px;font-size:9px}.calculated-cell{font-weight:800;color:#64748b;background:#fafbfc}.final-cell{white-space:nowrap}.final-cell strong{color:var(--blue);font-size:13px}.literal-badge{display:inline-grid;place-items:center;min-width:25px;height:21px;margin-left:5px;border-radius:6px;background:#f3ead0;color:#7b6211;font-size:9px;font-weight:900}.exam-input{margin:auto}.management-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.management-panel,.settings-panel{min-height:250px}.wide-panel,.full-settings-panel{grid-column:1/-1}.management-list,.config-list{padding:9px}.management-row{display:flex;align-items:center;border-radius:10px}.management-row:hover,.management-row.is-selected{background:#f5f7fa}.management-row.is-selected{box-shadow:inset 3px 0 var(--gold)}.management-main{flex:1;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;padding:10px;color:var(--blue);cursor:pointer}.management-main span,.config-row>div:first-child{display:flex;flex-direction:column}.management-main strong,.config-row strong{font-size:12px}.management-main small,.config-row small,.component-row small{color:var(--muted);font-size:9px;margin-top:2px}.icon-action{border:0;background:transparent;color:#94a3b8;padding:8px;cursor:pointer}.is-inactive{opacity:.52}.panel-select{margin:12px;width:calc(100% - 24px)}.mini-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:72px;padding:15px;color:var(--muted);font-size:11px;text-align:center}.unit-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:9px;padding:12px}.unit-card{display:flex;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.unit-card.is-selected{border-color:#c9a227;box-shadow:0 0 0 2px #c9a22714}.unit-card>div:first-child{display:flex;flex-direction:column;gap:2px}.unit-number{color:var(--gold);font-size:9px;font-weight:900}.unit-card strong{font-size:12px;color:var(--blue)}.unit-card small{font-size:9px;color:var(--muted)}.unit-actions{display:flex;flex-direction:column;gap:4px}.component-list{padding:10px}.component-row{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:8px;padding:9px;border-bottom:1px solid #eef1f4}.component-order{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eef3f8;color:var(--blue);font-size:10px;font-weight:900}.component-row>div{display:flex;flex-direction:column}.panel-title-with-icon{display:flex;align-items:center;gap:9px;color:var(--blue)}.panel-title-with-icon h2{margin:0}.nested-config{border-bottom:1px solid #edf0f4}.nested-items{padding-left:18px;border-left:2px solid #edf0f4;margin-left:12px}.config-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 8px}.config-row>div:last-child{display:flex;gap:4px}.inline-add{border:0;background:transparent;color:#756014;font-size:10px;font-weight:800;padding:7px;cursor:pointer}.rule-table-wrap{overflow:auto}.rule-table-wrap .academic-table{min-width:850px}.institution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.institution-card{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}.institution-icon,.staff-avatar,.student-course-icon,.task-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eff3f7;color:var(--blue)}.institution-code{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.08em}.institution-card h3,.staff-card h3{margin:3px 0;color:var(--blue);font-size:14px}.institution-card p,.staff-card p{margin:2px 0;color:var(--muted);font-size:10px}.institution-card small,.staff-card small{color:#94a3b8;font-size:9px}.state-dot{font-size:9px;font-weight:850;color:#9ca3af}.state-dot.is-active{color:#2b7a52}.institution-actions{grid-column:2/4;display:flex;gap:6px}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;padding:13px}.staff-card{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px}.staff-actions{grid-column:1/3;display:flex;gap:6px}.staff-assignments{grid-column:1/3;display:flex;flex-wrap:wrap;gap:5px}.staff-assignments span{padding:5px 7px;border-radius:7px;background:#f3f5f7;color:#5f6d7c;font-size:9px}.access-modal{max-width:520px}.access-intro{display:flex;gap:12px;padding:12px;border-radius:11px;background:#f5f8fb;color:var(--blue)}.access-intro div{display:flex;flex-direction:column}.access-intro p{margin:3px 0;color:var(--muted);font-size:11px}.access-create-form{display:flex;flex-direction:column;gap:12px}.access-create-form label{display:flex;flex-direction:column;gap:5px}.access-create-form label>span{font-size:10px;font-weight:800;color:var(--blue)}.access-create-form input{height:39px;border:1px solid #d5dbe3;border-radius:9px;padding:0 10px}.inline-input-action{display:flex;gap:7px}.inline-input-action input{flex:1}.inline-input-action button{display:flex;align-items:center;gap:5px;border:1px solid #d5dbe3;border-radius:9px;background:#fff;color:var(--blue);font-size:10px;font-weight:800}.security-note{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.access-status-card{display:flex;flex-direction:column;gap:0}.access-status-line{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #edf0f4;font-size:11px}.access-status-line span{color:var(--muted)}.access-status-line strong{color:var(--blue)}.access-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:13px}.task-card,.student-task-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.task-card header{display:grid;grid-template-columns:40px 1fr auto;gap:10px}.task-card header span,.student-task-heading span{font-size:9px;color:var(--gold);font-weight:800}.task-card h3,.student-task-card h2{margin:3px 0;color:var(--blue);font-size:14px}.task-card>p,.student-task-card>p{font-size:11px;color:var(--muted);line-height:1.5}.task-meta,.student-task-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:9px;color:#7c8795;margin:10px 0}.task-resources,.student-resource-list{display:flex;flex-direction:column;gap:5px}.task-resources span,.student-resource-list a{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:#f6f8fa;font-size:9px;color:var(--blue);text-decoration:none}.task-resources span a{flex:1;color:inherit;text-decoration:none}.task-resources span button{border:0;background:transparent;color:#9ca3af}.task-card footer{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.student-task-stack{display:grid;gap:12px}.student-task-heading{display:flex;gap:10px;align-items:center}.student-resource-list{margin-top:10px}.student-course-stack{display:grid;gap:18px}.student-course-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.student-course-header{display:flex;align-items:center;gap:11px;padding:17px 19px;background:#fbfcfd;border-bottom:1px solid var(--line)}.student-course-header span{font-size:9px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.student-course-header h2{margin:2px 0;color:var(--blue);font-size:16px}.student-period{padding:15px 18px}.student-period>h3{margin:0 0 9px;color:#5f6d7c;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.student-unit-list{display:grid;gap:7px}.student-unit{border:1px solid #e4e8ed;border-radius:11px;overflow:hidden}.student-unit summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;cursor:pointer}.student-unit summary::-webkit-details-marker{display:none}.unit-summary-title{display:flex;align-items:center;gap:9px;color:var(--blue)}.unit-chip{display:grid;place-items:center;min-width:29px;height:26px;border-radius:7px;background:#eef3f8;color:var(--blue);font-size:9px;font-weight:900}.student-score-strip{display:flex;gap:18px;align-items:center}.summary-score,.summary-final{display:flex;align-items:center;gap:5px}.summary-score span,.summary-final>span:first-child{font-size:8px;text-transform:uppercase;color:#8b95a3;font-weight:800}.summary-score strong,.summary-final strong{font-size:12px;color:var(--blue)}.summary-final{padding-left:14px;border-left:1px solid #dfe4ea}.student-unit-detail{border-top:1px solid #edf0f4;padding:12px;background:#fbfcfd}.detail-heading{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--blue)}.detail-heading span{color:var(--muted);font-weight:400}.student-component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px;margin-top:9px}.student-component{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px;background:#fff;border:1px solid #e6eaef;border-radius:9px}.student-component span{font-size:9px;color:#657284}.student-component strong{color:var(--blue);font-size:12px}.student-component small{grid-column:1/3;color:#9a7920;font-size:8px}.report-sheet{background:#fff;border:1px solid #dfe4ea;border-radius:4px;padding:26px;max-width:1120px;margin:0 auto}.report-header{display:flex;justify-content:space-between;gap:30px}.report-kicker{color:#c9a227;font-size:9px;font-weight:900;letter-spacing:.12em}.report-header h1{margin:4px 0;color:#0d2b52;font-size:24px}.report-meta{display:flex;flex-direction:column;text-align:right;font-size:10px;color:#657284}.report-meta strong{color:#0d2b52}.report-rule{height:3px;background:#0d2b52;margin:14px 0}.report-table{width:100%;border-collapse:collapse;font-size:9px}.report-table th{background:#0d2b52;color:#fff;padding:7px 5px;border:1px solid #dfe3e8}.report-table td{padding:6px 5px;border:1px solid #d7dce2;text-align:center}.report-table .report-name{text-align:left}.report-table td small{display:block;font-size:6px;color:#8d7423}.report-final strong{color:#0d2b52}.report-final span{margin-left:4px;color:#8a6c14;font-weight:900}.report-footer{display:flex;justify-content:space-between;margin-top:14px;color:#8a929d;font-size:7px}@media(max-width:900px){.management-grid,.settings-grid{grid-template-columns:1fr}.wide-panel,.full-settings-panel{grid-column:auto}.student-unit summary{align-items:flex-start;flex-direction:column}.student-score-strip{width:100%;justify-content:flex-end}.context-field,.context-field-wide{min-width:180px}.institution-grid,.task-grid{grid-template-columns:1fr}}@media(max-width:600px){.gradebook-scroll{max-height:none}.page-toolbar{align-items:stretch}.toolbar-search{min-width:100%;max-width:none}.student-score-strip{gap:9px}.summary-final{padding-left:8px}.report-sheet{padding:12px}.context-strip{align-items:stretch}.context-field,.context-field-wide{min-width:100%}}@media print{html,body,#root{margin:0;width:100%;min-height:0}body{background:#fff}.dashboard-sidebar,.dashboard-header,.dashboard-content>.context-strip,.no-print{display:none!important}.dashboard-shell{display:block}.dashboard-main{width:100%}.dashboard-content{padding:0}.report-sheet{border:0;padding:10mm;max-width:none;box-shadow:none}.report-header h1{font-size:17pt}.report-table{font-size:7.5pt}.report-table th,.report-table td{padding:4px 3px}.report-footer{font-size:6pt}@page{size:A4 landscape;margin:0}}.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.grade-policy-note{display:flex;align-items:center;gap:5px;margin:0 0 16px;padding:10px 13px;border:1px solid #e4e8ee;border-left:3px solid var(--gold);border-radius:10px;background:#fff;color:#667085;font-size:11px;line-height:1.5}.grade-policy-note strong{color:var(--blue)}.gradebook-table .grade-group-divider td{position:relative;z-index:2;padding:7px 12px;border-top:1px solid #e1e6ed;border-bottom:1px solid #e1e6ed;background:#f3f6f9;color:var(--blue);text-align:left}.gradebook-table .grade-group-divider span{display:inline-flex;align-items:center;min-height:24px;padding-left:8px;border-left:3px solid var(--gold);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.report-table .report-grade-group td{padding:7px 9px;background:#f3f6f9;color:#0d2b52;text-align:left;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.roster-modal{width:min(100%,760px)}.roster-form{display:flex;flex-direction:column;gap:16px;padding:22px 24px 24px}.roster-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.roster-form label{display:flex;flex-direction:column;gap:6px}.roster-form label>span{color:var(--blue);font-size:10px;font-weight:800}.roster-form select,.roster-form textarea{width:100%;border:1px solid #d7dce3;border-radius:11px;background:#fff;color:var(--text);outline:none}.roster-form select{min-height:42px;padding:0 12px}.roster-form textarea{resize:vertical;min-height:230px;padding:12px 14px;font:inherit;line-height:1.6}.roster-form select:focus,.roster-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5214}.roster-textarea-label small{color:var(--muted);font-size:10px;line-height:1.5}.roster-preview{padding:10px 12px;border-radius:10px;background:#f8fafc;color:var(--muted);font-size:11px}.roster-preview strong{color:var(--blue);font-size:15px}.form-note{grid-column:1 / -1;padding:10px 12px;border:1px solid #e2e7ed;border-radius:10px;background:#f8fafc;color:#64748b;font-size:10px;line-height:1.5}.modal-header p{margin:4px 0 0;color:var(--muted);font-size:11px}.row-actions button[title*=Trasladar]{color:#756014;border-color:#e8ddb9;background:#fffdf6}@media(max-width:900px){.toolbar-actions{grid-column:1 / -1}.roster-context-grid{grid-template-columns:1fr}}@media(max-width:720px){.toolbar-actions{width:100%}.toolbar-actions>button{flex:1}.form-note{grid-column:1}}.brand-panel{justify-content:flex-start}.brand-identity{width:100%;margin:auto 0;text-align:center;position:relative;z-index:1}.brand-identity .brand-mark{align-items:center}.brand-identity .brand-name{font-size:clamp(58px,7vw,104px);line-height:.95;letter-spacing:.11em}.brand-identity .brand-product{margin-top:10px;font-size:clamp(13px,1.25vw,18px)}.brand-identity .brand-motto{margin:34px 0 0}.brand-identity .brand-principle{max-width:590px;margin:18px auto 0}.brand-panel .brand-footer{width:100%;margin-top:auto}.gradebook-table thead th{overflow:visible}.component-name-menu{position:relative;display:inline-block}.component-name-popover{position:absolute;top:calc(100% + 9px);left:50%;z-index:40;width:172px;padding:6px;transform:translate(-50%);border:1px solid #dce2e9;border-radius:11px;background:#fff;box-shadow:0 12px 30px #0d2b5229;text-align:left;text-transform:none;letter-spacing:normal}.component-name-popover>button{width:100%;display:block;border:0;border-radius:8px;padding:8px 9px;background:transparent;color:var(--blue);text-align:left;font-size:11px;font-weight:700;cursor:pointer}.component-name-popover>button:hover{background:#f3f6f9}.component-custom-name{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:5px;padding-top:6px;border-top:1px solid #edf0f4}.component-custom-name input{min-width:0;height:32px;border:1px solid #d7dce3;border-radius:8px;padding:0 8px;color:var(--text);font-size:10px;outline:none}.component-custom-name input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #0d2b5214}.component-custom-name button{border:0;border-radius:8px;padding:0 9px;background:var(--blue);color:#fff;font-size:10px;font-weight:800;cursor:pointer}.component-custom-name button:disabled{opacity:.45;cursor:not-allowed}.app-dialog-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#08182d85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app-dialog-card{width:min(100%,480px);overflow:hidden;border:1px solid #dfe5ec;border-radius:18px;background:#fff;box-shadow:0 28px 80px #0d2b5240}.app-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:21px 22px 16px;border-bottom:1px solid var(--line)}.app-dialog-header h2{margin:4px 0 0;color:var(--blue);font-size:19px;letter-spacing:-.015em}.app-dialog-eyebrow{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.app-dialog-close{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dfe4ea;border-radius:9px;background:#fff;color:var(--blue);cursor:pointer}.app-dialog-body{display:grid;gap:14px;padding:20px 22px}.app-dialog-message{margin:0;color:var(--muted);font-size:12px;line-height:1.6;white-space:pre-line}.app-dialog-field{display:grid;gap:7px}.app-dialog-field>span{color:var(--blue);font-size:10px;font-weight:850;letter-spacing:.02em}.app-dialog-field input,.app-dialog-field textarea,.app-dialog-field select{width:100%;border:1px solid #d5dce4;border-radius:10px;background:#fff;color:var(--text);outline:none;padding:10px 11px}.app-dialog-field input,.app-dialog-field select{min-height:42px}.app-dialog-field textarea{resize:vertical;min-height:92px;font:inherit}.app-dialog-field input:focus,.app-dialog-field textarea:focus,.app-dialog-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5214}.app-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px 20px;border-top:1px solid #eef1f4}.app-dialog-actions .secondary-button,.app-dialog-actions .action-button{min-width:102px}.app-dialog-actions .action-button.is-danger{border-color:#9f2d2d;background:#9f2d2d}@media(max-width:760px){.brand-identity .brand-name{font-size:clamp(48px,16vw,76px)}.app-dialog-card{width:min(100%,430px)}}.student-user-chip{min-width:390px;margin-right:24px;justify-content:flex-start;gap:13px;padding:9px 16px 9px 9px;border:1px solid rgba(13,43,82,.09);border-radius:16px;background:linear-gradient(135deg,#0d2b520d,#fffffffa 60%,#c9a22716);box-shadow:0 8px 22px #0d2b520d;position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.student-user-chip:after{content:"";position:absolute;top:9px;right:0;bottom:9px;width:3px;border-radius:3px 0 0 3px;background:var(--gold);opacity:.68;pointer-events:none}.student-user-chip:hover{transform:translateY(-1px);border-color:#c9a22740;box-shadow:0 11px 27px #0d2b5213}.student-user-chip .user-avatar{width:42px;height:42px;background:linear-gradient(145deg,var(--blue),#174a7c);box-shadow:0 0 0 3px #c9a22721;transition:transform .18s ease,box-shadow .18s ease}.student-user-chip:hover .user-avatar{transform:translateY(-1px) scale(1.035);box-shadow:0 0 0 4px #c9a22729}.student-user-chip>div{gap:3px}.student-user-chip strong{max-width:360px;overflow:visible;text-overflow:clip;white-space:nowrap;color:var(--blue);font-size:16px;font-weight:850;letter-spacing:.005em}.student-user-chip span:not(.user-avatar){width:fit-content;padding:2px 7px;border-radius:999px;background:#c9a2271a;color:#7b6211;font-size:9px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.student-course-stack{gap:22px}.student-course-card{border-color:#dbe3ec;background:linear-gradient(180deg,#0d2b5205,#fff 34%);box-shadow:0 10px 28px #0d2b520b;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.student-course-card:hover{border-color:#0d2b522b;box-shadow:0 14px 34px #0d2b5211}.student-course-header{position:relative;background:linear-gradient(90deg,#0d2b520e,#fffffff7 58%,#c9a2270e)}.student-course-header:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--gold),rgba(201,162,39,.22))}.student-course-icon{border:1px solid rgba(13,43,82,.07);background:linear-gradient(145deg,#f2f6fa,#edf3f8);box-shadow:inset 0 0 0 1px #ffffffb8}.student-period{background:linear-gradient(180deg,#f8fafc80,#fffffff5)}.student-unit{background:#fffffff7;box-shadow:0 3px 12px #0d2b5206;transition:border-color .18s ease,box-shadow .18s ease}.student-unit summary{background:linear-gradient(90deg,#0d2b5205,#fffffffa 52%,#c9a22707);transition:background .18s ease}.student-unit summary:hover{background:linear-gradient(90deg,#0d2b520a,#fffffffa 52%,#c9a2270e)}.student-unit[open]{border-color:#c9a2276b;box-shadow:0 7px 20px #0d2b520e}.student-unit[open] summary{background:linear-gradient(90deg,#0d2b520b,#fffffffa 54%,#c9a22712)}@media(min-width:901px){.student-unit summary{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,3fr);column-gap:clamp(20px,3vw,56px);align-items:center}.student-unit .unit-summary-title{grid-column:1}.student-unit .student-score-strip{grid-column:2;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,30px)}.student-unit .summary-score,.student-unit .summary-final{width:100%;min-width:0;min-height:38px;justify-content:center;padding:0 12px;border-radius:10px}.student-unit .summary-score:first-child{background:#0d2b520a;box-shadow:inset 0 0 0 1px #0d2b5209}.student-unit .summary-score:nth-child(2){background:#94a3b813;box-shadow:inset 0 0 0 1px #64748b09}.student-unit .summary-final{padding-left:12px;border-left:0;background:#c9a22712;box-shadow:inset 0 0 0 1px #c9a22712}}.student-unit .summary-score span,.student-unit .summary-final>span:first-child{font-size:10px}.student-unit .summary-score strong,.student-unit .summary-final strong{font-size:14px}.student-unit .literal-badge{min-width:28px;height:23px;margin-left:7px;font-size:11px}.student-unit .student-component{grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:10px;row-gap:4px}.student-unit .student-component span{font-size:11px}.student-unit .student-component strong{min-width:24px;text-align:center;font-size:13px}.student-unit .student-component small{grid-column:1 / -1;text-align:center}.student-courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.student-course-overview{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;min-height:98px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 24px #0d2b5209}.student-course-overview span{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.student-course-overview h2{margin:3px 0 0;color:var(--blue);font-size:16px}.student-course-overview p{margin:4px 0 0;color:var(--muted);font-size:10px}@media(max-width:1100px){.student-user-chip{min-width:0;margin-right:0;justify-content:flex-end}.student-user-chip strong{max-width:260px;font-size:15px}}@media(max-width:900px){.student-course-stack{gap:16px}.student-unit .unit-summary-title{width:100%}.student-unit .student-score-strip{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-unit .summary-score,.student-unit .summary-final{min-width:0;min-height:48px;flex-direction:column;justify-content:center;gap:2px;padding:6px 4px;border-left:0;border-radius:9px}.student-unit .summary-score:first-child{background:#0d2b520a}.student-unit .summary-score:nth-child(2){background:#94a3b813}.student-unit .summary-final{background:#c9a22712}}@media(max-width:520px){.student-user-chip{padding:4px;border-color:transparent;background:transparent;box-shadow:none}.student-user-chip:after{display:none}.student-course-header,.student-period{padding-left:14px;padding-right:14px}.student-unit .student-score-strip{gap:6px}.student-unit .summary-score span,.student-unit .summary-final>span:first-child{font-size:9px}}.evaluation-rules-panel .data-card-header p{margin:4px 0 0;color:var(--muted);font-size:10px}.evaluation-level-groups{display:grid;gap:14px;padding:14px}.evaluation-level-group{border:1px solid #e3e7ec;border-radius:14px;overflow:hidden;background:#fff}.evaluation-level-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e8ecf1}.evaluation-level-header>div{display:flex;align-items:baseline;gap:8px}.evaluation-level-header span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.evaluation-level-header strong{font-size:14px;color:var(--blue)}.evaluation-level-header button{display:inline-flex;align-items:center;gap:5px;border:1px solid #d7dee7;border-radius:9px;background:#fff;color:var(--blue);padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}.evaluation-rule-table{min-width:900px}.rule-modal{width:min(760px,calc(100vw - 34px))}.rule-modal .modal-header p{margin:4px 0 0;color:var(--muted);font-size:11px}.rule-form{padding:18px 22px 22px}.rule-context-grid,.rule-form-grid,.rule-scale-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rule-context-grid{margin-bottom:13px}.rule-form label,.rule-scale-grid label{display:flex;flex-direction:column;gap:6px}.rule-form label>span,.rule-scale-grid label>span{color:var(--blue);font-size:10px;font-weight:800}.rule-form input,.rule-form select{width:100%;height:40px;border:1px solid #d6dce4;border-radius:10px;background:#fff;color:var(--text);padding:0 10px;outline:0}.rule-form input:focus,.rule-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5212}.rule-form input:disabled,.rule-form select:disabled{background:#f6f8fa;color:#7b8794}.rule-span-2{grid-column:1/-1}.rule-scale-block{margin-top:16px;padding-top:14px;border-top:1px solid #edf0f4}.rule-scale-block>strong{display:block;margin-bottom:10px;color:var(--blue);font-size:12px}.rule-scale-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rule-form-error{margin:14px 0 0}.rule-modal-actions{margin-top:17px;padding-top:14px;border-top:1px solid #edf0f4}.rule-modal-actions .secondary-button{min-height:41px}.modal-close{flex:0 0 auto}.modal-header{align-items:flex-start}.modal-header>div{min-width:0}.evaluation-rule-context-picker{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(170px,.8fr) minmax(240px,1fr);gap:12px;align-items:end;padding:14px 14px 0}.evaluation-rule-context-picker label{display:flex;flex-direction:column;gap:6px}.evaluation-rule-context-picker label>span{color:var(--blue);font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.evaluation-rule-context-picker select{width:100%;min-height:40px;border:1px solid #d6dce4;border-radius:10px;background:#fff;color:var(--text);padding:0 10px;outline:0}.evaluation-rule-context-picker select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0d2b5212}.evaluation-rule-context-picker select:disabled{background:#f6f8fa;color:#7b8794}.evaluation-rule-context-picker p{margin:0 0 9px;color:var(--muted);font-size:10px;line-height:1.45}@media(max-width:760px){.rule-context-grid,.rule-form-grid{grid-template-columns:1fr}.rule-span-2{grid-column:1}.rule-scale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-level-header{align-items:flex-start;flex-direction:column}.rule-form{padding:16px}.rule-modal{width:calc(100vw - 22px)}.evaluation-rule-context-picker{grid-template-columns:1fr}.evaluation-rule-context-picker p{margin:0}}.component-default-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}.component-default-summary strong{color:var(--blue);font-size:12px;white-space:nowrap}.component-default-summary span{max-width:720px;color:var(--muted);font-size:10px;line-height:1.5;text-align:right}@media(max-width:720px){.component-default-summary{align-items:flex-start;flex-direction:column}.component-default-summary span{text-align:left}}.gradebook-table input.score-input[type=number]{appearance:textfield;-moz-appearance:textfield}.gradebook-table input.score-input[type=number]::-webkit-outer-spin-button,.gradebook-table input.score-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gradebook-table .score-input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #c9a22729}.gradebook-scroll{max-height:none;height:auto;overflow-x:auto;overflow-y:visible}.gradebook-table .score-input.is-invalid,.gradebook-table .score-input[aria-invalid=true]{border-color:#c24141;background:#fff4f4;color:#991b1b;box-shadow:0 0 0 2px #c241411a}.gradebook-table .score-input.is-invalid:focus,.gradebook-table .score-input[aria-invalid=true]:focus{border-color:#b42323;box-shadow:0 0 0 3px #c2414129}.grade-validation-message{margin-bottom:16px}
