@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{color:#16231e;font-synthesis:none;text-rendering:optimizelegibility;--green-950:#0c3829;--green-900:#104b37;--green-800:#145a42;--green-700:#1b6d51;--green-100:#dceae3;--green-50:#eef5f1;--yellow-500:#f0c808;--yellow-400:#f4d42c;--yellow-100:#fff6c8;--ink:#16231e;--ink-soft:#50615a;--line:#dce4e0;--line-strong:#c7d2cd;--surface:#fff;--surface-warm:#fbfcfa;--canvas:#f5f7f5;--danger:#ad2f37;--danger-soft:#fbeaec;--success:#166545;--success-soft:#e4f3eb;--warning:#825f00;--warning-soft:#fff4c3;--radius-sm:10px;--radius-md:14px;--radius-lg:16px;--shadow-soft:0 12px 36px #0d34271c;--shadow-raised:0 5px 18px #0d34271a;background:#f6f8f6;font-family:Manrope Variable,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #f0c808e6}summary:focus-visible{outline-offset:-3px;outline:3px solid #f0c808e6}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand{color:var(--green-900);letter-spacing:-.035em;align-items:center;gap:.62rem;font-size:1.08rem;font-weight:800;display:inline-flex}.brand__mark{width:2rem;height:2rem;color:var(--green-900);background:var(--yellow-500);border-radius:9px;place-items:center;display:inline-grid}.brand__name span{font-weight:500}.brand--inverse{color:#fff}.brand--inverse .brand__mark{color:var(--green-950)}.button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:.68rem 1rem;font-weight:750;line-height:1.2;transition:background-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{color:#fff;background:var(--green-800);box-shadow:0 5px 16px #145a4230}.button--primary:not(:disabled):hover{background:var(--green-900);box-shadow:0 7px 20px #145a423d}.button--yellow{color:var(--green-950);background:var(--yellow-500);box-shadow:0 5px 16px #f0c80838}.button--yellow:hover{background:var(--yellow-400)}.button--secondary{color:var(--green-900);background:var(--green-50);box-shadow:inset 0 0 0 1px var(--green-100)}.button--secondary:not(:disabled):hover{background:var(--green-100)}.button--danger{color:var(--danger);background:var(--danger-soft)}.button--ghost-inverse{color:#fff;background:#ffffff1f;min-height:38px;padding-block:.45rem}.button--wide{width:100%}.button--compact{min-height:38px;padding:.5rem .7rem;font-size:.85rem}.icon-button{width:44px;height:44px;color:var(--green-900);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--green-50)}.icon-button--inverse{color:#fff}.icon-button--inverse:hover{background:#ffffff1f}.text-link{color:var(--green-800);white-space:nowrap;align-items:center;gap:.25rem;font-weight:750;display:inline-flex}.text-link:hover{color:var(--green-950)}.status-badge{width:fit-content;color:var(--ink-soft);white-space:nowrap;background:#edf0ef;border-radius:999px;align-items:center;gap:.35rem;padding:.33rem .55rem;font-size:.78rem;font-weight:750;display:inline-flex}.status-badge--success{color:var(--success);background:var(--success-soft)}.status-badge--warning{color:var(--warning);background:var(--warning-soft)}.status-badge--muted{color:#6a7470;background:#edf0ef}.demo-chip{width:fit-content;color:var(--green-900);background:var(--yellow-100);letter-spacing:0;white-space:nowrap;border-radius:999px;align-items:center;padding:.22rem .42rem;font-size:.61rem;font-weight:800;line-height:1;display:inline-flex}.demo-chip--inverse{color:var(--green-950);background:var(--yellow-500)}.progress{background:#e4e8e6;border-radius:999px;width:100%;height:6px;overflow:hidden}.progress>span{background:var(--green-700);border-radius:inherit;height:100%;display:block}.progress--inverse{background:#ffffff38}.progress--inverse>span{background:var(--yellow-500)}.student-layout{min-height:100vh}.student-sidebar{display:none}.student-layout__body{min-height:100vh}.student-topbar{z-index:20;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;height:62px;padding:0 1rem;display:flex;position:sticky;top:0}.student-topbar__identity{align-items:center;gap:.5rem;display:flex}.student-main{padding-bottom:92px}.bottom-navigation{z-index:30;padding:.45rem .4rem max(.45rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffffa;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-navigation__link{color:#65716c;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;min-height:48px;font-size:.68rem;font-weight:650;display:flex}.bottom-navigation__link[data-active=true]{color:var(--green-800);background:var(--green-50)}.home-page{gap:1.35rem;max-width:1120px;margin:0 auto;padding:0 1rem 2rem;display:grid}.continue-panel{color:#fff;background:var(--green-900);border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:290px;box-shadow:var(--shadow-soft);padding:1.2rem 1.35rem;display:grid;position:relative;overflow:hidden}.continue-panel:after{content:"";background:var(--green-800);opacity:.55;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-74px;right:-48px}.continue-panel__content{z-index:2;flex-direction:column;align-items:flex-start;max-width:640px;display:flex;position:relative}.continue-panel__welcome{color:#cce1d7;margin-bottom:.5rem;font-size:.92rem;font-weight:650}.continue-panel h1{max-width:12ch;font-size:clamp(1.9rem,7.8vw,4rem);line-height:1.03}.continue-panel__subject{color:#e0eee7;margin-top:.7rem;font-size:1.08rem;font-weight:650}.continue-panel__progress-copy{align-items:baseline;gap:.4rem;margin-top:.65rem;display:flex}.continue-panel__progress-copy strong{color:var(--yellow-500);font-size:2rem;line-height:1}.continue-panel__progress-copy span{color:#e0eee7;font-size:.9rem}.continue-panel .progress{max-width:400px;margin-top:.65rem}.continue-panel__action{min-width:205px;margin-top:.8rem}.continue-panel__symbol{z-index:1;color:#ffffff2b;position:absolute;bottom:1.1rem;right:1.35rem}.student-cycle-summary{gap:.35rem;margin-top:1rem;display:grid}.student-cycle-summary span{color:#e0eee7;align-items:center;gap:.45rem;font-size:.88rem;display:flex}.student-cycle-summary strong{color:var(--yellow-400);font-size:.94rem}.student-context-alert{color:var(--warning);background:var(--warning-soft);border-radius:var(--radius-md);align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.student-context-alert p{color:#654f10;margin-top:.2rem;font-size:.84rem;line-height:1.5}.section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2{color:var(--ink);font-size:clamp(1.35rem,5.4vw,1.8rem)}.section-heading p{max-width:65ch;color:var(--ink-soft);margin-top:.35rem;font-size:.92rem;line-height:1.5}.practice-entry__grid{grid-template-columns:1fr;gap:.65rem;display:grid}.practice-choice{border-radius:var(--radius-md);grid-template-rows:auto 1fr;grid-template-columns:1fr auto;align-content:space-between;align-items:start;gap:.8rem;min-height:128px;padding:1rem;transition:transform .18s,box-shadow .18s;display:grid}.practice-choice:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}.practice-choice--disabled{cursor:default}.practice-choice--disabled:hover{box-shadow:none;transform:none}.practice-choice--primary{color:#fff;background:var(--green-800)}.practice-choice--accent{color:var(--green-950);background:var(--yellow-500)}.practice-choice__icon{background:#ffffff26;border-radius:13px;align-self:start;place-items:center;width:46px;height:46px;display:grid}.practice-choice>span:nth-child(2){grid-column:1/-1;align-self:end}.practice-choice>svg{grid-area:1/2;align-self:center}.coming-soon-label{width:fit-content;color:var(--green-950);white-space:nowrap;background:#ffffffd6;border-radius:999px;justify-content:center;align-items:center;padding:.32rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}.practice-choice>.coming-soon-label{grid-area:1/2;align-self:center}.coming-soon-label--light{color:var(--warning);background:var(--warning-soft)}.practice-choice--accent .practice-choice__icon{background:#ffffff59}.practice-choice strong,.practice-choice small{display:block}.practice-choice strong{font-size:1.08rem}.practice-choice small{max-width:34ch;color:inherit;opacity:.84;margin-top:.35rem;font-size:.76rem;line-height:1.4;display:none}.subject-list,.catalog-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.subject-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;min-height:86px;padding:.85rem;display:grid}.subject-row+.subject-row{border-top:1px solid var(--line)}.subject-row:hover{background:var(--green-50)}.subject-row__icon{width:44px;height:44px;color:var(--green-800);background:var(--green-50);border-radius:11px;place-items:center;display:grid}.subject-row__topline{justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.55rem;display:flex}.subject-row__topline strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.subject-row__topline>span{color:var(--ink-soft);flex:none;font-size:.76rem}.subject-row__arrow{color:var(--ink-soft)}.subject-row--static{grid-template-columns:auto minmax(0,1fr)}.subject-row--static:hover{background:var(--surface)}.subject-row__name{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.independent-note{color:var(--ink-soft);border-radius:var(--radius-sm);background:#ecefed;padding:1rem;font-size:.77rem;line-height:1.5}.content-page{max-width:1080px;margin:0 auto;padding:1.5rem 1rem 2rem}.page-heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading h1{font-size:clamp(2rem,8vw,3.3rem);line-height:1.05}.page-heading p{max-width:66ch;color:var(--ink-soft);margin-top:.55rem;line-height:1.55}.page-heading__count{color:var(--green-800);background:var(--green-100);border-radius:999px;padding:.45rem .7rem;font-size:.82rem;font-weight:750}.subject-toolbar{gap:.75rem;margin-bottom:1rem;display:grid}.segmented-control{background:#e8ecea;border:0;border-radius:12px;grid-template-columns:1fr 1fr;min-inline-size:0;margin:0;padding:4px;display:grid}.segmented-control button{min-height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:.45rem;padding:.55rem;font-weight:750;display:flex}.segmented-control button[data-active=true]{color:var(--green-900);background:#fff;box-shadow:0 2px 9px #0d342717}.segmented-control span{background:var(--green-50);border-radius:999px;place-items:center;min-width:24px;height:22px;font-size:.72rem;display:inline-grid}.search-field{min-height:46px;color:var(--ink-soft);border:1px solid var(--line-strong);background:#fff;border-radius:11px;align-items:center;gap:.55rem;padding:0 .8rem;display:flex}.search-field:focus-within{border-color:var(--green-700);box-shadow:0 0 0 3px #1b6d511f}.search-field input{width:100%;min-width:0;height:44px;color:var(--ink);background:0 0;border:0;outline:none;padding:0}.search-field input::placeholder{color:#6d7974}.catalog-row{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:.85rem;min-height:116px;padding:1rem;display:grid}.catalog-row>.coming-soon-label{grid-area:2/2;place-self:start}.catalog-row+.catalog-row{border-top:1px solid var(--line)}.catalog-row:hover{background:var(--green-50)}.catalog-row--static:hover{background:var(--surface)}.catalog-row__code{width:58px;min-height:42px;color:var(--green-900);background:var(--green-100);overflow-wrap:anywhere;text-align:center;border-radius:9px;place-items:center;padding:.4rem;font-size:.7rem;font-weight:850;display:grid}.catalog-row__body{min-width:0;display:block}.catalog-row__body>strong,.catalog-row__body>span{display:block}.catalog-row__body>strong{font-size:.98rem}.catalog-row__body>span:not(.catalog-row__meta){color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.15rem;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.catalog-row__meta{color:var(--green-800);align-items:center;gap:.35rem;margin:.6rem 0 .45rem;font-size:.75rem;font-weight:650;display:flex!important}.empty-state,.empty-table{min-height:280px;color:var(--ink-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.empty-state h2{color:var(--ink);margin-top:.8rem}.empty-state p{margin:.35rem 0 1rem}.empty-state--compact{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-height:190px}.feature-coming-soon{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:2rem 1.25rem;display:flex}.feature-coming-soon__icon{width:64px;height:64px;color:var(--green-800);background:var(--green-50);border-radius:16px;place-items:center;display:grid}.feature-coming-soon h1,.feature-coming-soon h2{max-width:22ch;margin-top:1rem;font-size:clamp(1.55rem,6vw,2.2rem);line-height:1.15}.feature-coming-soon p{max-width:62ch;color:var(--ink-soft);margin-top:.65rem;line-height:1.55}.feature-coming-soon .status-badge{margin-top:1rem}.feature-coming-soon .button{margin-top:1.25rem}.exam-explanation,.privacy-note{color:var(--green-950);background:var(--green-100);border-radius:var(--radius-md);align-items:flex-start;gap:.8rem;margin-bottom:1.25rem;padding:1rem;display:flex}.exam-explanation strong,.exam-explanation p{display:block}.exam-explanation p,.privacy-note p{margin-top:.2rem;font-size:.86rem;line-height:1.5}.exam-grid{gap:.7rem;display:grid}.exam-item{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;min-height:96px;padding:.8rem;display:grid}.exam-item__number{color:#fff;background:var(--green-800);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.exam-item__number span{text-transform:uppercase;font-size:.65rem;font-weight:700}.exam-item__number strong{font-size:1.55rem;line-height:1}.exam-item__body strong,.exam-item__body>span{align-items:center;gap:.28rem;display:flex}.exam-item__body>span{color:var(--ink-soft);margin-top:.25rem;font-size:.78rem}.video-list{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.video-row{text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:112px 1fr;align-items:center;gap:.9rem;width:100%;min-height:116px;padding:.75rem;display:grid}.video-row+.video-row{border-top:1px solid var(--line)}.video-row:hover{background:var(--green-50)}.video-row__visual{color:#fff;background:var(--green-800);border-radius:12px;place-items:center;height:82px;display:grid}.video-row__content strong,.video-row__content>span,.video-row__content small{display:flex}.video-row__content>span{color:var(--ink-soft);margin-top:.2rem;font-size:.8rem}.video-row__content small{color:var(--green-800);align-items:center;gap:.3rem;margin-top:.55rem;font-weight:650}.profile-page{max-width:760px}.profile-summary{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;flex-wrap:wrap;align-items:center;gap:.9rem;padding:1.15rem;display:flex}.profile-summary__avatar{color:#fff;background:var(--green-800);border-radius:50%;place-items:center;width:58px;height:58px;font-weight:800;display:grid}.profile-summary h2{font-size:1.2rem}.profile-summary p{color:var(--ink-soft);margin-top:.15rem;font-size:.84rem}.profile-summary .status-badge{margin-left:auto}.account-details{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;margin:1rem 0;overflow:hidden}.account-details>div{gap:.4rem;padding:1rem;display:grid}.account-details>div+div{border-top:1px solid var(--line)}.account-details dt{color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.account-details dd{margin:0;font-weight:750}.profile-notice{color:var(--warning);background:var(--warning-soft);border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.profile-notice p{margin-top:.35rem;font-size:.84rem;line-height:1.5}.profile-actions{flex-direction:column;align-items:stretch;gap:.65rem;display:flex}.password-page{max-width:760px}.password-page__back{width:fit-content;margin-bottom:1.25rem}.password-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:clamp(1rem,4vw,1.5rem)}.password-card__heading{border-bottom:1px solid var(--line);align-items:flex-start;gap:.85rem;padding-bottom:1.1rem;display:flex}.password-card__heading h2{font-size:1.15rem}.password-card__heading p{color:var(--ink-soft);margin-top:.25rem;font-size:.84rem;line-height:1.5}.password-card__icon{width:44px;height:44px;color:var(--green-900);background:var(--green-100);border-radius:12px;flex:none;place-items:center;display:grid}.password-form{gap:1rem;margin-top:1.2rem;display:grid}.password-form label{color:var(--ink);gap:.45rem;font-size:.86rem;font-weight:700;display:grid}.password-form__requirements{color:var(--ink-soft);font-size:.8rem;line-height:1.45}.password-form .button{width:100%}.password-message{border-radius:var(--radius-sm);align-items:flex-start;gap:.6rem;margin-top:1rem;padding:.8rem;font-size:.84rem;line-height:1.45;display:flex}.password-message svg{flex:none}.password-message--success{color:var(--success);background:var(--success-soft)}.password-message--error{color:var(--danger);background:var(--danger-soft)}.login-page{background:#fff;min-height:100vh;display:grid}.login-intro{color:#fff;background:var(--green-900);flex-direction:column;justify-content:space-between;min-height:290px;padding:1.25rem;display:flex;position:relative}.login-intro__message{padding:3rem 0}.login-intro__symbol{width:76px;height:76px;color:var(--green-950);background:var(--yellow-500);border-radius:var(--radius-md);place-items:center;margin-bottom:1.4rem;display:grid}.login-intro h1{max-width:12ch;font-size:clamp(2.35rem,10vw,4.7rem);line-height:1}.login-intro__message p{color:#d7e8e0;max-width:49ch;margin-top:1rem;line-height:1.6}.login-intro__notice{color:#bcd4c8;max-width:60ch;font-size:.74rem;line-height:1.45}.login-form-section{place-items:center;padding:2rem 1.25rem;display:grid}.login-form-wrap{width:min(100%,430px)}.login-form-wrap>h2{font-size:1.8rem}.login-form-wrap>p{color:var(--ink-soft);margin-top:.4rem;line-height:1.5}.login-form{gap:1rem;margin-top:1.5rem;display:grid}.login-form label{gap:.45rem;font-size:.84rem;font-weight:750;display:grid}.input-with-icon{height:50px;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:11px;align-items:center;gap:.6rem;padding:0 .8rem;display:flex}.input-with-icon:focus-within{border-color:var(--green-700);box-shadow:0 0 0 3px #1b6d511f}.input-with-icon input{width:100%;height:100%;color:var(--ink);background:0 0;border:0;outline:none;padding:0}.login-support{color:var(--ink-soft);background:var(--canvas);border-radius:10px;margin-top:1rem;padding:.85rem}.login-support strong{color:var(--green-800);font-size:.82rem;font-weight:800}.login-support p{margin-top:.25rem;font-size:.78rem;line-height:1.45}.access-error{color:var(--danger);background:var(--danger-soft);border-radius:11px;align-items:flex-start;gap:.65rem;margin-top:1rem;padding:.85rem;display:flex}.access-error p{margin-top:.25rem;font-size:.78rem;line-height:1.45}.access-notice{color:var(--warning);background:var(--warning-soft);border-radius:11px;align-items:flex-start;gap:.65rem;margin-top:1rem;padding:.85rem;display:flex}.access-notice strong{color:var(--ink)}.access-notice p{margin-top:.25rem;font-size:.78rem;line-height:1.45}.loading-icon{animation:.9s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.configuration-page{background:var(--canvas);min-height:100vh}.practice-header{align-items:center;gap:.7rem;min-height:68px;padding:.65rem 1rem;display:flex}.practice-header--light{border-bottom:1px solid var(--line);background:#fff}.practice-header div{display:grid}.practice-header span{color:var(--ink-soft);font-size:.74rem}.practice-header strong{font-size:.92rem}.configuration-main{max-width:820px;margin:0 auto;padding:1.5rem 1rem 3rem}.configuration-intro{align-items:flex-start;gap:.9rem;margin-bottom:1.5rem;display:flex}.configuration-intro__icon{width:54px;height:54px;color:var(--green-900);background:var(--yellow-500);border-radius:13px;flex:none;place-items:center;display:grid}.configuration-intro h1{font-size:clamp(1.8rem,7vw,2.6rem)}.configuration-intro p{max-width:62ch;color:var(--ink-soft);margin-top:.4rem;line-height:1.5}.configuration-form{gap:1rem;display:grid}.configuration-section{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;margin:0;padding:1rem}.configuration-section legend{align-items:center;gap:.45rem;padding:0 .35rem;font-weight:800;display:flex}.configuration-fields{gap:.9rem;display:grid}.select-field{gap:.45rem;display:grid}.select-field>span{color:var(--ink-soft);align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;display:flex}.select-field select{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:0 .8rem}.switch-row{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:74px;display:grid;position:relative}.switch-row+.switch-row{border-top:1px solid var(--line)}.switch-row strong,.switch-row small{display:block}.switch-row strong{font-size:.9rem}.switch-row small{max-width:60ch;color:var(--ink-soft);margin-top:.2rem;font-size:.76rem;line-height:1.4}.switch-row input{opacity:0;width:1px;height:1px;position:absolute}.switch{background:#aeb9b4;border-radius:999px;align-items:center;width:48px;height:28px;padding:3px;transition:background-color .16s;display:flex}.switch span{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .18s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 6px #16231e3d}.switch-row input:checked+.switch{background:var(--green-700)}.switch-row input:checked+.switch span{transform:translate(20px)}.switch-row input:focus-visible+.switch{outline:3px solid var(--yellow-500);outline-offset:3px}.configuration-summary{color:#fff;background:var(--green-900);border-radius:var(--radius-md);padding:1rem}.configuration-summary>strong{font-size:.88rem}.configuration-summary dl{grid-template-columns:repeat(3,1fr);margin:.8rem 0 0;display:grid}.configuration-summary dl>div{gap:.2rem;display:grid}.configuration-summary dl>div+div{border-left:1px solid #ffffff2e;padding-left:.7rem}.configuration-summary dt{color:#bdd6ca;font-size:.7rem}.configuration-summary dd{margin:0;font-size:.9rem;font-weight:750}.practice-page{background:#f2f5f3;min-height:100vh;padding-bottom:82px}.practice-topbar{color:#fff;background:var(--green-950);grid-template-columns:auto 1fr auto;align-items:center;min-height:68px;padding:.55rem .7rem;display:grid}.practice-topbar__title{min-width:0;padding:0 .45rem;display:grid}.practice-topbar__title span{color:#bcd3c8;font-size:.67rem}.practice-topbar__title .demo-chip{vertical-align:middle;margin-left:.45rem;display:inline-flex}.practice-topbar__title strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.practice-statusbar{z-index:10;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto;align-items:center;gap:.55rem 1rem;padding:.7rem 1rem;display:grid;position:sticky;top:0}.practice-statusbar__progress{grid-column:1/-1;gap:.35rem;display:grid}.practice-statusbar__progress span{color:var(--ink-soft);font-size:.75rem}.practice-statusbar__progress strong{color:var(--ink)}.time-indicator,.save-indicator{align-items:center;gap:.35rem;font-size:.76rem;font-weight:750;display:inline-flex}.time-indicator{color:var(--ink)}.save-indicator{color:var(--success);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-self:end;padding:.3rem .45rem}.save-indicator--saving{color:var(--warning)}.save-indicator--error{color:var(--danger);background:var(--danger-soft)}.save-error{color:var(--danger);background:var(--danger-soft);align-items:center;gap:.65rem;padding:.7rem max(1rem,50vw - 550px);display:flex}.save-error p{flex:1;font-size:.76rem;line-height:1.4}.save-error strong{display:block}.save-error button{color:#fff;background:var(--danger);cursor:pointer;border:0;border-radius:8px;min-height:36px;padding:.4rem .6rem;font-size:.72rem;font-weight:800}.question-layout{gap:1rem;max-width:1100px;margin:0 auto;padding:1rem;display:grid}.question-card{border-radius:var(--radius-md);box-shadow:var(--shadow-raised);background:#fff;padding:1rem}.question-card__heading{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:1rem;font-size:.74rem;font-weight:700;display:flex}.mark-button{min-height:38px;color:var(--green-800);background:var(--green-50);cursor:pointer;border:0;border-radius:9px;align-items:center;gap:.35rem;padding:.4rem .6rem;font-size:.76rem;font-weight:750;display:inline-flex}.question-card h1{max-width:70ch;font-size:clamp(1.2rem,5vw,1.6rem);line-height:1.45}.answer-list{border:0;gap:.65rem;margin-top:1.35rem;padding:0;display:grid}.answer-option{width:100%;min-height:64px;color:var(--ink);text-align:left;border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem;transition:border-color .15s,background-color .15s,transform .15s;display:grid}.answer-option:not(:disabled):hover{border-color:var(--green-700);transform:translateY(-1px)}.answer-option__letter{width:34px;height:34px;color:var(--green-800);background:var(--green-50);border-radius:9px;place-items:center;font-size:.78rem;font-weight:850;display:grid}.answer-option>span:nth-child(2){font-size:.88rem;line-height:1.45}.answer-option[data-state=selected]{background:var(--green-50);border-color:var(--green-700)}.answer-option[data-state=correct]{color:var(--success);background:var(--success-soft);border-color:#72aa8f}.answer-option[data-state=correct] .answer-option__letter{color:#fff;background:var(--success)}.answer-option[data-state=incorrect]{color:var(--danger);background:var(--danger-soft);border-color:#d38a8f}.answer-option[data-state=incorrect] .answer-option__letter{color:#fff;background:var(--danger)}.answer-option[data-state=muted]{color:var(--ink-soft);background:#f7f9f8}.answer-option:disabled{cursor:default;opacity:1}.answer-feedback{border-radius:12px;align-items:flex-start;gap:.7rem;margin-top:1rem;padding:.9rem;display:flex}.answer-feedback--correct{color:var(--success);background:var(--success-soft)}.answer-feedback--incorrect{color:var(--danger);background:var(--danger-soft)}.answer-feedback p{color:currentColor;margin-top:.2rem;font-size:.78rem;line-height:1.4}.question-navigator{display:none}.practice-footer{z-index:20;padding:.7rem 1rem max(.7rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffffa;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:fixed;bottom:0;left:0;right:0}.admin-layout{background:var(--canvas);min-height:100vh}.admin-sidebar{display:none}.admin-mobile-header{background:var(--green-950);justify-content:space-between;align-items:center;min-height:62px;padding:0 1rem;display:flex}.admin-main{min-width:0}.admin-page{max-width:1240px;margin:0 auto;padding:1.25rem 1rem 3rem}.admin-page-heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-page-heading h1{font-size:clamp(1.8rem,6vw,2.5rem)}.admin-page-heading p{color:var(--ink-soft);margin-top:.35rem;line-height:1.5}.demo-banner{color:var(--green-950);background:var(--yellow-100);border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.demo-banner p{margin-top:.2rem;font-size:.8rem;line-height:1.45}.demo-banner--compact{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.demo-banner--compact p{margin:0}.admin-metrics{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(2,1fr);gap:0;margin-bottom:1rem;display:grid;overflow:hidden}.admin-metrics article{background:0 0;border:0;border-radius:0;align-content:start;min-height:154px;padding:1rem;display:grid}.admin-metrics article:nth-child(odd){border-right:1px solid var(--line)}.admin-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-metrics__icon{width:42px;height:42px;color:var(--green-800);background:var(--green-50);border-radius:10px;place-items:center;display:grid}.admin-metrics article>span:not(.admin-metrics__icon){color:var(--ink-soft);margin-top:.8rem;font-size:.75rem}.admin-metrics strong{margin-top:.15rem;font-size:1.45rem}.admin-metrics small{color:var(--ink-soft);margin-top:.2rem;font-size:.7rem}.admin-dashboard-grid{gap:1rem;display:grid}.admin-dashboard{max-width:1480px;margin:0 auto}.overview-ok{color:var(--success);background:var(--success-soft);border-radius:var(--radius-sm);align-items:center;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.82rem;display:flex}.overview-alerts{background:var(--warning-soft);border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.overview-alerts__heading{color:var(--warning);align-items:flex-start;gap:.65rem;display:flex}.overview-alerts__heading h2{font-size:1rem}.overview-alerts__heading p,.overview-alerts__list p{color:#654f10;margin-top:.18rem;font-size:.78rem;line-height:1.45}.overview-alerts__list{gap:.65rem;margin-top:.85rem;display:grid}.overview-alerts__list article{border-radius:var(--radius-sm);background:#ffffff94;padding:.75rem}.overview-alerts__list article[data-severity=error]{color:var(--danger);background:var(--danger-soft)}.overview-alerts__list article[data-severity=error] p{color:#78363c}.admin-panel,.admin-table-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.admin-panel{padding:1rem}.admin-panel__heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.7rem;margin-bottom:1rem;display:flex}.admin-panel h2{font-size:1.1rem}.admin-panel__heading p{color:var(--ink-soft);margin-top:.2rem;font-size:.8rem}.dashboard-empty-state{min-height:190px;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.dashboard-empty-state>strong{color:var(--ink)}.dashboard-empty-state p{max-width:52ch;margin:.3rem 0 .8rem;font-size:.82rem;line-height:1.5}.subject-count-list{max-height:510px;overflow:auto}.subject-count-list>div{grid-template-columns:minmax(74px,104px) minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.subject-count-list>div+div{border-top:1px solid var(--line)}.subject-count-list__code{overflow-wrap:anywhere;color:var(--green-900);font-size:.72rem;font-weight:800}.subject-count-list__name{min-width:0}.subject-count-list__name strong,.subject-count-list__name small{display:block}.subject-count-list__name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.subject-count-list__name small{color:var(--ink-soft);margin-top:.14rem;font-size:.68rem}.subject-count-list>div>strong{color:var(--green-800);font-size:.8rem}.recent-import-list{display:grid}.recent-import-list article{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;padding:.78rem 0;display:grid}.recent-import-list article+article{border-top:1px solid var(--line)}.recent-import-list__icon{width:38px;height:38px;color:var(--green-800);background:var(--green-50);border-radius:10px;place-items:center;display:grid}.recent-import-list__body{min-width:0}.recent-import-list__body strong,.recent-import-list__body small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.recent-import-list__body strong{font-size:.78rem}.recent-import-list__body small{color:var(--ink-soft);margin-top:.18rem;font-size:.68rem}.recent-import-list .status-badge{grid-column:2;font-size:.68rem}.quality-list{margin:0}.quality-list>div{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.quality-list>div+div{border-top:1px solid var(--line)}.quality-list dt{color:var(--ink-soft);font-size:.8rem}.quality-list dd{color:var(--green-800);text-align:right;margin:0;font-size:.82rem;font-weight:800}.admin-actions{display:grid}.admin-actions a{grid-template-columns:1fr auto;align-items:center;padding:.85rem 0;display:grid}.admin-actions a+a{border-top:1px solid var(--line)}.admin-actions strong,.admin-actions span{grid-column:1;display:block}.admin-actions span{color:var(--ink-soft);margin-top:.2rem;font-size:.76rem}.admin-actions svg{color:var(--green-800);grid-area:1/2/3}.admin-table-toolbar{border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;align-items:stretch;gap:.7rem;padding:.9rem;display:flex}.cycle-toolbar{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;gap:.75rem;margin-bottom:1rem;padding:.9rem;display:grid}.cycle-toolbar__status{min-width:180px}.cycle-editor{border:1px solid var(--green-100);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);background:#fff;margin-bottom:1rem;padding:1rem}.cycle-editor__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:.9rem;display:flex}.cycle-editor__heading h2{font-size:1.2rem}.cycle-form{gap:.9rem;display:grid}.cycle-field{min-width:0;color:var(--ink);border:0;align-content:start;gap:.4rem;margin:0;padding:0;font-size:.8rem;font-weight:750;display:grid}.cycle-field legend{width:100%;margin-bottom:.4rem;padding:0}.cycle-field input{width:100%;height:48px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:0 .75rem}.cycle-field input:focus{border-color:var(--green-700);outline:0;box-shadow:0 0 0 3px #1b6d511f}.cycle-field input[aria-invalid=true]{border-color:var(--danger);background:#fffafb}.cycle-field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #ad2f371f}.cycle-field__hint,.cycle-field__error{min-height:1.1rem;line-height:1.45}.cycle-field__hint{color:var(--ink-soft);font-size:.68rem;font-weight:500}.cycle-field__error{color:var(--danger);align-items:flex-start;gap:.3rem;font-size:.7rem;font-weight:700;display:flex}.cycle-field__error:before{content:"•";flex:none}.cycle-datetime{grid-template-columns:minmax(0,1.35fr) minmax(112px,.65fr);gap:.55rem;display:grid}.cycle-datetime label{min-width:0}.cycle-time-input{position:relative}.cycle-time-input input{font-variant-numeric:tabular-nums;padding-right:3.1rem}.cycle-time-input>span:last-child{color:var(--ink-soft);pointer-events:none;font-size:.68rem;font-weight:750;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.cycle-form__actions{flex-direction:column;align-items:stretch;gap:.6rem;display:flex}.cycle-feedback{border-radius:10px;align-items:flex-start;gap:.55rem;margin-bottom:.8rem;padding:.75rem;font-size:.78rem;line-height:1.45;display:flex}.cycle-feedback--error{color:var(--danger);background:var(--danger-soft)}.cycle-feedback--success{color:var(--success);background:var(--success-soft)}.cycle-form .cycle-feedback{margin:0}.cycle-list{gap:.75rem;display:grid}.cycle-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:1rem;box-shadow:0 2px 8px #0d34270a}.cycle-card__topline{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.cycle-card__topline>div{min-width:0}.cycle-card__code{color:var(--green-700);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:850;display:block;overflow:hidden}.cycle-card h2{margin-top:.18rem;font-size:1.05rem}.status-badge--draft{color:var(--warning);background:var(--warning-soft)}.status-badge--active{color:var(--success);background:var(--success-soft)}.status-badge--closed{color:#6a7470;background:#edf0ef}.cycle-card__status-copy{color:var(--ink-soft);margin-top:.45rem;font-size:.75rem;line-height:1.4}.cycle-card__dates{gap:.75rem;margin:1rem 0;display:grid}.cycle-card__dates>div{gap:.2rem;display:grid}.cycle-card__dates dt{color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.68rem;display:flex}.cycle-card__dates dd{margin:0;font-size:.8rem;font-weight:750}.cycle-card__actions{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.5rem;padding-top:.85rem;display:flex}.cycle-close-confirm{color:var(--danger);background:var(--danger-soft);border-radius:10px;gap:.8rem;padding:.8rem;display:grid}.cycle-close-confirm p{margin-top:.2rem;font-size:.72rem;line-height:1.4}.cycle-close-confirm>div:last-child{flex-direction:column;align-items:stretch;gap:.45rem;display:flex}.cycle-pagination{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .25rem;font-size:.75rem;display:flex}.cycle-pagination>div{gap:.25rem;display:flex}.cycle-loading{min-height:220px;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;justify-content:center;align-items:center;gap:.6rem;font-size:.82rem;display:flex}.cycle-empty{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.student-filters{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;gap:.7rem;margin-bottom:.75rem;padding:.9rem;display:grid}.student-bulkbar{color:var(--ink-soft);background:var(--green-50);border:1px solid var(--green-100);border-radius:11px;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:.75rem;padding:.7rem .8rem;font-size:.76rem;display:flex}.student-bulkbar label,.student-account-row__select{color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;font-weight:750;display:inline-flex}.student-bulkbar input,.student-account-row__select input{width:18px;height:18px;accent-color:var(--green-800)}.student-bulkbar .button{width:100%}.student-account-list{gap:.7rem;display:grid}.student-account-row{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:.8rem .65rem;padding:1rem;display:grid;position:relative;box-shadow:0 2px 8px #0d34270a}.student-account-row[data-disabled=true]{background:#fafbfa}.student-account-row__select{grid-column:1;padding-top:.2rem}.student-account-row__identity{grid-column:2;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:.7rem;min-width:0;display:grid}.student-avatar{width:40px;height:40px;color:var(--green-900);background:var(--yellow-100);border-radius:12px;place-items:center;display:grid}.student-account-row__identity>div,.student-account-row__access,.student-account-row__session,.student-account-row__state{align-content:start;gap:.22rem;min-width:0;display:grid}.student-account-row__identity strong,.student-account-row__identity span,.student-account-row__identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-account-row__identity strong{font-size:.87rem}.student-account-row__identity span{color:var(--green-800);font-size:.73rem;font-weight:800}.student-account-row__identity small,.student-account-row__access small,.student-account-row__session small{color:var(--ink-soft);font-size:.69rem;line-height:1.4}.student-account-row__access,.student-account-row__session,.student-account-row__state,.student-account-row__actions{grid-column:2}.student-account-row__access strong{margin-top:.15rem;font-size:.76rem}.status-badge--access-current{color:var(--success);background:var(--success-soft)}.status-badge--access-scheduled{color:var(--warning);background:var(--warning-soft)}.status-badge--access-expired,.status-badge--access-none{color:#6a7470;background:#edf0ef}.student-account-row__actions{flex-wrap:wrap;align-items:center;gap:.45rem;padding-top:.3rem;display:flex}.student-account-row__actions>.button{flex:auto}.student-actions-menu{position:relative}.student-actions-menu summary{list-style:none}.student-actions-menu summary::-webkit-details-marker{display:none}.student-actions-menu[open]>summary{background:var(--green-50)}.student-actions-menu>div{z-index:6;border:1px solid var(--line);width:min(260px,100vw - 3rem);box-shadow:var(--shadow-raised);background:#fff;border-radius:11px;padding:.4rem;display:grid;position:absolute;right:0}.student-actions-menu button{min-height:42px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.55rem;padding:.55rem .65rem;font-size:.78rem;display:flex}.student-actions-menu button:hover{background:var(--green-50)}.student-account-row__confirm{color:var(--danger);background:var(--danger-soft);border-radius:10px;grid-column:1/-1;gap:.75rem;padding:.8rem;display:grid}.student-account-row__confirm p{margin-top:.2rem;font-size:.72rem;line-height:1.4}.student-account-row__confirm>div:last-child{flex-direction:column;gap:.45rem;display:flex}.student-editor .cycle-editor__heading p{max-width:42rem;color:var(--ink-soft);margin-top:.2rem;font-size:.72rem;line-height:1.4}.student-access-cycle-field select{width:100%;height:48px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:0 .75rem}.student-access-cycle-field select[aria-invalid=true]{border-color:var(--danger);background:#fffafb}.admin-page-heading__actions{flex-wrap:wrap;flex:none;gap:.55rem;width:100%;display:flex}.admin-page-heading__actions .button{flex:auto}.student-import-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:1rem;margin-bottom:1rem;padding:1rem;display:grid;box-shadow:0 9px 28px #0d342714}.student-import-panel__header,.student-import-guide,.student-import-status,.student-import-preview__heading{align-items:flex-start;gap:.75rem;display:flex}.student-import-panel__header{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:.9rem}.student-import-panel__header h2{font-size:1.1rem}.student-import-panel__header p,.student-import-guide p,.student-import-status span,.student-import-preview__heading span{color:var(--ink-soft);margin-top:.2rem;font-size:.75rem;line-height:1.45}.student-import-panel__setup,.student-import-review{gap:1rem;display:grid}.student-import-guide{color:var(--green-900);background:var(--green-50);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;padding:.85rem;display:grid}.student-import-guide .button{grid-column:1/-1;width:100%}.student-import-guide>div{flex:1;min-width:0}.student-import-fields{gap:.8rem;display:grid}.student-import-fields .cycle-field select{width:100%;height:48px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:0 .75rem}.student-import-file{min-height:84px;color:var(--green-900);background:var(--surface-warm);cursor:pointer;border:1px dashed #93afa3;border-radius:12px;align-items:center;gap:.8rem;padding:.9rem;display:flex}.student-import-file>span{gap:.2rem;min-width:0;display:grid}.student-import-file strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.student-import-file small{color:var(--ink-soft);font-size:.7rem}.student-import-file input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.student-import-file:focus-within{outline:3px solid var(--yellow-500);outline-offset:3px}.student-import-status{color:var(--green-900);background:var(--green-50);border-radius:12px;align-items:center;padding:.9rem}.student-import-status>div,.student-import-preview__heading>div{display:grid}.student-import-summary{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.student-import-summary>div{background:var(--surface-warm);gap:.12rem;padding:.8rem;display:grid}.student-import-summary strong{color:var(--green-800);font-size:1.3rem}.student-import-summary span{color:var(--ink-soft);font-size:.68rem}.student-import-summary [data-danger=true] strong{color:var(--danger)}.student-import-preview,.student-import-issues{background:var(--surface-warm);border:1px solid var(--line);border-radius:12px;gap:.8rem;padding:.9rem;display:grid}.student-import-preview__heading{color:var(--success);align-items:center}.student-import-preview__rows{background:var(--line);border-radius:9px;gap:1px;display:grid;overflow:hidden}.student-import-preview__rows>div{background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.2rem .65rem;padding:.65rem;display:grid}.student-import-preview__rows strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;overflow:hidden}.student-import-preview__rows small{color:var(--ink-soft);grid-column:2;font-size:.68rem}.student-import-issues{color:var(--danger);background:var(--danger-soft);border-color:#f3c8cc}.student-import-issues>div{align-items:center;gap:.5rem;display:flex}.student-import-issues ul{gap:.35rem;padding-left:1.2rem;font-size:.72rem;line-height:1.4;display:grid}.student-import-review__actions{flex-direction:column;gap:.55rem;display:flex}.credential-reveal{background:linear-gradient(135deg, var(--yellow-100), white 72%);border:1px solid var(--yellow-500);border-radius:var(--radius-md);gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.credential-reveal>div:first-child{align-items:flex-start;gap:.75rem;display:flex}.credential-reveal__icon{width:42px;height:42px;color:var(--green-950);background:var(--yellow-500);border-radius:12px;flex:none;place-items:center;display:grid}.credential-reveal h2{font-size:1rem}.credential-reveal p{max-width:50rem;color:var(--ink-soft);margin-top:.2rem;font-size:.72rem;line-height:1.45}.credential-reveal dl{gap:.65rem;margin:0;display:grid}.credential-reveal dl>div{background:#ffffffc7;border-radius:9px;padding:.7rem}.credential-reveal dt{color:var(--ink-soft);font-size:.66rem;font-weight:700}.credential-reveal dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;font-weight:800}.credential-reveal__actions{flex-direction:column;gap:.55rem;display:flex}.student-empty{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;min-height:240px}.responsive-table{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.8rem .9rem}th{color:var(--ink-soft);background:#f9faf9;font-size:.72rem;font-weight:800}td{font-size:.82rem}tbody tr:hover{background:var(--green-50)}td strong,td>span{display:block}td>span:not(.status-badge):not(.subject-code-badge){color:var(--ink-soft);margin-top:.15rem;font-size:.74rem}td input[type=checkbox]{width:17px;height:17px;accent-color:var(--green-800)}.table-summary{color:var(--ink-soft);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem .9rem;font-size:.75rem;display:flex}.table-summary strong{color:var(--ink)}.subject-code-badge{min-width:46px;color:var(--green-900);background:var(--green-100);border-radius:8px;place-items:center;padding:.35rem .5rem;font-size:.7rem;font-weight:850;display:inline-grid}.question-cell{max-width:520px;line-height:1.45}.import-steps{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(4,1fr);margin:0 0 1rem;padding:0;list-style:none;display:grid;overflow:hidden}.import-steps li{min-width:0;color:var(--ink-soft);align-items:center;gap:.45rem;padding:.75rem .5rem;font-size:.68rem;font-weight:700;line-height:1.2;display:flex}.import-steps li+li{border-left:1px solid var(--line)}.import-steps li span{width:24px;height:24px;color:var(--ink-soft);background:var(--canvas);border-radius:50%;flex:none;place-items:center;font-size:.68rem;display:none}.import-steps li[data-active=true]{color:var(--green-900);background:var(--green-50)}.import-steps li[data-active=true] span{color:#fff;background:var(--green-800)}.import-steps li[data-complete=true] span{color:var(--green-900);background:var(--success-soft)}.form-alert{border-radius:11px;align-items:flex-start;gap:.65rem;margin-bottom:1rem;padding:.8rem .9rem;font-size:.88rem;font-weight:650;line-height:1.45;display:flex}.form-alert svg{flex:none;margin-top:.08rem}.form-alert--error{color:var(--danger);background:var(--danger-soft)}.import-workspace{align-items:start;gap:1rem;display:grid}.import-upload-form,.import-review,.import-history{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.import-upload-form{gap:1rem;padding:1rem;display:grid}.import-section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.import-section-heading h2{color:var(--ink);font-size:1.15rem}.import-section-heading p{max-width:62ch;color:var(--ink-soft);margin-top:.25rem;font-size:.83rem;line-height:1.45}.import-safety-note{color:var(--green-900);background:var(--green-50);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.72rem;font-weight:750;display:none}.import-bank-field{color:var(--ink);gap:.35rem;font-size:.78rem;font-weight:750;display:grid}.import-bank-field select{width:100%;height:48px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:11px;padding:0 .75rem}.import-bank-field small{color:var(--ink-soft);font-size:.72rem;font-weight:500;line-height:1.4}.upload-panel{min-height:170px;color:var(--ink);text-align:center;background:var(--surface-warm);border-radius:var(--radius-md);cursor:pointer;border:1px dashed #9eb2a9;place-items:center;gap:.75rem;padding:1.2rem;transition:background-color .16s,border-color .16s;display:grid;position:relative}.upload-panel:hover,.upload-panel:focus-within,.upload-panel[data-has-file=true]{background:var(--green-50);border-color:var(--green-700)}.upload-panel__icon{width:58px;height:58px;color:var(--green-800);background:var(--green-50);border-radius:14px;place-items:center;display:grid}.upload-panel[data-has-file=true] .upload-panel__icon{color:#fff;background:var(--green-800)}.upload-panel__copy{gap:.2rem;min-width:0;display:grid}.upload-panel__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;overflow:hidden}.upload-panel__copy span{color:var(--ink-soft);font-size:.77rem;line-height:1.5}.upload-panel input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.import-upload-actions{flex-direction:column;align-items:stretch;gap:.65rem;display:flex}.import-upload-actions p{max-width:56ch;color:var(--ink-soft);font-size:.75rem;line-height:1.4}.import-review{min-height:280px;overflow:hidden}.import-review--empty,.import-review--loading{min-height:360px;color:var(--ink-soft);text-align:center;align-content:center;place-items:center;gap:.6rem;padding:2rem;display:grid}.import-review--empty h2{color:var(--ink);font-size:1.1rem}.import-review--empty p{max-width:48ch;line-height:1.5}.import-review__status{color:var(--green-900);background:var(--green-50);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem 1rem;display:grid}.import-review__status--failed{color:var(--danger);background:var(--danger-soft)}.import-review__status--completed{color:var(--success);background:var(--success-soft)}.import-review__status--cancelled{color:var(--ink-soft);background:var(--canvas)}.import-review__status-icon{background:#ffffffa6;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.import-review__status strong{font-size:.9rem}.import-review__status p{margin-top:.15rem;font-size:.76rem;line-height:1.4}.import-review__file{border-bottom:1px solid var(--line);align-items:center;gap:.65rem;padding:1rem;display:flex}.import-review__file>svg{color:var(--green-800);flex:none}.import-review__file>div{gap:.12rem;min-width:0;display:grid}.import-review__file strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-review__file span{color:var(--ink-soft);font-size:.75rem}.import-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin:0;padding:0;display:grid}.import-summary div{gap:.15rem;padding:.8rem 1rem;display:grid}.import-summary div:nth-child(odd){border-right:1px solid var(--line)}.import-summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}.import-summary dt{color:var(--ink-soft);font-size:.7rem;font-weight:700}.import-summary dd{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:800}.import-summary div[data-error=true] dd{color:var(--danger)}.import-issues{border-bottom:1px solid var(--line);padding:1rem}.import-issues__heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.import-issues__heading h3,.import-preview h3{color:var(--ink);font-size:.95rem}.import-issues__heading p{color:var(--ink-soft);margin-top:.2rem;font-size:.75rem;line-height:1.4}.import-issues ul{gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.import-issues li{background:var(--danger-soft);border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:.3rem .6rem;padding:.65rem .7rem;display:grid}.import-issues li>span{color:var(--danger);font-size:.72rem;font-weight:800}.import-issues li p{color:var(--ink);font-size:.78rem;line-height:1.4}.import-issues li code{color:var(--ink-soft);font:inherit;grid-column:2;font-size:.7rem}.import-issues__remainder{color:var(--ink-soft);margin-top:.7rem;font-size:.75rem}.import-preview{border-bottom:1px solid var(--line);padding:1rem}.import-preview .table-scroll{margin-top:.7rem;overflow-x:auto}.import-preview table{border-collapse:collapse;width:100%;min-width:480px;font-size:.76rem}.import-preview th,.import-preview td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem}.import-preview th{color:var(--ink-soft);background:var(--surface-warm)}.import-action{color:var(--ink-soft);background:var(--canvas);border-radius:999px;padding:.25rem .45rem;font-size:.68rem;font-weight:750;display:inline-flex}.import-action--new{color:var(--success);background:var(--success-soft)}.import-action--modified{color:var(--warning);background:var(--warning-soft)}.import-review__actions{flex-direction:column;align-items:stretch;gap:.6rem;padding:1rem;display:flex}.import-history{margin-top:1rem;overflow:hidden}.import-history>.import-section-heading{border-bottom:1px solid var(--line);padding:1rem}.import-history>.import-section-heading>span{color:var(--ink-soft);white-space:nowrap;font-size:.75rem;font-weight:750}.section-loading,.import-history__empty{min-height:150px;color:var(--ink-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:1.5rem;display:flex}.import-history__list{display:grid}.import-history-row{width:100%;min-height:76px;color:inherit;font:inherit;text-align:left;background:var(--surface);border:0;border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem 1rem;transition:background-color .16s;display:grid}.import-history-row:last-child{border-bottom:0}.import-history-row:hover,.import-history-row[data-selected=true]{background:var(--green-50)}.import-status-dot{background:var(--ink-soft);border-radius:50%;width:10px;height:10px}.import-status-dot--pending,.import-status-dot--processing,.import-status-dot--confirming{background:var(--yellow-500)}.import-status-dot--validated,.import-status-dot--completed{background:var(--success)}.import-status-dot--failed{background:var(--danger)}.import-history-row__main{gap:.15rem;min-width:0;display:grid}.import-history-row__main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.import-history-row__main span,.import-history-row__count{color:var(--ink-soft);font-size:.7rem}.import-history-row__count{display:none}.status-badge--pending,.status-badge--processing,.status-badge--confirming{color:var(--warning);background:var(--warning-soft)}.status-badge--validated,.status-badge--completed{color:var(--success);background:var(--success-soft)}.status-badge--failed{color:var(--danger);background:var(--danger-soft)}.status-badge--cancelled{color:var(--ink-soft);background:var(--canvas)}@media (width>=640px){.import-steps li{gap:.6rem;padding:.8rem;font-size:.75rem}.import-steps li span,.import-safety-note{display:inline-grid}.import-safety-note{display:inline-flex}.upload-panel{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;min-height:112px}.import-upload-actions,.import-review__actions{flex-direction:row;align-items:center}.import-upload-actions p{flex:1}.import-summary{grid-template-columns:repeat(4,1fr)}.import-summary div{border-right:1px solid var(--line);border-bottom:0!important}.import-summary div:last-child{border-right:0}.import-issues__heading{flex-direction:row;align-items:center}.import-history-row{grid-template-columns:auto minmax(0,1fr) auto 82px}.import-history-row__count{text-align:right;display:block}}@media (width>=1080px){.import-workspace{grid-template-columns:minmax(370px,.85fr) minmax(430px,1.15fr)}.import-upload-form{position:sticky;top:1rem}.import-upload-form .import-section-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.import-upload-form .upload-panel{text-align:left;grid-template-columns:auto minmax(0,1fr);justify-items:start}.import-upload-form .upload-panel>.button{grid-column:1/-1;width:100%}}.not-found-page{min-height:100vh;color:var(--ink-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.not-found-page h1{color:var(--ink);margin-top:1rem}.not-found-page p{max-width:48ch;margin:.4rem 0 1.2rem;line-height:1.5}.app-error-page,.route-pending{text-align:center;min-height:100dvh;color:var(--ink);background:var(--surface);place-content:center;justify-items:center;gap:1rem;padding:2rem;display:grid}.app-error-page svg{color:var(--danger)}.app-error-page h1,.app-error-page p{margin:0}.app-error-page p{max-width:34rem;color:var(--ink-soft)}.app-error-page small{color:var(--ink-soft);overflow-wrap:anywhere}.route-pending__spinner{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button--ghost{color:var(--green-800);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.button--ghost:not(:disabled):hover{background:var(--green-50)}.catalog-page-heading{max-width:760px}.catalog-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:1rem;display:grid}.catalog-tab{min-width:0;min-height:58px;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .45rem;display:flex}.catalog-tab>span{min-width:0}.catalog-tab strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;display:block;overflow:hidden}.catalog-tab small{display:none}.catalog-tab[aria-current=page]{color:var(--green-800);background:var(--green-50);border-color:var(--green-100)}.catalog-workspace{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.catalog-workspace__heading{border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:1rem;display:flex}.catalog-workspace__heading h2{font-size:1.2rem}.catalog-workspace__heading p,.cycle-editor__heading p{max-width:66ch;color:var(--ink-soft);margin-top:.25rem;font-size:.78rem;line-height:1.45}.catalog-editor{border:0;border-bottom:1px solid var(--green-100);box-shadow:none;border-radius:0;margin:0}.catalog-editor .cycle-editor__heading h3{font-size:1.15rem}.catalog-form{gap:.9rem;display:grid}.catalog-form .cycle-feedback,.catalog-form .cycle-form__actions,.catalog-textarea-field{grid-column:1/-1}.cycle-field select,.cycle-field textarea{width:100%;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:0 .75rem}.cycle-field select{height:48px}.cycle-field textarea{resize:vertical;min-height:92px;padding-block:.7rem}.cycle-field select:focus,.cycle-field textarea:focus{border-color:var(--green-700);outline:0;box-shadow:0 0 0 3px #1b6d511f}.cycle-field select[aria-invalid=true],.cycle-field textarea[aria-invalid=true]{border-color:var(--danger);background:#fffafb}.catalog-toolbar{background:var(--surface-warm);border-bottom:1px solid var(--line);gap:.75rem;padding:.9rem 1rem;display:grid}.catalog-filter{color:var(--ink);gap:.3rem;font-size:.7rem;font-weight:750;display:grid}.catalog-filter select{width:100%;height:44px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:0 .7rem}.catalog-filter select:focus{border-color:var(--green-700);outline:0;box-shadow:0 0 0 3px #1b6d511f}.catalog-list,.bank-list{margin:0;padding:0;list-style:none;display:grid}.admin-catalog-row{gap:.85rem;padding:1rem;display:grid}.admin-catalog-row+.admin-catalog-row,.bank-row+.bank-row{border-top:1px solid var(--line)}.admin-catalog-row__identity{align-items:flex-start;gap:.5rem;min-width:0;display:grid}.admin-catalog-row__identity>div{min-width:0}.admin-catalog-row__identity>.subject-code-badge{overflow-wrap:anywhere;text-align:center;justify-self:start;width:fit-content;min-width:0;max-width:100%;line-height:1.25}.admin-catalog-row__identity strong,.admin-catalog-row__identity span{display:block}.admin-catalog-row__identity strong{overflow-wrap:anywhere;font-size:.9rem;line-height:1.35}.admin-catalog-row__identity>div>span{color:var(--ink-soft);margin-top:.18rem;font-size:.72rem;line-height:1.4}.admin-catalog-row__facts{gap:1.5rem;margin:0;display:flex}.admin-catalog-row__facts div{gap:.15rem;display:grid}.admin-catalog-row__facts dt,.bank-row__counts dt{color:var(--ink-soft);font-size:.65rem}.admin-catalog-row__facts dd,.bank-row__counts dd{margin:0;font-size:.86rem;font-weight:800}.admin-catalog-row>.status-badge{width:fit-content}.admin-catalog-row__actions,.bank-row__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.catalog-state,.catalog-empty{min-height:190px;color:var(--ink-soft);text-align:center;align-content:center;place-items:center;gap:.55rem;padding:1.5rem;display:grid}.catalog-state--error{color:var(--danger)}.catalog-empty strong{color:var(--ink)}.catalog-empty span{max-width:42ch;font-size:.78rem;line-height:1.45}.catalog-pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:62px;padding:.55rem 1rem;display:flex}.catalog-pagination>span{color:var(--ink-soft);font-size:.76rem}.catalog-pagination>div{gap:.2rem;display:flex}.catalog-workspace>.cycle-feedback{margin:1rem}.bank-row{padding:1rem}.bank-row__topline{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.bank-row__topline>div{min-width:0}.bank-row__code{color:var(--green-700);letter-spacing:.03em;font-size:.68rem;font-weight:850}.bank-row h3{margin-top:.15rem;font-size:1rem;line-height:1.35}.bank-row__topline p{color:var(--ink-soft);margin-top:.25rem;font-size:.72rem;line-height:1.4}.bank-row__counts{background:var(--surface-warm);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:0;margin:1rem 0;display:grid}.bank-row__counts div{gap:.2rem;padding:.7rem;display:grid}.bank-row__counts div+div{border-left:1px solid var(--line)}.status-badge--bank-draft{color:var(--warning);background:var(--warning-soft)}.status-badge--bank-mapped{color:var(--green-800);background:var(--green-50)}.status-badge--bank-published{color:var(--success);background:var(--success-soft)}.status-badge--bank-archived{color:#6a7470;background:#edf0ef}.integrity-result,.bank-confirmation{border-radius:10px;margin-top:1rem;padding:.85rem}.integrity-result--valid{color:var(--success);background:var(--success-soft)}.integrity-result--invalid{color:var(--danger);background:var(--danger-soft)}.integrity-result__heading{align-items:center;gap:.5rem;display:flex}.integrity-result dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.8rem 0 0;display:grid}.integrity-result dl div{gap:.12rem;display:grid}.integrity-result dt{font-size:.65rem}.integrity-result dd{margin:0;font-size:.85rem;font-weight:800}.integrity-result ul{margin:.8rem 0 0;padding-left:1.2rem;font-size:.74rem;line-height:1.45}.bank-confirmation{color:var(--green-950);background:var(--yellow-100);gap:.8rem;display:grid}.bank-confirmation p{margin-top:.2rem;font-size:.74rem;line-height:1.45}.bank-confirmation>div:last-child{flex-wrap:wrap;gap:.5rem;display:flex}@media (width>=640px){.home-page{padding-inline:1.5rem}.admin-page-heading__actions{width:auto}.admin-page-heading__actions .button{flex:none}.student-import-panel{padding:1.25rem}.student-import-guide{align-items:center;display:flex}.student-import-guide .button{width:auto}.student-import-fields{grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);align-items:end}.student-import-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.student-import-review__actions{flex-direction:row;align-items:center}.continue-panel{border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:400px;padding:2.5rem}.continue-panel__symbol{bottom:2.2rem;right:2.6rem}.practice-entry__grid{grid-template-columns:1.35fr .8fr}.practice-choice{min-height:148px}.practice-choice small{display:block}.practice-choice__icon{width:54px;height:54px}.content-page,.admin-page{padding-inline:1.5rem}.page-heading,.admin-page-heading{flex-direction:row;align-items:center}.subject-toolbar{grid-template-columns:minmax(300px,.8fr) minmax(260px,1fr)}.catalog-row{grid-template-columns:64px minmax(0,1fr) auto}.catalog-row>.coming-soon-label{grid-area:1/3;place-self:center end}.exam-grid{grid-template-columns:repeat(2,1fr)}.configuration-fields{grid-template-columns:1fr 1fr}.profile-actions{flex-direction:row;align-items:center}.password-form .button{width:fit-content}.practice-statusbar{grid-template-columns:minmax(300px,1fr) auto auto}.practice-statusbar__progress{grid-column:auto}.admin-page-heading{align-items:center}.admin-table-toolbar{flex-direction:row;align-items:center}.cycle-toolbar{grid-template-columns:minmax(280px,1fr) 200px;align-items:end}.cycle-form{grid-template-columns:1fr 1fr}.cycle-form__actions,.cycle-form .cycle-feedback{grid-column:1/-1}.cycle-form__actions,.cycle-card__actions,.cycle-close-confirm>div:last-child,.student-account-row__confirm>div:last-child,.credential-reveal__actions{flex-direction:row;align-items:center}.cycle-card__dates{grid-template-columns:1fr 1fr .55fr}.search-field--wide{flex:1;max-width:520px}.import-rules{grid-template-columns:.8fr 1.2fr}.import-rules ul{grid-template-columns:1fr 1fr}.student-filters{grid-template-columns:1fr 1fr;align-items:end}.student-filters__search{grid-column:1/-1}.student-bulkbar .button{width:auto;margin-left:auto}.student-editor__form .cycle-field:last-of-type,.student-access-form .student-access-cycle-field{grid-column:1/-1}.credential-reveal dl{grid-template-columns:1fr 1fr}.catalog-tab{flex-direction:row;justify-content:flex-start;gap:.7rem;padding-inline:.8rem}.catalog-tab strong,.catalog-tab small{display:block}.catalog-tab strong{font-size:.76rem}.catalog-tab small{color:var(--ink-soft);white-space:nowrap;margin-top:.15rem;font-size:.65rem}.catalog-workspace__heading{flex-direction:row;align-items:center}.catalog-form{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-form--compact{max-width:780px}.catalog-toolbar{grid-template-columns:minmax(260px,1fr) 180px 170px;align-items:end}.admin-catalog-row{grid-template-columns:minmax(240px,1fr) auto auto;align-items:center}.admin-catalog-row__identity{grid-column:1}.admin-catalog-row__facts{grid-column:2}.admin-catalog-row>.status-badge{grid-column:3}.admin-catalog-row__actions{grid-column:1/-1}.admin-catalog-row--specialty{grid-template-columns:minmax(280px,1fr) auto}.admin-catalog-row--specialty .admin-catalog-row__actions{grid-column:1/-1}.bank-confirmation{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media (width>=900px){.student-layout{grid-template-columns:244px minmax(0,1fr);display:grid}.student-sidebar{color:#fff;background:var(--green-950);flex-direction:column;height:100vh;padding:1.2rem .8rem;display:flex;position:sticky;top:0}.student-sidebar__brand{padding:0 .55rem 1.5rem}.student-sidebar__user{color:#bcd4c8;text-overflow:ellipsis;white-space:nowrap;margin-top:.65rem;font-size:.75rem;display:block;overflow:hidden}.student-sidebar__nav{gap:.25rem;display:grid}.student-sidebar__link,.student-sidebar__admin,.student-sidebar__logout{color:#d5e6de;border-radius:10px;align-items:center;gap:.7rem;min-height:44px;padding:.65rem .75rem;font-size:.86rem;font-weight:650;display:flex}.student-sidebar__link:hover,.student-sidebar__link[data-active=true]{color:#fff;background:#ffffff1c}.student-sidebar__admin{color:var(--yellow-400);background:#f0c80817;margin-top:auto}.student-sidebar__logout{cursor:pointer;background:0 0;border:0;width:100%;margin-top:.35rem}.student-topbar,.bottom-navigation{display:none}.student-main{padding-bottom:0}.home-page{padding-top:1.5rem;padding-bottom:3rem}.continue-panel{border-radius:var(--radius-lg);min-height:410px}.continue-panel__symbol{top:50%;bottom:auto;right:8%;transform:translateY(-50%)}.continue-panel__symbol svg{width:150px;height:150px}.section-heading--inline{align-items:flex-end}.exam-grid{grid-template-columns:repeat(3,1fr)}.practice-page{padding-bottom:88px}.practice-topbar,.practice-statusbar{padding-inline:max(1rem,50vw - 550px)}.question-layout{grid-template-columns:minmax(0,1fr) 250px;padding-block:1.4rem}.question-card{padding:1.5rem}.question-navigator{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;align-self:start;padding:1rem;display:block}.question-navigator>div{grid-template-columns:repeat(5,1fr);gap:.45rem;margin-top:.8rem;display:grid}.question-navigator button{width:36px;height:36px;color:var(--ink-soft);background:var(--canvas);border:1px solid var(--line);cursor:pointer;border-radius:8px;place-items:center;display:grid}.question-navigator button[data-answered=true]{color:var(--green-900);background:var(--green-100)}.question-navigator button[data-current=true]{color:#fff;background:var(--green-800);border-color:var(--green-800)}.question-navigator dl{border-top:1px solid var(--line);gap:.55rem;margin:.9rem 0 0;padding-top:.9rem;display:grid}.question-navigator dl>div{color:var(--ink-soft);justify-content:space-between;font-size:.76rem;display:flex}.question-navigator dd{color:var(--ink);margin:0;font-weight:800}.practice-footer{justify-content:flex-end;padding-inline:max(1rem,50vw - 550px)}.admin-layout{grid-template-columns:248px minmax(0,1fr);display:grid}.admin-sidebar{color:#fff;background:var(--green-950);flex-direction:column;height:100vh;padding:1.25rem .9rem;display:flex;position:sticky;top:0}.admin-sidebar__context{color:#c9ddd3;background:#ffffff14;border-radius:10px;align-items:center;gap:.5rem;margin-top:1.4rem;padding:.7rem;font-size:.74rem;display:flex}.admin-sidebar__nav{gap:.25rem;margin-top:1rem;display:grid}.admin-sidebar__link,.admin-sidebar__back{color:#d5e6de;border-radius:10px;align-items:center;gap:.7rem;min-height:44px;padding:.65rem .75rem;font-size:.84rem;font-weight:650;display:flex}.admin-sidebar__link:hover,.admin-sidebar__link[data-active=true]{color:#fff;background:#ffffff1c}.admin-sidebar__back{width:100%;color:var(--yellow-400);cursor:pointer;background:0 0;border:0;margin-top:.35rem}.admin-sidebar__account{color:#fff;border-top:1px solid #ffffff1f;gap:.15rem;margin-top:auto;padding:.75rem;font-size:.78rem;display:grid}.admin-sidebar__account span{text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.admin-sidebar__account small{color:#a9c5b8}.admin-mobile-header{display:none}.admin-page{padding:2rem}.admin-metrics{grid-template-columns:repeat(4,1fr)}.admin-metrics article:nth-child(n){border:0}.admin-metrics article+article{border-left:1px solid var(--line)}.admin-dashboard-grid{grid-template-columns:1.2fr .8fr}.admin-dashboard-grid--lower{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);margin-top:1rem}.recent-import-list article{grid-template-columns:auto minmax(0,1fr) auto}.recent-import-list .status-badge{grid-column:3}.admin-catalog-row{grid-template-columns:minmax(300px,1fr) auto auto minmax(230px,auto)}.admin-catalog-row__identity{grid-template-columns:minmax(5.5rem,7.5rem) minmax(0,1fr);gap:.85rem}.admin-catalog-row__identity>.subject-code-badge{width:100%}.admin-catalog-row__identity,.admin-catalog-row__facts,.admin-catalog-row>.status-badge,.admin-catalog-row__actions{grid-column:auto}.admin-catalog-row__actions{justify-content:flex-end}.admin-catalog-row--specialty{grid-template-columns:minmax(300px,1fr) auto minmax(230px,auto)}.admin-catalog-row--specialty .admin-catalog-row__actions{grid-column:auto}.bank-row{padding:1.15rem 1.25rem}.cycle-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel__heading{flex-direction:row;align-items:flex-start}.login-page{grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}.login-intro{min-height:100vh;padding:2rem clamp(2rem,6vw,6rem)}.login-intro__message{margin-block:auto}}@media (width<=349px){.practice-entry__grid{grid-template-columns:1fr}}@media (width>=1180px){.student-layout{grid-template-columns:268px minmax(0,1fr)}.admin-layout{grid-template-columns:270px minmax(0,1fr)}.student-filters{grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(130px,.6fr))}.student-filters__search{grid-column:auto}.student-account-row{grid-template-columns:28px minmax(210px,1.3fr) minmax(155px,.9fr) minmax(105px,.6fr) 92px minmax(250px,auto);align-items:center}.student-account-row__select,.student-account-row__identity,.student-account-row__access,.student-account-row__session,.student-account-row__state,.student-account-row__actions{grid-column:auto}.student-account-row__actions{justify-content:flex-end;padding-top:0}.student-account-row__actions>.button{flex:none}}.question-management-page{max-width:1280px}.question-editor,.question-detail-panel,.question-browser{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.question-editor,.question-detail-panel{margin-bottom:1rem;box-shadow:0 12px 36px #0d342714}.question-workspace{z-index:100;isolation:isolate;position:fixed;inset:0}.question-workspace__backdrop{z-index:0;cursor:pointer;background:#0c38296b;border:0;border-radius:0;width:100%;animation:.18s ease-out both question-workspace-backdrop-in;position:absolute;inset:0}.question-workspace__sheet{z-index:1;overscroll-behavior:contain;background:var(--canvas);width:min(720px,100vw - 280px);min-width:560px;padding:1rem;animation:.22s cubic-bezier(.16,1,.3,1) both question-workspace-sheet-in;position:absolute;inset:0 0 0 auto;overflow-y:auto;box-shadow:-24px 0 54px #0c382933}.question-workspace__sheet:focus{outline:none}.question-workspace__sheet>.question-editor,.question-workspace__sheet>.question-detail-panel{box-shadow:none;margin:0}@keyframes question-workspace-backdrop-in{0%{opacity:0}}@keyframes question-workspace-sheet-in{0%{opacity:0;transform:translate(2rem)}}.question-editor__heading,.question-detail-panel__heading,.question-browser__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.4rem;display:flex}.question-editor__heading h2,.question-detail-panel__heading h2,.question-browser__heading h2,.question-history h3{color:var(--ink);letter-spacing:-.025em;margin:0}.question-editor__heading p,.question-detail-panel__heading p,.question-browser__heading p,.question-history>div>p{color:var(--ink-soft);margin:.3rem 0 0}.question-editor__form{gap:1.2rem;padding:1.35rem 1.4rem 1.5rem;display:grid}.question-editor__metadata{grid-template-columns:minmax(220px,1.4fr) minmax(220px,1.4fr) .6fr .8fr;align-items:start;gap:1rem;display:grid}.question-editor .catalog-textarea-field textarea{resize:vertical;min-height:106px}.question-options-editor{border:0;min-width:0;margin:0;padding:0}.question-options-editor>legend{color:var(--ink);padding:0;font-size:1rem;font-weight:750}.question-options-editor>p{color:var(--ink-soft);margin:.3rem 0 .8rem;font-size:.88rem}.question-options-editor__list{gap:.65rem;display:grid}.question-option-editor{border:1px solid var(--line);background:var(--surface-warm);border-radius:12px;grid-template-columns:146px minmax(0,1fr);gap:.75rem;padding:.75rem;transition:border-color .16s,background .16s;display:grid}.question-option-editor[data-correct]{border-color:var(--green-700);background:var(--success-soft)}.question-option-editor__correct{cursor:pointer;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.55rem;min-height:70px;display:grid}.question-option-editor__correct input{opacity:0;pointer-events:none;position:absolute}.question-option-editor__letter{border:1px solid var(--line-strong);background:var(--surface);width:34px;height:34px;color:var(--green-900);border-radius:10px;place-items:center;font-weight:800;display:grid}.question-option-editor[data-correct] .question-option-editor__letter{border-color:var(--green-700);background:var(--green-800);color:var(--surface)}.question-option-editor__selection{gap:.2rem;min-width:0;display:grid}.question-option-editor__selection small{color:var(--ink-soft);font-size:.7rem;font-weight:700;line-height:1.2}.question-option-editor__selection strong{color:var(--ink);font-size:.78rem;font-weight:750;line-height:1.2}.question-option-editor[data-correct] .question-option-editor__selection strong{color:var(--success)}.question-option-editor__correct input:focus-visible+.question-option-editor__letter{outline:3px solid var(--yellow-500);outline-offset:3px}.question-option-editor__text{gap:.3rem;display:grid}.question-option-editor__text textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:70px;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;padding:.65rem .75rem;line-height:1.4}.question-option-editor__text textarea:focus{border-color:var(--green-700);outline:none;box-shadow:0 0 0 3px #1b6d511f}.question-option-editor__text textarea[aria-invalid=true]{border-color:var(--danger)}.question-editor__actions,.question-detail-panel__actions{flex-wrap:wrap;gap:.65rem;display:flex}.question-detail-panel__actions{padding:1rem 1.4rem 0}.question-detail-panel__content{gap:1rem;padding:1.1rem 1.4rem 1.4rem;display:grid}.question-prompt{justify-items:start;gap:.75rem;display:grid}.question-prompt p{max-width:78ch;color:var(--ink);margin:0;font-size:clamp(1.02rem,1.5vw,1.18rem);font-weight:650;line-height:1.55}.question-option-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.question-option-list li{border:1px solid var(--line);background:var(--surface-warm);border-radius:12px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:58px;padding:.65rem .75rem;display:grid}.question-option-list li>span{background:var(--green-50);width:34px;height:34px;color:var(--green-900);border-radius:10px;place-items:center;font-weight:800;display:grid}.question-option-list li>p{color:var(--ink);margin:0;line-height:1.45}.question-option-list li>strong{color:var(--success);align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.question-option-list li[data-correct]{border-color:var(--green-700);background:var(--success-soft)}.question-option-list li[data-correct]>span{background:var(--green-800);color:var(--surface)}.question-reference{background:var(--green-50);border-radius:12px;padding:.8rem .9rem}.question-reference strong{color:var(--green-900);font-size:.78rem}.question-reference p{color:var(--ink-soft);margin:.25rem 0 0;line-height:1.45}.question-history{border-top:1px solid var(--line);background:var(--canvas);gap:.9rem;padding:1.25rem 1.4rem 1.4rem;display:grid}.question-history__list{gap:.55rem;display:grid}.question-history details{border:1px solid var(--line);background:var(--surface);border-radius:12px}.question-history summary{min-height:52px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .85rem;display:flex}.question-history summary span{font-weight:750}.question-history summary small{color:var(--ink-soft)}.question-history__revision{gap:.7rem;padding:0 .85rem .9rem;display:grid}.question-history__revision>p,.question-history__revision>span{margin:0;line-height:1.45}.question-history__revision>span{color:var(--ink-soft);font-size:.84rem}.question-history__revision ol{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.question-history__revision li{color:var(--ink-soft);grid-template-columns:92px 1fr;gap:.5rem;font-size:.82rem;display:grid}.question-browser__heading{align-items:center}.question-browser__heading>span{background:var(--green-50);color:var(--green-900);white-space:nowrap;border-radius:999px;padding:.35rem .6rem;font-size:.75rem;font-weight:750}.question-browser__filters{border-bottom:1px solid var(--line);background:var(--surface-warm);grid-template-columns:minmax(300px,1.8fr) repeat(3,minmax(150px,.7fr));gap:.75rem;padding:1rem 1.2rem;display:grid}.question-browser__filters>label{color:var(--ink);gap:.35rem;font-size:.75rem;font-weight:750;display:grid}.question-browser__filters select{border:1px solid var(--line-strong);background:var(--surface);width:100%;height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 .7rem}.question-search{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.question-search label{border:1px solid var(--line-strong);background:var(--surface);height:44px;color:var(--ink-soft);border-radius:10px;align-items:center;padding:0 .75rem;display:flex}.question-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none}.question-browser__state,.question-detail-panel--state{min-height:220px;color:var(--ink-soft);text-align:center;align-content:center;place-items:center;gap:.6rem;padding:2rem;display:grid}.question-browser__state strong,.question-detail-panel--state strong{color:var(--ink)}.question-browser__state--error{color:var(--danger)}.question-list__labels,.question-list__row{grid-template-columns:110px minmax(260px,1fr) 100px 110px 58px;align-items:center;gap:.75rem;display:grid}.question-list__labels{border-bottom:1px solid var(--line);min-width:760px;color:var(--ink-soft);padding:.6rem 1.2rem;font-size:.7rem;font-weight:750}.question-list__labels span:first-child{grid-column:1/3}.question-list{overflow-x:auto}.question-list__row{border:0;border-bottom:1px solid var(--line);background:var(--surface);width:100%;min-width:760px;min-height:78px;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:.7rem 1.2rem;transition:background .16s}.question-list__row:hover,.question-list__row[data-selected]{background:var(--green-50)}.question-list__identity{gap:.15rem;display:grid}.question-list__identity strong{color:var(--green-900)}.question-list__identity small,.question-list__revision{color:var(--ink-soft);font-size:.73rem}.question-list__prompt{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.4;display:-webkit-box;overflow:hidden}.question-list__revision{text-align:center;font-weight:750}.question-browser__pagination{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;font-size:.78rem;display:flex}.question-browser__pagination>div{gap:.5rem;display:flex}@media (width<=1080px){.question-workspace__sheet{width:min(100%,720px);min-width:0}.question-editor__metadata,.question-browser__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.question-search{grid-column:1/-1}}@media (width<=640px){.question-workspace__sheet{background:var(--surface);width:100%;padding:0}.question-workspace__sheet>.question-editor,.question-workspace__sheet>.question-detail-panel{border:0;border-radius:0;min-height:100%}.question-editor__heading,.question-detail-panel__heading,.question-browser__heading,.question-editor__form,.question-detail-panel__content,.question-history{padding:1rem}.question-editor__metadata,.question-browser__filters{grid-template-columns:minmax(0,1fr)}.question-search{grid-column:auto;grid-template-columns:minmax(0,1fr)}.question-option-editor{grid-template-columns:minmax(0,1fr)}.question-option-editor__correct{min-height:42px}.question-option-list li{grid-template-columns:36px minmax(0,1fr)}.question-option-list li>strong{grid-column:2}.question-detail-panel__actions,.question-editor__actions{grid-template-columns:minmax(0,1fr);display:grid}.question-detail-panel__actions{padding:1rem 1rem 0}.question-detail-panel__actions .button,.question-editor__actions .button{width:100%}.question-list__labels{display:none}.question-list__row{grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:.85rem 1rem}.question-list__identity{grid-column:1}.question-list__prompt{grid-area:2/1/auto/-1}.question-list__row .subject-code-badge{grid-area:1/2}.question-list__row .status-badge{grid-area:3/1;justify-self:start}.question-list__revision{grid-area:3/2;justify-self:end}.question-browser__pagination{flex-direction:column;align-items:stretch}.question-browser__pagination>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.question-browser__pagination .button{width:100%}.question-history__revision li{grid-template-columns:minmax(0,1fr)}}.catalog-row--action{color:inherit;transition:background-color .16s}.catalog-row--action:hover{background:var(--green-50)}.catalog-row__action{color:var(--green-800);align-items:center;gap:.35rem;font-size:.78rem;font-weight:800;display:inline-flex}.active-attempt-strip{color:#fff;background:var(--green-900);border-radius:var(--radius-md);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.9rem;margin-bottom:1rem;padding:1rem;display:flex}.active-attempt-strip div,.active-attempt-strip span{gap:.2rem;display:grid}.active-attempt-strip span{color:#c8ddd3;font-size:.8rem}.exam-item{grid-template-columns:auto minmax(0,1fr);align-content:start}.exam-item__number{font-size:1.45rem;font-weight:850}.exam-item__content{gap:.18rem;min-width:0;display:grid}.exam-item__content h2{font-size:.96rem}.exam-item__content>span,.exam-item__content small{color:var(--ink-soft);font-size:.74rem}.exam-item__score{align-items:center;gap:.3rem;font-weight:750;display:inline-flex;color:var(--success)!important}.exam-item>.button{grid-column:1/-1;width:100%}.attempt-history{margin-top:2.25rem}.history-list{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.history-row{min-height:72px;color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem 1rem;display:grid}.history-row+.history-row{border-top:1px solid var(--line)}.history-row:hover{background:var(--green-50)}.history-row>svg{color:var(--green-700)}.history-row span,.history-row small{min-width:0;display:block}.history-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.history-row small,.attempt-history__empty{color:var(--ink-soft);margin-top:.18rem;font-size:.72rem}.history-row b{font-size:.84rem}.attempt-history__empty{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:1rem}.configuration-active-attempt{color:var(--green-950);background:var(--yellow-100);border-radius:var(--radius-md);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.configuration-active-attempt div,.configuration-active-attempt span{gap:.15rem;display:grid}.configuration-active-attempt span{font-size:.78rem}.configuration-section{padding:1.2rem}.configuration-section legend{margin-bottom:.65rem}.configuration-fixed-value{background:var(--green-50);border-radius:10px;align-content:start;gap:.2rem;padding:.75rem .85rem;display:grid}.configuration-fixed-value>span,.configuration-fixed-value small{color:var(--ink-soft);font-size:.72rem}.configuration-fixed-value strong{font-size:1.1rem}.mode-selector{gap:.65rem;display:grid}.mode-selector label{background:var(--canvas);border:1px solid var(--line);cursor:pointer;border-radius:12px;gap:.25rem;min-height:96px;padding:.9rem .9rem .9rem 2.8rem;display:grid;position:relative}.mode-selector label:before{content:"";border:2px solid var(--line-strong);background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:1rem;left:1rem}.mode-selector label[data-selected=true]{background:var(--green-50);border-color:var(--green-700)}.mode-selector label[data-selected=true]:before{background:var(--green-700);outline:2px solid var(--green-700);border:5px solid #fff}.mode-selector input{opacity:0;width:1px;height:1px;position:absolute}.mode-selector input:focus-visible~strong{-webkit-text-decoration:underline 3px var(--yellow-500);-webkit-text-decoration:underline 3px var(--yellow-500);-webkit-text-decoration:underline 3px var(--yellow-500);text-decoration:underline 3px var(--yellow-500);text-underline-offset:4px}.mode-selector span{color:var(--ink-soft);font-size:.78rem;line-height:1.45}.configuration-section--switches{padding-bottom:.35rem}.switch-row strong{align-items:center;gap:.35rem;display:flex}.configuration-start{width:100%;min-height:52px}.progress-track{background:var(--green-100);border-radius:999px;height:5px;overflow:hidden}.progress-track>span{background:var(--green-700);border-radius:inherit;transform-origin:0;width:100%;height:100%;transition:transform .28s cubic-bezier(.16,1,.3,1);display:block}.time-indicator[data-urgent=true]{color:var(--danger)}.mark-button[data-marked=true]{color:var(--warning);background:var(--warning-soft)}.question-reference{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.question-reference summary{width:fit-content;color:var(--green-800);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;font-weight:800;display:flex}.question-reference p{max-width:72ch;color:var(--ink-soft);margin-top:.55rem;font-size:.8rem;line-height:1.55}.practice-full-state,.practice-embedded-state{min-height:360px;color:var(--ink-soft);text-align:center;align-content:center;justify-items:center;gap:.65rem;padding:2rem 1rem;display:grid}.practice-full-state h1,.practice-embedded-state h1{color:var(--ink);font-size:1.4rem}.practice-embedded-state{max-width:1100px;margin:0 auto}.submit-sheet{width:min(100%,520px);color:var(--ink);border-radius:var(--radius-md);background:#fff;border:0;margin:auto;padding:1.25rem;animation:.22s cubic-bezier(.16,1,.3,1) submit-sheet-in;box-shadow:0 18px 50px #031a1252}.submit-sheet::backdrop{background:#031a12a3}@keyframes submit-sheet-in{0%{opacity:.7;transform:translateY(18px)}}.submit-sheet>svg{color:var(--green-700)}.submit-sheet h2{margin-top:.7rem;font-size:1.35rem}.submit-sheet>p{color:var(--ink-soft);margin-top:.45rem;font-size:.84rem;line-height:1.55}.submit-sheet>div:last-child{gap:.6rem;margin-top:1rem;display:grid}.result-page{background:var(--canvas);min-height:100vh;padding-bottom:3rem}.result-header{color:#fff;background:var(--green-950);align-items:center;gap:.65rem;min-height:64px;padding:.7rem 1rem;font-weight:800;display:flex}.result-summary,.result-review{max-width:900px;margin-inline:auto}.result-summary{color:#fff;background:var(--green-900);gap:1rem;padding:1.25rem 1rem 1.5rem;display:grid}.result-summary>svg{color:var(--yellow-400)}.result-summary h1{max-width:28ch;font-size:clamp(1.5rem,6vw,2.2rem);line-height:1.15}.result-summary p{color:#c9ddd3;margin-top:.4rem;font-size:.84rem;line-height:1.5}.result-score strong,.result-score span{display:block}.result-score strong{color:var(--yellow-400);letter-spacing:-.035em;font-size:clamp(2.4rem,12vw,4.4rem);line-height:1}.result-score span{color:#d6e7df;margin-top:.3rem;font-size:.8rem}.result-summary dl{border:1px solid #ffffff29;border-radius:12px;grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.result-summary dl div{gap:.18rem;padding:.75rem;display:grid}.result-summary dl div:nth-child(odd){border-right:1px solid #ffffff29}.result-summary dl div:nth-child(-n+2){border-bottom:1px solid #ffffff29}.result-summary dt{color:#bcd4c8;font-size:.7rem}.result-summary dd{margin:0;font-size:1.05rem;font-weight:850}.result-actions .button{width:100%}.result-review{padding:2rem 1rem 0}.result-question-list{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.result-question+.result-question{border-top:1px solid var(--line)}.result-question summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:72px;padding:.8rem 1rem;list-style:none;display:grid}.result-question summary::-webkit-details-marker{display:none}.result-question[open] summary>svg:last-child{transform:rotate(180deg)}.result-correct{color:var(--success)}.result-incorrect{color:var(--danger)}.result-question summary span,.result-question summary small{display:block}.result-question summary strong{font-size:.82rem}.result-question summary small{color:var(--ink-soft);margin-top:.15rem;font-size:.72rem}.result-question__body{padding:0 1rem 1rem 3.25rem}.result-question__body>p{max-width:72ch;font-size:.86rem;line-height:1.55}.result-question__body ol{gap:.45rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.result-question__body li{color:var(--ink-soft);background:var(--canvas);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.6rem;font-size:.78rem;display:grid}.result-question__body li b{background:#fff;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.result-question__body li[data-correct=true]{color:var(--success);background:var(--success-soft)}.result-question__body li[data-selected=true]:not([data-correct=true]){color:var(--danger);background:var(--danger-soft)}.result-question__body li small{font-weight:800}.result-question__reference{color:var(--ink-soft);margin-top:.85rem}.result-page--state{color:var(--ink-soft);text-align:center;align-content:center;justify-items:center;gap:.8rem;padding:2rem 1rem;display:grid}.exam-generation{background:var(--green-50);border-radius:var(--radius-md);gap:.9rem;margin-top:1rem;padding:1rem;display:grid}.exam-generation__heading{align-items:flex-start;gap:.65rem;display:flex}.exam-generation__heading>span{width:38px;height:38px;color:var(--green-900);background:var(--yellow-400);border-radius:10px;flex:none;place-items:center;display:grid}.exam-generation__heading p,.exam-generation__empty,.exam-generation__confirmation p,.exam-generation__summary p,.exam-generation__summary small{color:var(--ink-soft);margin-top:.2rem;font-size:.75rem;line-height:1.45}.exam-generation__controls{gap:.7rem;display:grid}.exam-generation__confirmation,.exam-generation__summary{background:#fff;border-radius:10px;align-items:flex-start;gap:.7rem;padding:.85rem;display:flex}.exam-generation__confirmation{flex-direction:column}.exam-generation__confirmation>div:last-child{flex-wrap:wrap;gap:.5rem;display:flex}.exam-generation__summary>svg{color:var(--success);flex:none}@media (width>=640px){.active-attempt-strip,.configuration-active-attempt{flex-direction:row;align-items:center}.exam-item>.button{grid-column:2;justify-self:start;width:auto}.mode-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.submit-sheet>div:last-child{grid-template-columns:1fr 1fr}.result-summary{grid-template-columns:minmax(0,1fr) auto;padding:2rem}.result-summary>svg{grid-column:1/-1}.result-score{text-align:right}.result-summary dl,.result-actions{grid-column:1/-1}.result-summary dl{grid-template-columns:repeat(4,1fr)}.result-summary dl div{border:0!important}.result-summary dl div+div{border-left:1px solid #ffffff29!important}.result-actions .button{width:fit-content}.exam-generation__controls{grid-template-columns:minmax(260px,1fr) auto;align-items:end}.exam-generation__confirmation{flex-direction:row;justify-content:space-between;align-items:center}}@media (width>=900px){.exam-item{grid-template-columns:auto minmax(0,1fr)}.result-summary{border-radius:var(--radius-lg);margin-top:1.5rem}}@media (width<=639px){.practice-footer .button{padding-inline:.8rem}.practice-footer .button:first-child{font-size:0}.practice-footer .button:first-child svg{margin:0}.result-question__body{padding-left:1rem}.result-question__body li{grid-template-columns:auto minmax(0,1fr)}.result-question__body li small{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
