@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(./inter-cyrillic-ext-300-normal-CgCALhwJ.woff2) format("woff2"),url(./inter-cyrillic-ext-300-normal-RId2JxDB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(./inter-cyrillic-300-normal-BnqRxXuy.woff2) format("woff2"),url(./inter-cyrillic-300-normal-LR1W_oT8.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(./inter-greek-ext-300-normal-l2DDyC6M.woff2) format("woff2"),url(./inter-greek-ext-300-normal-DLbbeei1.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(./inter-greek-300-normal-DmGD3g_f.woff2) format("woff2"),url(./inter-greek-300-normal-BrhSP0vQ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(./inter-vietnamese-300-normal-Bdr24Bqb.woff2) format("woff2"),url(./inter-vietnamese-300-normal-DDGmYYdT.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(./inter-latin-ext-300-normal-CPgO9Ksf.woff2) format("woff2"),url(./inter-latin-ext-300-normal-Dp1L8vcn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(./inter-latin-300-normal-BVlfKGgI.woff2) format("woff2"),url(./inter-latin-300-normal-i8F0SvXL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(./inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(./inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(./inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(./inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(./inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(./inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(./inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--color-slate-100:oklch(96.8% .007 247.896);--spacing:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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,ui-sans-serif, system-ui, 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;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{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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-dvh{height:100dvh}.max-h-dvh{max-height:100dvh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-slate-100{background-color:var(--color-slate-100)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.font-sans{font-family:var(--font-sans)}.text-\[\#78909c\]{color:#78909c}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-\[\#f5f7f8\]:hover{background-color:#f5f7f8}.hover\:text-\[\#37474f\]:hover{color:#37474f}}@media(min-width:64rem){.lg\:hidden{display:none}}}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{color:#1f2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f3f4f6}#root{flex-direction:column;min-height:100vh;display:flex}button{cursor:pointer;transition:all .2s ease-in-out}input{transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}input:focus{outline:none}.login-field__input:focus{box-shadow:none;outline:none}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #ffffff4d;box-shadow:0 8px 32px #1f268726}@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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.login-page{position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:#f0f2f5}.login-page__bg{position:absolute;inset:0;z-index:0;pointer-events:none}.login-page__bg-top{height:42vh;min-height:200px;max-height:380px;background-color:#0d47a1;background-image:linear-gradient(135deg,#0d47a1eb,#1565c0e0,#1976d2e6),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='104' viewBox='0 0 120 104'%3E%3Cg fill='%23ffffff' fill-opacity='0.06'%3E%3Cpath d='M60 0 L120 30 L120 90 L60 104 L0 90 L0 30 Z'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='0.04' transform='translate(30 20)'%3E%3Cpath d='M60 0 L120 30 L120 90 L60 104 L0 90 L0 30 Z'/%3E%3C/g%3E%3C/svg%3E");background-size:cover,180px 156px;background-position:center,0 0}.login-page__bg-bottom{position:absolute;left:0;right:0;top:42vh;bottom:0;min-height:58vh;background:#eceff1}.login-page__brand{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:1rem;padding:clamp(1.25rem,4vw,2.5rem) 1rem;padding-top:clamp(1.5rem,5vh,2.75rem);pointer-events:none}.login-page__logo-wrap{flex-shrink:0;width:clamp(52px,12vw,72px);height:clamp(52px,12vw,72px);display:flex;align-items:center;justify-content:center}.login-page__logo-wrap img.login-page__logo-custom{max-width:100%;max-height:100%;object-fit:contain;filter:none;background:#fff;border-radius:8px;padding:4px;box-shadow:0 2px 10px #0000002e}.login-page__logo-skeleton{width:100%;height:100%;border-radius:8px;background:#ffffff40}.login-page__logo-svg{width:100%;height:100%}.login-page__brand-text{color:#fff;text-align:left}.login-page__brand-title{font-size:clamp(1.35rem,4.5vw,2rem);font-weight:700;letter-spacing:.06em;line-height:1.15;margin:0;text-transform:uppercase;min-height:1.15em}.login-page__title-skeleton{width:min(18rem,70vw);height:clamp(1.35rem,4.5vw,2rem);border-radius:6px;background:#ffffff47;margin-bottom:.15rem}.login-page__brand-sub{font-size:clamp(.8rem,2.5vw,1rem);font-weight:400;margin:.2rem 0 0;opacity:.95;letter-spacing:.02em}.login-page__center{position:relative;z-index:2;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(5.5rem,18vh,8rem) 1rem 2rem}.login-page__stack{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:stretch;gap:.85rem}.login-card{width:100%;max-width:none;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001f,0 2px 10px #0000000f;overflow:hidden}.login-card__body{padding:clamp(1.75rem,5vw,2.25rem) clamp(1.5rem,4vw,2rem) clamp(1.5rem,4vw,1.75rem)}.login-card__title{font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;color:#212121;margin:0 0 .5rem}.login-card__subtitle{font-size:clamp(.78rem,2.2vw,.875rem);color:#757575;line-height:1.55;margin:0 0 1.75rem;text-align:left}.login-card__error{background:#ffebee;color:#c62828;font-size:.8rem;padding:.65rem .85rem;border-radius:4px;margin-bottom:1.25rem;border:1px solid #ffcdd2;text-align:left}.login-form{display:flex;flex-direction:column;gap:.25rem}.login-field{position:relative;display:flex;align-items:center;gap:.75rem;padding:.85rem 0 .65rem;border-bottom:1px solid #bdbdbd;transition:border-color .2s}.login-field:focus-within{border-bottom-color:#1976d2}.login-field__icon{flex-shrink:0;color:#9e9e9e;font-size:1.05rem;width:1.25rem;display:flex;align-items:center;justify-content:center}.login-field__input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:.95rem;color:#333;padding:0}.login-field__input::placeholder{color:#9e9e9e}.login-field__toggle{flex-shrink:0;border:none;background:none;color:#9e9e9e;padding:.25rem;cursor:pointer;display:flex;align-items:center;font-size:1rem;line-height:1}.login-field__toggle:hover{color:#616161}.login-field__toggle:disabled{cursor:not-allowed;opacity:.5}.login-btn{width:100%;margin-top:1.75rem;padding:.75rem 1.5rem;border:none;border-radius:999px;background:#1e88e5;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s,transform .15s;box-shadow:0 4px 14px #1e88e559}.login-btn:hover:not(:disabled){background:#1565c0;box-shadow:0 6px 18px #1565c066}.login-btn:active:not(:disabled){transform:scale(.99)}.login-btn:disabled{background:#90caf9;cursor:not-allowed;box-shadow:none}.login-card__footer{height:14px;background:linear-gradient(180deg,#f5f5f5,#eee);border-top:1px solid #e0e0e0}.login-page__credit{position:relative;z-index:2;text-align:center;padding:0;margin:0;font-size:.75rem;color:#757575;line-height:1.4}.login-page__credit a{color:#1976d2;text-decoration:none;font-weight:600}.login-page__credit a:hover{text-decoration:underline}@media(max-width:480px){.login-page__bg-top{height:38vh;min-height:180px}.login-page__bg-bottom{top:38vh}.login-page__center{padding-top:clamp(4.5rem,14vh,6rem);padding-left:.85rem;padding-right:.85rem}.login-card{max-width:none;width:100%;border-radius:10px}.login-page__brand{flex-direction:column;text-align:center;gap:.65rem}.login-page__brand-text{text-align:center}}@media(min-width:768px){.login-page__bg-top{height:44vh}.login-page__bg-bottom{top:44vh}}.admin-container{display:flex;flex-direction:row;height:100vh;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;background-color:#f3f4f6;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;max-height:100%;overflow:hidden}.admin-header{flex-shrink:0;background-color:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#111827;display:flex;justify-content:space-between;align-items:center;padding:0 1.25rem;height:60px;border-bottom:1px solid #e5e7eb;position:relative;z-index:50}.admin-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.sidebar-toggle{width:38px;height:38px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:#f9fafb}.sidebar-toggle{cursor:pointer;flex-shrink:0}@media(max-width:1023px){.sidebar-toggle--mobile{display:inline-flex!important}}@media(min-width:1024px){.sidebar-toggle--mobile{display:none!important}}.admin-logo{display:flex;flex-direction:column;line-height:1.1}.admin-logo--with-brand{flex-direction:row;align-items:center;gap:.625rem;min-width:0}.admin-logo__img{width:2rem;height:2rem;flex-shrink:0;object-fit:contain;border-radius:.375rem;background:#fff;border:1px solid #e5e7eb;padding:2px}.admin-logo__text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.admin-logo--with-brand .admin-logo-title{font-size:.85rem;font-weight:700;letter-spacing:.02em;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-logo-title{font-weight:800;letter-spacing:.08em;font-size:.95rem}.admin-logo-subtitle{font-size:.75rem;color:#6b7280}.admin-user-menu{position:relative;display:flex;align-items:center;gap:1rem;font-size:.9rem}.admin-profile-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid #e5e7eb;border-radius:9999px;background:#fff;color:#475569;cursor:pointer;overflow:hidden;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.admin-profile-btn:hover,.admin-profile-btn.is-open{background:#f1f5f9;color:#2563eb;border-color:#cbd5e1;box-shadow:0 2px 8px #2563eb1f}.admin-profile-btn__icon{width:1.5rem;height:1.5rem}.admin-profile-btn__photo{width:100%;height:100%;object-fit:cover;border-radius:9999px;display:block}.admin-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;min-width:212px;background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;box-shadow:0 4px 6px #0f172a0a,0 12px 28px #0f172a1f;overflow:hidden;transform-origin:top right;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px) scale(.98);transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1),visibility .18s ease}.admin-profile-dropdown.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.admin-profile-dropdown__user{padding:.8rem .95rem;border-bottom:1px solid #f1f5f9;background:#f8fafc;display:flex;flex-direction:column;gap:.15rem}.admin-profile-dropdown__name{font-size:.875rem;font-weight:600;color:#0f172a}.admin-profile-dropdown__username{font-size:.75rem;color:#64748b}.admin-profile-dropdown__menu{padding:.35rem;display:flex;flex-direction:column;gap:.15rem}.admin-profile-dropdown__item{display:flex;align-items:center;gap:.55rem;width:100%;margin:0;padding:.55rem .65rem;border:none;border-radius:.45rem;background:transparent;color:#334155;font-size:.8125rem;font-weight:500;font-family:inherit;text-align:left;cursor:pointer;opacity:0;transform:translateY(4px);transition:background .15s ease,color .15s ease,opacity .2s ease,transform .22s cubic-bezier(.22,1,.36,1)}.admin-profile-dropdown.is-open .admin-profile-dropdown__item{opacity:1;transform:translateY(0)}.admin-profile-dropdown.is-open .admin-profile-dropdown__item:nth-child(1){transition-delay:.04s}.admin-profile-dropdown.is-open .admin-profile-dropdown__item:nth-child(2){transition-delay:.08s}.admin-profile-dropdown.is-open .admin-profile-dropdown__item:nth-child(3){transition-delay:.12s}.admin-profile-dropdown__item:hover{background:#f1f5f9;color:#0f172a}.admin-profile-dropdown__item--warn{color:#c2410c}.admin-profile-dropdown__item--warn:hover{background:#fff7ed;color:#9a3412}.admin-profile-dropdown__item--danger{color:#dc2626}.admin-profile-dropdown__item--danger:hover{background:#fef2f2;color:#b91c1c}.logout-btn-small{background:#e74c3c;color:#fff;border:none;padding:.4rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:700;transition:background .2s}.logout-btn-small:hover{background:#c0392b}.admin-main{flex:1 1 0;min-height:0;max-height:100%;padding:1.25rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:stretch;gap:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:#1e293b}.admin-main>*{flex-shrink:0}.dash-view-transition{width:100%;animation:dash-view-in .32s cubic-bezier(.22,1,.36,1)}@keyframes dash-view-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.dash-view-transition{animation:none}}.admin-sidebar{width:290px;background-color:#0b1220;color:#e5e7eb;display:flex;flex-direction:column;box-shadow:0 16px 40px #02061759;z-index:60;position:fixed;top:0;left:0;height:100dvh;overflow:hidden;transform:translate(-100%);transition:transform .22s ease}.admin-sidebar.open{transform:translate(0)}@media(min-width:1024px){.admin-sidebar{position:sticky;transform:none;height:100vh}.sidebar-overlay{display:none!important}}.sidebar-overlay{position:fixed;inset:0;background:#0f172a8c;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:55}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.1rem .9rem;border-bottom:1px solid rgba(148,163,184,.14);background:radial-gradient(1200px 500px at 0% 0%,#10b9812e,#3b82f600 60%),linear-gradient(180deg,#ffffff08,#fff0)}.sidebar-brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#10b981,#3b82f6);display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.08em;color:#fff;box-shadow:0 10px 20px #10b9812e}.sidebar-brand-name{font-weight:700;font-size:.95rem;color:#f8fafc}.sidebar-brand-subtitle{font-size:.75rem;color:#e2e8f0bf;margin-top:2px}.sidebar-menu{display:flex;flex-direction:column;padding:.75rem .75rem 1rem;gap:.9rem;overflow-y:auto}.sidebar-group-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#94a3b8d9;padding:.35rem .6rem}.sidebar-item{display:flex;align-items:center;width:100%;padding:.6rem .75rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent;border-radius:12px;color:#e2e8f0e6;gap:.7rem;background:transparent;text-align:left}.sidebar-item:hover{background:#94a3b814;border-color:#94a3b81f;color:#fff}.sidebar-item.active{background:linear-gradient(135deg,#10b9812e,#3b82f614);border-color:#10b98159;color:#fff;font-weight:700}.sidebar-item.cetak-kartu{margin-top:10px;border-top:1px solid rgba(148,163,184,.16);padding-top:16px}.sidebar-item.cetak-kartu.active,.sidebar-item.cetak-kartu:hover{background:linear-gradient(135deg,#f43f5e29,#3b82f60f);color:#fecaca}.sidebar-item.cetak-kartu.active{border-color:#f43f5e59!important}.sidebar-icon-wrapper{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#94a3b81a;border:1px solid rgba(148,163,184,.1)}.sidebar-text{font-size:.9rem;letter-spacing:.2px}.admin-grid-container{width:100%;max-width:1100px;background-color:#fff;padding:1.5rem;border-radius:4px;box-shadow:0 2px 4px #0000001a;border:1px solid #e0e0e0}.admin-grid{display:flex;flex-wrap:nowrap;gap:.8rem;justify-content:center;overflow-x:auto}.admin-card{width:90px;height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border-radius:4px;cursor:pointer;transition:transform .2s,filter .2s;box-shadow:inset 0 -2px #0003}.admin-card:hover{filter:brightness(1.1);transform:translateY(-2px)}.admin-card-icon{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.admin-card-title{font-size:.65rem;font-weight:700;text-align:center}.admin-welcome-box,.admin-table-box{width:100%;max-width:1100px;background-color:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a;border:1px solid #e0e0e0;overflow:hidden}.admin-welcome-header{background-color:#f8dbdb;color:#a94442;padding:.75rem 1rem;font-weight:700;border-bottom:1px solid #ebccd1;font-size:.9rem}.admin-welcome-body{padding:1rem}.admin-alert{background-color:#dff0d8;color:#3c763d;padding:1rem;border:1px solid #d6e9c6;border-radius:4px;font-size:.9rem}.admin-table-header{background-color:#f5f5f5;border-bottom:2px solid #ddd;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.admin-table-header.siswa-header,.admin-table-header.guru-header,.admin-table-header.mapel-header,.admin-table-header.pengawas-header,.admin-table-header.ujian-header,.admin-table-header.kartu-header{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:4px 4px 0 0}.master-data-panel .siswa-header h3,.master-data-panel .guru-header h3,.master-data-panel .mapel-header h3,.master-data-panel .pengawas-header h3,.master-data-panel .ujian-header h3,.master-data-panel .kartu-header h3{margin:0;font-size:.9rem;font-weight:600;color:#334155;letter-spacing:.02em}.data-guru-panel .guru-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.85rem 1rem}.guru-header__meta{margin:.35rem 0 0;font-size:.78rem;color:#64748b}.guru-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.guru-toolbar__search{position:relative;flex:1 1 220px;max-width:320px}.guru-toolbar__search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.75rem;pointer-events:none}.guru-toolbar__search input{width:100%;padding:.45rem .75rem .45rem 2rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;color:#1e293b;background:#fff}.guru-toolbar__search input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}.guru-toolbar__count{margin-left:auto;font-size:.8rem;color:#64748b}.guru-table{table-layout:fixed;width:100%}.guru-table thead th,.guru-table tbody td{text-align:left!important;vertical-align:middle}.guru-table thead th:nth-child(1),.guru-table tbody td:nth-child(1){width:52px}.guru-table thead th:nth-child(2),.guru-table tbody td:nth-child(2){width:32%}.guru-table thead th:nth-child(3),.guru-table tbody td:nth-child(3){width:22%}.guru-table thead th:nth-child(4),.guru-table tbody td:nth-child(4){width:auto;text-align:center!important}.guru-table tbody td:nth-child(4) .md-action-group{justify-content:center}.data-siswa-panel .siswa-table thead th:nth-child(6),.data-siswa-panel .siswa-table tbody td:nth-child(6){text-align:center!important}.data-siswa-panel .siswa-table tbody td:nth-child(6) .md-action-group{justify-content:center}.data-siswa-panel .admin-table-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem}.siswa-toolbar__search{position:relative;flex:1 1 240px;max-width:340px}.siswa-toolbar__search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.75rem;pointer-events:none}.siswa-toolbar__search input{width:100%;padding:.45rem .75rem .45rem 2rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;color:#1e293b;background:#fff}.siswa-toolbar__search input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}.siswa-toolbar__count{margin-left:auto;font-size:.8rem;color:#64748b}.siswa-table__empty{text-align:center!important;padding:2rem 1rem!important;color:#94a3b8}.guru-name{font-weight:600;color:#0f172a}.guru-nik{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;color:#334155;letter-spacing:.02em}.guru-table__empty{text-align:center!important;padding:2rem 1rem!important;color:#94a3b8}.btn-md{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;border:1px solid transparent;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-md--primary{background:#1565c0;color:#fff;border-color:#1565c0}.btn-md--primary:hover{background:#0d47a1;border-color:#0d47a1}.btn-md--ghost{background:#fff;color:#455a64;border-color:#cfd8dc}.btn-md--ghost:hover{background:#f1f5f9;border-color:#90a4ae;color:#334155}.btn-md--soft{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.btn-md--soft:hover{background:#bbdefb;color:#0d47a1}.btn-md--danger{background:#fff;color:#c62828;border-color:#ef9a9a}.btn-md--danger:hover{background:#ffebee;border-color:#e57373}.btn-md:disabled{opacity:.6;cursor:not-allowed}.md-action-group{flex-wrap:wrap;gap:.35rem;justify-content:flex-start}.md-action-group--stack{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:.35rem;min-width:7.5rem;margin:0 auto}.md-action-group--stack .btn-md-action{width:100%;justify-content:center;box-sizing:border-box;min-height:1.85rem;padding:.35rem .55rem;white-space:nowrap}.ujian-panel .data-table td:last-child{width:1%;white-space:nowrap;vertical-align:middle}.btn-md-action{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem .55rem;border-radius:5px;font-size:.72rem;font-weight:500;cursor:pointer;border:1px solid transparent;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-md-action--edit{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.btn-md-action--edit:hover{background:#bbdefb}.btn-md-action--delete{background:#fff;color:#c62828;border-color:#ef9a9a}.btn-md-action--delete:hover{background:#ffebee}.btn-md-action--muted{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.btn-md-action--muted:hover{background:#e2e8f0;color:#334155}.btn-md-action--activate{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.btn-md-action--activate:hover{background:#c8e6c9}.btn-md-action--lock{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.btn-md-action--lock:hover{background:#ffedd5}.btn-md-action--locked,.btn-md-action--locked:hover{background:#f1f5f9;color:#64748b;border-color:#e2e8f0;cursor:not-allowed;opacity:.95;pointer-events:none}.btn-md-action--finished,.btn-md-action--finished:hover{background:#f1f5f9;color:#64748b;border-color:#e2e8f0;cursor:not-allowed;opacity:.9;pointer-events:none}.admin-table-header.warning-header{background-color:#fcf8e3;border-bottom:1px solid #faebcc}.admin-table-header.danger-header{background-color:#f8dbdb;border-bottom:1px solid #ebccd1}.admin-table-header.orange-header{background-color:#fcf8e3;border-bottom:1px solid #faebcc}.admin-table-actions-top{display:flex;gap:.5rem}.btn-success{background-color:#5cb85c;color:#fff;border:1px solid #4cae4c;padding:.35rem .75rem;border-radius:3px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.btn-warning{background-color:#f0ad4e;color:#fff;border:1px solid #eea236;padding:.35rem .75rem;border-radius:3px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.btn-danger{background-color:#d9534f;color:#fff;border:1px solid #d43f3a;padding:.35rem .75rem;border-radius:3px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.btn-info{background-color:#5bc0de;color:#fff;border:1px solid #46b8da;padding:.35rem .75rem;border-radius:3px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.btn-primary-bulk{background-color:#337ab7;color:#fff;border:1px solid #2e6da4;padding:.35rem .75rem;border-radius:3px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.btn-danger-bulk{background-color:#d9534f;color:#fff;border:1px solid #d43f3a;padding:.35rem .75rem;border-radius:3px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.btn-action{padding:2px 8px;font-size:11px;border-radius:3px;border:none;cursor:pointer;color:#fff;display:inline-flex;align-items:center;gap:3px}.btn-edit-siswa{background-color:#337ab7}.btn-hapus-siswa,.btn-delete-siswa{background-color:#d9534f;color:#fff}.btn-hapus-siswa:hover,.btn-delete-siswa:hover{background-color:#c9302c}.btn-aktifkan-siswa{background-color:#5bc0de}.admin-table-body{padding:1rem}.admin-table-bulk-actions{display:flex;gap:.5rem;margin-bottom:1rem}.btn-primary-bulk{background-color:#3b82f6;color:#fff;border:none;padding:.35rem .75rem;border-radius:3px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.admin-table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem;color:#4b5563}.table-search input{border:1px solid #d1d5db;border-radius:3px}.table-search input:focus{outline:none;border-color:#3b82f6}.data-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.data-table th{background-color:#e5e7eb;border:1px solid #d1d5db;padding:.75rem;text-align:left;color:#374151;font-weight:700}.data-table td{border:1px solid #d1d5db;padding:.75rem;color:#4b5563}.action-buttons-group{display:flex;gap:.25rem;justify-content:center}.btn-action{color:#fff;border:none;padding:.25rem .5rem;border-radius:3px;cursor:pointer;font-size:.75rem;display:flex;align-items:center;gap:.25rem}.btn-info-action{background-color:#0ea5e9}.btn-danger-action{background-color:#ef4444}.btn-success-action{background-color:#10b981}.btn-warning-action{background-color:#f59e0b}.admin-table-footer{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#4b5563}.pagination{display:flex}.page-btn{background:#fff;border:1px solid #d1d5db;padding:.35rem .75rem;cursor:pointer}.page-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.page-btn:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;border-left:none}.page-btn.active{background-color:#0ea5e9;color:#fff;border-color:#0ea5e9}.page-btn.disabled{color:#9ca3af;cursor:not-allowed;background-color:#f9fafb}.admin-footer{flex-shrink:0;width:100%;max-width:none;margin:0;padding:.55rem 1rem;background-color:#fff;color:#64748b;text-align:center;line-height:1.35;border:none;border-top:1px solid #e2e8f0;border-radius:0;box-shadow:none;align-self:stretch}.footer-title{display:block;font-weight:600;color:#475569;margin-bottom:.15rem;font-size:.75rem;letter-spacing:.01em}.footer-deploy-mode{display:block;margin:0 0 .2rem;font-size:.72rem;font-weight:600;color:#0369a1;letter-spacing:.01em}.footer-time{display:block;color:#94a3b8;font-size:.6875rem;font-weight:500}.settings-page{width:100%;max-width:48rem}.settings-card{padding:1.5rem 1.5rem 1.25rem}.settings-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.settings-section--last{margin-bottom:1.25rem;padding-bottom:0;border-bottom:none}.settings-section__title{margin:0 0 1rem;padding-left:.65rem;border-left:3px solid #1e88e5;font-size:.9375rem;font-weight:700;color:#0f172a}.settings-field{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);gap:.75rem 1rem;align-items:start;margin-bottom:1rem}.settings-field:last-child{margin-bottom:0}.settings-field>label{padding-top:.65rem;font-size:.8125rem;font-weight:600;color:#334155}.settings-field input,.settings-field select{width:100%;max-width:100%;box-sizing:border-box;padding:.625rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;color:#0f172a;background:#fff;font-family:inherit}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:#90caf9;box-shadow:0 0 0 3px #1e88e526}.settings-field__control{min-width:0}.settings-field__control select,.settings-field__control input[type=number]{max-width:16rem}.settings-field__hint{margin:.5rem 0 0;font-size:.75rem;line-height:1.45;color:#64748b}.settings-logo-row{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center}.settings-logo-preview{width:6.5rem;height:6.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;overflow:hidden}.settings-logo-preview--avatar{border-radius:9999px}.settings-logo-preview--avatar img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.settings-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.settings-logo-empty{font-size:.7rem;color:#94a3b8;text-align:center;padding:.5rem}.settings-logo-actions{flex:1;min-width:12rem}.settings-file-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.65rem;padding:.5rem .9rem;border-radius:.5rem;background:#eff6ff;color:#1565c0;border:1px solid #bfdbfe;font-size:.8125rem;font-weight:600;cursor:pointer}.settings-file-btn:hover{background:#dbeafe}.settings-actions{display:flex;flex-wrap:wrap;gap:.65rem;padding-top:.25rem}@media(max-width:640px){.settings-card{padding:1.15rem}.settings-field{grid-template-columns:1fr;gap:.35rem}.settings-field>label{padding-top:0}.settings-field__control select,.settings-field__control input[type=number]{max-width:none}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:flex-start;padding-top:5rem;z-index:1000}.modal-overlay.modal-overlay-above-bank-soal{z-index:1300}.modal-content{background:#fff;width:600px;border-radius:4px;box-shadow:0 5px 15px #00000080;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e5e5e5}.modal-header h4{margin:0;font-size:1.1rem;color:#333;font-weight:400}.modal-close{background:transparent;border:none;font-size:1.5rem;font-weight:700;color:#000;opacity:.2;cursor:pointer}.modal-close:hover{opacity:.5}.modal-body{padding:1.5rem}.form-group-horizontal{display:flex;align-items:center;margin-bottom:1rem}.form-group-horizontal label{width:150px;font-size:.9rem;color:#333}.form-group-horizontal input,.form-group-horizontal select{flex:1;padding:.5rem;border:1px solid #66afe9;border-radius:4px;outline:none;box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999;font-size:.9rem;font-family:inherit;box-sizing:border-box;height:38px}.modal-footer{padding:1rem;border-top:1px solid #e5e5e5;display:flex;justify-content:flex-end;gap:.5rem}.btn-primary{background-color:#0275d8;color:#fff;border:none;padding:.5rem 1rem;border-radius:3px;cursor:pointer;display:flex;align-items:center;gap:.3rem;font-size:.9rem}.btn-default{background-color:#f4f4f4;color:#333;border:1px solid #ddd;padding:.5rem 1rem;border-radius:3px;cursor:pointer;display:flex;align-items:center;gap:.3rem;font-size:.9rem}.btn-default:hover{background-color:#e6e6e6}.essay-modal{width:min(1100px,96vw);height:min(92vh,900px);border-radius:14px;overflow:hidden;box-shadow:0 22px 60px #02061773;border:1px solid rgba(15,23,42,.1)}.essay-modal__header{padding:14px 16px;background:linear-gradient(180deg,#fff,#fafafa);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:10px}.essay-modal__title{display:flex;flex-direction:column;gap:2px;min-width:0}.essay-modal__title h4{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a}.essay-modal__subtitle{font-size:.82rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:76vw}.essay-modal__body{padding:14px 16px;overflow:auto;background:#f3f4f6}.essay-student{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}.essay-student__head{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,#fff,#fbfbfb);border-bottom:1px solid #eef2f7}.essay-student__identity{display:flex;align-items:center;gap:10px;min-width:0}.essay-avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#10b981,#3b82f6);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 18px #10b98133;flex:none}.essay-student__name{font-weight:800;color:#0f172a;line-height:1.15}.essay-student__meta{font-size:.82rem;color:#64748b}.essay-student__content{padding:12px 14px;display:flex;flex-direction:column;gap:12px}.essay-student__save{margin-top:4px;padding-top:12px;border-top:1px solid #eef2f7}.essay-item{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff}.essay-item__top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.essay-badge{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f172a;background:#eef2ff;border:1px solid #e0e7ff;padding:6px 10px;border-radius:999px}.essay-answer{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px;white-space:pre-wrap;color:#0f172a;line-height:1.6;font-size:.93rem}.essay-grade{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.essay-grade__label{font-weight:800;color:#475569;font-size:.85rem}.pill-toggle{display:inline-flex;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:3px;gap:4px}.pill-toggle button{border:none;background:transparent;padding:7px 10px;border-radius:999px;font-weight:800;font-size:.82rem;cursor:pointer;color:#475569}.pill-toggle button.active-true{background:#10b98124;color:#0f766e}.pill-toggle button.active-false{background:#ef444424;color:#b91c1c}.pill-toggle button:hover{background:#f1f5f9}.btn-primary.btn-essay-save{background:linear-gradient(135deg,#10b981,#2563eb);border-radius:12px;padding:10px 14px;font-weight:900;box-shadow:0 10px 20px #2563eb2e}.btn-default.btn-essay-close{border-radius:12px;padding:10px 14px;font-weight:800}.pengawas-page{width:100%;max-width:72rem;display:flex;flex-direction:column;gap:1rem}.pengawas-exam-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem;padding:.95rem 1.1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.65rem}.pengawas-exam-info__row{display:grid;grid-template-columns:8.75rem minmax(0,1fr);gap:.5rem;align-items:baseline;min-width:0}.pengawas-exam-info__label{display:flex;justify-content:space-between;align-items:baseline;width:100%;font-size:.8125rem;font-weight:600;color:#64748b;white-space:nowrap}.pengawas-exam-info__label:after{content:":";flex-shrink:0;margin-left:.35rem}.pengawas-exam-info__value{font-size:.875rem;font-weight:600;color:#0f172a;word-break:break-word}.pengawas-exam-info__value--token{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.03em}.pengawas-exam-info__row--unlock{grid-column:1 / -1;align-items:center;padding-top:.35rem;border-top:1px solid #e2e8f0;margin-top:.15rem}.pengawas-exam-info__unlock{display:flex;align-items:center;gap:.5rem;min-width:0;flex-wrap:wrap}.pengawas-exam-info__unlock input{flex:1 1 12rem;min-width:0;max-width:20rem;height:2.35rem;padding:.45rem .7rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;color:#0f172a;background:#fff;box-sizing:border-box;font-family:inherit}.pengawas-exam-info__unlock input:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px #1565c01f}.pengawas-exam-info__unlock .btn-md{flex-shrink:0}@media(max-width:720px){.pengawas-exam-info{grid-template-columns:1fr}.pengawas-exam-info__unlock input{max-width:none}}.pengawas-unlock-card{padding:1.25rem 1.5rem}.pengawas-section__title{margin:0 0 .35rem;padding-left:.65rem;border-left:3px solid #1565c0;font-size:.9375rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.45rem}.pengawas-section__desc{margin:0 0 1rem;font-size:.8125rem;color:#64748b;line-height:1.45}.pengawas-unlock-row{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.pengawas-field{flex:1;min-width:16rem}.pengawas-field label{display:block;margin-bottom:.4rem;font-size:.8125rem;font-weight:600;color:#334155}.pengawas-field input{width:100%;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;color:#0f172a;background:#fff}.pengawas-field input:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px #1565c01f}.pengawas-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.pengawas-stat{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:.85rem 1rem;box-shadow:0 1px 2px #0f172a0a}.pengawas-stat__label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#64748b;margin-bottom:.35rem}.pengawas-stat__value{display:block;font-size:1.35rem;font-weight:700;color:#0f172a;line-height:1.2}.pengawas-stat__value--sm{font-size:.9rem;font-weight:600;color:#334155}.pengawas-panel .pengawas-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.85rem 1rem}.pengawas-panel .pengawas-header h3{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pengawas-header__meta{margin:.35rem 0 0;font-size:.78rem;color:#64748b}.pengawas-header__actions{display:flex;gap:.5rem;flex-wrap:wrap}.pelanggaran-live-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1565c0;background:#e3f2fd;border:1px solid #bbdefb;border-radius:999px}.pelanggaran-live-badge__dot{width:7px;height:7px;border-radius:50%;background:#1565c0;animation:pelanggaran-pulse 1.4s ease-in-out infinite}@keyframes pelanggaran-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.pengawas-table{table-layout:fixed;width:100%}.pengawas-table thead th,.pengawas-table tbody td{text-align:left!important;vertical-align:middle;overflow-wrap:anywhere}.pengawas-table thead th:nth-child(1),.pengawas-table tbody td:nth-child(1){width:6%}.pengawas-table thead th:nth-child(2),.pengawas-table tbody td:nth-child(2){width:28%}.pengawas-table thead th:nth-child(3),.pengawas-table tbody td:nth-child(3){width:16%}.pengawas-table thead th:nth-child(4),.pengawas-table tbody td:nth-child(4){width:14%}.pengawas-table thead th:nth-child(5),.pengawas-table tbody td:nth-child(5){width:18%}.pengawas-table thead th:nth-child(6),.pengawas-table tbody td:nth-child(6){width:18%}.pengawas-table__center{text-align:left}.pengawas-table__time{font-size:.82rem;color:#64748b}.pengawas-table__empty{text-align:center!important;padding:1.5rem!important;color:#94a3b8}.pengawas-count{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid transparent}.pengawas-count--low{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.pengawas-count--mid{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.pengawas-count--high{background:#ffebee;color:#c62828;border-color:#ef9a9a}.pengawas-status{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.2;white-space:nowrap}.pengawas-status--selesai{background:#e8f5e9;color:#2e7d32}.pengawas-status--dikerjakan{background:#e3f2fd;color:#1565c0}.pengawas-status--belum{background:#f1f5f9;color:#64748b}.kartu-panel .kartu-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.85rem 1rem}.kartu-header__meta{margin:.35rem 0 0;font-size:.78rem;color:#64748b}.kartu-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:1rem;padding:.85rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.kartu-toolbar__field{display:flex;flex-direction:column;gap:.35rem;min-width:180px}.kartu-toolbar__field label{font-size:.78rem;font-weight:600;color:#475569}.kartu-toolbar__field select{padding:.45rem .65rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;color:#1e293b;background:#fff;min-width:200px}.kartu-toolbar__field select:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}.kartu-toolbar__count{margin-left:auto;font-size:.8rem;color:#64748b;align-self:center}.kartu-table{table-layout:fixed;width:100%}.kartu-table thead th,.kartu-table tbody td{text-align:left!important;vertical-align:middle}.kartu-table thead th:nth-child(1),.kartu-table tbody td:nth-child(1){width:48px;text-align:center!important}.kartu-table thead th:nth-child(2),.kartu-table tbody td:nth-child(2){width:56px}.kartu-table thead th:nth-child(3),.kartu-table tbody td:nth-child(3){width:28%}.kartu-table thead th:nth-child(4),.kartu-table tbody td:nth-child(4){width:18%}.kartu-table thead th:nth-child(5),.kartu-table tbody td:nth-child(5){width:18%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.kartu-table thead th:nth-child(6),.kartu-table tbody td:nth-child(6){width:16%}.kartu-table tbody tr.kartu-row--selected{background:#f1f5f9}.kartu-table__empty{text-align:center!important;padding:2rem 1rem!important;color:#94a3b8}.kartu-check{width:16px;height:16px;cursor:pointer;accent-color:#1565c0}.pelanggaran-spin{animation:pelanggaran-spin .8s linear infinite}@keyframes pelanggaran-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.pengawas-stats{grid-template-columns:1fr}.pengawas-unlock-row{flex-direction:column;align-items:stretch}.pengawas-unlock-row .btn-md{width:100%;justify-content:center}}.pengawas-exam-picker{display:flex;flex-direction:column;gap:.5rem}.pengawas-exam-picker__item{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.65rem;background:#f8fafc;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.pengawas-exam-picker__item:hover{border-color:#90caf9;background:#e3f2fd}.pengawas-exam-picker__name{font-size:.9rem;font-weight:650;color:#0f172a}.pengawas-exam-picker__meta{font-size:.75rem;color:#64748b}@media(max-width:1023px){.admin-header{padding:0 .75rem;height:56px}.admin-user-menu{gap:.5rem;font-size:.8rem}.admin-user-menu>span:first-child{display:none}.logout-btn-small{padding:.35rem .65rem;font-size:.75rem}.admin-main,.admin-main.dash-main-modern{padding:.875rem .75rem 1.5rem}.dash-page-title{font-size:1.25rem}.dash-page-actions{width:100%}.dash-page-actions .dash-btn,.dash-page-actions .btn-success,.dash-page-actions .btn-warning,.dash-page-actions .btn-danger,.dash-page-actions .btn-primary{white-space:normal;text-align:center;flex:1 1 auto;min-width:calc(50% - .25rem)}.admin-table-body{padding:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table-body .data-table{min-width:520px}.admin-table-controls{flex-direction:column;align-items:stretch;gap:.5rem}.admin-table-bulk-actions{flex-wrap:wrap}.admin-table-footer{flex-direction:column;align-items:flex-start;gap:.5rem}.modal-overlay{padding:2rem .75rem .75rem;align-items:flex-start}.modal-content{width:100%!important;max-width:100%;margin:0}.essay-modal{width:100%;height:auto;max-height:92dvh}.form-group-horizontal{flex-direction:column;align-items:stretch}.form-group-horizontal label{width:100%;margin-bottom:.25rem}}@media(max-width:480px){.logout-btn-small{padding:.4rem .55rem;font-size:.75rem}.dash-page-actions .dash-btn,.dash-page-actions .btn-success,.dash-page-actions .btn-warning,.dash-page-actions .btn-danger,.dash-page-actions .btn-primary{min-width:100%}}.cek-ip-page{max-width:36rem}.cek-ip-card{background:#fff;border:1px solid #d1d5db;padding:1rem 1.1rem 1.15rem}.cek-ip-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.cek-ip-card__title{margin:0 0 .25rem;font-size:1rem;font-weight:650;color:#111827}.cek-ip-card__desc{margin:0;font-size:.84rem;line-height:1.45;color:#4b5563;max-width:26rem}.cek-ip-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.cek-ip-badge{font-size:.75rem;font-weight:600;color:#374151}.cek-ip-badge--offline:before,.cek-ip-badge--online:before{content:"";display:inline-block;width:.45rem;height:.45rem;margin-right:.35rem;border-radius:50%;vertical-align:middle}.cek-ip-badge--offline:before{background:#059669}.cek-ip-badge--online:before{background:#2563eb}.cek-ip-meta__ver{font-size:.8rem;color:#6b7280}.cek-ip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.cek-ip-item{border:1px solid #d1d5db;background:#fff}.cek-ip-item.is-open{border-color:#9ca3af}.cek-ip-item__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;padding:.65rem .75rem}.cek-ip-item__text{min-width:0;flex:1;display:flex;flex-direction:column;gap:.15rem}.cek-ip-item__label{font-size:.72rem;font-weight:600;color:#6b7280;letter-spacing:.02em;text-transform:uppercase}.cek-ip-item__url{font-size:.88rem;font-weight:600;color:#111827;word-break:break-all;background:transparent}.cek-ip-detail{border-top:1px solid #e5e7eb;padding:.9rem .75rem .95rem;display:flex;flex-direction:column;align-items:center;gap:.65rem;background:#f9fafb}.cek-ip-detail__qr{display:block;width:200px;height:200px;background:#fff;border:1px solid #d1d5db}.cek-ip-detail__url{margin:0;max-width:100%;text-align:center;font-size:.8rem;color:#374151;word-break:break-all}.cek-ip-detail__actions{display:flex;gap:.45rem}.cek-ip-detail__btn{min-width:5.5rem;padding:.4rem .85rem;border:1px solid #9ca3af;background:#fff;color:#111827;font-size:.84rem;font-weight:600;cursor:pointer}.cek-ip-detail__btn:hover:not(:disabled){background:#f3f4f6}.cek-ip-detail__btn:disabled{opacity:.5;cursor:not-allowed}.cek-ip-empty{padding:.75rem .85rem;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;font-size:.84rem}.cek-ip-steps{margin:1rem 0 0;padding-left:1.15rem;color:#4b5563;font-size:.84rem;line-height:1.5}.cek-ip-steps li+li{margin-top:.3rem}.btn-md--muted{background:#f3f4f6;color:#1f2937;border:1px solid #d1d5db}.btn-md--muted:hover:not(:disabled){background:#e5e7eb}.btn-md--muted:disabled{opacity:.65;cursor:not-allowed}.dash-page{width:100%;max-width:72rem;margin-left:auto;margin-right:auto}.dash-page-header{width:100%;max-width:72rem;margin-bottom:1.25rem}.dash-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem;margin-bottom:.5rem;font-size:.8125rem;color:#64748b}.dash-breadcrumb-home{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;transition:background .15s,color .15s}.dash-breadcrumb-home:hover{background:#f8fafc;color:#1e40af}.dash-breadcrumb-item{display:inline-flex;align-items:center;gap:.25rem}.dash-breadcrumb-sep{color:#cbd5e1}.dash-breadcrumb-link{color:#64748b}.dash-breadcrumb-current{color:#1e293b;font-weight:600}.dash-page-header__row{display:flex;flex-direction:column;gap:1rem}@media(min-width:640px){.dash-page-header__row{flex-direction:row;align-items:flex-start;justify-content:space-between}}.dash-page-title{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;color:#1e293b;line-height:1.25}@media(min-width:768px){.dash-page-title{font-size:1.875rem}}.dash-page-description{margin-top:.25rem;font-size:.875rem;color:#64748b;line-height:1.5}.dash-page-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.dash-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;border-radius:.625rem;border:none;cursor:pointer;transition:transform .12s,box-shadow .15s,background .15s;white-space:nowrap;font-family:inherit;text-decoration:none}.dash-btn:active{transform:scale(.98)}.dash-btn__icon{display:inline-flex;font-size:.9rem}.dash-btn--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px #2563eb59}.dash-btn--primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.dash-btn--success{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 4px 14px #10b9814d}.dash-btn--success:hover{filter:brightness(1.05)}.dash-btn--warning{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.dash-btn--danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 4px 12px #ef444447}.dash-btn--export{background:#fff;color:#334155;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0f}.dash-btn--export:hover{background:#f8fafc;border-color:#cbd5e1}.dash-btn--secondary{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.dash-btn--secondary:hover{background:#e2e8f0}.dash-card{width:100%;max-width:72rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0f172a0f,0 1px 2px #0f172a0a;overflow:hidden}.dash-card--padded .admin-table-body,.dash-card--padded,.dash-card .admin-table-body{padding:1.25rem}.admin-table-box,.admin-welcome-box,.admin-input-soal-box,.admin-content-view,.admin-content-view>.admin-table-box{max-width:72rem;border-radius:.75rem!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 3px #0f172a0f,0 1px 2px #0f172a0a!important}.dash-legacy-header-hidden .admin-table-header{display:none!important}.admin-table-header{background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;padding:.875rem 1.25rem!important}.admin-table-header h3{font-size:.875rem!important;font-weight:600!important;color:#1e293b!important;text-transform:none!important}.dash-badge{display:inline-flex;align-items:center;padding:.2rem .625rem;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border-radius:9999px;line-height:1.4}.dash-badge--active{background:#ecfdf5;color:#047857;ring:1px solid rgba(16,185,129,.2);box-shadow:inset 0 0 0 1px #10b98140}.dash-badge--inactive{background:#f1f5f9;color:#64748b;box-shadow:inset 0 0 0 1px #e2e8f0}.dash-badge--warning{background:#fffbeb;color:#b45309;box-shadow:inset 0 0 0 1px #f59e0b4d}.dash-badge--danger{background:#fef2f2;color:#b91c1c;box-shadow:inset 0 0 0 1px #ef444440}.dash-badge--info{background:#eff6ff;color:#1d4ed8;box-shadow:inset 0 0 0 1px #3b82f640}.data-table{font-size:.875rem;border-collapse:separate;border-spacing:0;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden}.data-table thead th{background:#f8fafc!important;border:none!important;border-bottom:1px solid #e2e8f0!important;padding:.875rem 1rem!important;color:#475569!important;font-size:.75rem!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.04em}.data-table tbody td{border:none!important;border-bottom:1px solid #f1f5f9!important;padding:.875rem 1rem!important;color:#1e293b!important;vertical-align:middle}.data-table tbody tr:nth-child(2n){background-color:#fafafa}.data-table tbody tr:hover{background-color:#f1f5f9}.data-table tbody tr:last-child td{border-bottom:none!important}.dash-card-subtitle{font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.admin-main.dash-main-modern{align-items:stretch;padding:1.25rem 1.5rem 2rem;gap:0;flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto}.admin-main.dash-main-modern>*{flex-shrink:0}.admin-main.dash-main-modern>.dash-page-header{align-self:center}.admin-main.dash-main-modern>.admin-table-box,.admin-main.dash-main-modern>.admin-content-view,.admin-main.dash-main-modern>.admin-input-soal-box,.admin-main.dash-main-modern>.dash-page{align-self:center}.dash-home{display:flex;flex-direction:column;gap:1.25rem;width:100%}.dash-home-greeting{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0f172a0f}.dash-home-greeting__eyebrow{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.dash-home-greeting__name{margin:.25rem 0 .35rem;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.dash-home-greeting__sub{margin:0;font-size:.875rem;color:#64748b;line-height:1.5;max-width:36rem}.dash-home-greeting__meta{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.625rem;color:#475569;font-size:.8125rem}.dash-home-greeting__meta>svg{margin-top:.15rem;flex-shrink:0;color:#2563eb}.dash-home-greeting__date{font-weight:600;color:#1e293b}.dash-home-greeting__time{margin-top:.15rem;font-variant-numeric:tabular-nums;color:#64748b}.dash-home-loading{padding:2.5rem 1rem;text-align:center;color:#64748b;font-size:.875rem;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem}.dash-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(min-width:640px){.dash-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.dash-stat-card{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:1rem;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0a;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s;font-family:inherit}.dash-stat-card:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a14;transform:translateY(-1px)}.dash-stat-card:active{transform:translateY(0)}.dash-stat-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:.625rem;flex-shrink:0;font-size:.95rem}.dash-stat-card__body{display:flex;flex-direction:column;min-width:0;gap:.1rem}.dash-stat-card__label{font-size:.75rem;font-weight:600;color:#64748b}.dash-stat-card__value{font-size:1.35rem;font-weight:700;letter-spacing:-.03em;color:#0f172a;font-variant-numeric:tabular-nums;line-height:1.2}.dash-stat-card__hint{font-size:.6875rem;color:#94a3b8}.dash-stat-card--blue .dash-stat-card__icon{background:#eff6ff;color:#2563eb}.dash-stat-card--indigo .dash-stat-card__icon{background:#eef2ff;color:#4f46e5}.dash-stat-card--slate .dash-stat-card__icon{background:#f1f5f9;color:#475569}.dash-stat-card--teal .dash-stat-card__icon{background:#f0fdfa;color:#0d9488}.dash-stat-card--violet .dash-stat-card__icon{background:#f5f3ff;color:#7c3aed}.dash-stat-card--emerald .dash-stat-card__icon{background:#ecfdf5;color:#059669}.dash-stat-card--amber .dash-stat-card__icon{background:#fffbeb;color:#d97706}.dash-stat-card--rose .dash-stat-card__icon{background:#fff1f2;color:#e11d48}.dash-home-highlights{display:flex;flex-wrap:wrap;gap:.5rem}.dash-home-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;color:#1e40af;font-size:.8125rem}.dash-home-chip--muted{background:#f8fafc;border-color:#e2e8f0;color:#475569}.dash-home-panels{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:900px){.dash-home-panels{grid-template-columns:1fr 1fr}}.dash-home-panel{padding:1.15rem 1.25rem}.dash-home-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.dash-home-panel__title{margin:0;font-size:.9375rem;font-weight:700;color:#0f172a}.dash-home-panel__link{border:none;background:none;padding:0;font-size:.75rem;font-weight:600;color:#2563eb;cursor:pointer;font-family:inherit}.dash-home-panel__link:hover{text-decoration:underline}.dash-home-empty{margin:0;padding:1.25rem .25rem;text-align:center;font-size:.8125rem;color:#94a3b8}.dash-home-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.dash-home-list__item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.7rem .75rem;background:#f8fafc;border:1px solid #eef2f7;border-radius:.625rem}.dash-home-list__main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dash-home-list__name{font-size:.875rem;font-weight:600;color:#1e293b}.dash-home-list__meta{font-size:.75rem;color:#64748b}.dash-home-list__side{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.dash-home-list__time{font-size:.6875rem;color:#94a3b8;white-space:nowrap}.dash-home-score{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;padding:.15rem .45rem;border-radius:.375rem;background:#ecfdf5;color:#047857;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums}.dash-home-actions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.85rem}@media(min-width:640px){.dash-home-actions__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.dash-home-action{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.625rem;color:#334155;font-size:.8125rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.dash-home-action:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.dash-home-action__icon{display:inline-flex;color:#64748b}.dash-home-action:hover .dash-home-action__icon{color:#2563eb}.dash-home-help__grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:768px){.dash-home-help__grid{grid-template-columns:1.4fr 1fr;align-items:start}}.dash-home-help__list{margin:.75rem 0 0;padding-left:1.15rem;color:#475569;font-size:.8125rem;line-height:1.7}.dash-home-help__video{padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.625rem}.dash-home-help__video-title{margin:0;font-size:.875rem;font-weight:700;color:#0f172a}.dash-home-help__video-desc{margin:.35rem 0 .85rem;font-size:.8125rem;color:#64748b}.dash-home-help__video .dash-btn{text-decoration:none}.admin-table-body label,.form-soal-row label{color:#334155!important;font-size:.875rem}.admin-table-controls{font-size:.8125rem!important;color:#64748b!important}.table-search input,.admin-table-controls select{border-radius:.5rem!important;border:1px solid #e2e8f0!important;padding:.375rem .625rem!important;font-size:.8125rem!important}.dash-page-actions .btn-success,.dash-page-actions .btn-warning,.dash-page-actions .btn-danger{border-radius:.625rem!important;font-weight:600!important;padding:.5rem 1rem!important;font-size:.8125rem!important}.soal-text sup,.soal-rich-text sup{font-size:.72em;vertical-align:super;line-height:0}.soal-text sub,.soal-rich-text sub{font-size:.72em;vertical-align:sub;line-height:0}.soal-text .math-formula,.soal-rich-text .math-formula{display:inline-block;vertical-align:middle;margin:0 .12em}.soal-text .math-frac,.soal-rich-text .math-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.15}.soal-text .math-frac-num,.soal-rich-text .math-frac-num{border-bottom:1.5px solid currentColor;padding:0 .2em .08em}.soal-text .math-frac-den,.soal-rich-text .math-frac-den{padding:.08em .2em 0}@media(max-width:1023px){.dash-page,.dash-card,.admin-table-box,.admin-welcome-box,.admin-input-soal-box{max-width:100%}.admin-main.dash-main-modern>.admin-input-soal-box,.admin-main.dash-main-modern>.form-soal-import-wrap{align-self:stretch;width:100%;min-width:0}.admin-main.dash-main-modern{padding-left:.75rem;padding-right:.75rem}.dash-breadcrumbs{font-size:.75rem}.dash-btn{white-space:normal}}.admin-input-soal-box{width:100%;max-width:56rem;min-width:0;margin-bottom:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:visible;box-sizing:border-box;box-shadow:0 1px 2px #0f172a0a}.admin-main .admin-input-soal-box{align-self:stretch}.form-soal-form{padding:1.25rem 1.35rem 1.5rem;box-sizing:border-box}.form-soal-container{display:flex;flex-direction:column;gap:1.5rem}.form-soal-section{display:flex;flex-direction:column;gap:.85rem}.form-soal-section__title{margin:0;padding-left:.65rem;border-left:3px solid #1565c0;font-size:.8125rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#0f172a}.form-soal-section--footer{padding-top:.25rem;border-top:1px solid #e2e8f0}.form-soal-meta-grid{display:grid;grid-template-columns:1fr;gap:.85rem 1rem}.form-soal-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.form-soal-field label{font-size:.8125rem;font-weight:600;color:#334155}.form-soal-field select,.form-soal-field input{width:100%;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;color:#0f172a;background:#fff;box-sizing:border-box}.form-soal-field select:focus,.form-soal-field input:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px #1565c01f}.form-soal-field select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.form-soal-block{display:flex;flex-direction:column;gap:.65rem;padding:.85rem 0 0;border-top:1px solid #f1f5f9}.form-soal-block:first-child{border-top:none;padding-top:0}.form-soal-block__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}.form-soal-block__label{font-size:.875rem;font-weight:600;color:#1e293b}.form-soal-block__upload{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.form-soal-file-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:.45rem;border:1px solid transparent;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.form-soal-file-btn--soal{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.form-soal-file-btn--soal:hover{background:#bbdefb}.form-soal-file-btn--opsi{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.form-soal-file-btn--opsi:hover{background:#e2e8f0}.form-soal-file-status{font-size:.72rem;color:#94a3b8}.form-soal-preview-img{display:block;max-width:min(100%,160px);max-height:120px;border-radius:.375rem;border:1px solid #e2e8f0;object-fit:contain}.form-soal-editor{width:100%;min-width:0}.form-soal-editor .ql-toolbar.ql-snow{flex-wrap:wrap;border-radius:.5rem .5rem 0 0;border-color:#cbd5e1;padding:.4rem;background:#f8fafc}.form-soal-editor .ql-toolbar .ql-formats{margin-right:.35rem}.form-soal-editor .ql-container.ql-snow{border-radius:0 0 .5rem .5rem;border-color:#cbd5e1;font-size:.9rem;background:#fff}.form-soal-editor--soal .ql-container{min-height:180px}.form-soal-editor--opsi .ql-container{min-height:110px}.form-soal-footer-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem}.form-soal-footer-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.form-soal-footer-field label{font-size:.8125rem;font-weight:600;color:#334155}.form-soal-footer-field select,.form-soal-footer-field input{width:100%;min-width:6.5rem;max-width:8rem;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;box-sizing:border-box}.form-soal-submit-group{display:flex;flex-wrap:wrap;gap:.55rem;margin-left:auto}.form-soal-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1.15rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s ease,border-color .15s ease}.form-soal-btn--save,.form-soal-btn--save-alt{background:#1565c0;color:#fff}.form-soal-btn--save:hover,.form-soal-btn--save-alt:hover{background:#0d47a1}.form-soal-btn--back{background:#fff;color:#455a64;border:1px solid #cfd8dc}.form-soal-btn--back:hover{background:#f1f5f9}@media(min-width:640px){.form-soal-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.form-soal-form{padding:1rem}.form-soal-submit-group{width:100%;margin-left:0}.form-soal-submit-group .form-soal-btn{flex:1 1 auto}.form-soal-footer-field select,.form-soal-footer-field input{max-width:none}}.form-soal-import-wrap{max-width:800px}.form-soal-import-wrap .input-soal-header{background:#f8fafc;padding:.85rem 1.15rem;border-bottom:1px solid #e2e8f0}.form-soal-import-wrap .input-soal-header h3{margin:0;color:#0f172a;font-size:.95rem;font-weight:700}.form-soal-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.375rem;align-items:start}.form-soal-row__label{font-weight:600;color:#334155;font-size:.875rem}.form-soal-row__field{min-width:0;width:100%}.form-soal-row__field select,.form-soal-row__field input[type=number],.form-soal-row__field input[type=file]{width:100%;max-width:100%;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;box-sizing:border-box}.form-soal-row__hint{display:block;margin-top:.35rem;font-size:.75rem;color:#64748b;line-height:1.45}.form-soal-row__hint--inline{margin-top:.5rem}.form-soal-import-wrap .form-soal-row__hint{word-wrap:break-word;overflow-wrap:anywhere}@media(min-width:768px){.form-soal-import-wrap .form-soal-row{grid-template-columns:11rem minmax(0,1fr);gap:1rem;align-items:center}.form-soal-import-wrap .form-soal-row--start{align-items:start}.form-soal-import-wrap .form-soal-row__field input[type=number]{max-width:8rem}}@media(max-width:767px){.form-soal-import-wrap .form-soal-row{grid-template-columns:minmax(0,1fr)!important}.form-soal-import-wrap .form-soal-submit-group{flex-direction:column;width:100%}.form-soal-import-wrap .form-soal-btn{width:100%}}.admin-table-box.ujian-panel{width:100%;max-width:none}.admin-table-header.ujian-header{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:4px 4px 0 0;padding:.85rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.master-data-panel .ujian-header h3{margin:0;font-size:.9rem;font-weight:600;color:#334155;letter-spacing:.02em}.ujian-token{display:inline-flex;align-items:center;gap:.35rem}.ujian-token__code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;font-size:.78rem;letter-spacing:.04em;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;border-radius:.35rem;padding:.15rem .45rem}.ujian-token__refresh{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#64748b;cursor:pointer;padding:.15rem;border-radius:.25rem}.ujian-token__refresh:hover{color:#1565c0;background:#e3f2fd}.ujian-jadwal-cell{display:flex;flex-direction:column;gap:.12rem;font-size:.82rem;line-height:1.35;white-space:nowrap}.ujian-jadwal-cell__line--end{color:#64748b}.ujian-muted{color:#94a3b8}.modal-overlay:has(.form-ujian-modal){align-items:flex-start;padding:.5rem .75rem .75rem;overflow-y:auto}.modal-content.form-ujian-modal{width:min(640px,calc(100vw - 1.5rem));max-width:640px;max-height:calc(100dvh - 1.25rem);margin-top:0;border-radius:.75rem;box-shadow:0 20px 40px #0f172a2e;overflow:hidden}.form-ujian-modal .modal-header{padding:.75rem 1.1rem;border-bottom:1px solid #e2e8f0;background:#fff}.form-ujian-modal .modal-header h4{margin:0;font-size:1rem;font-weight:700;color:#0f172a;letter-spacing:.01em}.form-ujian-modal .modal-close{opacity:.45;font-size:1.25rem;line-height:1}.form-ujian-modal .modal-close:hover{opacity:.85}.form-ujian-form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 1.25rem - 52px);overflow:hidden}.form-ujian-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:.85rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.85rem;-webkit-overflow-scrolling:touch}.form-ujian-hint{margin:0;padding:.65rem .85rem;border-radius:.55rem;border:1px solid #bbdefb;background:#e3f2fd;color:#0d47a1;font-size:.8125rem;line-height:1.45}.form-ujian-hint strong{font-weight:700}.form-ujian-section{display:flex;flex-direction:column;gap:.7rem}.form-ujian-section__title{margin:0;padding-left:.65rem;border-left:3px solid #1565c0;font-size:.8125rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#0f172a}.form-ujian-grid{display:grid;grid-template-columns:1fr;gap:.7rem .85rem}@media(min-width:560px){.form-ujian-grid--2{grid-template-columns:1fr 1fr}}.form-ujian-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.form-ujian-field--full{grid-column:1 / -1}.form-ujian-field label{font-size:.8125rem;font-weight:600;color:#334155}.form-ujian-field label .form-ujian-optional{font-weight:500;color:#94a3b8}.form-ujian-field input,.form-ujian-field select{width:100%;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;color:#0f172a;background:#fff;box-sizing:border-box;font-family:inherit}.form-ujian-field input:focus,.form-ujian-field select:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px #1565c01f}.form-ujian-field input:disabled,.form-ujian-field select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.form-ujian-field__readonly,.form-ujian-field input.form-ujian-field__readonly{background:#f1f5f9!important;color:#334155;cursor:default;pointer-events:none}.form-ujian-field__hint{margin:0;font-size:.75rem;color:#64748b;line-height:1.4}.form-ujian-field__hint--danger{color:#c62828}.form-ujian-count{display:flex;flex-direction:column;gap:.35rem;padding:.7rem .85rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#f8fafc}.form-ujian-count__value{font-size:.95rem;font-weight:700;color:#0f172a}.form-ujian-count__list{margin:0;padding-left:1.1rem;font-size:.85rem;color:#334155}.form-ujian-count__loading{font-size:.85rem;color:#64748b}.form-ujian-kelas-list{display:flex;flex-direction:column;gap:.35rem;max-height:7.5rem;overflow-y:auto;padding:.45rem .55rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff}.form-ujian-kelas-list--empty{color:#94a3b8;font-size:.85rem;padding:.75rem}.form-ujian-kelas-item{display:flex;align-items:center;gap:.55rem;padding:.35rem .4rem;border-radius:.4rem;cursor:pointer;font-size:.875rem;color:#0f172a}.form-ujian-kelas-item:hover{background:#f1f5f9}.form-ujian-kelas-item input{width:auto;margin:0;accent-color:#1565c0}.form-ujian-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap;padding:.7rem 1.1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.form-ujian-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid transparent;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease}.form-ujian-btn--save{background:#1565c0;color:#fff;border-color:#1565c0}.form-ujian-btn--save:hover{background:#0d47a1;border-color:#0d47a1}.form-ujian-btn--cancel{background:#fff;color:#475569;border-color:#cbd5e1}.form-ujian-btn--cancel:hover{background:#f1f5f9;color:#334155}.form-ujian-field .datetime-24{display:grid;grid-template-columns:minmax(11rem,1.35fr) minmax(8rem,.85fr);gap:.65rem;align-items:start;width:100%}.form-ujian-field .datetime-24__control,.form-ujian-field .datetime-24__date,.form-ujian-field .datetime-24__select{width:100%!important;max-width:100%;min-width:0;height:2.4rem;min-height:2.4rem;max-height:2.4rem;padding:0 .65rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;color:#0f172a;background:#fff;box-sizing:border-box}.form-ujian-field .datetime-24__select{padding-right:1.4rem}.form-ujian-field .datetime-24__control:focus,.form-ujian-field .datetime-24__date:focus,.form-ujian-field .datetime-24__select:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px #1565c01f}@media(max-width:420px){.form-ujian-field .datetime-24{grid-template-columns:1fr}}@media(max-width:560px){.form-ujian-body{padding:1rem}.form-ujian-footer{padding:.75rem 1rem}.form-ujian-footer .form-ujian-btn{flex:1 1 auto;justify-content:center}}.ujian-detail-modal{max-width:560px}.ujian-detail-list{margin:0;display:flex;flex-direction:column;gap:.55rem}.ujian-detail-list__row{display:grid;grid-template-columns:minmax(8.5rem,38%) 1fr;gap:.65rem;align-items:start;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#f8fafc}.ujian-detail-list__row dt{margin:0;font-size:.78rem;font-weight:600;color:#64748b}.ujian-detail-list__row dd{margin:0;font-size:.88rem;font-weight:600;color:#0f172a;word-break:break-word}.ujian-detail-list__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}@media(max-width:480px){.ujian-detail-list__row{grid-template-columns:1fr;gap:.25rem}}.cbt-sidebar{--sb-width: 15rem;--sb-collapsed: 4rem;--sb-bg: #ffffff;--sb-border: #e8eef0;--sb-text: #455a64;--sb-text-muted: #78909c;--sb-text-hover: #263238;--sb-hover-bg: #f5f7f8;--sb-active-bg: #eef5fb;--sb-active-text: #0d47a1;--sb-icon-bg: transparent;--sb-icon: #455a64}.cbt-sidebar{width:var(--sb-width);background:var(--sb-bg);border-right:1px solid var(--sb-border);font-family:Inter,system-ui,sans-serif;color:var(--sb-text)}.cbt-sidebar.is-collapsed{width:var(--sb-collapsed)}.cbt-sidebar__brand{display:flex;align-items:center;gap:.85rem;padding:1.1rem .875rem;border-bottom:1px solid var(--sb-border)}.cbt-sidebar.is-collapsed .cbt-sidebar__brand{justify-content:center;padding-left:.45rem;padding-right:.45rem}.cbt-sidebar__logo-img{width:4rem;height:4rem;flex-shrink:0;object-fit:contain;border-radius:.55rem;background:#fff;padding:3px;box-shadow:0 1px 4px #607d8b2e}.cbt-sidebar.is-collapsed .cbt-sidebar__logo-img{width:2.75rem;height:2.75rem}.cbt-sidebar__logo-fallback{display:flex;height:4rem;width:4rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.55rem;background:#eceff1;font-size:.8125rem;font-weight:700;color:#455a64;box-shadow:none}.cbt-sidebar.is-collapsed .cbt-sidebar__logo-fallback{width:2.75rem;height:2.75rem;font-size:.75rem}.cbt-sidebar__nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.5rem 0 .75rem;scrollbar-width:thin;scrollbar-color:transparent transparent}.cbt-sidebar:hover .cbt-sidebar__nav{scrollbar-color:rgba(207,216,220,.9) transparent}.cbt-sidebar__nav::-webkit-scrollbar{width:5px}.cbt-sidebar__nav::-webkit-scrollbar-track{background:transparent}.cbt-sidebar__nav::-webkit-scrollbar-thumb{background:transparent;border-radius:999px;border:1px solid transparent;background-clip:padding-box}.cbt-sidebar:hover .cbt-sidebar__nav::-webkit-scrollbar-thumb{background:#e8eef0;background-clip:padding-box}.cbt-sidebar:hover .cbt-sidebar__nav::-webkit-scrollbar-thumb:hover{background:#dfe6ea;background-clip:padding-box}.cbt-sidebar__group{margin-bottom:.25rem}.cbt-sidebar__group-label{padding:.625rem 1rem .375rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sb-text-muted)}.cbt-sidebar__list{list-style:none;margin:0;padding:0 .5rem;display:flex;flex-direction:column;gap:2px}.cbt-sidebar__item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.55rem .7rem;border:none;border-radius:.625rem;background:transparent;color:var(--sb-text);font-size:.8125rem;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;position:relative;transition:background .22s ease,color .22s ease,transform .12s ease,box-shadow .22s ease}.cbt-sidebar__item:hover{background:var(--sb-hover-bg);color:var(--sb-text-hover)}.cbt-sidebar__item:hover .cbt-sidebar__icon{background:transparent;color:var(--sb-text-hover);opacity:1}.cbt-sidebar__item.is-active{background:var(--sb-active-bg);color:var(--sb-active-text);font-weight:600;box-shadow:none}.cbt-sidebar__item.is-active .cbt-sidebar__icon{color:var(--sb-active-text);opacity:1;background:transparent;box-shadow:none}.cbt-sidebar__item:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.cbt-sidebar__item{animation:none;transition:none}}.cbt-sidebar__icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;opacity:1;color:var(--sb-icon);background:var(--sb-icon-bg);border-radius:.375rem;transition:color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.cbt-sidebar__icon svg{display:block;flex-shrink:0}.cbt-sidebar__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.cbt-sidebar__chevron{display:inline-flex;color:#90a4ae;transition:transform .18s ease;flex-shrink:0}.cbt-sidebar__chevron.is-open{transform:rotate(180deg)}.cbt-sidebar__sublist{list-style:none;margin:.15rem 0 .35rem;padding:0 0 0 .55rem;display:flex;flex-direction:column;gap:.1rem}.cbt-sidebar__subitem{width:100%;display:flex;align-items:center;gap:.45rem;padding:.4rem .65rem .4rem .85rem;border:none;border-radius:.45rem;background:transparent;color:#607d8b;font-size:.78rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.cbt-sidebar__subitem:hover{background:#f5f7f8;color:#37474f}.cbt-sidebar__subitem.is-active{background:#eef5fb;color:#0d47a1;font-weight:600}.cbt-sidebar__subdot{width:5px;height:5px;border-radius:50%;background:#90a4ae;flex-shrink:0}.cbt-sidebar__subitem.is-active .cbt-sidebar__subdot{background:#1565c0}.cbt-sidebar.is-collapsed .cbt-sidebar__item{justify-content:center;padding:.45rem;gap:0}.cbt-sidebar.is-collapsed .cbt-sidebar__icon{width:2rem;height:2rem}.cbt-sidebar.is-collapsed .cbt-sidebar__group-label,.cbt-sidebar.is-collapsed .cbt-sidebar__label,.cbt-sidebar.is-collapsed .cbt-sidebar__brand-text{display:none}.cbt-sidebar__brand-name{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700;line-height:1.25;letter-spacing:.02em;color:#1565c0}.cbt-sidebar__brand-sub{margin:.1rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.25;color:#78909c}.cbt-sidebar__group-divider{height:1px;margin:.5rem .75rem;background:var(--sb-border)}.cbt-sidebar__account{margin-top:auto;padding:.75rem .5rem .5rem;border-top:1px solid var(--sb-border)}.cbt-sidebar__account-info{padding:0 .5rem .5rem;min-width:0}.cbt-sidebar__account-name{margin:0;font-size:.8125rem;font-weight:600;color:#37474f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbt-sidebar__account-meta{margin:.125rem 0 0;font-size:.6875rem;color:var(--sb-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbt-sidebar__logout-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:1px solid #e8eef0;border-radius:.5rem;background:#fafbfc;color:#455a64;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.cbt-sidebar__logout-btn:hover{background:#f5f7f8;color:#263238;border-color:#cfd8dc}.cbt-sidebar.is-collapsed .cbt-sidebar__account{padding-left:.375rem;padding-right:.375rem}.cbt-sidebar.is-collapsed .cbt-sidebar__logout-btn{padding:.625rem}.cbt-sidebar__footer{display:none;flex-direction:column;gap:.4rem;padding:.5rem;border-top:1px solid var(--sb-border)}@media(min-width:1024px){.cbt-sidebar__footer{display:flex}}.cbt-sidebar__collapse-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;border-radius:.5rem;background:transparent;color:var(--sb-text-muted);font-size:.75rem;cursor:pointer;transition:background .18s ease,color .18s ease}.cbt-sidebar__collapse-btn:hover{background:var(--sb-hover-bg);color:var(--sb-text-hover)}.cbt-sidebar__overlay{position:fixed;inset:0;z-index:40;background:#455a6459;transition:opacity .25s ease}.cbt-sidebar__overlay.is-hidden{opacity:0;pointer-events:none}@media(min-width:1024px){.cbt-sidebar__overlay{display:none}}.cbt-sidebar-shell{position:fixed;inset:0 auto 0 0;z-index:60;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;transition:width .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1);box-shadow:1px 0 12px #607d8b14}@media(max-width:1023px){.cbt-sidebar-shell{transform:translate(-100%)}.cbt-sidebar-shell.is-open{transform:translate(0)}}@media(min-width:1024px){.cbt-sidebar-shell{position:sticky;top:0;z-index:auto;height:100%;max-height:100dvh;align-self:stretch;flex-shrink:0;transform:translate(0);box-shadow:none}}.datetime-24{display:grid;grid-template-columns:minmax(11rem,1.35fr) minmax(8rem,.85fr);gap:.65rem;align-items:start;width:100%;box-sizing:border-box}.datetime-24__field{min-width:0;display:flex;flex-direction:column;gap:.25rem}.datetime-24__label{display:block;height:.85rem;font-size:.72rem;line-height:.85rem;color:#64748b;font-weight:600;text-align:center;white-space:nowrap}.datetime-24__label--date{text-align:left}.datetime-24__control{display:block;width:100%;max-width:100%;min-width:0;height:2.4rem;min-height:2.4rem;max-height:2.4rem;padding:0 .65rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;line-height:1;color:#0f172a;background:#fff;font-family:inherit;box-sizing:border-box;vertical-align:middle}.datetime-24__control:focus{outline:none;border-color:#1565c0;box-shadow:0 0 0 3px #1565c01f}.datetime-24__date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.datetime-24__hm{display:flex;align-items:flex-start;gap:.25rem;min-width:0}.datetime-24__hm .datetime-24__field{flex:1}.datetime-24__select{padding-right:1.4rem;text-align:center;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center;background-size:10px 6px}.datetime-24__colon{flex:0 0 auto;align-self:flex-end;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#475569;line-height:1;-webkit-user-select:none;user-select:none;margin-bottom:0}@media(max-width:420px){.datetime-24{grid-template-columns:1fr}}.cbt-modal-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-start;justify-content:center;padding:5rem 1rem 1.5rem;background:#0f172a73}.cbt-modal{width:100%;max-width:440px;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 10px 30px #0f172a29;overflow:hidden;text-align:left}.cbt-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff}.cbt-modal__title{margin:0;font-size:.95rem;font-weight:650;color:#0f172a;line-height:1.35}.cbt-modal__close{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:.35rem;background:transparent;color:#94a3b8;cursor:pointer;flex-shrink:0}.cbt-modal__close:hover{background:#f1f5f9;color:#475569}.cbt-modal__body{padding:1rem}.cbt-modal__message{margin:0;font-size:.875rem;line-height:1.55;color:#475569;font-weight:400}.cbt-modal__children{margin-top:.85rem}.cbt-modal__highlight{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem .9rem}.cbt-modal__highlight-label{display:block;font-size:.72rem;font-weight:600;color:#64748b;margin-bottom:.25rem}.cbt-modal__highlight-value{display:block;font-size:1.25rem;font-weight:700;color:#0f172a;line-height:1.3}.cbt-modal__footer{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.cbt-modal__footer--single{justify-content:flex-end}.cbt-modal__btn{min-height:2.25rem;padding:.45rem .95rem;border-radius:.4rem;font-size:.8125rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}.cbt-modal__btn--primary{color:#fff;background:#1e40af;border-color:#1e40af}.cbt-modal__btn--primary:hover{background:#1d4ed8;border-color:#1d4ed8}.cbt-modal--success .cbt-modal__btn--primary{background:#15803d;border-color:#15803d}.cbt-modal--success .cbt-modal__btn--primary:hover{background:#166534;border-color:#166534}.cbt-modal--error .cbt-modal__btn--primary,.cbt-modal--confirm .cbt-modal__btn--primary{background:#c2410c;border-color:#c2410c}.cbt-modal--error .cbt-modal__btn--primary:hover,.cbt-modal--confirm .cbt-modal__btn--primary:hover{background:#9a3412;border-color:#9a3412}.cbt-modal--warning .cbt-modal__btn--primary{background:#b45309;border-color:#b45309}.cbt-modal--warning .cbt-modal__btn--primary:hover{background:#92400e;border-color:#92400e}.cbt-modal__btn--ghost{color:#334155;background:#fff;border-color:#cbd5e1}.cbt-modal__btn--ghost:hover{background:#f1f5f9;border-color:#94a3b8}@media(max-width:480px){.cbt-modal-overlay{padding:2.5rem .75rem 1rem}.cbt-modal__footer{flex-direction:column-reverse}.cbt-modal__footer .cbt-modal__btn{width:100%}}.app-update-modal{text-align:left;margin-top:.5rem}.app-update-modal__versions{font-size:.88rem;color:#475569;line-height:1.6;margin:0 0 .75rem}.app-update-modal__date{font-size:.8rem;color:#94a3b8}.app-update-modal__changelog{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .75rem;margin-bottom:.75rem;max-height:140px;overflow-y:auto}.app-update-modal__changelog-title{font-size:.78rem;font-weight:700;color:#334155;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.app-update-modal__changelog-text{margin:0;font-family:inherit;font-size:.82rem;color:#64748b;white-space:pre-wrap;line-height:1.5}.app-update-modal__note{font-size:.8rem;color:#64748b;margin:0;line-height:1.45}.app-update-modal__note--warn{color:#b45309;margin-bottom:.5rem}.app-update-modal__note--info{color:#0369a1;margin-bottom:.5rem}.panduan-math-overlay{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.panduan-math-dialog{width:100%;max-width:820px;max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 24px 48px #0f172a33;display:flex;flex-direction:column;overflow:hidden}.panduan-math-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#0d47a1,#1976d2);color:#fff}.panduan-math-header h2{margin:0;font-size:1.15rem;font-weight:800;line-height:1.35}.panduan-math-header p{margin:.35rem 0 0;font-size:.85rem;opacity:.92}.panduan-math-close{flex-shrink:0;width:36px;height:36px;border:none;border-radius:10px;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.panduan-math-close:hover{background:#ffffff59}.panduan-math-body{padding:1.25rem 1.5rem;overflow-y:auto;font-size:.9rem;line-height:1.65;color:#334155;text-align:left}.panduan-math-body h3{margin:1.25rem 0 .5rem;font-size:1rem;font-weight:800;color:#0f172a}.panduan-math-body h3:first-child{margin-top:0}.panduan-math-body h4{margin:.85rem 0 .35rem;font-size:.92rem;font-weight:700;color:#1e40af}.panduan-math-body ul,.panduan-math-body ol{margin:.35rem 0 .75rem;padding-left:1.35rem}.panduan-math-body li{margin-bottom:.35rem}.panduan-math-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.75rem 1rem;margin:.75rem 0;font-size:.88rem}.panduan-math-warn{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:.75rem 1rem;margin:.75rem 0;font-size:.88rem}.panduan-math-compare{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.75rem 0}@media(max-width:600px){.panduan-math-compare{grid-template-columns:1fr}}.panduan-math-box{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.panduan-math-box__label{background:#f1f5f9;padding:.4rem .75rem;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.03em}.panduan-math-box__content{padding:.75rem 1rem;font-family:Consolas,Segoe UI,monospace;font-size:.88rem;min-height:2.5rem}.panduan-math-box__content--result{font-family:inherit;background:#f8fafc}.panduan-math-box__content .math-demo-sup{font-size:.72em;vertical-align:super;line-height:0}.panduan-math-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .15em;line-height:1.1}.panduan-math-frac-num{border-bottom:1.5px solid currentColor;padding:0 .2em .06em}.panduan-math-frac-den{padding:.06em .2em 0}.panduan-math-steps{counter-reset:step;list-style:none;padding-left:0}.panduan-math-steps li{counter-increment:step;position:relative;padding-left:2rem;margin-bottom:.65rem}.panduan-math-steps li:before{content:counter(step);position:absolute;left:0;top:.1rem;width:1.35rem;height:1.35rem;background:#1a7134;color:#fff;border-radius:50%;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}.panduan-math-table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.85rem}.panduan-math-table th,.panduan-math-table td{border:1px solid #e2e8f0;padding:.5rem .65rem;text-align:left;vertical-align:top}.panduan-math-table th{background:#f8fafc;font-weight:700;color:#0f172a}.panduan-math-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;background:#f8fafc}.panduan-math-footer button{background:linear-gradient(135deg,#1a7134,#10b981);color:#fff;border:none;border-radius:10px;padding:.6rem 1.25rem;font-weight:700;cursor:pointer;font-size:.9rem}.panduan-math-footer button:hover{filter:brightness(1.05)}.bank-soal-group-overlay{position:fixed;inset:0;z-index:1200;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.bank-soal-group-dialog{background:#fff;border-radius:8px;width:min(920px,100%);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #0003}.bank-soal-group-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;border-bottom:1px solid #eee;background:#f8fafc}.bank-soal-group-header h2{margin:0;font-size:1.1rem;color:#2c3e50}.bank-soal-group-subtitle{margin:6px 0 0;color:#555;font-size:.9rem}.bank-soal-group-count{margin:4px 0 0;color:#31708f;font-size:.85rem;font-weight:600}.bank-soal-group-close{border:none;background:transparent;font-size:1.25rem;cursor:pointer;color:#666;padding:4px}.bank-soal-group-body{overflow:auto;padding:12px 16px}.bank-soal-group-table{width:100%}.bank-soal-group-soal-label{font-weight:600;color:#333}.bank-soal-group-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:.75rem;background:#fcf8e3;color:#8a6d3b;border-radius:3px}.bank-soal-group-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.bank-soal-group-actions .btn-review,.bank-soal-group-actions .btn-edit,.bank-soal-group-actions .btn-delete{border:none;width:34px;height:34px;border-radius:4px;cursor:pointer;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;color:#fff}.bank-soal-group-actions .btn-review{background:#17a2b8}.bank-soal-group-actions .btn-edit{background:#3498db}.bank-soal-group-actions .btn-delete{background:#e74c3c}.bank-soal-group-footer{padding:12px 16px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.import-progress-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-sizing:border-box}.import-progress-card{width:100%;max-width:26rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 18px 40px #0f172a2e;padding:1.35rem 1.4rem 1.25rem;box-sizing:border-box}.import-progress-card__head{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}.import-progress-card__titles{flex:1;min-width:0}.import-progress-card__titles h3{margin:0;font-size:1rem;font-weight:700;color:#0f172a;letter-spacing:-.01em}.import-progress-card__file{margin:.2rem 0 0;font-size:.8125rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-progress-card__pct{font-size:1.25rem;font-weight:700;color:#1565c0;font-variant-numeric:tabular-nums;line-height:1}.import-progress-spinner{width:2.75rem;height:2.75rem;border-radius:999px;background:#eff6ff;color:#1565c0;display:grid;place-items:center;flex-shrink:0}.import-progress-spinner.is-done{background:#ecfdf5;color:#059669}.import-progress-spinner.is-error{background:#fef2f2;color:#dc2626}.import-progress-spinner__ring{width:1.35rem;height:1.35rem;border-radius:999px;border:2.5px solid #bfdbfe;border-top-color:#1565c0;animation:import-progress-spin .7s linear infinite}.import-progress-bar{height:.55rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.import-progress-bar__fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#1e88e5,#1565c0);transition:width .2s ease}.import-progress-bar__fill.is-process{background:linear-gradient(90deg,#1e88e5,#0d47a1)}.import-progress-bar__fill.is-done{background:#059669}.import-progress-bar__fill.is-error{background:#dc2626}.import-progress-card__detail{margin:.85rem 0 0;font-size:.875rem;line-height:1.45;color:#475569}@keyframes import-progress-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.import-progress-card{padding:1.15rem 1.1rem 1.05rem}.import-progress-card__pct{font-size:1.1rem}}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.cbt-toast{position:fixed;top:20px;right:20px;z-index:10100;display:flex;align-items:center;gap:10px;min-width:min(320px,calc(100vw - 40px));max-width:min(420px,calc(100vw - 40px));padding:14px 16px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 12px #0f172a14,0 16px 32px #0f172a1f;animation:cbt-toast-slide-in .28s cubic-bezier(.22,1,.36,1)}.cbt-toast__icon{flex:none;font-size:1.15rem}.cbt-toast__message{flex:1;font-size:.92rem;font-weight:600;color:#0f172a;line-height:1.4}.cbt-toast__close{flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease}.cbt-toast__close:hover{background:#f1f5f9;color:#0f172a}.cbt-toast--success{border-left:4px solid #10b981}.cbt-toast--success .cbt-toast__icon{color:#059669}.cbt-toast--error{border-left:4px solid #ef4444}.cbt-toast--error .cbt-toast__icon{color:#dc2626}.cbt-toast--warning{border-left:4px solid #f59e0b}.cbt-toast--warning .cbt-toast__icon{color:#d97706}.cbt-toast--info{border-left:4px solid #3b82f6}.cbt-toast--info .cbt-toast__icon{color:#2563eb}@keyframes cbt-toast-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media(max-width:480px){.cbt-toast{top:12px;right:12px;left:12px;min-width:0;max-width:none}}.exam-lock-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,24px);font-family:Segoe UI,system-ui,-apple-system,sans-serif;animation:exam-lock-fade-in .35s ease-out}.exam-lock-overlay__backdrop{position:absolute;inset:0;background:linear-gradient(145deg,#0d47a1f0,#1a7134eb 55%,#0f172af5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.exam-lock-overlay__backdrop:before{content:"";position:absolute;inset:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M0 0h40v40H0zm40 40h40v40H40z'/%3E%3C/g%3E%3C/svg%3E");background-size:80px 80px;pointer-events:none}.exam-lock-card{position:relative;width:100%;max-width:440px;max-height:min(96vh,720px);overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0f172a0f,0 24px 48px #0f172a38;animation:exam-lock-slide-up .4s cubic-bezier(.22,1,.36,1)}.exam-lock-card__accent{height:4px;border-radius:16px 16px 0 0;background:linear-gradient(90deg,#c62828,#ef6c00 40%,#f9a825)}.exam-lock-card__header{padding:1.5rem 1.5rem .75rem;text-align:center}.exam-lock-card__icon-wrap{width:64px;height:64px;margin:0 auto .875rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#e8f5e9,#e3f2fd);border:2px solid rgba(26,113,52,.15);box-shadow:0 4px 14px #1a71341f}.exam-lock-card__icon{font-size:1.75rem;color:#1a7134}.exam-lock-card__badge{display:inline-block;padding:.25rem .75rem;margin-bottom:.5rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0d47a1;background:#e3f2fd;border-radius:999px}.exam-lock-card__title{margin:0 0 .5rem;font-size:1.375rem;font-weight:700;color:#0f172a;letter-spacing:-.02em;line-height:1.3}.exam-lock-card__subtitle{margin:0;font-size:.875rem;line-height:1.55;color:#64748b}.exam-lock-alert{display:flex;gap:.75rem;align-items:flex-start;margin:0 1.25rem 1rem;padding:.875rem 1rem;background:#fff8e1;border:1px solid #ffcc80;border-left:4px solid #ef6c00;border-radius:8px}.exam-lock-alert__icon{flex-shrink:0;margin-top:.125rem;font-size:1.125rem;color:#e65100}.exam-lock-alert__body{display:flex;flex-direction:column;gap:.2rem;font-size:.8125rem;line-height:1.45;color:#5d4037}.exam-lock-alert__body strong{font-size:.875rem;font-weight:700;color:#bf360c}.exam-lock-meta{margin:0 1.25rem 1rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.exam-lock-meta__row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.35rem 0;font-size:.8125rem}.exam-lock-meta__row+.exam-lock-meta__row{border-top:1px dashed #e2e8f0;margin-top:.25rem;padding-top:.5rem}.exam-lock-meta__label{flex-shrink:0;font-weight:600;color:#64748b;text-transform:uppercase;font-size:.6875rem;letter-spacing:.04em}.exam-lock-meta__value{text-align:right;font-weight:600;color:#0f172a}.exam-lock-steps{margin:0 1.25rem 1.25rem;padding:.875rem 1rem .875rem 2rem;background:#f1f8f4;border:1px solid #c8e6c9;border-radius:8px;font-size:.8125rem;line-height:1.6;color:#2e7d32}.exam-lock-steps li{margin-bottom:.25rem}.exam-lock-steps li:last-child{margin-bottom:0}.exam-lock-form{padding:0 1.25rem 1.25rem}.exam-lock-form__label{display:block;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;color:#334155}.exam-lock-form__input-wrap{display:flex;align-items:center;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;transition:border-color .2s,box-shadow .2s}.exam-lock-form__input-wrap:focus-within{border-color:#1a7134;box-shadow:0 0 0 3px #1a713426;background:#fff}.exam-lock-form__input-wrap.is-error{border-color:#c62828;background:#fff5f5}.exam-lock-form__input-wrap.is-error:focus-within{box-shadow:0 0 0 3px #c628281f}.exam-lock-form__input-icon{flex-shrink:0;margin-left:.875rem;font-size:.9rem;color:#94a3b8}.exam-lock-form__input{flex:1;min-width:0;padding:.875rem .5rem;border:none;background:transparent;font-size:.9375rem;color:#0f172a;outline:none}.exam-lock-form__input::placeholder{color:#94a3b8}.exam-lock-form__input:disabled{opacity:.65;cursor:not-allowed}.exam-lock-form__toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-right:.25rem;padding:0;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:6px;transition:color .2s,background .2s}.exam-lock-form__toggle:hover{color:#1a7134;background:#1a713414}.exam-lock-form__error{margin:.5rem 0 0;font-size:.8125rem;color:#c62828;line-height:1.4}.exam-lock-form__submit{width:100%;margin-top:1rem;padding:.9375rem 1.25rem;border:none;border-radius:10px;font-size:.9375rem;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#1a7134,#10b981);box-shadow:0 4px 14px #1a713459;cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s}.exam-lock-form__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #1a713466}.exam-lock-form__submit:active:not(:disabled){transform:translateY(0)}.exam-lock-form__submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.exam-lock-card__footer{padding:1rem 1.25rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px}.exam-lock-student{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.exam-lock-student__icon{flex-shrink:0;font-size:1.5rem;color:#1a7134}.exam-lock-student__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.exam-lock-student__name{font-size:.9375rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-lock-student__id{font-size:.75rem;color:#64748b}.exam-lock-card__legal{margin:0;font-size:.6875rem;line-height:1.5;text-align:center;color:#94a3b8}@keyframes exam-lock-fade-in{0%{opacity:0}to{opacity:1}}@keyframes exam-lock-slide-up{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:480px){.exam-lock-card__title{font-size:1.5rem}.exam-lock-card__header{padding:1.75rem 1.75rem .875rem}.exam-lock-form,.exam-lock-alert,.exam-lock-meta,.exam-lock-steps{margin-left:1.5rem;margin-right:1.5rem}.exam-lock-form{padding-left:1.5rem;padding-right:1.5rem}.exam-lock-card__footer{padding:1.125rem 1.5rem 1.5rem}}.siswa-shell.cbt-sidebar,.siswa-shell .cbt-sidebar{--sb-active-bg: #ecfdf5;--sb-active-text: #15803d}.siswa-shell{--siswa-bg: #f3f4f6;--siswa-surface: #ffffff;--siswa-border: #e2e8f0;--siswa-text: #0f172a;--siswa-muted: #64748b;--siswa-faint: #94a3b8;--siswa-green: #15803d;--siswa-green-soft: #dcfce7;--siswa-green-border: #bbf7d0;--siswa-radius: 12px;--siswa-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .04)}.siswa-container{--siswa-bg: #f3f4f6;--siswa-surface: #ffffff;--siswa-border: #e2e8f0;--siswa-text: #0f172a;--siswa-muted: #64748b;--siswa-faint: #94a3b8;--siswa-green: #15803d;--siswa-green-soft: #dcfce7;--siswa-green-border: #bbf7d0;--siswa-radius: 12px;--siswa-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .04);display:flex;flex-direction:column;min-height:100vh;background-color:var(--siswa-bg);color:var(--siswa-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.siswa-exam-fill{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;width:100%}.siswa-dashboard--exam{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;background:var(--siswa-bg, #f3f4f6);color:var(--siswa-text, #0f172a);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.siswa-dashboard--exam .siswa-exam-fill{flex:1;min-height:0;overflow:hidden}.siswa-dashboard--exam .siswa-main--exam{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.siswa-topbar .siswa-topbar__title{display:flex;flex-direction:column;min-width:0;line-height:1.2}.siswa-topbar__app{font-size:.92rem;font-weight:700;color:var(--siswa-text, #0f172a);letter-spacing:-.01em}.siswa-topbar__madrasah{font-size:.72rem;color:var(--siswa-muted, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.siswa-topbar__right{display:flex;align-items:center;gap:8px;flex-shrink:0}@media(min-width:640px){.siswa-topbar__madrasah{max-width:360px}}@media(max-width:1023px){.siswa-shell .siswa-topbar{height:56px;padding:0 12px;gap:10px}.siswa-shell .siswa-topbar .admin-header-left{gap:0;flex:1;min-width:0}.siswa-shell .siswa-topbar__menu-btn{display:none!important}.siswa-shell .siswa-topbar .siswa-topbar__title{display:flex;min-width:0}.siswa-shell .siswa-topbar__app{font-size:.88rem;font-weight:800;letter-spacing:-.02em}.siswa-shell .siswa-topbar__madrasah{display:block;max-width:min(58vw,220px);font-size:.68rem;font-weight:500}.siswa-shell .siswa-topbar .admin-profile-btn{width:2.35rem;height:2.35rem}}.siswa-header-user{display:flex;align-items:center;gap:10px;font-size:.8rem;flex-shrink:0}.siswa-header-user__chip{display:none;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:#f8fafc;border:1px solid var(--siswa-border, #e2e8f0);border-radius:999px;color:var(--siswa-text, #0f172a);font-weight:600;max-width:200px}.siswa-header-user__avatar{width:28px;height:28px;border-radius:999px;background:var(--siswa-green-soft, #dcfce7);color:var(--siswa-green, #15803d);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}.siswa-header-user__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:640px){.siswa-header-user__chip{display:inline-flex}}.siswa-logout-btn{background:#fff;color:#475569;border:1px solid var(--siswa-border, #e2e8f0);padding:8px 12px;border-radius:10px;cursor:pointer;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:background .15s,border-color .15s,color .15s}.siswa-logout-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:var(--siswa-text, #0f172a)}.siswa-main{flex:1;padding:20px 16px;display:flex;flex-direction:column;gap:16px;width:100%;margin:0 auto;box-sizing:border-box}.siswa-main--lobby{flex:1 1 0;max-width:none;align-items:stretch;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.siswa-main--lobby>*{flex-shrink:0}.siswa-main--lobby>.dash-page,.siswa-main--lobby>.siswa-table-box,.siswa-main--lobby>.siswa-konfirmasi-box,.siswa-main--lobby>.siswa-profil-box{width:100%;max-width:72rem;margin-left:auto;margin-right:auto}.siswa-shell .siswa-footer{flex-shrink:0;margin-top:0}.siswa-main--exam{max-width:none;padding:0;min-height:0;width:100%}@media(min-width:1024px){.siswa-main--exam{padding:0;background:var(--siswa-bg, #f3f4f6)}.siswa-main--exam .ujian-layout-container{display:flex!important;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:none;margin:0;flex:1;min-height:0;height:100%}.siswa-main--exam .main-soal-panel{display:flex;flex-direction:column;min-height:100%;max-height:100%;height:100%;background:#fff;border:none;border-radius:0;box-shadow:none;padding:0;overflow:hidden;width:100%}.siswa-main--exam .exam-topbar{position:static;flex-shrink:0;border-bottom:1px solid var(--siswa-border, #e2e8f0);background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;margin:0;padding:12px 20px;gap:12px}.siswa-main--exam .exam-timer{display:inline-flex!important;align-items:center;justify-content:center;min-width:104px;padding:8px 14px;border-radius:10px;font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums}.siswa-main--exam .exam-topbar .hamburger-nav-btn-soal{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;padding:0;flex-shrink:0;background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a;border-radius:10px;cursor:pointer;box-shadow:none}.siswa-main--exam .exam-topbar .hamburger-nav-btn-soal:hover{background:#ecfdf5;border-color:#bbf7d0;color:#15803d}.siswa-main--exam .soal-content-area{flex:1;min-height:0;overflow-y:auto;padding:20px 24px 16px}.siswa-main--exam .exam-actions{position:static!important;flex-shrink:0;display:flex!important;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;max-width:none;width:100%;margin:0;padding:12px 24px;border-top:1px solid var(--siswa-border, #e2e8f0);background:#f8fafc;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;left:auto;right:auto;bottom:auto;z-index:auto}.siswa-main--exam .exam-actions__btn{min-width:120px;flex:0 0 auto;border-radius:10px;font-weight:700;padding:11px 16px}.siswa-main--exam .exam-actions__btn--nomor{display:none!important}.siswa-main--exam .exam-actions__btn--prev{display:inline-flex!important;align-items:center;justify-content:center}.siswa-main--exam .exam-actions__btn.primary{background:var(--siswa-green, #15803d);color:#fff}.siswa-main--exam .img-responsive-soal{max-height:320px;max-width:min(100%,480px)}.siswa-main--exam .exam-opsi-list{max-width:900px}}@media(max-width:768px){.siswa-main--lobby{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}.siswa-footer--desktop{display:none}}@media(min-width:1024px){.siswa-bottom-nav{display:none!important}.siswa-main--lobby{padding:24px 28px 28px}.siswa-shell .siswa-topbar__menu-btn{display:none!important}}.siswa-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:2000;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;height:calc(60px + env(safe-area-inset-bottom,0px));padding:4px 10px env(safe-area-inset-bottom,0px);margin:0;background:#fffffff5;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border:none;border-top:1px solid rgba(15,23,42,.08);border-radius:0;box-shadow:0 -6px 20px #0f172a0f}@media(min-width:769px)and (max-width:1023px){.siswa-bottom-nav{display:none}}.siswa-bottom-nav__item{position:relative;border:none;background:transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;margin:2px 4px;padding:6px 8px;color:#94a3b8;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .15s ease,background .15s ease,transform .12s ease}.siswa-bottom-nav__item:active{transform:scale(.97)}.siswa-bottom-nav__item.is-active{color:var(--siswa-green, #15803d);background:var(--siswa-green-soft, #dcfce7)}.siswa-bottom-nav__icon{width:1.5rem;height:1.5rem;border-radius:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;box-shadow:none}.siswa-bottom-nav__icon svg{width:1.25rem;height:1.25rem;stroke-width:2}.siswa-bottom-nav__item.is-active .siswa-bottom-nav__icon{background:transparent;color:inherit;box-shadow:none}.siswa-bottom-nav__label{font-size:.7rem;letter-spacing:.01em;line-height:1.15;font-weight:700}.siswa-welcome-box,.siswa-table-box,.siswa-konfirmasi-box,.siswa-guide-panel{background:var(--siswa-surface);border-radius:var(--siswa-radius);overflow:visible;box-shadow:var(--siswa-shadow);border:1px solid var(--siswa-border);width:100%}.siswa-inline-icon{margin-right:.35em;vertical-align:-.12em;flex-shrink:0}.siswa-page-head{padding:18px 18px 0}.siswa-page-head__title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--siswa-text);display:flex;align-items:center;gap:.5rem}.siswa-page-head__title svg{color:var(--siswa-green);flex-shrink:0}.siswa-page-head__sub{margin:6px 0 0;font-size:.88rem;color:var(--siswa-muted);line-height:1.45}.siswa-welcome-header,.siswa-table-header,.siswa-konfirmasi-header{display:none}.siswa-welcome-body,.siswa-table-body,.siswa-konfirmasi-body{padding:16px 18px 18px}.siswa-alert{background:#f8fafc;color:#334155;padding:14px 16px;border:1px solid var(--siswa-border);border-radius:10px;font-size:.9rem;line-height:1.6}.siswa-alert strong{color:var(--siswa-text)}.siswa-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.siswa-info-card{background:#f8fafc;border:1px solid var(--siswa-border);border-radius:10px;padding:12px 14px}.siswa-info-label{font-size:.7rem;color:var(--siswa-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-weight:600}.siswa-info-value{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-weight:700;color:var(--siswa-text);font-size:.88rem}.siswa-guide-panel{margin-top:0}.siswa-guide-panel .siswa-page-head{padding-bottom:4px}.siswa-guide-box{padding:0 18px 18px}.siswa-guide-title{display:none}.siswa-guide-list{margin:0;padding-left:18px;color:#334155;line-height:1.75;font-size:.88rem}.siswa-guide-list li+li{margin-top:4px}.siswa-ujian-list{display:flex;flex-direction:column;gap:12px}.siswa-ujian-card{background:#fff;border:1px solid var(--siswa-border);border-radius:12px;padding:16px;box-shadow:none;transition:border-color .15s,box-shadow .15s}.siswa-ujian-card:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}.siswa-ujian-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.siswa-ujian-card-name{font-weight:700;font-size:1rem;color:var(--siswa-text);letter-spacing:-.01em;line-height:1.35;margin:0}.siswa-ujian-card-kelas{font-size:.75rem;color:var(--siswa-faint);font-weight:600;white-space:nowrap}.siswa-ujian-meta{display:grid;grid-template-columns:max-content max-content 1fr;column-gap:.45rem;row-gap:.45rem;margin-bottom:14px;align-items:baseline}.siswa-ujian-meta__row{display:contents}.siswa-ujian-meta__label{font-size:.84rem;color:var(--siswa-muted);font-weight:600;white-space:nowrap}.siswa-ujian-meta__sep{font-size:.84rem;color:var(--siswa-muted);font-weight:600}.siswa-ujian-meta__value{font-size:.88rem;color:var(--siswa-text);font-weight:700;min-width:0;word-break:break-word}.siswa-ujian-meta__value.is-selesai{color:var(--siswa-green)}.siswa-ujian-meta__value.is-belum{color:#b45309}.siswa-ujian-meta__value.is-berakhir{color:#b91c1c}.siswa-btn-berakhir-label{display:flex;align-items:center;justify-content:center;gap:6px;color:#991b1b;font-weight:700;font-size:.85rem;padding:11px;background:#fef2f2;border-radius:10px;border:1px solid #fecaca;width:100%;box-sizing:border-box}.siswa-countdown-info--ended{color:#991b1b;background:#fef2f2;border-color:#fecaca}.siswa-ujian-card-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.siswa-ujian-card-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--siswa-muted)}.siswa-ujian-card-item strong{color:#334155}.siswa-ujian-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.siswa-ujian-card-status{display:inline-flex;align-items:center;gap:.35rem;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}.siswa-ujian-card-status.selesai{background:var(--siswa-green-soft);color:var(--siswa-green)}.siswa-ujian-card-status.belum{background:#f1f5f9;color:#475569}.siswa-ujian-card-action{margin-top:0}.siswa-btn-ikuti{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:11px 14px;background:var(--siswa-green);color:#fff;border:none;border-radius:10px;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.siswa-btn-ikuti:hover{background:#166534}.siswa-btn-ikuti:active{transform:scale(.98)}.siswa-btn-selesai-label{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--siswa-green);font-weight:700;font-size:.85rem;padding:11px;background:#f8fafc;border-radius:10px;border:1px solid var(--siswa-border)}.siswa-konfirmasi-data{display:grid;grid-template-columns:max-content max-content 1fr;column-gap:.45rem;row-gap:0;margin-bottom:18px;border:1px solid var(--siswa-border);border-radius:10px;overflow:hidden;background:#fff;align-items:baseline;padding:4px 0}.siswa-konfirmasi-row{display:contents}.siswa-konfirmasi-label,.siswa-konfirmasi-sep,.siswa-konfirmasi-value{padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--siswa-border);font-size:.88rem}.siswa-konfirmasi-row:last-child .siswa-konfirmasi-label,.siswa-konfirmasi-row:last-child .siswa-konfirmasi-sep,.siswa-konfirmasi-row:last-child .siswa-konfirmasi-value{border-bottom:none}.siswa-konfirmasi-label{padding-left:14px;color:var(--siswa-muted);font-weight:600;white-space:nowrap;font-size:.84rem}.siswa-konfirmasi-sep{color:var(--siswa-muted);font-weight:600;font-size:.84rem}.siswa-konfirmasi-value{padding-right:14px;font-weight:700;color:var(--siswa-text);min-width:0;word-break:break-word}.siswa-token-field{margin-bottom:12px}.siswa-token-field__label{display:block;font-size:.78rem;color:var(--siswa-muted);margin-bottom:6px;font-weight:700;letter-spacing:.02em}.siswa-token-input{width:100%;padding:14px 12px;border:1.5px solid var(--siswa-border);border-radius:10px;font-size:1.05rem;text-align:center;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--siswa-text);transition:border-color .15s,box-shadow .15s;box-sizing:border-box;background:#fff}.siswa-token-input:focus{outline:none;border-color:var(--siswa-green);box-shadow:0 0 0 3px #15803d26}.siswa-konfirmasi-warning{display:flex;align-items:flex-start;gap:.5rem;background:#fffbeb;color:#92400e;padding:12px 14px;border-radius:10px;border:1px solid #fde68a;text-align:left;font-weight:600;font-size:.84rem;line-height:1.5}.siswa-countdown-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:#f8fafc;color:#334155;padding:12px 14px;border-radius:10px;margin-top:12px;text-align:center;font-size:.88rem;border:1px solid var(--siswa-border)}.siswa-countdown-info strong{color:var(--siswa-text);font-size:1rem}.siswa-countdown-info__meta{font-size:.75rem;color:var(--siswa-muted)}.siswa-konfirmasi-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.siswa-btn-mulai{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--siswa-green);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;box-shadow:0 4px 12px #15803d38}.siswa-btn-mulai:hover{background:#166534}.siswa-btn-mulai:active{transform:scale(.98)}.siswa-btn-kembali{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:11px;background:transparent;color:var(--siswa-muted);border:1px solid var(--siswa-border);border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.siswa-btn-kembali:hover{background:#f8fafc;color:var(--siswa-text)}.siswa-empty-state{text-align:center;padding:48px 20px;color:var(--siswa-faint)}.siswa-empty-state-icon{font-size:2.25rem;color:#cbd5e1;margin-bottom:10px}.siswa-empty-state-text{font-size:.92rem;color:var(--siswa-muted);line-height:1.5;max-width:280px;margin:0 auto}.siswa-footer{background-color:#fff;color:var(--siswa-muted);text-align:center;padding:14px 16px;font-size:.75rem;border-top:1px solid var(--siswa-border);margin-top:auto}.siswa-footer-title{font-weight:700;color:#334155;margin-bottom:3px;font-size:.8rem}.siswa-footer-time{color:var(--siswa-faint);font-size:.7rem}.siswa-profil-hero{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;background:#f8fafc;border:1px solid var(--siswa-border);border-radius:12px}.siswa-profil-hero__avatar-wrap{flex-shrink:0}.siswa-profil-hero__avatar{position:relative;width:72px;height:72px;padding:0;border:none;border-radius:999px;background:var(--siswa-green-soft);color:var(--siswa-green);display:inline-flex;align-items:center;justify-content:center;font-size:2.4rem;flex-shrink:0;cursor:pointer;overflow:hidden}.siswa-profil-hero__avatar:disabled{opacity:.7;cursor:wait}.siswa-profil-hero__photo{width:100%;height:100%;object-fit:cover;display:block}.siswa-profil-hero__camera{position:absolute;right:2px;bottom:2px;width:22px;height:22px;border-radius:999px;background:var(--siswa-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;box-shadow:0 1px 4px #0f172a33}.siswa-profil-hero__name{margin:0;font-size:1.05rem;font-weight:700;color:var(--siswa-text);letter-spacing:-.01em}.siswa-profil-hero__meta{margin:4px 0 0;font-size:.85rem;color:var(--siswa-muted);font-weight:600}.siswa-profil-hero__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.siswa-profil-foto-btn{appearance:none;border:1px solid var(--siswa-green);background:var(--siswa-green);color:#fff;font-size:.78rem;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer}.siswa-profil-foto-btn:disabled{opacity:.65;cursor:wait}.siswa-profil-foto-btn--ghost{background:#fff;color:var(--siswa-muted);border-color:var(--siswa-border)}.siswa-profil-hero__hint{margin:8px 0 0;font-size:.72rem;color:var(--siswa-faint)}.siswa-profil-data{margin-bottom:0}.siswa-dashboard{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:pan-x pan-y}.hamburger-nav-btn-soal{display:none!important}.exam-topbar{position:sticky;top:0;z-index:1200;padding:10px 0;border-bottom:2px solid var(--siswa-green, #15803d);display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f4f6f9eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin-bottom:14px}.exam-topbar__left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.exam-topbar__meta{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;min-width:0;width:100%}.exam-topbar__title{margin:0;font-size:.9rem;font-weight:700;color:var(--siswa-text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(100%,420px)}.exam-topbar__soal{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--siswa-muted, #64748b);letter-spacing:.02em;margin-left:auto}.exam-topbar__badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:3px 10px;border-radius:8px;background:var(--siswa-green, #15803d);color:#fff;font-size:.88rem;font-weight:800}.exam-topbar__total{font-weight:600;color:var(--siswa-faint, #94a3b8)}.exam-topbar .hamburger-nav-btn-soal{display:inline-flex!important;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;color:#0f172a;padding:8px 12px;border-radius:12px;cursor:pointer;box-shadow:0 6px 14px #0206171a}@media(max-width:768px){.siswa-main--exam{padding:0}.siswa-main--exam .main-soal-panel{min-height:100dvh;border-radius:0;border:none;box-shadow:none}.exam-topbar{position:sticky;top:0;z-index:1200;margin:0;padding:10px 12px;gap:8px;border-bottom:1px solid #e2e8f0;background:#fffffff5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.exam-topbar__left{gap:8px;min-width:0}.exam-topbar__meta{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:auto;flex:1;min-width:0}.exam-topbar__title{font-size:.78rem;font-weight:700;max-width:42vw;color:#64748b}.exam-topbar__soal{margin-left:0;font-size:.75rem;gap:6px}.exam-topbar__badge{min-width:1.6rem;padding:2px 7px;font-size:.78rem;border-radius:6px}.exam-topbar .hamburger-nav-btn-soal{width:40px;height:40px;padding:0;border-radius:10px;box-shadow:none;background:#f8fafc;flex-shrink:0}.exam-timer{min-width:84px;padding:7px 10px;font-size:.85rem;border-radius:10px;flex-shrink:0;box-shadow:0 4px 12px #dc26262e}.soal-content-area{padding:14px 14px 8px!important}.exam-actions{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr 1fr 1.35fr;gap:8px;padding:8px;border-radius:14px}.exam-actions__btn{border-radius:10px;padding:11px 8px;font-size:.82rem;font-weight:700}}.exam-timer{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:8px 12px;border-radius:12px;font-weight:900;font-size:1rem;min-width:92px;text-align:center;box-shadow:0 10px 18px #dc262638}.soal-content-area{min-height:280px}.soal-pertanyaan{font-size:1rem;color:var(--siswa-text, #0f172a);margin-bottom:22px;line-height:1.65}.exam-opsi-list{display:flex;flex-direction:column;gap:10px}.exam-opsi{display:flex;align-items:stretch;border:1px solid var(--siswa-border, #e2e8f0);border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s,box-shadow .15s}.exam-opsi:hover{border-color:var(--siswa-green-border, #bbf7d0);background:#f8fafc}.exam-opsi.is-selected{border-color:var(--siswa-green, #15803d);background:var(--siswa-green-soft, #dcfce7);box-shadow:0 0 0 2px #15803d1f}.exam-opsi__letter{flex-shrink:0;width:44px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;text-transform:lowercase;color:var(--siswa-text, #0f172a);background:#f1f5f9;border-right:1px solid var(--siswa-border, #e2e8f0)}.exam-opsi.is-selected .exam-opsi__letter{background:var(--siswa-green, #15803d);color:#fff;border-right-color:var(--siswa-green, #15803d)}.exam-opsi__body{flex:1;min-width:0;padding:12px 16px;display:flex;flex-direction:column;justify-content:center;font-size:.92rem;color:#334155}.exam-essay{display:flex;flex-direction:column;gap:8px}.exam-essay__label{font-weight:700;font-size:.88rem;color:var(--siswa-text, #0f172a)}.exam-essay__input{width:100%;min-height:140px;border:1px solid var(--siswa-border, #e2e8f0);border-radius:10px;padding:12px 14px;font-size:.95rem;line-height:1.6;color:var(--siswa-text, #0f172a);background:#fff;resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}.exam-essay__input:focus{border-color:var(--siswa-green, #15803d);box-shadow:0 0 0 3px #15803d26}.img-responsive-soal{max-width:90%;height:auto;max-height:200px;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid #f0f0f0;display:block;margin:8px 0;transition:transform .3s ease,box-shadow .3s ease;cursor:zoom-in}.img-responsive-soal:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.soal-image-wrapper{display:flex;justify-content:flex-start;align-items:center;width:100%;margin:8px 0}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:9999;cursor:zoom-out;padding:20px}.lightbox-content{max-width:95%;max-height:95%;object-fit:contain;border-radius:8px;box-shadow:0 0 30px #00000080}@media screen and (max-width:768px){.siswa-main{padding:12px 12px 96px;gap:12px}.siswa-info-grid{grid-template-columns:1fr 1fr}.hamburger-nav-btn-soal{display:flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;z-index:2000;pointer-events:auto!important}.ujian-layout-container{flex-direction:column!important}.hamburger-nav-btn{display:flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;z-index:2000;pointer-events:auto!important}.navigasi-soal-panel{position:fixed!important;inset:auto 0 0;width:100%!important;height:min(72vh,640px);background-color:#fff!important;z-index:3000!important;margin-top:0!important;transition:transform .26s ease-in-out!important;display:block!important;border-top:1px solid #e5e7eb;border-radius:18px 18px 0 0!important;box-shadow:0 -18px 40px #0206172e!important;transform:translateY(110%);overflow:hidden}.navigasi-soal-panel.nav-open{transform:translateY(0)}.nav-overlay{position:fixed;inset:0;background-color:#00000080;z-index:2999;display:none}.nav-overlay.show{display:block}.main-soal-panel{width:100%!important;order:1}.img-responsive-soal{max-height:150px;max-width:100%}.soal-content-area{padding:0!important}}.exam-nav-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:linear-gradient(180deg,#fff,#fafafa);border-bottom:1px solid #e5e7eb}.exam-nav-title{font-weight:900;color:#0f172a;display:inline-flex;align-items:center;gap:10px}.exam-nav-close{border:1px solid #e5e7eb;background:#fff;border-radius:12px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.exam-nav-grid{padding:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:auto;height:calc(100% - 66px)}@media(min-width:769px){.exam-nav-grid{grid-template-columns:repeat(3,minmax(0,1fr));height:auto}}.exam-nav-btn{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:10px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 8px 16px #02061714}.exam-nav-btn__num{font-weight:900;color:#0f172a}.exam-nav-btn__ans{font-size:.75rem;font-weight:800;color:#64748b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-nav-btn.empty{opacity:.9}.exam-nav-btn.answered{border-color:#10b98159;background:#10b98114}.exam-nav-btn.ragu{border-color:#f59e0b59;background:#f59e0b1a}.exam-nav-btn.current{border-color:#15803d73;background:#15803d1a;box-shadow:0 0 0 3px #15803d2e}.siswa-exam-overlay{position:fixed;inset:0;z-index:2990;background:#0f172a80;opacity:0;pointer-events:none;transition:opacity .25s ease}.siswa-exam-overlay.is-open{opacity:1;pointer-events:auto}.siswa-exam-sidebar{position:fixed;z-index:3000;left:0;right:0;bottom:0;display:flex;flex-direction:column;max-height:min(78dvh,640px);width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:16px 16px 0 0;box-shadow:0 -12px 40px #0f172a29;transform:translateY(110%);transition:transform .28s ease;padding-bottom:env(safe-area-inset-bottom,0);font-family:Inter,system-ui,sans-serif}.siswa-exam-sidebar.is-open{transform:translateY(0)}.siswa-exam-sidebar__handle{display:block;width:40px;height:4px;margin:10px auto 4px;border-radius:999px;background:#cbd5e1}.siswa-exam-sidebar__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 14px 12px;border-bottom:1px solid #f1f5f9}.siswa-exam-sidebar__eyebrow{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.siswa-exam-sidebar__title{margin:2px 0 0;font-size:.9rem;font-weight:700;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.siswa-exam-sidebar__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;cursor:pointer;flex-shrink:0}.siswa-exam-sidebar__timer{padding:12px 14px;border-bottom:1px solid #f1f5f9}.siswa-exam-sidebar__timer-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.siswa-exam-sidebar__label{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.siswa-exam-sidebar__clock{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem;font-weight:800;letter-spacing:.04em;color:#fff;background:#15803d;padding:6px 12px;border-radius:8px;min-width:96px;text-align:center}.siswa-exam-sidebar__clock.is-urgent{background:#d97706}.siswa-exam-sidebar__clock.is-critical{background:#dc2626;animation:siswa-exam-pulse 1s ease-in-out infinite}@keyframes siswa-exam-pulse{50%{opacity:.75}}.siswa-exam-sidebar__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.siswa-exam-sidebar__stat{text-align:center;background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:6px 4px}.siswa-exam-sidebar__stat strong{display:block;font-size:.95rem;font-weight:800;color:#0f172a;line-height:1.2}.siswa-exam-sidebar__stat span{font-size:.65rem;font-weight:600;color:#94a3b8}.siswa-exam-sidebar__stat--ragu{background:#fffbeb;border-color:#fde68a}.siswa-exam-sidebar__stat--ragu strong{color:#b45309}.siswa-exam-sidebar__stat--ragu span{color:#d97706}.siswa-exam-sidebar__nav{padding:12px 14px 14px;flex:1;min-height:0;overflow:auto}.siswa-exam-sidebar__nav>.siswa-exam-sidebar__label{width:100%;justify-content:space-between;margin-bottom:10px}.siswa-exam-sidebar__count{font-size:.72rem;font-weight:800;color:#15803d;background:#dcfce7;border-radius:999px;padding:2px 8px;letter-spacing:0;text-transform:none}.siswa-exam-sidebar__grid{display:flex;flex-wrap:wrap;gap:8px}.siswa-exam-num{width:36px;height:36px;flex:0 0 36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#0f172a;font-size:.82rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,color .12s}.siswa-exam-num:hover{border-color:#86efac;background:#f0fdf4}.siswa-exam-num--answered{border-color:#86efac;background:#dcfce7;color:#166534}.siswa-exam-num--ragu{border-color:#fcd34d;background:#fffbeb;color:#b45309}.siswa-exam-num--current{border-color:#15803d;background:#15803d;color:#fff}.siswa-exam-sidebar__legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:12px;font-size:.68rem;font-weight:600;color:#64748b}.siswa-exam-sidebar__legend span{display:inline-flex;align-items:center;gap:5px}.siswa-exam-dot{width:8px;height:8px;border-radius:2px;display:inline-block;flex-shrink:0}.siswa-exam-dot--aktif{background:#15803d}.siswa-exam-dot--jawab{background:#dcfce7;border:1px solid #86efac}.siswa-exam-dot--ragu{background:#fffbeb;border:1px solid #fcd34d}.siswa-exam-dot--belum{background:#fff;border:1px solid #e2e8f0}@media(min-width:1024px){.siswa-exam-overlay{display:block}.siswa-exam-overlay.is-open{opacity:1;pointer-events:auto}.siswa-exam-sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,92vw);max-height:none;height:100dvh;border-radius:0 12px 12px 0;box-shadow:8px 0 32px #0f172a2e;transform:translate(-105%);z-index:3000;overflow:auto}.siswa-exam-sidebar.is-open{transform:translate(0)}.siswa-exam-sidebar__handle{display:none}.siswa-exam-sidebar__close{display:inline-flex}.siswa-exam-sidebar__head{padding:14px 16px}.siswa-exam-sidebar__title{max-width:220px;white-space:normal}}.ujian-layout-container{display:flex;flex-direction:column;gap:12px;width:100%;align-items:stretch}@media(max-width:1023px){.ujian-layout-container .main-soal-panel{padding-bottom:88px}}.navigasi-soal-panel{width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 10px 24px #0206171a}.main-soal-panel{flex:1;min-width:0}.exam-actions{position:fixed;left:12px;right:12px;bottom:12px;z-index:2500;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px;padding:10px;background:#ffffffeb;border:1px solid rgba(148,163,184,.35);border-radius:18px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 14px 30px #02061729}@media(min-width:769px)and (max-width:1023px){.exam-actions{position:fixed;left:16px;right:16px;bottom:16px;z-index:2500;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px;max-width:none;margin:0;padding:10px;background:#fffffff5;border:1px solid rgba(148,163,184,.35);border-radius:16px;box-shadow:0 14px 30px #02061729}.exam-actions__btn--nomor{display:none}.exam-actions__btn--prev{display:inline-flex;align-items:center;justify-content:center}.exam-actions{grid-template-columns:1fr 1fr 1.4fr}}.exam-actions__btn{border:none;border-radius:14px;padding:12px 10px;font-weight:900;cursor:pointer;font-size:.9rem}.exam-actions__btn.primary{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}.exam-actions__btn.secondary{background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0}.exam-actions__btn.warn{background:#f59e0b29;color:#92400e;border:1px solid rgba(245,158,11,.35)}.exam-actions__btn.danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.exam-actions__btn:disabled,.exam-actions__btn.disabled{opacity:.6;cursor:not-allowed}.exam-actions__btn--prev{display:none}@media(min-width:769px){.exam-actions__btn--prev{display:inline-flex;align-items:center;justify-content:center}}@media screen and (min-width:769px){.siswa-main--lobby{padding:24px;gap:20px}.siswa-info-grid,.siswa-ujian-card-info{grid-template-columns:repeat(4,1fr)}.img-responsive-soal{max-height:220px;max-width:450px}.siswa-logout-btn{padding:8px 18px;font-size:.85rem}}.soal-rich-text{line-height:1.6;word-wrap:break-word}.soal-rich-text p{margin:0 0 .35em}.soal-rich-text p:last-child{margin-bottom:0}.soal-rich-text sup{font-size:.72em;vertical-align:super;line-height:0;font-weight:inherit}.soal-rich-text sub{font-size:.72em;vertical-align:sub;line-height:0;font-weight:inherit}.soal-rich-text .math-formula{display:inline-block;vertical-align:middle;margin:0 .15em}.soal-rich-text .math-formula math{font-size:1.05em}.soal-rich-text .math-frac{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;vertical-align:middle;margin:0 .2em;line-height:1.15;text-align:center}.soal-rich-text .math-frac-num{padding:0 .25em .1em;border-bottom:1.5px solid currentColor}.soal-rich-text .math-frac-den{padding:.1em .25em 0}.soal-rich-text .math-delim{display:inline-flex;align-items:center;vertical-align:middle}.soal-rich-text .math-delim-body{margin:0 .05em}.soal-rich-text .math-sqrt{white-space:nowrap}.install-page{display:flex;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:#1a1a1a}.install-hero{flex:1.5;position:relative;overflow:hidden;background:linear-gradient(180deg,#7ec8e8,#a8daf0 35%,#c5e8f7 60%,#e8f4fa);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:2rem 1.5rem 0;min-height:320px}.install-hero__logos{position:absolute;top:1.75rem;left:1.75rem;display:flex;flex-wrap:wrap;gap:.65rem;z-index:2}.install-hero__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;background:#ffffffeb;border-radius:8px;font-size:.7rem;font-weight:700;color:#1e3a5f;box-shadow:0 2px 8px #00000014}.install-hero__badge-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:#fff}.install-hero__badge-icon--green{background:#16a34a}.install-hero__badge-icon--blue{background:#2563eb}.install-hero__badge-icon--orange{background:#ea580c}.install-hero__scene{position:relative;width:100%;max-width:520px;margin:0 auto;z-index:1}.install-hero__building{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 24px rgba(0,60,100,.15))}.install-hero__cloud{position:absolute;background:#ffffffd9;border-radius:50px;opacity:.9}.install-hero__cloud--1{width:80px;height:28px;top:18%;left:8%}.install-hero__cloud--2{width:100px;height:32px;top:12%;right:12%}.install-panel{flex:1;background:#eceff1;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.install-card{width:100%;max-width:420px;background:#fff;border-radius:4px;box-shadow:0 2px 12px #00000014;padding:2rem 2rem 1.75rem}.install-card__title{font-size:1.75rem;font-weight:700;margin:0 0 .35rem;color:#111;letter-spacing:-.02em}.install-card__subtitle{font-size:1.35rem;font-weight:700;margin:0 0 .5rem;color:#111}.install-card__desc{font-size:.8rem;color:#757575;margin:0 0 1.75rem;line-height:1.5}.install-field{margin-bottom:1rem}.install-input-group{display:flex;align-items:stretch;border:1px solid #cfd8dc;border-radius:2px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.install-input-group:focus-within{border-color:#64b5f6;box-shadow:0 0 0 2px #4285f426}.install-input-group__icon{flex-shrink:0;width:44px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color:#9e9e9e;border-right:1px solid #e0e0e0;font-size:1rem}.install-input-group__input{flex:1;min-width:0;border:none;outline:none;padding:.65rem .75rem;font-size:.875rem;color:#333;background:#fff}.install-input-group__input::placeholder{color:#bdbdbd}.install-input-group__input:read-only{color:#616161;background:#fafafa}.install-input-group__suffix{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0 .65rem;color:#9e9e9e;background:#fff;border:none;cursor:pointer}.install-input-group__suffix:hover{color:#616161}.install-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.install-btn{background:#4285f4;color:#fff;border:none;border-radius:4px;padding:.55rem 1.75rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:0 1px 3px #4285f459}.install-btn:hover:not(:disabled){background:#3367d6;box-shadow:0 2px 6px #4285f466}.install-btn:disabled{opacity:.65;cursor:not-allowed}.install-alert{margin-bottom:1rem;padding:.65rem .85rem;border-radius:4px;font-size:.8rem;line-height:1.4}.install-alert--error{background:#ffebee;color:#c62828;border:1px solid #ffcdd2}.install-alert--success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}@media(max-width:900px){.install-page{flex-direction:column}.install-hero{flex:none;min-height:240px;max-height:42vh}.install-hero__scene{max-width:320px}.install-panel{flex:1;padding:1.5rem 1rem 2rem}}
