.lc-toolsbox-tw .pointer-events-none{pointer-events:none}.lc-toolsbox-tw .visible{visibility:visible}.lc-toolsbox-tw .collapse{visibility:collapse}.lc-toolsbox-tw .static{position:static}.lc-toolsbox-tw .fixed{position:fixed}.lc-toolsbox-tw .absolute{position:absolute}.lc-toolsbox-tw .relative{position:relative}.lc-toolsbox-tw .sticky{position:sticky}.lc-toolsbox-tw .inset-0{inset:0}.lc-toolsbox-tw .-bottom-1{bottom:-.25rem}.lc-toolsbox-tw .-bottom-16{bottom:-4rem}.lc-toolsbox-tw .-bottom-2{bottom:-.5rem}.lc-toolsbox-tw .-left-3{left:-.75rem}.lc-toolsbox-tw .-right-0\.5{right:-.125rem}.lc-toolsbox-tw .-right-1{right:-.25rem}.lc-toolsbox-tw .-right-1\.5{right:-.375rem}.lc-toolsbox-tw .-right-2{right:-.5rem}.lc-toolsbox-tw .-right-3{right:-.75rem}.lc-toolsbox-tw .-right-4{right:-1rem}.lc-toolsbox-tw .-right-6{right:-1.5rem}.lc-toolsbox-tw .-top-0\.5{top:-.125rem}.lc-toolsbox-tw .-top-1{top:-.25rem}.lc-toolsbox-tw .-top-1\.5{top:-.375rem}.lc-toolsbox-tw .-top-2{top:-.5rem}.lc-toolsbox-tw .-top-4{top:-1rem}.lc-toolsbox-tw .-top-6{top:-1.5rem}.lc-toolsbox-tw .bottom-0{bottom:0}.lc-toolsbox-tw .bottom-12{bottom:3rem}.lc-toolsbox-tw .bottom-20{bottom:5rem}.lc-toolsbox-tw .bottom-3{bottom:.75rem}.lc-toolsbox-tw .bottom-4{bottom:1rem}.lc-toolsbox-tw .bottom-6{bottom:1.5rem}.lc-toolsbox-tw .bottom-8{bottom:2rem}.lc-toolsbox-tw .left-0{left:0}.lc-toolsbox-tw .left-1\/2{left:50%}.lc-toolsbox-tw .left-2{left:.5rem}.lc-toolsbox-tw .left-3{left:.75rem}.lc-toolsbox-tw .left-4{left:1rem}.lc-toolsbox-tw .right-0{right:0}.lc-toolsbox-tw .right-2{right:.5rem}.lc-toolsbox-tw .right-4{right:1rem}.lc-toolsbox-tw .top-0{top:0}.lc-toolsbox-tw .top-1\/2{top:50%}.lc-toolsbox-tw .top-14{top:3.5rem}.lc-toolsbox-tw .top-3{top:.75rem}.lc-toolsbox-tw .top-4{top:1rem}.lc-toolsbox-tw .top-\[3rem\]{top:3rem}.lc-toolsbox-tw .top-\[60\%\]{top:60%}.lc-toolsbox-tw .top-\[7rem\]{top:7rem}.lc-toolsbox-tw .top-full{top:100%}.lc-toolsbox-tw .isolate{isolation:isolate}.lc-toolsbox-tw .z-10{z-index:10}.lc-toolsbox-tw .z-20{z-index:20}.lc-toolsbox-tw .z-30{z-index:30}.lc-toolsbox-tw .z-40{z-index:40}.lc-toolsbox-tw .z-50,.lc-toolsbox-tw .z-\[50\]{z-index:50}.lc-toolsbox-tw .z-\[60\]{z-index:60}.lc-toolsbox-tw .-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lc-toolsbox-tw .mx-1{margin-left:.25rem;margin-right:.25rem}.lc-toolsbox-tw .mx-2{margin-left:.5rem;margin-right:.5rem}.lc-toolsbox-tw .mx-auto{margin-left:auto;margin-right:auto}.lc-toolsbox-tw .my-2{margin-bottom:.5rem;margin-top:.5rem}.lc-toolsbox-tw .-mt-3{margin-top:-.75rem}.lc-toolsbox-tw .mb-0\.5{margin-bottom:.125rem}.lc-toolsbox-tw .mb-1{margin-bottom:.25rem}.lc-toolsbox-tw .mb-1\.5{margin-bottom:.375rem}.lc-toolsbox-tw .mb-2{margin-bottom:.5rem}.lc-toolsbox-tw .mb-3{margin-bottom:.75rem}.lc-toolsbox-tw .mb-4{margin-bottom:1rem}.lc-toolsbox-tw .mb-6{margin-bottom:1.5rem}.lc-toolsbox-tw .ml-0{margin-left:0}.lc-toolsbox-tw .ml-1{margin-left:.25rem}.lc-toolsbox-tw .ml-1\.5{margin-left:.375rem}.lc-toolsbox-tw .ml-2{margin-left:.5rem}.lc-toolsbox-tw .ml-4{margin-left:1rem}.lc-toolsbox-tw .ml-auto{margin-left:auto}.lc-toolsbox-tw .mr-1{margin-right:.25rem}.lc-toolsbox-tw .mr-1\.5{margin-right:.375rem}.lc-toolsbox-tw .mr-2{margin-right:.5rem}.lc-toolsbox-tw .mt-0{margin-top:0}.lc-toolsbox-tw .mt-0\.5{margin-top:.125rem}.lc-toolsbox-tw .mt-1{margin-top:.25rem}.lc-toolsbox-tw .mt-1\.5{margin-top:.375rem}.lc-toolsbox-tw .mt-10{margin-top:2.5rem}.lc-toolsbox-tw .mt-2{margin-top:.5rem}.lc-toolsbox-tw .mt-3{margin-top:.75rem}.lc-toolsbox-tw .mt-4{margin-top:1rem}.lc-toolsbox-tw .mt-5{margin-top:1.25rem}.lc-toolsbox-tw .mt-6{margin-top:1.5rem}.lc-toolsbox-tw .mt-8{margin-top:2rem}.lc-toolsbox-tw .line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.lc-toolsbox-tw .block{display:block}.lc-toolsbox-tw .inline-block{display:inline-block}.lc-toolsbox-tw .inline{display:inline}.lc-toolsbox-tw .flex{display:flex}.lc-toolsbox-tw .inline-flex{display:inline-flex}.lc-toolsbox-tw .table{display:table}.lc-toolsbox-tw .table-row{display:table-row}.lc-toolsbox-tw .grid{display:grid}.lc-toolsbox-tw .contents{display:contents}.lc-toolsbox-tw .hidden{display:none}.lc-toolsbox-tw .h-0\.5{height:.125rem}.lc-toolsbox-tw .h-1\.5{height:.375rem}.lc-toolsbox-tw .h-10{height:2.5rem}.lc-toolsbox-tw .h-12{height:3rem}.lc-toolsbox-tw .h-16{height:4rem}.lc-toolsbox-tw .h-20{height:5rem}.lc-toolsbox-tw .h-28{height:7rem}.lc-toolsbox-tw .h-3{height:.75rem}.lc-toolsbox-tw .h-3\.5{height:.875rem}.lc-toolsbox-tw .h-32{height:8rem}.lc-toolsbox-tw .h-4{height:1rem}.lc-toolsbox-tw .h-5{height:1.25rem}.lc-toolsbox-tw .h-6{height:1.5rem}.lc-toolsbox-tw .h-7{height:1.75rem}.lc-toolsbox-tw .h-8{height:2rem}.lc-toolsbox-tw .h-\[280px\]{height:280px}.lc-toolsbox-tw .h-full{height:100%}.lc-toolsbox-tw .max-h-20{max-height:5rem}.lc-toolsbox-tw .max-h-24{max-height:6rem}.lc-toolsbox-tw .max-h-28{max-height:7rem}.lc-toolsbox-tw .max-h-32{max-height:8rem}.lc-toolsbox-tw .max-h-40{max-height:10rem}.lc-toolsbox-tw .max-h-48{max-height:12rem}.lc-toolsbox-tw .max-h-56{max-height:14rem}.lc-toolsbox-tw .max-h-64{max-height:16rem}.lc-toolsbox-tw .max-h-72{max-height:18rem}.lc-toolsbox-tw .max-h-80{max-height:20rem}.lc-toolsbox-tw .max-h-96{max-height:24rem}.lc-toolsbox-tw .max-h-\[40vh\]{max-height:40vh}.lc-toolsbox-tw .max-h-\[420px\]{max-height:420px}.lc-toolsbox-tw .max-h-\[600px\]{max-height:600px}.lc-toolsbox-tw .max-h-\[70vh\]{max-height:70vh}.lc-toolsbox-tw .max-h-\[80vh\]{max-height:80vh}.lc-toolsbox-tw .max-h-\[85vh\]{max-height:85vh}.lc-toolsbox-tw .max-h-\[90vh\]{max-height:90vh}.lc-toolsbox-tw .max-h-\[calc\(100vh-180px\)\]{max-height:calc(100vh - 180px)}.lc-toolsbox-tw .min-h-0{min-height:0}.lc-toolsbox-tw .min-h-\[10rem\]{min-height:10rem}.lc-toolsbox-tw .min-h-\[120px\]{min-height:120px}.lc-toolsbox-tw .min-h-\[16rem\]{min-height:16rem}.lc-toolsbox-tw .min-h-\[200px\]{min-height:200px}.lc-toolsbox-tw .min-h-\[2rem\]{min-height:2rem}.lc-toolsbox-tw .min-h-\[320px\]{min-height:320px}.lc-toolsbox-tw .min-h-\[480px\]{min-height:480px}.lc-toolsbox-tw .min-h-\[52px\]{min-height:52px}.lc-toolsbox-tw .min-h-\[56px\]{min-height:56px}.lc-toolsbox-tw .min-h-\[72px\]{min-height:72px}.lc-toolsbox-tw .min-h-\[7rem\]{min-height:7rem}.lc-toolsbox-tw .min-h-screen{min-height:100vh}.lc-toolsbox-tw .w-0{width:0}.lc-toolsbox-tw .w-1{width:.25rem}.lc-toolsbox-tw .w-1\.5{width:.375rem}.lc-toolsbox-tw .w-10{width:2.5rem}.lc-toolsbox-tw .w-12{width:3rem}.lc-toolsbox-tw .w-14{width:3.5rem}.lc-toolsbox-tw .w-16{width:4rem}.lc-toolsbox-tw .w-2{width:.5rem}.lc-toolsbox-tw .w-20{width:5rem}.lc-toolsbox-tw .w-3{width:.75rem}.lc-toolsbox-tw .w-3\.5{width:.875rem}.lc-toolsbox-tw .w-4{width:1rem}.lc-toolsbox-tw .w-5{width:1.25rem}.lc-toolsbox-tw .w-52{width:13rem}.lc-toolsbox-tw .w-6{width:1.5rem}.lc-toolsbox-tw .w-7{width:1.75rem}.lc-toolsbox-tw .w-72{width:18rem}.lc-toolsbox-tw .w-8{width:2rem}.lc-toolsbox-tw .w-80{width:20rem}.lc-toolsbox-tw .w-\[12\%\]{width:12%}.lc-toolsbox-tw .w-\[18\%\]{width:18%}.lc-toolsbox-tw .w-\[22\%\]{width:22%}.lc-toolsbox-tw .w-\[220px\]{width:220px}.lc-toolsbox-tw .w-\[320px\]{width:320px}.lc-toolsbox-tw .w-\[90\%\]{width:90%}.lc-toolsbox-tw .w-\[92\%\]{width:92%}.lc-toolsbox-tw .w-full{width:100%}.lc-toolsbox-tw .w-px{width:1px}.lc-toolsbox-tw .min-w-0{min-width:0}.lc-toolsbox-tw .min-w-\[180px\]{min-width:180px}.lc-toolsbox-tw .min-w-\[18px\]{min-width:18px}.lc-toolsbox-tw .min-w-\[200px\]{min-width:200px}.lc-toolsbox-tw .min-w-\[20px\]{min-width:20px}.lc-toolsbox-tw .min-w-\[22px\]{min-width:22px}.lc-toolsbox-tw .min-w-\[260px\]{min-width:260px}.lc-toolsbox-tw .min-w-\[280px\]{min-width:280px}.lc-toolsbox-tw .min-w-\[300px\]{min-width:300px}.lc-toolsbox-tw .min-w-\[3rem\]{min-width:3rem}.lc-toolsbox-tw .min-w-\[4rem\]{min-width:4rem}.lc-toolsbox-tw .min-w-\[80px\]{min-width:80px}.lc-toolsbox-tw .max-w-2xl{max-width:42rem}.lc-toolsbox-tw .max-w-3xl{max-width:48rem}.lc-toolsbox-tw .max-w-4xl{max-width:56rem}.lc-toolsbox-tw .max-w-6xl{max-width:72rem}.lc-toolsbox-tw .max-w-\[100px\]{max-width:100px}.lc-toolsbox-tw .max-w-\[120px\]{max-width:120px}.lc-toolsbox-tw .max-w-\[1400px\]{max-width:1400px}.lc-toolsbox-tw .max-w-\[140px\]{max-width:140px}.lc-toolsbox-tw .max-w-\[1600px\]{max-width:1600px}.lc-toolsbox-tw .max-w-\[180px\]{max-width:180px}.lc-toolsbox-tw .max-w-\[200px\]{max-width:200px}.lc-toolsbox-tw .max-w-\[320px\]{max-width:320px}.lc-toolsbox-tw .max-w-\[400px\]{max-width:400px}.lc-toolsbox-tw .max-w-full{max-width:100%}.lc-toolsbox-tw .max-w-lg{max-width:32rem}.lc-toolsbox-tw .max-w-md{max-width:28rem}.lc-toolsbox-tw .max-w-none{max-width:none}.lc-toolsbox-tw .max-w-sm{max-width:24rem}.lc-toolsbox-tw .max-w-xl{max-width:36rem}.lc-toolsbox-tw .max-w-xs{max-width:20rem}.lc-toolsbox-tw .flex-1{flex:1 1}.lc-toolsbox-tw .flex-none{flex:none}.lc-toolsbox-tw .shrink-0{flex-shrink:0}.lc-toolsbox-tw .grow{flex-grow:1}.lc-toolsbox-tw .border-collapse{border-collapse:collapse}.lc-toolsbox-tw .origin-center{transform-origin:center}.lc-toolsbox-tw .origin-top-left{transform-origin:top left}.lc-toolsbox-tw .-translate-x-1\/2{--tw-translate-x:-50%}.lc-toolsbox-tw .-translate-x-1\/2,.lc-toolsbox-tw .-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lc-toolsbox-tw .-translate-y-1\/2{--tw-translate-y:-50%}.lc-toolsbox-tw .rotate-180{--tw-rotate:180deg}.lc-toolsbox-tw .rotate-180,.lc-toolsbox-tw .rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lc-toolsbox-tw .rotate-45{--tw-rotate:45deg}.lc-toolsbox-tw .scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.lc-toolsbox-tw .scale-105,.lc-toolsbox-tw .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lc-toolsbox-tw .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.lc-toolsbox-tw .animate-spin{animation:spin 1s linear infinite}.lc-toolsbox-tw .cursor-col-resize{cursor:col-resize}.lc-toolsbox-tw .cursor-default{cursor:default}.lc-toolsbox-tw .cursor-pointer{cursor:pointer}.lc-toolsbox-tw .select-none{-webkit-user-select:none;user-select:none}.lc-toolsbox-tw .resize-none{resize:none}.lc-toolsbox-tw .resize-y{resize:vertical}.lc-toolsbox-tw .list-inside{list-style-position:inside}.lc-toolsbox-tw .list-decimal{list-style-type:decimal}.lc-toolsbox-tw .list-disc{list-style-type:disc}.lc-toolsbox-tw .list-none{list-style-type:none}.lc-toolsbox-tw .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lc-toolsbox-tw .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-toolsbox-tw .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lc-toolsbox-tw .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lc-toolsbox-tw .flex-row{flex-direction:row}.lc-toolsbox-tw .flex-col{flex-direction:column}.lc-toolsbox-tw .flex-wrap{flex-wrap:wrap}.lc-toolsbox-tw .items-start{align-items:flex-start}.lc-toolsbox-tw .items-center{align-items:center}.lc-toolsbox-tw .items-baseline{align-items:baseline}.lc-toolsbox-tw .justify-end{justify-content:flex-end}.lc-toolsbox-tw .justify-center{justify-content:center}.lc-toolsbox-tw .justify-between{justify-content:space-between}.lc-toolsbox-tw .gap-0{gap:0}.lc-toolsbox-tw .gap-0\.5{gap:.125rem}.lc-toolsbox-tw .gap-1{gap:.25rem}.lc-toolsbox-tw .gap-1\.5{gap:.375rem}.lc-toolsbox-tw .gap-2{gap:.5rem}.lc-toolsbox-tw .gap-3{gap:.75rem}.lc-toolsbox-tw .gap-4{gap:1rem}.lc-toolsbox-tw .gap-6{gap:1.5rem}.lc-toolsbox-tw .gap-8{gap:2rem}.lc-toolsbox-tw .gap-x-2{column-gap:.5rem}.lc-toolsbox-tw .gap-x-3{column-gap:.75rem}.lc-toolsbox-tw .gap-x-4{column-gap:1rem}.lc-toolsbox-tw .gap-y-1\.5{row-gap:.375rem}.lc-toolsbox-tw .gap-y-2{row-gap:.5rem}.lc-toolsbox-tw :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-0\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-1\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.space-y-8>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.lc-toolsbox-tw :is(.divide-y>:not([hidden])~:not([hidden])){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.lc-toolsbox-tw :is(.divide-slate-600\/80>:not([hidden])~:not([hidden])){border-color:#475569cc}.lc-toolsbox-tw .self-center{align-self:center}.lc-toolsbox-tw .self-stretch{align-self:stretch}.lc-toolsbox-tw .overflow-auto{overflow:auto}.lc-toolsbox-tw .overflow-hidden{overflow:hidden}.lc-toolsbox-tw .overflow-visible{overflow:visible}.lc-toolsbox-tw .overflow-x-auto{overflow-x:auto}.lc-toolsbox-tw .overflow-y-auto{overflow-y:auto}.lc-toolsbox-tw .overflow-x-hidden{overflow-x:hidden}.lc-toolsbox-tw .overflow-y-visible{overflow-y:visible}.lc-toolsbox-tw .overflow-y-scroll{overflow-y:scroll}.lc-toolsbox-tw .overscroll-contain{overscroll-behavior:contain}.lc-toolsbox-tw .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-toolsbox-tw .whitespace-nowrap{white-space:nowrap}.lc-toolsbox-tw .whitespace-pre-line{white-space:pre-line}.lc-toolsbox-tw .whitespace-pre-wrap{white-space:pre-wrap}.lc-toolsbox-tw .break-words{overflow-wrap:break-word}.lc-toolsbox-tw .break-all{word-break:break-all}.lc-toolsbox-tw .rounded{border-radius:.25rem}.lc-toolsbox-tw .rounded-2xl{border-radius:1rem}.lc-toolsbox-tw .rounded-full{border-radius:9999px}.lc-toolsbox-tw .rounded-lg{border-radius:.5rem}.lc-toolsbox-tw .rounded-md{border-radius:.375rem}.lc-toolsbox-tw .rounded-sm{border-radius:.125rem}.lc-toolsbox-tw .rounded-xl{border-radius:.75rem}.lc-toolsbox-tw .rounded-r-lg{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.lc-toolsbox-tw .rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.lc-toolsbox-tw .rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.lc-toolsbox-tw .rounded-tl-xl{border-top-left-radius:.75rem}.lc-toolsbox-tw .border{border-width:1px}.lc-toolsbox-tw .border-0{border-width:0}.lc-toolsbox-tw .border-2{border-width:2px}.lc-toolsbox-tw .border-4{border-width:4px}.lc-toolsbox-tw .border-b{border-bottom-width:1px}.lc-toolsbox-tw .border-b-2{border-bottom-width:2px}.lc-toolsbox-tw .border-l{border-left-width:1px}.lc-toolsbox-tw .border-l-2{border-left-width:2px}.lc-toolsbox-tw .border-l-4{border-left-width:4px}.lc-toolsbox-tw .border-r{border-right-width:1px}.lc-toolsbox-tw .border-r-0{border-right-width:0}.lc-toolsbox-tw .border-r-2{border-right-width:2px}.lc-toolsbox-tw .border-t{border-top-width:1px}.lc-toolsbox-tw .border-t-2{border-top-width:2px}.lc-toolsbox-tw .border-dashed{border-style:dashed}.lc-toolsbox-tw .border-\[\#339af0\]{--tw-border-opacity:1;border-color:#339af0;border-color:rgb(51 154 240/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-\[\#667eea\]{--tw-border-opacity:1;border-color:#667eea;border-color:rgb(102 126 234/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-amber-200{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-amber-200\/60{border-color:#fde68a99}.lc-toolsbox-tw .border-amber-300{--tw-border-opacity:1;border-color:#fcd34d;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-amber-400{--tw-border-opacity:1;border-color:#fbbf24;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-amber-400\/40{border-color:#fbbf2466}.lc-toolsbox-tw .border-amber-400\/50{border-color:#fbbf2480}.lc-toolsbox-tw .border-amber-400\/60{border-color:#fbbf2499}.lc-toolsbox-tw .border-amber-400\/80{border-color:#fbbf24cc}.lc-toolsbox-tw .border-amber-500{--tw-border-opacity:1;border-color:#f59e0b;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-amber-500\/10{border-color:#f59e0b1a}.lc-toolsbox-tw .border-amber-500\/20{border-color:#f59e0b33}.lc-toolsbox-tw .border-amber-500\/25{border-color:#f59e0b40}.lc-toolsbox-tw .border-amber-500\/30{border-color:#f59e0b4d}.lc-toolsbox-tw .border-amber-500\/40{border-color:#f59e0b66}.lc-toolsbox-tw .border-amber-500\/50{border-color:#f59e0b80}.lc-toolsbox-tw .border-amber-500\/60{border-color:#f59e0b99}.lc-toolsbox-tw .border-amber-500\/90{border-color:#f59e0be6}.lc-toolsbox-tw .border-amber-600{--tw-border-opacity:1;border-color:#d97706;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-cyan-300{--tw-border-opacity:1;border-color:#67e8f9;border-color:rgb(103 232 249/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-cyan-400\/50{border-color:#22d3ee80}.lc-toolsbox-tw .border-cyan-500\/35{border-color:#06b6d459}.lc-toolsbox-tw .border-cyan-500\/40{border-color:#06b6d466}.lc-toolsbox-tw .border-emerald-300{--tw-border-opacity:1;border-color:#6ee7b7;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-emerald-400\/40{border-color:#34d39966}.lc-toolsbox-tw .border-emerald-400\/50{border-color:#34d39980}.lc-toolsbox-tw .border-emerald-400\/60{border-color:#34d39999}.lc-toolsbox-tw .border-emerald-500{--tw-border-opacity:1;border-color:#10b981;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-emerald-500\/10{border-color:#10b9811a}.lc-toolsbox-tw .border-emerald-500\/20{border-color:#10b98133}.lc-toolsbox-tw .border-emerald-500\/25{border-color:#10b98140}.lc-toolsbox-tw .border-emerald-500\/30{border-color:#10b9814d}.lc-toolsbox-tw .border-emerald-500\/40{border-color:#10b98166}.lc-toolsbox-tw .border-emerald-500\/50{border-color:#10b98180}.lc-toolsbox-tw .border-emerald-500\/60{border-color:#10b98199}.lc-toolsbox-tw .border-emerald-600{--tw-border-opacity:1;border-color:#059669;border-color:rgb(5 150 105/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-gray-400{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-green-300{--tw-border-opacity:1;border-color:#86efac;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-green-400{--tw-border-opacity:1;border-color:#4ade80;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-green-400\/30{border-color:#4ade804d}.lc-toolsbox-tw .border-indigo-200{--tw-border-opacity:1;border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-indigo-300{--tw-border-opacity:1;border-color:#a5b4fc;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-indigo-300\/40{border-color:#a5b4fc66}.lc-toolsbox-tw .border-indigo-400\/15{border-color:#818cf826}.lc-toolsbox-tw .border-indigo-400\/20{border-color:#818cf833}.lc-toolsbox-tw .border-indigo-400\/30{border-color:#818cf84d}.lc-toolsbox-tw .border-indigo-400\/40{border-color:#818cf866}.lc-toolsbox-tw .border-indigo-400\/50{border-color:#818cf880}.lc-toolsbox-tw .border-indigo-400\/60{border-color:#818cf899}.lc-toolsbox-tw .border-indigo-400\/70{border-color:#818cf8b3}.lc-toolsbox-tw .border-indigo-500\/20{border-color:#6366f133}.lc-toolsbox-tw .border-indigo-500\/30{border-color:#6366f14d}.lc-toolsbox-tw .border-indigo-500\/40{border-color:#6366f166}.lc-toolsbox-tw .border-indigo-500\/50{border-color:#6366f180}.lc-toolsbox-tw .border-indigo-500\/60{border-color:#6366f199}.lc-toolsbox-tw .border-lime-300{--tw-border-opacity:1;border-color:#bef264;border-color:rgb(190 242 100/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-orange-300{--tw-border-opacity:1;border-color:#fdba74;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-orange-400{--tw-border-opacity:1;border-color:#fb923c;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-pink-300{--tw-border-opacity:1;border-color:#f9a8d4;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-purple-300{--tw-border-opacity:1;border-color:#d8b4fe;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-purple-500\/20{border-color:#a855f733}.lc-toolsbox-tw .border-purple-500\/30{border-color:#a855f74d}.lc-toolsbox-tw .border-purple-500\/50{border-color:#a855f780}.lc-toolsbox-tw .border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-red-300{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-red-400{--tw-border-opacity:1;border-color:#f87171;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-red-400\/50{border-color:#f8717180}.lc-toolsbox-tw .border-red-500\/50{border-color:#ef444480}.lc-toolsbox-tw .border-rose-300{--tw-border-opacity:1;border-color:#fda4af;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-rose-400\/40{border-color:#fb718566}.lc-toolsbox-tw .border-rose-400\/50{border-color:#fb718580}.lc-toolsbox-tw .border-rose-500\/40{border-color:#f43f5e66}.lc-toolsbox-tw .border-sky-200{--tw-border-opacity:1;border-color:#bae6fd;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-sky-300{--tw-border-opacity:1;border-color:#7dd3fc;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-sky-400\/50{border-color:#38bdf880}.lc-toolsbox-tw .border-sky-400\/60{border-color:#38bdf899}.lc-toolsbox-tw .border-sky-400\/70{border-color:#38bdf8b3}.lc-toolsbox-tw .border-sky-500{--tw-border-opacity:1;border-color:#0ea5e9;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-sky-500\/20{border-color:#0ea5e933}.lc-toolsbox-tw .border-sky-500\/25{border-color:#0ea5e940}.lc-toolsbox-tw .border-sky-500\/30{border-color:#0ea5e94d}.lc-toolsbox-tw .border-sky-500\/40{border-color:#0ea5e966}.lc-toolsbox-tw .border-slate-200{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-slate-300{--tw-border-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-slate-400{--tw-border-opacity:1;border-color:#94a3b8;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-slate-500{--tw-border-opacity:1;border-color:#64748b;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-slate-500\/40{border-color:#64748b66}.lc-toolsbox-tw .border-slate-500\/50{border-color:#64748b80}.lc-toolsbox-tw .border-slate-500\/60{border-color:#64748b99}.lc-toolsbox-tw .border-slate-600{--tw-border-opacity:1;border-color:#475569;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-slate-600\/50{border-color:#47556980}.lc-toolsbox-tw .border-slate-600\/60{border-color:#47556999}.lc-toolsbox-tw .border-slate-600\/80{border-color:#475569cc}.lc-toolsbox-tw .border-slate-700{--tw-border-opacity:1;border-color:#334155;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-slate-800{--tw-border-opacity:1;border-color:#1e293b;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-slate-900{--tw-border-opacity:1;border-color:#0f172a;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-teal-300{--tw-border-opacity:1;border-color:#5eead4;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-teal-500\/30{border-color:#14b8a64d}.lc-toolsbox-tw .border-teal-500\/50{border-color:#14b8a680}.lc-toolsbox-tw .border-violet-200{--tw-border-opacity:1;border-color:#ddd6fe;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-violet-300{--tw-border-opacity:1;border-color:#c4b5fd;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-violet-400\/50{border-color:#a78bfa80}.lc-toolsbox-tw .border-violet-400\/60{border-color:#a78bfa99}.lc-toolsbox-tw .border-violet-500{--tw-border-opacity:1;border-color:#8b5cf6;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-violet-500\/20{border-color:#8b5cf633}.lc-toolsbox-tw .border-violet-500\/25{border-color:#8b5cf640}.lc-toolsbox-tw .border-violet-500\/30{border-color:#8b5cf64d}.lc-toolsbox-tw .border-violet-500\/40{border-color:#8b5cf666}.lc-toolsbox-tw .border-violet-500\/50{border-color:#8b5cf680}.lc-toolsbox-tw .border-violet-600{--tw-border-opacity:1;border-color:#7c3aed;border-color:rgb(124 58 237/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-white\/25{border-color:#ffffff40}.lc-toolsbox-tw .border-white\/30{border-color:#ffffff4d}.lc-toolsbox-tw .border-white\/40{border-color:#fff6}.lc-toolsbox-tw .border-yellow-300{--tw-border-opacity:1;border-color:#fde047;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-yellow-400{--tw-border-opacity:1;border-color:#facc15;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.lc-toolsbox-tw .border-yellow-400\/50{border-color:#facc1580}.lc-toolsbox-tw .bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-amber-400{--tw-bg-opacity:1;background-color:#fbbf24;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-amber-400\/25{background-color:#fbbf2440}.lc-toolsbox-tw .bg-amber-400\/50{background-color:#fbbf2480}.lc-toolsbox-tw .bg-amber-400\/70{background-color:#fbbf24b3}.lc-toolsbox-tw .bg-amber-400\/90{background-color:#fbbf24e6}.lc-toolsbox-tw .bg-amber-400\/95{background-color:#fbbf24f2}.lc-toolsbox-tw .bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-amber-50\/50{background-color:#fffbeb80}.lc-toolsbox-tw .bg-amber-50\/80{background-color:#fffbebcc}.lc-toolsbox-tw .bg-amber-500{--tw-bg-opacity:1;background-color:#f59e0b;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-amber-500\/10{background-color:#f59e0b1a}.lc-toolsbox-tw .bg-amber-500\/20{background-color:#f59e0b33}.lc-toolsbox-tw .bg-amber-500\/25{background-color:#f59e0b40}.lc-toolsbox-tw .bg-amber-500\/30{background-color:#f59e0b4d}.lc-toolsbox-tw .bg-amber-500\/40{background-color:#f59e0b66}.lc-toolsbox-tw .bg-amber-500\/80{background-color:#f59e0bcc}.lc-toolsbox-tw .bg-amber-500\/90{background-color:#f59e0be6}.lc-toolsbox-tw .bg-amber-500\/95{background-color:#f59e0bf2}.lc-toolsbox-tw .bg-amber-600{--tw-bg-opacity:1;background-color:#d97706;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-amber-600\/80{background-color:#d97706cc}.lc-toolsbox-tw .bg-amber-600\/90{background-color:#d97706e6}.lc-toolsbox-tw .bg-amber-900\/60{background-color:#78350f99}.lc-toolsbox-tw .bg-amber-950\/20{background-color:#451a0333}.lc-toolsbox-tw .bg-amber-950\/30{background-color:#451a034d}.lc-toolsbox-tw .bg-amber-950\/40{background-color:#451a0366}.lc-toolsbox-tw .bg-amber-950\/50{background-color:#451a0380}.lc-toolsbox-tw .bg-amber-950\/60{background-color:#451a0399}.lc-toolsbox-tw .bg-black\/50{background-color:#00000080}.lc-toolsbox-tw .bg-black\/60{background-color:#0009}.lc-toolsbox-tw .bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-cyan-100{--tw-bg-opacity:1;background-color:#cffafe;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-cyan-500{--tw-bg-opacity:1;background-color:#06b6d4;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-cyan-500\/80{background-color:#06b6d4cc}.lc-toolsbox-tw .bg-emerald-100{--tw-bg-opacity:1;background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-emerald-400{--tw-bg-opacity:1;background-color:#34d399;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-emerald-400\/50{background-color:#34d39980}.lc-toolsbox-tw .bg-emerald-400\/70{background-color:#34d399b3}.lc-toolsbox-tw .bg-emerald-400\/90{background-color:#34d399e6}.lc-toolsbox-tw .bg-emerald-400\/95{background-color:#34d399f2}.lc-toolsbox-tw .bg-emerald-50{--tw-bg-opacity:1;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-emerald-500{--tw-bg-opacity:1;background-color:#10b981;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-emerald-500\/15{background-color:#10b98126}.lc-toolsbox-tw .bg-emerald-500\/20{background-color:#10b98133}.lc-toolsbox-tw .bg-emerald-500\/25{background-color:#10b98140}.lc-toolsbox-tw .bg-emerald-500\/30{background-color:#10b9814d}.lc-toolsbox-tw .bg-emerald-500\/40{background-color:#10b98166}.lc-toolsbox-tw .bg-emerald-600{--tw-bg-opacity:1;background-color:#059669;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-emerald-600\/60{background-color:#05966999}.lc-toolsbox-tw .bg-emerald-600\/80{background-color:#059669cc}.lc-toolsbox-tw .bg-emerald-600\/90{background-color:#059669e6}.lc-toolsbox-tw .bg-emerald-900\/40{background-color:#064e3b66}.lc-toolsbox-tw .bg-emerald-900\/50{background-color:#064e3b80}.lc-toolsbox-tw .bg-emerald-950\/20{background-color:#022c2233}.lc-toolsbox-tw .bg-emerald-950\/30{background-color:#022c224d}.lc-toolsbox-tw .bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-gray-300{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-gray-50\/50{background-color:#f9fafb80}.lc-toolsbox-tw .bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-green-400{--tw-bg-opacity:1;background-color:#4ade80;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-green-500\/10{background-color:#22c55e1a}.lc-toolsbox-tw .bg-green-500\/90{background-color:#22c55ee6}.lc-toolsbox-tw .bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-green-600\/80{background-color:#16a34acc}.lc-toolsbox-tw .bg-indigo-100{--tw-bg-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-indigo-400\/50{background-color:#818cf880}.lc-toolsbox-tw .bg-indigo-400\/70{background-color:#818cf8b3}.lc-toolsbox-tw .bg-indigo-400\/90{background-color:#818cf8e6}.lc-toolsbox-tw .bg-indigo-50{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-indigo-500{--tw-bg-opacity:1;background-color:#6366f1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-indigo-500\/30{background-color:#6366f14d}.lc-toolsbox-tw .bg-indigo-500\/40{background-color:#6366f166}.lc-toolsbox-tw .bg-indigo-500\/80{background-color:#6366f1cc}.lc-toolsbox-tw .bg-indigo-500\/90{background-color:#6366f1e6}.lc-toolsbox-tw .bg-indigo-600{--tw-bg-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-indigo-950\/30{background-color:#1e1b4b4d}.lc-toolsbox-tw .bg-indigo-950\/40{background-color:#1e1b4b66}.lc-toolsbox-tw .bg-indigo-950\/50{background-color:#1e1b4b80}.lc-toolsbox-tw .bg-lime-100{--tw-bg-opacity:1;background-color:#ecfccb;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-orange-100{--tw-bg-opacity:1;background-color:#ffedd5;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-orange-500{--tw-bg-opacity:1;background-color:#f97316;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-pink-100{--tw-bg-opacity:1;background-color:#fce7f3;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-purple-100{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-purple-400\/50{background-color:#c084fc80}.lc-toolsbox-tw .bg-purple-400\/70{background-color:#c084fcb3}.lc-toolsbox-tw .bg-purple-500{--tw-bg-opacity:1;background-color:#a855f7;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-red-500\/20{background-color:#ef444433}.lc-toolsbox-tw .bg-red-600\/35{background-color:#dc262659}.lc-toolsbox-tw .bg-red-600\/50{background-color:#dc262680}.lc-toolsbox-tw .bg-red-900\/40{background-color:#7f1d1d66}.lc-toolsbox-tw .bg-red-950\/40{background-color:#450a0a66}.lc-toolsbox-tw .bg-rose-100{--tw-bg-opacity:1;background-color:#ffe4e6;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-rose-500\/20{background-color:#f43f5e33}.lc-toolsbox-tw .bg-rose-500\/30{background-color:#f43f5e4d}.lc-toolsbox-tw .bg-rose-500\/40{background-color:#f43f5e66}.lc-toolsbox-tw .bg-rose-950\/30{background-color:#4c05194d}.lc-toolsbox-tw .bg-sky-100{--tw-bg-opacity:1;background-color:#e0f2fe;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-sky-400\/50{background-color:#38bdf880}.lc-toolsbox-tw .bg-sky-400\/70{background-color:#38bdf8b3}.lc-toolsbox-tw .bg-sky-50{--tw-bg-opacity:1;background-color:#f0f9ff;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-sky-500{--tw-bg-opacity:1;background-color:#0ea5e9;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-sky-500\/25{background-color:#0ea5e940}.lc-toolsbox-tw .bg-sky-500\/40{background-color:#0ea5e966}.lc-toolsbox-tw .bg-sky-500\/90{background-color:#0ea5e9e6}.lc-toolsbox-tw .bg-sky-600{--tw-bg-opacity:1;background-color:#0284c7;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-sky-600\/60{background-color:#0284c799}.lc-toolsbox-tw .bg-sky-900\/50{background-color:#0c4a6e80}.lc-toolsbox-tw .bg-sky-950\/20{background-color:#082f4933}.lc-toolsbox-tw .bg-slate-100{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-slate-50{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-slate-500{--tw-bg-opacity:1;background-color:#64748b;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-slate-600{--tw-bg-opacity:1;background-color:#475569;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-slate-600\/50{background-color:#47556980}.lc-toolsbox-tw .bg-slate-600\/80{background-color:#475569cc}.lc-toolsbox-tw .bg-slate-700{--tw-bg-opacity:1;background-color:#334155;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-slate-700\/30{background-color:#3341554d}.lc-toolsbox-tw .bg-slate-700\/40{background-color:#33415566}.lc-toolsbox-tw .bg-slate-700\/50{background-color:#33415580}.lc-toolsbox-tw .bg-slate-700\/60{background-color:#33415599}.lc-toolsbox-tw .bg-slate-700\/80{background-color:#334155cc}.lc-toolsbox-tw .bg-slate-700\/90{background-color:#334155e6}.lc-toolsbox-tw .bg-slate-700\/95{background-color:#334155f2}.lc-toolsbox-tw .bg-slate-800{--tw-bg-opacity:1;background-color:#1e293b;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-slate-800\/30{background-color:#1e293b4d}.lc-toolsbox-tw .bg-slate-800\/40{background-color:#1e293b66}.lc-toolsbox-tw .bg-slate-800\/50{background-color:#1e293b80}.lc-toolsbox-tw .bg-slate-800\/60{background-color:#1e293b99}.lc-toolsbox-tw .bg-slate-800\/80{background-color:#1e293bcc}.lc-toolsbox-tw .bg-slate-800\/90{background-color:#1e293be6}.lc-toolsbox-tw .bg-slate-800\/95{background-color:#1e293bf2}.lc-toolsbox-tw .bg-slate-900{--tw-bg-opacity:1;background-color:#0f172a;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-slate-900\/30{background-color:#0f172a4d}.lc-toolsbox-tw .bg-slate-900\/40{background-color:#0f172a66}.lc-toolsbox-tw .bg-slate-900\/60{background-color:#0f172a99}.lc-toolsbox-tw .bg-slate-900\/80{background-color:#0f172acc}.lc-toolsbox-tw .bg-slate-900\/90{background-color:#0f172ae6}.lc-toolsbox-tw .bg-slate-900\/95{background-color:#0f172af2}.lc-toolsbox-tw .bg-teal-100{--tw-bg-opacity:1;background-color:#ccfbf1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-violet-100{--tw-bg-opacity:1;background-color:#ede9fe;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-violet-50{--tw-bg-opacity:1;background-color:#f5f3ff;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-violet-50\/50{background-color:#f5f3ff80}.lc-toolsbox-tw .bg-violet-500{--tw-bg-opacity:1;background-color:#8b5cf6;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-violet-500\/10{background-color:#8b5cf61a}.lc-toolsbox-tw .bg-violet-500\/20{background-color:#8b5cf633}.lc-toolsbox-tw .bg-violet-500\/40{background-color:#8b5cf666}.lc-toolsbox-tw .bg-violet-500\/70{background-color:#8b5cf6b3}.lc-toolsbox-tw .bg-violet-600{--tw-bg-opacity:1;background-color:#7c3aed;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-violet-600\/80{background-color:#7c3aedcc}.lc-toolsbox-tw .bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-white\/25{background-color:#ffffff40}.lc-toolsbox-tw .bg-white\/85{background-color:#ffffffd9}.lc-toolsbox-tw .bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-yellow-400{--tw-bg-opacity:1;background-color:#facc15;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .bg-yellow-400\/20{background-color:#facc1533}.lc-toolsbox-tw .bg-\[linear-gradient\(rgba\(139\2c 92\2c 246\2c 0\.06\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(139\2c 92\2c 246\2c 0\.06\)_1px\2c transparent_1px\)\]{background-image:linear-gradient(#8b5cf60f 1px,#0000 0),linear-gradient(90deg,#8b5cf60f 1px,#0000 0)}.lc-toolsbox-tw .bg-\[linear-gradient\(rgba\(14\2c 165\2c 233\2c 0\.06\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(14\2c 165\2c 233\2c 0\.06\)_1px\2c transparent_1px\)\]{background-image:linear-gradient(#0ea5e90f 1px,#0000 0),linear-gradient(90deg,#0ea5e90f 1px,#0000 0)}.lc-toolsbox-tw .bg-\[linear-gradient\(rgba\(16\2c 185\2c 129\2c 0\.04\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(16\2c 185\2c 129\2c 0\.04\)_1px\2c transparent_1px\)\]{background-image:linear-gradient(#10b9810a 1px,#0000 0),linear-gradient(90deg,#10b9810a 1px,#0000 0)}.lc-toolsbox-tw .bg-\[linear-gradient\(rgba\(16\2c 185\2c 129\2c 0\.06\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(16\2c 185\2c 129\2c 0\.06\)_1px\2c transparent_1px\)\]{background-image:linear-gradient(#10b9810f 1px,#0000 0),linear-gradient(90deg,#10b9810f 1px,#0000 0)}.lc-toolsbox-tw .bg-\[linear-gradient\(rgba\(245\2c 158\2c 11\2c 0\.04\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(245\2c 158\2c 11\2c 0\.04\)_1px\2c transparent_1px\)\]{background-image:linear-gradient(#f59e0b0a 1px,#0000 0),linear-gradient(90deg,#f59e0b0a 1px,#0000 0)}.lc-toolsbox-tw .bg-\[linear-gradient\(rgba\(99\2c 102\2c 241\2c 0\.03\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(99\2c 102\2c 241\2c 0\.03\)_1px\2c transparent_1px\)\]{background-image:linear-gradient(#6366f108 1px,#0000 0),linear-gradient(90deg,#6366f108 1px,#0000 0)}.lc-toolsbox-tw .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lc-toolsbox-tw .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lc-toolsbox-tw .from-\[\#667eea\]\/10{--tw-gradient-from:#667eea1a var(--tw-gradient-from-position);--tw-gradient-to:#667eea00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-amber-100{--tw-gradient-from:#fef3c7 var(--tw-gradient-from-position);--tw-gradient-to:#fef3c700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:#fbbf2400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-amber-50{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:#fffbeb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:#f59e0b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-amber-500\/20{--tw-gradient-from:#f59e0b33 var(--tw-gradient-from-position);--tw-gradient-to:#f59e0b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-emerald-100{--tw-gradient-from:#d1fae5 var(--tw-gradient-from-position);--tw-gradient-to:#d1fae500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:#ecfdf500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:#eef2ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:#f9731600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:#ec489900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-slate-500{--tw-gradient-from:#64748b var(--tw-gradient-from-position);--tw-gradient-to:#64748b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:#0f172a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-teal-500{--tw-gradient-from:#14b8a6 var(--tw-gradient-from-position);--tw-gradient-to:#14b8a600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:#8b5cf600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:#eab30800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lc-toolsbox-tw .via-amber-900\/20{--tw-gradient-to:#78350f00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#78350f33 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-amber-950\/25{--tw-gradient-to:#451a0300 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#451a0340 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-blue-500{--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#3b82f6 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-emerald-950\/20{--tw-gradient-to:#022c2200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#022c2233 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-emerald-950\/25{--tw-gradient-to:#022c2200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#022c2240 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-indigo-900{--tw-gradient-to:#312e8100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#312e81 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-indigo-950\/30{--tw-gradient-to:#1e1b4b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e1b4b4d var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-orange-100{--tw-gradient-to:#ffedd500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ffedd5 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-purple-900{--tw-gradient-to:#581c8700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#581c87 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-sky-950\/25{--tw-gradient-to:#082f4900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#082f4940 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .via-violet-950\/20{--tw-gradient-to:#2e106500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#2e106533 var(--tw-gradient-via-position),var(--tw-gradient-to)}.lc-toolsbox-tw .to-\[\#764ba2\]\/10{--tw-gradient-to:#764ba21a var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-cyan-600{--tw-gradient-to:#0891b2 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-fuchsia-600{--tw-gradient-to:#c026d3 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-indigo-900{--tw-gradient-to:#312e81 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-orange-500\/20{--tw-gradient-to:#f9731633 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-pink-600{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-rose-100{--tw-gradient-to:#ffe4e6 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-rose-600{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-sky-600{--tw-gradient-to:#0284c7 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-slate-900{--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-teal-100{--tw-gradient-to:#ccfbf1 var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.lc-toolsbox-tw .to-yellow-600{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.lc-toolsbox-tw .bg-\[size\:24px_24px\]{background-size:24px 24px}.lc-toolsbox-tw .p-0\.5{padding:.125rem}.lc-toolsbox-tw .p-1{padding:.25rem}.lc-toolsbox-tw .p-1\.5{padding:.375rem}.lc-toolsbox-tw .p-2{padding:.5rem}.lc-toolsbox-tw .p-3{padding:.75rem}.lc-toolsbox-tw .p-4{padding:1rem}.lc-toolsbox-tw .p-5{padding:1.25rem}.lc-toolsbox-tw .p-6{padding:1.5rem}.lc-toolsbox-tw .p-8{padding:2rem}.lc-toolsbox-tw .px-0\.5{padding-left:.125rem;padding-right:.125rem}.lc-toolsbox-tw .px-1{padding-left:.25rem;padding-right:.25rem}.lc-toolsbox-tw .px-1\.5{padding-left:.375rem;padding-right:.375rem}.lc-toolsbox-tw .px-2{padding-left:.5rem;padding-right:.5rem}.lc-toolsbox-tw .px-2\.5{padding-left:.625rem;padding-right:.625rem}.lc-toolsbox-tw .px-3{padding-left:.75rem;padding-right:.75rem}.lc-toolsbox-tw .px-4{padding-left:1rem;padding-right:1rem}.lc-toolsbox-tw .px-5{padding-left:1.25rem;padding-right:1.25rem}.lc-toolsbox-tw .px-6{padding-left:1.5rem;padding-right:1.5rem}.lc-toolsbox-tw .px-8{padding-left:2rem;padding-right:2rem}.lc-toolsbox-tw .py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.lc-toolsbox-tw .py-1{padding-bottom:.25rem;padding-top:.25rem}.lc-toolsbox-tw .py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.lc-toolsbox-tw .py-2{padding-bottom:.5rem;padding-top:.5rem}.lc-toolsbox-tw .py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.lc-toolsbox-tw .py-3{padding-bottom:.75rem;padding-top:.75rem}.lc-toolsbox-tw .py-4{padding-bottom:1rem;padding-top:1rem}.lc-toolsbox-tw .py-6{padding-bottom:1.5rem;padding-top:1.5rem}.lc-toolsbox-tw .py-8{padding-bottom:2rem;padding-top:2rem}.lc-toolsbox-tw .pb-0\.5{padding-bottom:.125rem}.lc-toolsbox-tw .pb-1{padding-bottom:.25rem}.lc-toolsbox-tw .pb-1\.5{padding-bottom:.375rem}.lc-toolsbox-tw .pb-12{padding-bottom:3rem}.lc-toolsbox-tw .pb-16{padding-bottom:4rem}.lc-toolsbox-tw .pb-2{padding-bottom:.5rem}.lc-toolsbox-tw .pb-24{padding-bottom:6rem}.lc-toolsbox-tw .pb-4{padding-bottom:1rem}.lc-toolsbox-tw .pb-8{padding-bottom:2rem}.lc-toolsbox-tw .pl-0{padding-left:0}.lc-toolsbox-tw .pl-1{padding-left:.25rem}.lc-toolsbox-tw .pl-2{padding-left:.5rem}.lc-toolsbox-tw .pl-3{padding-left:.75rem}.lc-toolsbox-tw .pl-4{padding-left:1rem}.lc-toolsbox-tw .pl-6{padding-left:1.5rem}.lc-toolsbox-tw .pl-8{padding-left:2rem}.lc-toolsbox-tw .pr-1{padding-right:.25rem}.lc-toolsbox-tw .pr-10{padding-right:2.5rem}.lc-toolsbox-tw .pr-2{padding-right:.5rem}.lc-toolsbox-tw .pr-3{padding-right:.75rem}.lc-toolsbox-tw .pr-4{padding-right:1rem}.lc-toolsbox-tw .pt-0{padding-top:0}.lc-toolsbox-tw .pt-0\.5{padding-top:.125rem}.lc-toolsbox-tw .pt-1{padding-top:.25rem}.lc-toolsbox-tw .pt-1\.5{padding-top:.375rem}.lc-toolsbox-tw .pt-12{padding-top:3rem}.lc-toolsbox-tw .pt-14{padding-top:3.5rem}.lc-toolsbox-tw .pt-2{padding-top:.5rem}.lc-toolsbox-tw .pt-20{padding-top:5rem}.lc-toolsbox-tw .pt-24{padding-top:6rem}.lc-toolsbox-tw .pt-3{padding-top:.75rem}.lc-toolsbox-tw .pt-4{padding-top:1rem}.lc-toolsbox-tw .text-left{text-align:left}.lc-toolsbox-tw .text-center{text-align:center}.lc-toolsbox-tw .text-right{text-align:right}.lc-toolsbox-tw .align-top{vertical-align:top}.lc-toolsbox-tw .align-middle{vertical-align:middle}.lc-toolsbox-tw .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lc-toolsbox-tw .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lc-toolsbox-tw .font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.lc-toolsbox-tw .text-2xl{font-size:1.5rem;line-height:2rem}.lc-toolsbox-tw .text-3xl{font-size:1.875rem;line-height:2.25rem}.lc-toolsbox-tw .text-4xl{font-size:2.25rem;line-height:2.5rem}.lc-toolsbox-tw .text-5xl{font-size:3rem;line-height:1}.lc-toolsbox-tw .text-6xl{font-size:3.75rem;line-height:1}.lc-toolsbox-tw .text-\[0\.75em\]{font-size:.75em}.lc-toolsbox-tw .text-\[0\.875em\]{font-size:.875em}.lc-toolsbox-tw .text-\[0\.8em\]{font-size:.8em}.lc-toolsbox-tw .text-\[0\.9em\]{font-size:.9em}.lc-toolsbox-tw .text-\[10px\]{font-size:10px}.lc-toolsbox-tw .text-\[11px\]{font-size:11px}.lc-toolsbox-tw .text-\[1em\]{font-size:1em}.lc-toolsbox-tw .text-\[9px\]{font-size:9px}.lc-toolsbox-tw .text-base{font-size:1rem;line-height:1.5rem}.lc-toolsbox-tw .text-lg{font-size:1.125rem;line-height:1.75rem}.lc-toolsbox-tw .text-sm{font-size:.875rem;line-height:1.25rem}.lc-toolsbox-tw .text-xl{font-size:1.25rem;line-height:1.75rem}.lc-toolsbox-tw .text-xs{font-size:.75rem;line-height:1rem}.lc-toolsbox-tw .font-bold{font-weight:700}.lc-toolsbox-tw .font-medium{font-weight:500}.lc-toolsbox-tw .font-normal{font-weight:400}.lc-toolsbox-tw .font-semibold{font-weight:600}.lc-toolsbox-tw .uppercase{text-transform:uppercase}.lc-toolsbox-tw .capitalize{text-transform:capitalize}.lc-toolsbox-tw .italic{font-style:italic}.lc-toolsbox-tw .ordinal{--tw-ordinal:ordinal}.lc-toolsbox-tw .ordinal,.lc-toolsbox-tw .tabular-nums{font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lc-toolsbox-tw .tabular-nums{--tw-numeric-spacing:tabular-nums}.lc-toolsbox-tw .leading-none{line-height:1}.lc-toolsbox-tw .leading-relaxed{line-height:1.625}.lc-toolsbox-tw .leading-snug{line-height:1.375}.lc-toolsbox-tw .leading-tight{line-height:1.25}.lc-toolsbox-tw .tracking-wide{letter-spacing:.025em}.lc-toolsbox-tw .text-\[\#339af0\]{--tw-text-opacity:1;color:#339af0;color:rgb(51 154 240/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-\[\#667eea\]{--tw-text-opacity:1;color:#667eea;color:rgb(102 126 234/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-100{--tw-text-opacity:1;color:#fef3c7;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-100\/90{color:#fef3c7e6}.lc-toolsbox-tw .text-amber-200{--tw-text-opacity:1;color:#fde68a;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-200\/90{color:#fde68ae6}.lc-toolsbox-tw .text-amber-300{--tw-text-opacity:1;color:#fcd34d;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-300\/90{color:#fcd34de6}.lc-toolsbox-tw .text-amber-400{--tw-text-opacity:1;color:#fbbf24;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-400\/90{color:#fbbf24e6}.lc-toolsbox-tw .text-amber-50{--tw-text-opacity:1;color:#fffbeb;color:rgb(255 251 235/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-600\/90{color:#d97706e6}.lc-toolsbox-tw .text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-700\/90{color:#b45309e6}.lc-toolsbox-tw .text-amber-800{--tw-text-opacity:1;color:#92400e;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-800\/90{color:#92400ee6}.lc-toolsbox-tw .text-amber-900{--tw-text-opacity:1;color:#78350f;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-amber-900\/90{color:#78350fe6}.lc-toolsbox-tw .text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-cyan-300{--tw-text-opacity:1;color:#67e8f9;color:rgb(103 232 249/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-cyan-400{--tw-text-opacity:1;color:#22d3ee;color:rgb(34 211 238/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-cyan-800{--tw-text-opacity:1;color:#155e75;color:rgb(21 94 117/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-emerald-100{--tw-text-opacity:1;color:#d1fae5;color:rgb(209 250 229/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-emerald-100\/90{color:#d1fae5e6}.lc-toolsbox-tw .text-emerald-200{--tw-text-opacity:1;color:#a7f3d0;color:rgb(167 243 208/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-emerald-200\/90{color:#a7f3d0e6}.lc-toolsbox-tw .text-emerald-200\/95{color:#a7f3d0f2}.lc-toolsbox-tw .text-emerald-300{--tw-text-opacity:1;color:#6ee7b7;color:rgb(110 231 183/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-emerald-300\/90{color:#6ee7b7e6}.lc-toolsbox-tw .text-emerald-400{--tw-text-opacity:1;color:#34d399;color:rgb(52 211 153/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-emerald-400\/90{color:#34d399e6}.lc-toolsbox-tw .text-emerald-500{--tw-text-opacity:1;color:#10b981;color:rgb(16 185 129/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-emerald-600\/90{color:#059669e6}.lc-toolsbox-tw .text-emerald-800{--tw-text-opacity:1;color:#065f46;color:rgb(6 95 70/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-green-400{--tw-text-opacity:1;color:#4ade80;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-indigo-200{--tw-text-opacity:1;color:#c7d2fe;color:rgb(199 210 254/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-indigo-200\/90{color:#c7d2fee6}.lc-toolsbox-tw .text-indigo-300{--tw-text-opacity:1;color:#a5b4fc;color:rgb(165 180 252/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-indigo-300\/90{color:#a5b4fce6}.lc-toolsbox-tw .text-indigo-800{--tw-text-opacity:1;color:#3730a3;color:rgb(55 48 163/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-indigo-900{--tw-text-opacity:1;color:#312e81;color:rgb(49 46 129/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-lime-800{--tw-text-opacity:1;color:#3f6212;color:rgb(63 98 18/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-orange-800{--tw-text-opacity:1;color:#9a3412;color:rgb(154 52 18/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-orange-900{--tw-text-opacity:1;color:#7c2d12;color:rgb(124 45 18/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-pink-800{--tw-text-opacity:1;color:#9d174d;color:rgb(157 23 77/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-purple-200{--tw-text-opacity:1;color:#e9d5ff;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-purple-300{--tw-text-opacity:1;color:#d8b4fe;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-purple-500{--tw-text-opacity:1;color:#a855f7;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-red-100{--tw-text-opacity:1;color:#fee2e2;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-red-200{--tw-text-opacity:1;color:#fecaca;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-red-200\/95{color:#fecacaf2}.lc-toolsbox-tw .text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-red-300\/80{color:#fca5a5cc}.lc-toolsbox-tw .text-red-400{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-rose-100{--tw-text-opacity:1;color:#ffe4e6;color:rgb(255 228 230/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-rose-200{--tw-text-opacity:1;color:#fecdd3;color:rgb(254 205 211/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-rose-300{--tw-text-opacity:1;color:#fda4af;color:rgb(253 164 175/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-rose-400{--tw-text-opacity:1;color:#fb7185;color:rgb(251 113 133/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-rose-800{--tw-text-opacity:1;color:#9f1239;color:rgb(159 18 57/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-sky-100{--tw-text-opacity:1;color:#e0f2fe;color:rgb(224 242 254/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-sky-200{--tw-text-opacity:1;color:#bae6fd;color:rgb(186 230 253/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-sky-300{--tw-text-opacity:1;color:#7dd3fc;color:rgb(125 211 252/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-sky-400{--tw-text-opacity:1;color:#38bdf8;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-sky-800{--tw-text-opacity:1;color:#075985;color:rgb(7 89 133/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-100{--tw-text-opacity:1;color:#f1f5f9;color:rgb(241 245 249/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-200{--tw-text-opacity:1;color:#e2e8f0;color:rgb(226 232 240/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-300{--tw-text-opacity:1;color:#cbd5e1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-400{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-700{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-800{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-slate-900{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-teal-200{--tw-text-opacity:1;color:#99f6e4;color:rgb(153 246 228/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-teal-800{--tw-text-opacity:1;color:#115e59;color:rgb(17 94 89/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-violet-100{--tw-text-opacity:1;color:#ede9fe;color:rgb(237 233 254/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-violet-200{--tw-text-opacity:1;color:#ddd6fe;color:rgb(221 214 254/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-violet-300{--tw-text-opacity:1;color:#c4b5fd;color:rgb(196 181 253/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-violet-400{--tw-text-opacity:1;color:#a78bfa;color:rgb(167 139 250/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-violet-500{--tw-text-opacity:1;color:#8b5cf6;color:rgb(139 92 246/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-violet-800{--tw-text-opacity:1;color:#5b21b6;color:rgb(91 33 182/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-violet-900{--tw-text-opacity:1;color:#4c1d95;color:rgb(76 29 149/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-white\/80{color:#fffc}.lc-toolsbox-tw .text-white\/90{color:#ffffffe6}.lc-toolsbox-tw .text-yellow-300{--tw-text-opacity:1;color:#fde047;color:rgb(253 224 71/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.lc-toolsbox-tw .text-yellow-900{--tw-text-opacity:1;color:#713f12;color:rgb(113 63 18/var(--tw-text-opacity,1))}.lc-toolsbox-tw .overline{text-decoration-line:overline}.lc-toolsbox-tw .placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.lc-toolsbox-tw .placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.lc-toolsbox-tw .opacity-100{opacity:1}.lc-toolsbox-tw .opacity-20{opacity:.2}.lc-toolsbox-tw .opacity-30{opacity:.3}.lc-toolsbox-tw .opacity-40{opacity:.4}.lc-toolsbox-tw .opacity-50{opacity:.5}.lc-toolsbox-tw .opacity-60{opacity:.6}.lc-toolsbox-tw .opacity-70{opacity:.7}.lc-toolsbox-tw .opacity-80{opacity:.8}.lc-toolsbox-tw .shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow,.lc-toolsbox-tw .shadow-2xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lc-toolsbox-tw .shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-\[0_0_10px_rgba\(16\2c 185\2c 129\2c 0\.4\)\]{--tw-shadow:0 0 10px #10b98166;--tw-shadow-colored:0 0 10px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-\[0_0_10px_rgba\(16\2c 185\2c 129\2c 0\.4\)\],.lc-toolsbox-tw .shadow-\[0_0_10px_rgba\(245\2c 158\2c 11\2c 0\.4\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lc-toolsbox-tw .shadow-\[0_0_10px_rgba\(245\2c 158\2c 11\2c 0\.4\)\]{--tw-shadow:0 0 10px #f59e0b66;--tw-shadow-colored:0 0 10px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-\[0_0_10px_rgba\(99\2c 102\2c 241\2c 0\.4\)\]{--tw-shadow:0 0 10px #6366f166;--tw-shadow-colored:0 0 10px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-\[0_0_10px_rgba\(99\2c 102\2c 241\2c 0\.4\)\],.lc-toolsbox-tw .shadow-\[0_0_12px_rgba\(245\2c 158\2c 11\2c 0\.4\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lc-toolsbox-tw .shadow-\[0_0_12px_rgba\(245\2c 158\2c 11\2c 0\.4\)\]{--tw-shadow:0 0 12px #f59e0b66;--tw-shadow-colored:0 0 12px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-\[0_0_8px_rgba\(245\2c 158\2c 11\2c 0\.3\)\]{--tw-shadow:0 0 8px #f59e0b4d;--tw-shadow-colored:0 0 8px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-\[0_0_8px_rgba\(245\2c 158\2c 11\2c 0\.3\)\],.lc-toolsbox-tw .shadow-inner{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lc-toolsbox-tw .shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-lg,.lc-toolsbox-tw .shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lc-toolsbox-tw .shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.lc-toolsbox-tw .shadow-none,.lc-toolsbox-tw .shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lc-toolsbox-tw .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lc-toolsbox-tw .shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lc-toolsbox-tw .shadow-red-500\/20{--tw-shadow-color:#ef444433;--tw-shadow:var(--tw-shadow-colored)}.lc-toolsbox-tw .outline{outline-style:solid}.lc-toolsbox-tw .ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.lc-toolsbox-tw .ring,.lc-toolsbox-tw .ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lc-toolsbox-tw .ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.lc-toolsbox-tw .ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lc-toolsbox-tw .ring-amber-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .ring-amber-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .ring-amber-400\/50{--tw-ring-color:#fbbf2480}.lc-toolsbox-tw .ring-amber-400\/60{--tw-ring-color:#fbbf2499}.lc-toolsbox-tw .ring-amber-400\/80{--tw-ring-color:#fbbf24cc}.lc-toolsbox-tw .ring-emerald-300{--tw-ring-opacity:1;--tw-ring-color:rgb(110 231 183/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .ring-emerald-400{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .ring-emerald-400\/80{--tw-ring-color:#34d399cc}.lc-toolsbox-tw .ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .ring-indigo-400\/80{--tw-ring-color:#818cf8cc}.lc-toolsbox-tw .ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .ring-offset-1{--tw-ring-offset-width:1px}.lc-toolsbox-tw .ring-offset-2{--tw-ring-offset-width:2px}.lc-toolsbox-tw .ring-offset-indigo-950{--tw-ring-offset-color:#1e1b4b}.lc-toolsbox-tw .ring-offset-slate-800{--tw-ring-offset-color:#1e293b}.lc-toolsbox-tw .ring-offset-slate-900{--tw-ring-offset-color:#0f172a}.lc-toolsbox-tw .blur{--tw-blur:blur(8px)}.lc-toolsbox-tw .blur,.lc-toolsbox-tw .drop-shadow-md{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)}.lc-toolsbox-tw .drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.lc-toolsbox-tw .grayscale{--tw-grayscale:grayscale(100%)}.lc-toolsbox-tw .grayscale,.lc-toolsbox-tw .invert{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)}.lc-toolsbox-tw .invert{--tw-invert:invert(100%)}.lc-toolsbox-tw .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)}.lc-toolsbox-tw .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lc-toolsbox-tw .backdrop-blur-sm,.lc-toolsbox-tw .backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lc-toolsbox-tw .backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.lc-toolsbox-tw .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lc-toolsbox-tw .transition-\[margin\]{transition-duration:.15s;transition-property:margin;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lc-toolsbox-tw .transition-\[width\]{transition-duration:.15s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lc-toolsbox-tw .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lc-toolsbox-tw .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lc-toolsbox-tw .duration-200{transition-duration:.2s}.lc-toolsbox-tw .duration-300{transition-duration:.3s}.lc-toolsbox-tw .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.lc-toolsbox-tw .first\:mt-0:first-child{margin-top:0}.lc-toolsbox-tw .hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lc-toolsbox-tw .hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:#fcd34d;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lc-toolsbox-tw .hover\:border-emerald-500\/50:hover{border-color:#10b98180}.lc-toolsbox-tw .hover\:border-sky-300:hover{--tw-border-opacity:1;border-color:#7dd3fc;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.lc-toolsbox-tw .hover\:border-sky-400:hover{--tw-border-opacity:1;border-color:#38bdf8;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.lc-toolsbox-tw .hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:#94a3b8;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.lc-toolsbox-tw .hover\:border-slate-500:hover{--tw-border-opacity:1;border-color:#64748b;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.lc-toolsbox-tw .hover\:border-violet-400:hover{--tw-border-opacity:1;border-color:#a78bfa;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.lc-toolsbox-tw .hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:#fde68a;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-amber-400:hover{--tw-bg-opacity:1;background-color:#fbbf24;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-amber-400\/30:hover{background-color:#fbbf244d}.lc-toolsbox-tw .hover\:bg-amber-500:hover{--tw-bg-opacity:1;background-color:#f59e0b;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-amber-500\/30:hover{background-color:#f59e0b4d}.lc-toolsbox-tw .hover\:bg-amber-500\/50:hover{background-color:#f59e0b80}.lc-toolsbox-tw .hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:#d97706;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-amber-900\/30:hover{background-color:#78350f4d}.lc-toolsbox-tw .hover\:bg-amber-900\/50:hover{background-color:#78350f80}.lc-toolsbox-tw .hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:#06b6d4;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:#d1fae5;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-emerald-200:hover{--tw-bg-opacity:1;background-color:#a7f3d0;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-emerald-400:hover{--tw-bg-opacity:1;background-color:#34d399;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-emerald-400\/30:hover{background-color:#34d3994d}.lc-toolsbox-tw .hover\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:#10b981;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-emerald-500\/30:hover{background-color:#10b9814d}.lc-toolsbox-tw .hover\:bg-emerald-500\/50:hover{background-color:#10b98180}.lc-toolsbox-tw .hover\:bg-emerald-500\/70:hover{background-color:#10b981b3}.lc-toolsbox-tw .hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:#059669;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-emerald-600\/60:hover{background-color:#05966999}.lc-toolsbox-tw .hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:#047857;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-gray-50\/80:hover{background-color:#f9fafbcc}.lc-toolsbox-tw .hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-indigo-400\/30:hover{background-color:#818cf84d}.lc-toolsbox-tw .hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:#6366f1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-indigo-500\/30:hover{background-color:#6366f14d}.lc-toolsbox-tw .hover\:bg-indigo-500\/50:hover{background-color:#6366f180}.lc-toolsbox-tw .hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-indigo-900\/50:hover{background-color:#312e8180}.lc-toolsbox-tw .hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:#ea580c;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-purple-400\/30:hover{background-color:#c084fc4d}.lc-toolsbox-tw .hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-sky-400:hover{--tw-bg-opacity:1;background-color:#38bdf8;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-sky-400\/30:hover{background-color:#38bdf84d}.lc-toolsbox-tw .hover\:bg-sky-500:hover{--tw-bg-opacity:1;background-color:#0ea5e9;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-sky-500\/20:hover{background-color:#0ea5e933}.lc-toolsbox-tw .hover\:bg-sky-500\/70:hover{background-color:#0ea5e9b3}.lc-toolsbox-tw .hover\:bg-sky-500\/80:hover{background-color:#0ea5e9cc}.lc-toolsbox-tw .hover\:bg-sky-600:hover{--tw-bg-opacity:1;background-color:#0284c7;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-sky-600\/60:hover{background-color:#0284c799}.lc-toolsbox-tw .hover\:bg-slate-500:hover{--tw-bg-opacity:1;background-color:#64748b;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-slate-500\/50:hover{background-color:#64748b80}.lc-toolsbox-tw .hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:#475569;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-slate-600\/80:hover{background-color:#475569cc}.lc-toolsbox-tw .hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:#334155;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-slate-700\/50:hover{background-color:#33415580}.lc-toolsbox-tw .hover\:bg-slate-700\/60:hover{background-color:#33415599}.lc-toolsbox-tw .hover\:bg-slate-700\/80:hover{background-color:#334155cc}.lc-toolsbox-tw .hover\:bg-slate-700\/90:hover{background-color:#334155e6}.lc-toolsbox-tw .hover\:bg-violet-200:hover{--tw-bg-opacity:1;background-color:#ddd6fe;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-violet-500:hover{--tw-bg-opacity:1;background-color:#8b5cf6;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.lc-toolsbox-tw .hover\:bg-violet-500\/20:hover{background-color:#8b5cf633}.lc-toolsbox-tw .hover\:bg-violet-500\/40:hover{background-color:#8b5cf666}.lc-toolsbox-tw .hover\:bg-violet-500\/50:hover{background-color:#8b5cf680}.lc-toolsbox-tw .hover\:bg-violet-600\/40:hover{background-color:#7c3aed66}.lc-toolsbox-tw .hover\:bg-white\/15:hover{background-color:#ffffff26}.lc-toolsbox-tw .hover\:bg-white\/80:hover{background-color:#fffc}.lc-toolsbox-tw .hover\:stroke-indigo-500:hover{stroke:#6366f1}.lc-toolsbox-tw .hover\:text-amber-200:hover{--tw-text-opacity:1;color:#fde68a;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-amber-400:hover{--tw-text-opacity:1;color:#fbbf24;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-emerald-200:hover{--tw-text-opacity:1;color:#a7f3d0;color:rgb(167 243 208/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-emerald-400:hover{--tw-text-opacity:1;color:#34d399;color:rgb(52 211 153/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-gray-800:hover{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-gray-900:hover{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-indigo-200:hover{--tw-text-opacity:1;color:#c7d2fe;color:rgb(199 210 254/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-sky-400:hover{--tw-text-opacity:1;color:#38bdf8;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-slate-200:hover{--tw-text-opacity:1;color:#e2e8f0;color:rgb(226 232 240/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-slate-300:hover{--tw-text-opacity:1;color:#cbd5e1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-violet-400:hover{--tw-text-opacity:1;color:#a78bfa;color:rgb(167 139 250/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lc-toolsbox-tw .hover\:underline:hover{text-decoration-line:underline}.lc-toolsbox-tw .hover\:opacity-90:hover{opacity:.9}.lc-toolsbox-tw .hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lc-toolsbox-tw .hover\:ring-amber-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:border-amber-500:focus{--tw-border-opacity:1;border-color:#f59e0b;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lc-toolsbox-tw .focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:#6366f1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.lc-toolsbox-tw .focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:#a855f7;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.lc-toolsbox-tw .focus\:border-sky-500:focus{--tw-border-opacity:1;border-color:#0ea5e9;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.lc-toolsbox-tw .focus\:border-white:focus{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lc-toolsbox-tw .focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.lc-toolsbox-tw .focus\:ring-1:focus,.lc-toolsbox-tw .focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lc-toolsbox-tw .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.lc-toolsbox-tw .focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:ring-amber-500\/50:focus{--tw-ring-color:#f59e0b80}.lc-toolsbox-tw .focus\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:ring-emerald-500\/50:focus{--tw-ring-color:#10b98180}.lc-toolsbox-tw .focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(192 132 252/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:ring-sky-500\/50:focus{--tw-ring-color:#0ea5e980}.lc-toolsbox-tw .focus\:ring-violet-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.lc-toolsbox-tw .focus\:ring-white\/50:focus{--tw-ring-color:#ffffff80}.lc-toolsbox-tw .disabled\:pointer-events-none:disabled{pointer-events:none}.lc-toolsbox-tw .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.lc-toolsbox-tw .disabled\:opacity-40:disabled{opacity:.4}.lc-toolsbox-tw .disabled\:opacity-50:disabled{opacity:.5}.lc-toolsbox-tw .disabled\:opacity-60:disabled{opacity:.6}.lc-toolsbox-tw .disabled\:opacity-70:disabled{opacity:.7}@media (max-width:480px){.lc-toolsbox-tw .max-\[480px\]\:bottom-24{bottom:6rem}}@media (min-width:640px){.lc-toolsbox-tw .sm\:col-span-3{grid-column:span 3/span 3}.lc-toolsbox-tw .sm\:block{display:block}.lc-toolsbox-tw .sm\:inline{display:inline}.lc-toolsbox-tw .sm\:hidden{display:none}.lc-toolsbox-tw .sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lc-toolsbox-tw .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lc-toolsbox-tw .sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:768px){.lc-toolsbox-tw .md\:w-56{width:14rem}.lc-toolsbox-tw .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-toolsbox-tw .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lc-toolsbox-tw .md\:flex-row{flex-direction:row}.lc-toolsbox-tw .md\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.lc-toolsbox-tw .md\:text-left{text-align:left}}@media (min-width:1024px){.lc-toolsbox-tw .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.lc-toolsbox-tw :is(.\[\&\>svg\]\:h-auto>svg){height:auto}.lc-toolsbox-tw :is(.\[\&\>svg\]\:max-w-full>svg){max-width:100%}.lc-toolsbox-tw :is(.\[\&_svg\]\:block svg){display:block}.lc-toolsbox-tw :is(.\[\&_svg\]\:h-auto svg){height:auto}.lc-toolsbox-tw :is(.\[\&_svg\]\:max-h-72 svg){max-height:18rem}.lc-toolsbox-tw :is(.\[\&_svg\]\:max-h-\[220px\] svg){max-height:220px}.lc-toolsbox-tw :is(.\[\&_svg\]\:max-h-\[260px\] svg){max-height:260px}.lc-toolsbox-tw :is(.\[\&_svg\]\:w-auto svg){width:auto}.lc-toolsbox-tw :is(.\[\&_svg\]\:max-w-full svg){max-width:100%}.lc-toolsbox-tw :is(.\[\&_svg\]\:bg-white svg){--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}:root{--primary-gradient-start:#6366f1;--primary-gradient-end:#8b5cf6;--primary-dark:#4f46e5;--primary-light:#a78bfa;--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--secondary-gradient-start:#14b8a6;--secondary-gradient-end:#06b6d4;--secondary-light:#5eead4;--secondary-dark:#0f766e;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#10b981;--success-light:#d1fae5;--success-dark:#059669;--warning:#f59e0b;--warning-light:#fef3c7;--warning-dark:#d97706;--error:#ef4444;--error-light:#fee2e2;--error-dark:#dc2626;--info:#3b82f6;--info-light:#dbeafe;--info-dark:#2563eb;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-card:#fff;--bg-overlay:#11182780;--bg-gradient:linear-gradient(135deg,var(--primary-gradient-start) 0%,var(--primary-gradient-end) 100%);--bg-gradient-secondary:linear-gradient(135deg,var(--secondary-gradient-start) 0%,var(--secondary-gradient-end) 100%);--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--text-inverse:#fff;--text-on-primary:#fff;--border-light:#f3f4f6;--border-default:#e5e7eb;--border-medium:#d1d5db;--border-strong:#9ca3af;--font-primary:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto","Helvetica Neue",sans-serif;--font-mono:"SF Mono","Monaco","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius-none:0;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000f;--shadow-card:0 2px 8px #00000014;--shadow-card-hover:0 8px 24px #0000001f;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:400ms cubic-bezier(0.68,-0.55,0.265,1.55);--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-fixed:1200;--z-modal-backdrop:1300;--z-modal:1400;--z-popover:1500;--z-tooltip:1600;--z-notification:1700;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-size:16px}body{background-color:#f9fafb;background-color:var(--bg-secondary);color:#111827;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--text-base);font-weight:400;font-weight:var(--font-normal);line-height:1.5;line-height:var(--leading-normal);overflow-x:hidden}button{background:none;border:none;cursor:pointer;font-family:inherit;padding:0}input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}ol,ul{list-style:none}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}.text-primary{color:#111827;color:var(--text-primary)}.text-secondary{color:#4b5563;color:var(--text-secondary)}.text-tertiary{color:#9ca3af;color:var(--text-tertiary)}.text-inverse{color:#fff;color:var(--text-inverse)}.bg-primary{background-color:#fff;background-color:var(--bg-primary)}.bg-secondary{background-color:#f9fafb;background-color:var(--bg-secondary)}.bg-gradient{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--bg-gradient)}.text-xs{font-size:.75rem;font-size:var(--text-xs)}.text-sm{font-size:.875rem;font-size:var(--text-sm)}.text-base{font-size:1rem;font-size:var(--text-base)}.text-lg{font-size:1.125rem;font-size:var(--text-lg)}.text-xl{font-size:1.25rem;font-size:var(--text-xl)}.text-2xl{font-size:1.5rem;font-size:var(--text-2xl)}.text-3xl{font-size:1.875rem;font-size:var(--text-3xl)}.font-light{font-weight:300;font-weight:var(--font-light)}.font-normal{font-weight:400;font-weight:var(--font-normal)}.font-medium{font-weight:500;font-weight:var(--font-medium)}.font-semibold{font-weight:600;font-weight:var(--font-semibold)}.font-bold{font-weight:700;font-weight:var(--font-bold)}.rounded-sm{border-radius:.375rem;border-radius:var(--radius-sm)}.rounded-md{border-radius:.5rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:.75rem;border-radius:var(--radius-lg)}.rounded-xl{border-radius:1rem;border-radius:var(--radius-xl)}.rounded-2xl{border-radius:1.5rem;border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px;border-radius:var(--radius-full)}.shadow-sm{box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}.shadow-card{box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-card)}.transition{transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.transition-slow{transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-slow)}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-2{gap:.5rem;gap:var(--spacing-2)}.gap-3{gap:.75rem;gap:var(--spacing-3)}.gap-4{gap:1rem;gap:var(--spacing-4)}.gap-6{gap:1.5rem;gap:var(--spacing-6)}.p-4{padding:1rem;padding:var(--spacing-4)}.p-6{padding:1.5rem;padding:var(--spacing-6)}.px-4{padding-left:1rem;padding-left:var(--spacing-4);padding-right:1rem;padding-right:var(--spacing-4)}.py-4{padding-bottom:1rem;padding-bottom:var(--spacing-4);padding-top:1rem;padding-top:var(--spacing-4)}.m-4{margin:1rem;margin:var(--spacing-4)}.mt-4{margin-top:1rem;margin-top:var(--spacing-4)}.mb-4{margin-bottom:1rem;margin-bottom:var(--spacing-4)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.cursor-pointer{cursor:pointer}.app{background-color:var(--bg-secondary);display:flex;flex-direction:column;min-height:100vh;padding-bottom:80px}.app-content{flex:1 1;max-width:100%;overflow-x:hidden;width:100%}@supports (padding:max(0px)){.app{padding-bottom:max(80px,env(safe-area-inset-bottom))}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.page{background-color:var(--bg-secondary);min-height:calc(100vh - 80px)}.page-content{padding:var(--spacing-4);padding-bottom:var(--spacing-20)}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .4s ease-out}.loading{min-height:200px}.spinner{border:4px solid var(--gray-200);border-top-color:var(--primary-500)}.error-message{background-color:var(--error-light);border-left:4px solid var(--error);border-radius:var(--radius-md);color:var(--error-dark);margin:var(--spacing-4);padding:var(--spacing-4)}.empty-state{color:var(--text-secondary);padding:var(--spacing-12) var(--spacing-6)}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-4)}.empty-state-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--spacing-2)}.empty-state-description{color:var(--text-tertiary);font-size:var(--text-sm)}@media (min-width:768px){.app-content{margin:0 auto;max-width:768px}.page-content{padding:var(--spacing-6)}}@media (min-width:1024px){.app-content{max-width:1024px}}.top-bar{box-shadow:var(--shadow-md);color:#fff;left:0;padding:var(--spacing-4) var(--spacing-4) var(--spacing-6);padding-top:calc(var(--spacing-4) + env(safe-area-inset-top, 0));position:sticky;right:0;top:0;z-index:var(--z-sticky)}.top-bar,.top-bar--default{background:var(--primary-gradient)}.top-bar--white{background:var(--bg-surface);border-bottom:1px solid var(--border-default);color:var(--text-primary)}.top-bar-content{align-items:center;display:flex;gap:var(--spacing-3);margin:0 auto;max-width:1400px}.top-bar-left,.top-bar-right{align-items:center;display:flex;gap:var(--spacing-2)}.top-bar-right{margin-left:auto}.top-bar-action{align-items:center;background:#fff3;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xl);height:44px;justify-content:center;position:relative;transition:all var(--transition-fast);width:44px}.top-bar--white .top-bar-action{background:var(--bg-hover);color:var(--text-primary)}.top-bar-action:hover{background:#ffffff4d;transform:scale(1.05)}.top-bar--white .top-bar-action:hover{background:var(--bg-active)}.top-bar-action:active{transform:scale(.95)}.top-bar-notification-dot{animation:pulse 2s infinite;background:var(--error-500);border:2px solid #fff;border-radius:var(--radius-full);height:8px;position:absolute;right:8px;top:8px;width:8px}.logout-btn{align-items:center;background:#0000;border-radius:0;display:flex;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;transition:all .3s ease;width:44px}.logout-btn:hover{background:#ffffff14;transform:translateY(-2px)}.logout-btn:active{transform:translateY(0)}.logout-btn-img{display:block;height:36px;object-fit:contain;width:36px}.logout-btn--icon .logout-btn-emoji{font-size:1.25rem}.notification-btn{align-items:center;background:#fff3;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;position:relative;transition:all .3s ease;width:44px}.notification-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.notification-btn:active{transform:translateY(0)}.notification-badge{align-items:center;background:var(--error-500);border:2px solid;border-radius:9px;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:4px;top:4px}body.light-mode .notification-btn{background:#3b82f61a;color:#3b82f6}body.light-mode .notification-btn:hover{background:#3b82f633}body.comfort-mode .notification-btn{background:#8b5cf626;color:#8b5cf6}body.comfort-mode .notification-btn:hover{background:#8b5cf640}body.light-mode .logout-btn{background:#0000;color:#ef4444}body.light-mode .logout-btn:hover{background:#ef444414}body.comfort-mode .logout-btn{background:#0000}body.comfort-mode .logout-btn:hover{background:#ff6b3514}.top-bar-title-section{flex:1 1;min-width:0}.top-bar-title{font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.top-bar-subtitle,.top-bar-title{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-subtitle{font-size:var(--text-sm);margin:var(--spacing-1) 0 0;opacity:.9}.top-bar--white .top-bar-title{color:var(--text-primary)}.top-bar--white .top-bar-subtitle{color:var(--text-secondary);opacity:1}@media (min-width:768px){.top-bar{padding:var(--spacing-6) var(--spacing-6) var(--spacing-8)}.top-bar-title{font-size:var(--text-2xl)}}body.light-mode .top-bar{background:#fff;border-bottom:1px solid #e5e7eb;color:#1f2937}body.light-mode .top-bar-title{color:#1f2937}body.light-mode .top-bar-subtitle{color:#6b7280}body.comfort-mode .top-bar{background:#faf8f5;border-bottom:1px solid #d4c5b9;color:#3e2723}body.comfort-mode .top-bar-title{color:#3e2723}body.comfort-mode .top-bar-subtitle{color:#8d6e63}.student-selector{position:relative}.student-selector-btn{align-items:center;background:#ffffff0d;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.75rem;min-width:180px;padding:.75rem 1.25rem;transition:all .3s ease}.student-selector-btn:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.student-selector-btn:disabled{cursor:not-allowed;opacity:.5}.student-selector-dropdown{animation:dropdownSlide .2s ease-out;background:#1a1f3a;border:1px solid #fff3;border-radius:12px;box-shadow:0 10px 40px #0006;left:0;max-width:400px;min-width:280px;overflow:hidden;position:absolute;top:calc(100% + .5rem);z-index:999}.student-avatar-small{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:40px;justify-content:center;width:40px}.selector-btn-avatar,.student-avatar-small-img{border:1px solid #fff3;border-radius:8px;flex-shrink:0;height:40px;object-fit:cover;width:40px}.selector-btn-avatar{height:36px;width:36px}.student-info-small{flex:1 1;min-width:0}.student-name-small{color:#fff;font-size:.95rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-number-small{color:#fff9;font-size:.8rem}body.light-mode .student-selector-btn{background:#fff;border-color:#e1e8ed;color:#1a202c}body.light-mode .student-selector-btn:hover{background:#f8f9fa;border-color:#cbd5e0}body.light-mode .student-selector-dropdown{background:#fff;border-color:#e1e8ed}body.light-mode .student-name-small{color:#1a202c}body.light-mode .student-number-small{color:#64748b}body.comfort-mode .student-selector-btn{background:#ffffff14;border-color:#fff3}body.comfort-mode .student-selector-dropdown{background:#2d3748;border-color:#fff3}@media (max-width:768px){.student-selector-dropdown{bottom:80px;left:50%;max-width:400px;position:fixed;top:auto;transform:translateX(-50%);width:90%}}.class-selector{position:relative}.class-selector-btn{align-items:center;background:#ffffff0d;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.75rem;min-width:180px;padding:.75rem 1.25rem;transition:all .3s ease}.class-selector-btn:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.class-selector-btn:disabled{cursor:not-allowed;opacity:.5}.selector-icon{font-size:1.25rem}.selector-text{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.selector-arrow{color:#fff9;font-size:.75rem}.selector-overlay{background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.class-selector-dropdown{animation:dropdownSlide .2s ease-out;background:#1a1f3a;border:1px solid #fff3;border-radius:12px;box-shadow:0 10px 40px #0006;left:0;max-width:400px;min-width:280px;overflow:hidden;position:absolute;top:calc(100% + .5rem);z-index:999}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:1rem 1.25rem}.dropdown-header h4{color:#fff;font-size:1rem;font-weight:600;margin:0}.dropdown-close{align-items:center;background:#0000;display:flex;font-size:1.25rem;height:28px;justify-content:center;width:28px}.dropdown-list{max-height:400px;overflow-y:auto;padding:.5rem}.dropdown-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:1rem;padding:.75rem;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#ffffff0d;border-color:#ffffff1a}.dropdown-item.active{background:#667eea33;border-color:#667eea}.class-icon-small{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:40px;justify-content:center;width:40px}.class-info-small{flex:1 1;min-width:0}.class-name-small{color:#fff;font-size:.95rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-details-small{color:#fff9;font-size:.8rem}.check-icon{color:#10b981;font-size:1.25rem;font-weight:700}.dropdown-empty{color:#ffffff80;font-size:.9rem;padding:2rem;text-align:center}body.light-mode .class-selector-btn{background:#fff;border-color:#e1e8ed;color:#1a202c}body.light-mode .class-selector-btn:hover{background:#f8f9fa;border-color:#cbd5e0}body.light-mode .selector-arrow{color:#64748b}body.light-mode .class-selector-dropdown{background:#fff;border-color:#e1e8ed}body.light-mode .dropdown-header{border-bottom-color:#e1e8ed}body.light-mode .dropdown-header h4{color:#1a202c}body.light-mode .dropdown-close{color:#64748b}body.light-mode .dropdown-close:hover{background:#f1f5f9;color:#1a202c}body.light-mode .dropdown-item{color:#1a202c}body.light-mode .dropdown-item:hover{background:#f8f9fa;border-color:#e1e8ed}body.light-mode .dropdown-item.active{background:#667eea1a}body.light-mode .class-name-small{color:#1a202c}body.light-mode .class-details-small{color:#64748b}body.comfort-mode .class-selector-btn{background:#ffffff14;border-color:#fff3}body.comfort-mode .class-selector-dropdown{background:#2d3748;border-color:#fff3}body.comfort-mode .dropdown-header{border-bottom-color:#ffffff26}.dropdown-list::-webkit-scrollbar{width:6px}.dropdown-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.dropdown-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.dropdown-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width:768px){.class-selector-dropdown{bottom:80px;left:50%;max-width:400px;position:fixed;top:auto;transform:translateX(-50%);width:90%}@keyframes dropdownSlide{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}}.theme-switcher{position:relative;z-index:99}.theme-switcher-trigger{align-items:center;background:#ffffff1a;border:2px solid #8b5cf64d;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:10px 16px;transition:all .3s ease}.theme-switcher-trigger:hover{background:#ffffff26;border-color:#8b5cf680;transform:translateY(-2px)}.theme-icon{font-size:18px}.theme-name{color:#fff;font-size:13px;font-weight:600}.theme-dropdown{animation:dropdownFadeIn .3s ease;background:#1e1e2efa;border:2px solid #8b5cf64d;border-radius:12px;box-shadow:0 8px 32px #0006;min-width:240px;position:absolute;right:0;top:calc(100% + 8px)}.theme-dropdown-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:14px 16px}.theme-dropdown-title{color:#fff;font-size:13px;font-weight:700}.theme-dropdown-close{background:none;border:none;border-radius:6px;color:#fff9;cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s ease}.theme-dropdown-close:hover{background:#ffffff1a;color:#fff}.themes-list{padding:8px}.theme-option{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:12px;transition:all .2s ease}.theme-option:hover{background:#8b5cf61a}.theme-option.active{background:#8b5cf633;border:1px solid #8b5cf666}.theme-option-icon{flex-shrink:0;font-size:24px}.theme-option-details{flex:1 1}.theme-option-name{color:#fff;font-size:13px;font-weight:600;margin-bottom:2px}.theme-option-desc{color:#ffffff80;font-size:11px}.theme-check{color:#22c55e;font-size:16px;font-weight:700}body.light-mode{background:#fff!important}body.light-mode .theme-switcher-trigger{background:#fff;border-color:#e5e7eb}body.light-mode .theme-switcher-trigger:hover{background:#f9fafb;border-color:#8b5cf6}body.light-mode .theme-name{color:#1f2937}body.light-mode .theme-dropdown{background:#fff;border-color:#e5e7eb;box-shadow:0 8px 32px #0000001a}body.light-mode .theme-dropdown-title{color:#1f2937}body.light-mode .theme-dropdown-close{color:#6b7280}body.light-mode .theme-dropdown-close:hover{background:#f3f4f6;color:#1f2937}body.light-mode .theme-option-name{color:#1f2937}body.light-mode .theme-option-desc{color:#6b7280}body.light-mode .theme-option:hover{background:#f3f4f6}body.light-mode .theme-option.active{background:#8b5cf61a;border-color:#8b5cf6}body.comfort-mode{background:linear-gradient(135deg,#faf8f5,#f5f3ef)!important}body.comfort-mode .theme-switcher-trigger{background:#f5f3ef;border-color:#d4c5b9}body.comfort-mode .theme-switcher-trigger:hover{background:#ebe7e0;border-color:#a67c52}body.comfort-mode .theme-name{color:#3e2723}body.comfort-mode .theme-dropdown{background:#faf8f5;border-color:#d4c5b9;box-shadow:0 8px 32px #3e272326}body.comfort-mode .theme-dropdown-title{color:#3e2723}body.comfort-mode .theme-dropdown-close{color:#8d6e63}body.comfort-mode .theme-dropdown-close:hover{background:#ebe7e0;color:#3e2723}body.comfort-mode .theme-option-name{color:#3e2723}body.comfort-mode .theme-option-desc{color:#8d6e63}body.comfort-mode .theme-option:hover{background:#ebe7e0}body.comfort-mode .theme-option.active{background:#a67c5226;border-color:#a67c52}.card{border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card,.card--default{background:var(--bg-surface)}.card--gradient{background:var(--primary-gradient);border:none;color:#fff}.card--success{background:linear-gradient(135deg,var(--success-500),var(--success-600));border:none;color:#fff}.card--warning{background:linear-gradient(135deg,var(--warning-400),var(--warning-500));border:none;color:#fff}.card--info{background:linear-gradient(135deg,var(--info-500),var(--info-600));border:none;color:#fff}.card--glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #ffffff4d}.card--outline{background:#0000;border:2px solid var(--border-default)}.card--padding-none{padding:0}.card--padding-sm{padding:var(--spacing-3)}.card--padding-default{padding:var(--spacing-4)}.card--padding-lg{padding:var(--spacing-6)}.card--clickable{cursor:pointer}.card--clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--clickable:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-3)}.card-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.card-gradient .card-title,.card-info .card-title,.card-success .card-title,.card-warning .card-title{color:#fff}.card-subtitle{font-size:var(--text-sm);margin:var(--spacing-1) 0 0}.card-body,.card-subtitle{color:var(--text-secondary)}.card-body{line-height:1.6}.card-footer{align-items:center;border-top:1px solid var(--border-default);display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.card--gradient .card-footer,.card--info .card-footer,.card--success .card-footer,.card--warning .card-footer{border-top-color:#fff3}.avatar{align-items:center;background:var(--primary-gradient);color:#fff;display:inline-flex;flex-shrink:0;font-weight:var(--font-semibold);justify-content:center;overflow:hidden;position:relative}.avatar--circle{border-radius:var(--radius-full)}.avatar--rounded{border-radius:var(--radius-md)}.avatar--square{border-radius:var(--radius-sm)}.avatar--xs{font-size:var(--text-xs);height:24px;width:24px}.avatar--sm{font-size:var(--text-sm);height:32px;width:32px}.avatar--md{font-size:var(--text-base);height:40px;width:40px}.avatar--lg{font-size:var(--text-lg);height:56px;width:56px}.avatar--xl{font-size:var(--text-2xl);height:80px;width:80px}.avatar-image{height:100%;object-fit:cover;width:100%}.avatar-initials{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.avatar--clickable{cursor:pointer;transition:all var(--transition-fast)}.avatar--clickable:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.avatar--clickable:active{transform:scale(.98)}.avatar--with-status{border:2px solid #fff}.avatar-status{border:2px solid #fff;border-radius:var(--radius-full);bottom:0;height:25%;position:absolute;right:0;width:25%}.avatar-status--online{background:var(--success-500)}.avatar-status--offline{background:var(--gray-400)}.avatar-status--busy{background:var(--error-500)}.avatar-status--away{background:var(--warning-500)}@media (min-width:768px){.avatar--xs{height:28px;width:28px}.avatar--sm{height:36px;width:36px}.avatar--md{height:48px;width:48px}.avatar--lg{height:64px;width:64px}.avatar--xl{height:96px;width:96px}}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-weight:var(--font-medium);justify-content:center;transition:all var(--transition-fast);white-space:nowrap}.badge--xs{min-height:16px;padding:2px var(--spacing-2)}.badge--sm,.badge--xs{font-size:var(--text-xs)}.badge--sm{min-height:20px;padding:var(--spacing-1) var(--spacing-2)}.badge--md{font-size:var(--text-sm);min-height:24px;padding:var(--spacing-1) var(--spacing-3)}.badge--lg{font-size:var(--text-base);min-height:32px;padding:var(--spacing-2) var(--spacing-4)}.badge--default{background:var(--gray-100);color:var(--gray-700)}.badge--primary{background:var(--primary-100);color:var(--primary-700)}.badge--success{background:var(--success-100);color:var(--success-700)}.badge--warning{background:var(--warning-100);color:var(--warning-700)}.badge--error{background:var(--error-100);color:var(--error-700)}.badge--info{background:var(--info-100);color:var(--info-700)}.badge--gradient{background:var(--primary-gradient);color:#fff}.badge--outline{background:#0000;border:1.5px solid}.badge--outline.badge--default{border-color:var(--gray-300);color:var(--gray-600)}.badge--outline.badge--primary{border-color:var(--primary-400);color:var(--primary-600)}.badge--outline.badge--success{border-color:var(--success-400);color:var(--success-600)}.badge--outline.badge--warning{border-color:var(--warning-400);color:var(--warning-600)}.badge--outline.badge--error{border-color:var(--error-400);color:var(--error-600)}.badge--outline.badge--info{border-color:var(--info-400);color:var(--info-600)}.badge--dot{gap:var(--spacing-2);padding-left:var(--spacing-2)}.badge--dot:before{background:currentColor;border-radius:var(--radius-full);content:"";flex-shrink:0;height:6px;width:6px}.button{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-family:inherit;font-weight:var(--font-semibold);gap:var(--spacing-2);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.button--sm{font-size:var(--text-sm);min-height:32px;padding:var(--spacing-2) var(--spacing-3)}.button--md{font-size:var(--text-base);min-height:44px;padding:var(--spacing-3) var(--spacing-4)}.button--lg{font-size:var(--text-lg);min-height:52px;padding:var(--spacing-4) var(--spacing-6)}.button--primary{background:var(--primary-gradient);color:#fff}.button--primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.button--primary:active{transform:translateY(0)}.button--secondary{background:var(--gray-100);color:var(--text-primary)}.button--secondary:hover{background:var(--gray-200)}.button--success{background:linear-gradient(135deg,var(--success-500),var(--success-600));color:#fff}.button--success:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.button--danger{background:linear-gradient(135deg,var(--error-500),var(--error-600));color:#fff}.button--danger:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.button--warning{background:linear-gradient(135deg,var(--warning-400),var(--warning-500));color:#fff}.button--warning:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.button--info{background:linear-gradient(135deg,var(--info-500),var(--info-600));color:#fff}.button--info:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.button--outline{background:#0000;border:2px solid var(--primary-500);color:var(--primary-600)}.button--outline:hover{background:var(--primary-50)}.button--ghost{background:#0000;color:var(--text-primary)}.button--ghost:hover{background:var(--bg-hover)}.button--link{background:#0000;color:var(--primary-600);min-height:auto;padding:0}.button--link:hover{text-decoration:underline}.button--full-width{width:100%}.button-icon{align-items:center;display:flex;font-size:1.2em}.button-text{line-height:1}.button--loading{pointer-events:none}.button--loading .button-text{opacity:0}.button-spinner{animation:spin .6s linear infinite;border:2px solid #0000;border-radius:var(--radius-full);border-top-color:initial;height:16px;position:absolute;width:16px}.student-dashboard{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.dashboard-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.stats-grid{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(2,1fr);margin-bottom:var(--spacing-6)}.stat-card{cursor:pointer;text-align:center;transition:all var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-icon{font-size:32px;margin-bottom:var(--spacing-2)}.dashboard-section{margin-bottom:var(--spacing-6)}.announcements-list,.grades-list,.schedule-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.grade-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;transition:all var(--transition-fast)}.grade-item:hover{transform:translateX(4px)}.grade-subject{flex:1 1;gap:var(--spacing-3)}.grade-subject,.subject-icon{align-items:center;display:flex}.subject-icon{border-radius:var(--radius-lg);font-size:var(--text-xl);height:44px;justify-content:center;width:44px}.subject-info{flex:1 1}.subject-name{color:var(--text-primary);font-size:var(--text-base);margin-bottom:var(--spacing-1)}.subject-meta{color:var(--text-secondary);font-size:var(--text-sm)}.grade-badge{display:flex;gap:var(--spacing-2)}.schedule-item{display:flex;overflow:hidden;padding:0;position:relative}.schedule-time-bar{flex-shrink:0;width:4px}.schedule-content{align-items:center;display:flex;flex:1 1;gap:var(--spacing-3);justify-content:space-between}.schedule-info{flex:1 1}.schedule-subject{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--spacing-1)}.schedule-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--spacing-2)}.schedule-time{color:var(--primary-600);font-size:var(--text-base);font-weight:var(--font-bold);white-space:nowrap}.announcement-item{align-items:center;display:flex;gap:var(--spacing-3)}.announcement-icon{align-items:center;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:var(--text-xl);height:44px;justify-content:center;width:44px}.announcement-icon--info{background:var(--info-100)}.announcement-icon--warning{background:var(--warning-100)}.announcement-content{flex:1 1}.announcement-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--spacing-1)}.announcement-time{color:var(--text-secondary);font-size:var(--text-sm)}.quick-actions{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-4)}.actions-grid{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(4,1fr);margin-top:var(--spacing-4)}.action-button{align-items:center;background:var(--bg-base);border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);transition:all var(--transition-fast)}.action-button:hover{background:var(--primary-50);border-color:var(--primary-400);transform:translateY(-2px)}.action-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}.dashboard-content{padding:var(--spacing-6)}}@media (max-width:480px){.actions-grid{grid-template-columns:repeat(2,1fr)}}.test-mode-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.test-mode-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.test-mode-btn:active{transform:translateY(0)}.subject-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.subject-content,.subject-detail-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.subjects-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subject-card{cursor:pointer;overflow:hidden;padding:0;transition:all var(--transition-fast)}.subject-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.subject-card-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:var(--spacing-5)}.subject-card-icon{font-size:48px}.subject-grade-badge{background:#ffffff4d!important;color:#fff!important;font-size:var(--text-lg)!important;font-weight:var(--font-bold);padding:var(--spacing-2) var(--spacing-4)!important}.subject-card-body{padding:var(--spacing-4)}.subject-card-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--spacing-1)}.subject-card-teacher{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--spacing-3)}.subject-card-progress{align-items:center;display:flex;gap:var(--spacing-3)}.progress-bar{background:var(--gray-200);flex:1 1;height:8px;overflow:hidden}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{height:100%;transition:width var(--transition-normal)}.progress-fill--success{background:var(--success-500)}.progress-fill--info{background:var(--info-500)}.progress-fill--warning{background:var(--warning-500)}.progress-fill--error{background:var(--error-500)}.progress-percentage,.progress-text{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);white-space:nowrap}.subject-summary-card{margin-bottom:var(--spacing-5)}.subject-summary{align-items:center;display:flex;gap:var(--spacing-4)}.subject-summary-icon{align-items:center;border-radius:var(--radius-xl);display:flex;font-size:48px;height:80px;justify-content:center;width:80px}.subject-summary-info{flex:1 1}.subject-summary-grade{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:1;margin-bottom:var(--spacing-1)}.subject-summary-percentage{font-size:var(--text-lg);opacity:.95}.grades-section{margin-bottom:var(--spacing-6)}.grades-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.grade-detail-card{transition:all var(--transition-fast)}.grade-detail-card:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.grade-detail-header{align-items:flex-start;display:flex;gap:var(--spacing-3);justify-content:space-between;margin-bottom:var(--spacing-3)}.grade-detail-info{flex:1 1}.grade-detail-title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--spacing-2)}.grade-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.grade-detail-date,.grade-detail-weight{color:var(--text-secondary);font-size:var(--text-xs)}.grade-detail-score{flex-shrink:0}.grade-detail-progress{align-items:center;display:flex;gap:var(--spacing-2)}.actions-section{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-6)}@media (max-width:768px){.subjects-grid{grid-template-columns:1fr}.grade-detail-header{flex-direction:column}.grade-detail-score{align-self:flex-end}}@media (min-width:1024px){.subjects-grid{grid-template-columns:repeat(3,1fr)}}.student-profile-header{background:linear-gradient(135deg,#1e1e2ef2,#141424fa);border:1px solid #8b5cf64d;border-radius:12px;margin-bottom:20px;padding:20px}.profile-main{align-items:center;display:flex;gap:16px;margin-bottom:16px}.profile-avatar{flex-shrink:0}.profile-name{color:#fff;font-size:24px;font-weight:700;margin:0 0 8px}.profile-details{color:#ffffffb3;display:flex;flex-wrap:wrap;font-size:14px;gap:8px}.profile-details span{white-space:nowrap}.profile-stats{grid-gap:12px;border-top:1px solid #8b5cf633;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);padding-top:16px}.stat-value{color:#60a5fa;font-size:24px}.stat-label{font-size:12px}.loading{align-items:center;display:flex;justify-content:center;padding:40px}@media (max-width:768px){.profile-main{flex-direction:column;text-align:center}.profile-stats{gap:16px;grid-template-columns:repeat(3,1fr)}.profile-details{font-size:12px;justify-content:center}.profile-name{font-size:20px}}body.light-mode .student-profile-header{background:#fff;border-color:#e0e0e0}body.light-mode .profile-name{color:#1a1a1a}body.light-mode .profile-details{color:#666}body.light-mode .stat-value{color:#3b82f6}body.comfort-mode .student-profile-header{background:#4a556880;border-color:#cbd5e01a}body.comfort-mode .profile-name{color:#f7fafc}body.comfort-mode .profile-details{color:#cbd5e0}body.comfort-mode .stat-value{color:#93c5fd}.student-nav-tabs{-webkit-overflow-scrolling:touch;background:#1e1e2ef2;border-bottom:2px solid #8b5cf64d;overflow-x:auto;padding:12px 16px}.tabs-container{gap:8px;min-width:min-content}.tab-button{background:#8b5cf61a;border:2px solid #8b5cf633;color:#ffffffb3;font-size:13px;padding:10px 16px}.tab-button:hover{background:#8b5cf626;border-color:#8b5cf666;color:#ffffffe6}.tab-button.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf666}.tab-icon{font-size:16px}.tab-label{display:inline}.student-nav-tabs::-webkit-scrollbar{height:6px}.student-nav-tabs::-webkit-scrollbar-track{background:#1e1e2e80;border-radius:3px}.student-nav-tabs::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:3px}.student-nav-tabs::-webkit-scrollbar-thumb:hover{background:#8b5cf699}@media (max-width:768px){.tab-button{font-size:12px;padding:8px 12px}.tab-icon{font-size:14px}}@media (max-width:480px){.tab-label{display:none}.tab-button{justify-content:center;min-width:44px;padding:10px}}body.light-mode .student-nav-tabs{background:#fff;border-bottom:2px solid #e0e0e0}body.light-mode .tab-button{background:#f5f5f5;border-color:#e0e0e0;color:#666}body.light-mode .tab-button:hover{background:#e8e8e8;border-color:#d0d0d0;color:#333}body.light-mode .tab-button.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#8b5cf6;color:#fff}body.comfort-mode .student-nav-tabs{background:#4a556880;border-bottom:2px solid #cbd5e033}body.comfort-mode .tab-button{background:#4a556866;border-color:#cbd5e01a;color:#cbd5e0}body.comfort-mode .tab-button:hover{background:#4a556899;border-color:#cbd5e033;color:#f7fafc}body.comfort-mode .tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.schedule-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.schedule-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.schedule-header{margin-bottom:var(--spacing-4)}.schedule-breadcrumb{align-items:center;display:flex;font-size:var(--text-sm);gap:var(--spacing-2)}.breadcrumb-item,.schedule-breadcrumb{color:var(--text-secondary)}.breadcrumb-item--active{color:var(--text-primary);font-weight:var(--font-semibold)}.breadcrumb-separator{color:var(--text-tertiary)}.schedule-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:space-between;margin-bottom:var(--spacing-4)}.days-selector{flex:1 1}.day-button{color:var(--text-secondary);font-weight:var(--font-medium);padding:var(--spacing-2) var(--spacing-4);white-space:nowrap}.day-button.active{background:var(--primary-500)}.speed-controls{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-lg);gap:var(--spacing-2);padding:var(--spacing-1)}.speed-button{border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-1) var(--spacing-3);transition:all var(--transition-fast)}.speed-button:hover{background:var(--gray-100)}.speed-button.active{background:var(--primary-500);color:#fff}.schedule-day-header{margin-bottom:var(--spacing-4)}.day-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.schedule-timeline{display:flex;flex-direction:column;gap:var(--spacing-3)}.period-card{cursor:pointer;display:flex;overflow:hidden;padding:0;transition:all var(--transition-fast)}.period-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.period-card--break{opacity:.85}.period-card--break:hover{transform:none}.period-color-bar{flex-shrink:0;width:6px}.period-content{flex:1 1;padding:var(--spacing-4)}.period-header{align-items:flex-start;display:flex;gap:var(--spacing-3);justify-content:space-between;margin-bottom:var(--spacing-3)}.period-subject{align-items:center;display:flex;gap:var(--spacing-2)}.period-icon{font-size:var(--text-2xl);line-height:1}.period-subject-name{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.period-time{background:var(--gray-100);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-1) var(--spacing-3)}.period-details{display:flex;flex-wrap:wrap;gap:var(--spacing-4)}.period-room,.period-teacher{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--spacing-2)}.room-icon,.teacher-icon{font-size:var(--text-base)}.schedule-loading{align-items:center;display:flex;justify-content:center;padding:var(--spacing-8)}.no-schedule{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);padding:var(--spacing-8);text-align:center}[data-theme=dark] .schedule-page{background:#1a1a1a;background:var(--bg-base-dark,#1a1a1a)}[data-theme=dark] .day-button{background:#2d2d2d;background:var(--bg-card-dark,#2d2d2d);border-color:#404040;border-color:var(--border-dark,#404040);color:#e5e5e5;color:var(--text-primary-dark,#e5e5e5)}[data-theme=dark] .day-button:hover{background:#3a3a3a;background:var(--bg-hover-dark,#3a3a3a)}[data-theme=dark] .day-button.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}[data-theme=dark] .speed-controls{background:#2d2d2d;background:var(--bg-card-dark,#2d2d2d);border-color:#404040;border-color:var(--border-dark,#404040)}[data-theme=dark] .speed-button{color:#e5e5e5;color:var(--text-primary-dark,#e5e5e5)}[data-theme=dark] .speed-button:hover{background:#3a3a3a;background:var(--bg-hover-dark,#3a3a3a)}[data-theme=dark] .period-card{background:#2d2d2d;background:var(--bg-card-dark,#2d2d2d);border-color:#404040;border-color:var(--border-dark,#404040)}[data-theme=dark] .period-subject-name{color:#e5e5e5;color:var(--text-primary-dark,#e5e5e5)}[data-theme=dark] .period-time{background:#3a3a3a;background:var(--bg-hover-dark,#3a3a3a)}[data-theme=dark] .period-room,[data-theme=dark] .period-teacher,[data-theme=dark] .period-time{color:#a0a0a0;color:var(--text-secondary-dark,#a0a0a0)}[data-theme=dark] .day-title{color:#e5e5e5;color:var(--text-primary-dark,#e5e5e5)}[data-theme=dark] .breadcrumb-item{color:#a0a0a0;color:var(--text-secondary-dark,#a0a0a0)}[data-theme=dark] .breadcrumb-item--active{color:#e5e5e5;color:var(--text-primary-dark,#e5e5e5)}[data-theme=dark] .no-schedule{background:#2d2d2d;background:var(--bg-card-dark,#2d2d2d);border-color:#404040;border-color:var(--border-dark,#404040);color:#a0a0a0;color:var(--text-secondary-dark,#a0a0a0)}@media (max-width:640px){.schedule-controls{align-items:stretch;flex-direction:column}.days-selector{order:1}.speed-controls{justify-content:center;order:2}.day-button{font-size:var(--text-xs);padding:var(--spacing-2) var(--spacing-3)}.period-details,.period-header{flex-direction:column;gap:var(--spacing-2)}}@media (min-width:768px){.schedule-content{padding:var(--spacing-6)}.days-selector{flex-wrap:wrap;justify-content:flex-start}.day-button{min-width:80px}}.messages-page{background:var(--bg-base);display:flex;flex-direction:column;min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.messages-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4);width:100%}.chats-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.chat-item{cursor:pointer;display:flex;gap:var(--spacing-3);position:relative;transition:all var(--transition-fast)}.chat-item:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.chat-avatar-container{flex-shrink:0}.chat-info{flex:1 1;min-width:0}.chat-header{align-items:center;display:flex;gap:var(--spacing-2);justify-content:space-between;margin-bottom:var(--spacing-1)}.chat-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.chat-role{color:var(--text-secondary);font-size:var(--text-xs);margin-bottom:var(--spacing-1)}.chat-last-message{color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-time{align-self:flex-start;color:var(--text-tertiary);flex-shrink:0;font-size:var(--text-xs)}.chat-page{padding-bottom:0}.chat-messages-container{background:var(--bg-base);height:calc(100vh - 120px)}.chat-messages,.chat-messages-container{display:flex;flex:1 1;flex-direction:column}.chat-messages{gap:var(--spacing-3);overflow-y:auto;padding:var(--spacing-4)}.message-bubble{animation:slideUp .3s ease-out;max-width:75%}.message-bubble--sent{align-self:flex-end}.message-bubble--received{align-self:flex-start}.message-content{border-radius:var(--radius-lg);font-size:var(--text-base);line-height:1.5;padding:var(--spacing-3) var(--spacing-4)}.message-bubble--sent .message-content{background:var(--primary-gradient);border-bottom-right-radius:var(--radius-sm);color:#fff}.message-bubble--received .message-content{background:#fff;border:1px solid var(--border-default);border-bottom-left-radius:var(--radius-sm);color:var(--text-primary)}.message-time{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--spacing-1);padding:0 var(--spacing-2)}.message-bubble--sent .message-time{text-align:right}.chat-input-container{background:#fff;border-top:1px solid var(--border-default);bottom:64px;display:flex;gap:var(--spacing-2);padding:var(--spacing-4);position:sticky}.chat-input{background:var(--bg-base);border:2px solid var(--border-default);border-radius:var(--radius-full);flex:1 1;font-family:inherit;font-size:var(--text-base);padding:var(--spacing-3) var(--spacing-4);transition:all var(--transition-fast)}.chat-input:focus{background:#fff;border-color:var(--primary-500);outline:none}.chat-send-button{align-items:center;background:var(--primary-gradient);border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xl);height:44px;justify-content:center;transition:all var(--transition-fast);width:44px}.chat-send-button:disabled{cursor:not-allowed;opacity:.5}.chat-send-button:not(:disabled):hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.chat-send-button:not(:disabled):active{transform:scale(.95)}@media (min-width:768px){.message-bubble{max-width:60%}}.attendance-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.attendance-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.stats-overview{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(4,1fr);margin-bottom:var(--spacing-5)}.stat-box{padding:var(--spacing-4)!important;text-align:center}.calendar-container{margin-bottom:var(--spacing-5)}.calendar-header{border-bottom:1px solid var(--border-default);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3)}.calendar-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.month-selector{background:#fff;border:2px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-fast)}.month-selector:focus{border-color:var(--primary-500);outline:none}.calendar-grid{grid-gap:var(--spacing-2);gap:var(--spacing-2);grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-4)}.calendar-day-header{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--spacing-2);text-align:center;text-transform:uppercase}.calendar-day{border:2px solid var(--border-default);border-radius:var(--radius-md);position:relative;transition:all var(--transition-fast)}.calendar-day--present{background:var(--success-50);border-color:var(--success-200)}.calendar-day--absent{background:var(--error-50);border-color:var(--error-200)}.calendar-day--late{background:var(--warning-50);border-color:var(--warning-200)}.calendar-day--weekend{background:var(--gray-50);border-color:var(--gray-200);opacity:.6}.calendar-day-number{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.calendar-day-status{font-size:var(--text-xs);margin-top:2px}.calendar-legend{border-top:1px solid var(--border-default);flex-wrap:wrap;gap:var(--spacing-4);padding-top:var(--spacing-4)}.legend-item{color:var(--text-secondary);font-size:var(--text-sm);gap:var(--spacing-2)}.legend-dot{border-radius:var(--radius-sm);flex-shrink:0;height:16px;width:16px}.legend-dot--present{background:var(--success-100);border:2px solid var(--success-500)}.legend-dot--absent{background:var(--error-100);border:2px solid var(--error-500)}.legend-dot--late{background:var(--warning-100);border:2px solid var(--warning-500)}.legend-dot--weekend{background:var(--gray-100);border:2px solid var(--gray-400)}.recent-section{margin-bottom:var(--spacing-6)}.records-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.record-item{align-items:center;display:flex;gap:var(--spacing-4)}.record-date{flex-shrink:0;text-align:center;width:50px}.record-day{color:var(--primary-600);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1}.record-month{color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase}.record-info{flex:1 1}.record-day-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--spacing-1)}.record-note{color:var(--text-secondary);font-size:var(--text-sm)}.record-status{flex-shrink:0;text-align:right}.record-time{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--spacing-1)}@media (max-width:768px){.stats-overview{grid-template-columns:repeat(2,1fr)}.calendar-day-header{font-size:10px}.calendar-day-number{font-size:12px}}@media (max-width:480px){.calendar-grid{gap:var(--spacing-1)}.calendar-day{border-width:1px}}.food-menu-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.food-menu-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.calories-card{margin-bottom:var(--spacing-5)}.calories-info{align-items:center;display:flex;gap:var(--spacing-4)}.calories-icon{font-size:64px}.calories-details{flex:1 1}.calories-value{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:1;margin-bottom:var(--spacing-1)}.calories-label{font-size:var(--text-lg);opacity:.95}.days-selector{-webkit-overflow-scrolling:touch;display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-5);overflow-x:auto;padding-bottom:var(--spacing-2)}.days-selector::-webkit-scrollbar{height:4px}.days-selector::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}.day-button{background:#fff;border:2px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold);min-width:60px;padding:var(--spacing-3) var(--spacing-4);text-align:center;transition:all var(--transition-fast)}.day-button:hover{background:var(--primary-50);border-color:var(--primary-300)}.day-button.active{background:var(--primary-gradient);border-color:var(--primary-500);color:#fff}.meal-section{margin-bottom:var(--spacing-6)}.meal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-4)}.meal-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.meal-items{flex-direction:column}.meal-item,.meal-items{display:flex;gap:var(--spacing-3)}.meal-item{align-items:center;transition:all var(--transition-fast)}.meal-item:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.meal-icon{flex-shrink:0;font-size:40px}.meal-info{flex:1 1}.meal-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--spacing-2)}.meal-meta{align-items:center;display:flex;gap:var(--spacing-2)}.meal-calories{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.dietary-note{margin-top:var(--spacing-6)}.note-header{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--spacing-2)}.note-text{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin:0}@media (min-width:768px){.meal-items{display:grid;grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.meal-items{grid-template-columns:repeat(3,1fr)}}.forms-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.forms-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.forms-stats{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(3,1fr);margin-bottom:var(--spacing-5)}.form-stat-box{padding:var(--spacing-4)!important;text-align:center}.stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--spacing-1)}.stat-label{font-size:var(--text-sm);opacity:.95}.alert-card{align-items:center;border-left:4px solid var(--error-500);display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.alert-icon{flex-shrink:0;font-size:32px}.alert-content{flex:1 1}.alert-title{color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--spacing-1)}.alert-message{font-size:var(--text-sm);opacity:.95}.forms-section{margin-bottom:var(--spacing-6)}.forms-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.form-card{display:flex;gap:var(--spacing-4);transition:all var(--transition-fast)}.form-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.form-card--draft{opacity:.8}.form-card--completed{border-left:4px solid var(--success-500)}.form-icon-container{flex-shrink:0;position:relative}.form-icon{align-items:center;background:var(--primary-50);border-radius:var(--radius-lg);display:flex;font-size:32px;height:64px;justify-content:center;width:64px}.form-icon--completed{background:var(--success-100)}.form-required-badge{background:var(--error-500);border-radius:var(--radius-sm);bottom:-4px;color:#fff;font-size:9px;font-weight:var(--font-bold);letter-spacing:.5px;padding:2px 6px;position:absolute;right:-4px;text-transform:uppercase}.form-content{flex:1 1;min-width:0}.form-header{align-items:flex-start;display:flex;gap:var(--spacing-2);justify-content:space-between;margin-bottom:var(--spacing-2)}.form-title{color:var(--text-primary);flex:1 1;font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.form-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--spacing-3)}.form-footer{gap:var(--spacing-3);justify-content:space-between}.form-deadline,.form-footer{align-items:center;display:flex}.form-deadline{color:var(--text-secondary);flex-wrap:wrap;font-size:var(--text-sm);gap:var(--spacing-2)}.deadline-urgent{color:var(--error-600);font-weight:var(--font-semibold)}.form-completed-date{color:var(--success-600);font-size:var(--text-sm);font-weight:var(--font-medium)}@media (max-width:768px){.form-card{flex-direction:column}.form-icon-container{align-self:flex-start}.form-footer{align-items:flex-start;flex-direction:column}}@media (min-width:1024px){.forms-list{display:grid;grid-template-columns:repeat(2,1fr)}}.attendance-calendar{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;padding:20px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-header h3{color:#fff;font-size:18px;font-weight:700;margin:0}.attendance-rate{background:#22c55e26;border:1px solid #22c55e4d;border-radius:8px;color:#22c55e;font-size:14px;font-weight:600;padding:6px 12px}.weekday-headers{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr);margin-bottom:12px}.weekday-header{color:#fff9;font-size:12px;font-weight:700;padding:8px 0;text-align:center}.calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr);margin-bottom:20px}.calendar-day{align-items:center;aspect-ratio:1;background:#6366f11a;border:2px solid #6366f133;border-radius:12px;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:8px;transition:all .3s ease}.calendar-day.empty{background:#0000;border:none}.calendar-day.today{background:#8b5cf626;border-color:#8b5cf6}.day-number{color:#fffc;font-size:13px;font-weight:600}.attendance-badge{align-items:center;border-radius:50%;display:flex;font-size:11px;font-weight:700;height:24px;justify-content:center;width:24px}.attendance-badge.present{background:#22c55e33;border:2px solid #22c55e;color:#22c55e}.attendance-badge.absent{background:#ef444433;border:2px solid #ef4444;color:#ef4444}.attendance-badge.late{background:#f9731633;border:2px solid #f97316;color:#f97316}.attendance-badge.early{background:#3b82f633;border:2px solid #3b82f6;color:#3b82f6}.calendar-legend{border-top:1px solid #8b5cf633;display:flex;gap:20px;justify-content:center;padding-top:16px}.legend-item{font-size:12px}.legend-badge{align-items:center;border-radius:50%;display:flex;font-size:11px;font-weight:700;height:24px;justify-content:center;width:24px}.legend-badge.present{background:#22c55e33;border:2px solid #22c55e;color:#22c55e}.legend-badge.absent{background:#ef444433;border:2px solid #ef4444;color:#ef4444}.legend-badge.late{background:#f9731633;border:2px solid #f97316;color:#f97316}.attendance-calendar.error,.attendance-calendar.loading{align-items:center;display:flex;justify-content:center;min-height:300px}.error-message,.loading-spinner{color:#fff9;font-size:14px}@media (max-width:768px){.attendance-calendar{padding:16px}.calendar-header h3{font-size:16px}.attendance-rate{font-size:12px;padding:4px 10px}.calendar-day{padding:6px}.day-number{font-size:12px}.attendance-badge{font-size:10px;height:20px;width:20px}.calendar-legend{flex-wrap:wrap;gap:12px}.legend-item{font-size:11px}}body.light-mode .attendance-calendar{background:#fff;border:2px solid #e0e0e0}body.light-mode .calendar-header h3{color:#1a1a1a}body.light-mode .weekday-header{color:#666}body.light-mode .calendar-day{background:#f5f5f5;border-color:#e0e0e0}body.light-mode .calendar-day.today{background:#8b5cf61a;border-color:#8b5cf6}body.light-mode .day-number{color:#333}body.light-mode .legend-item{color:#666}body.comfort-mode .attendance-calendar{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode .calendar-header h3{color:#f7fafc}body.comfort-mode .weekday-header{color:#cbd5e0}body.comfort-mode .calendar-day{background:#4a55684d;border-color:#cbd5e026}body.comfort-mode .calendar-day.today{background:#667eea26;border-color:#667eea}body.comfort-mode .day-number{color:#e2e8f0}body.comfort-mode .legend-item{color:#cbd5e0}.classmaster-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.classmaster-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.section-title{font-size:var(--text-xl);margin:0 0 var(--spacing-4)}.classmaster-error,.classmaster-loading{margin-top:var(--spacing-6)}.loading-spinner{font-size:var(--text-base);padding:var(--spacing-8);text-align:center}.error-content{align-items:flex-start;display:flex;gap:var(--spacing-3)}.error-icon{flex-shrink:0;font-size:var(--text-2xl)}.error-text h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--spacing-2)}.error-text p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.classmaster-info-section{margin-bottom:var(--spacing-6)}.classmaster-card{overflow:hidden}.classmaster-header{align-items:center;display:flex;gap:var(--spacing-5);margin-bottom:var(--spacing-5)}.classmaster-avatar{flex-shrink:0}.classmaster-details{flex:1 1}.classmaster-name{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--spacing-2)}.classmaster-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-base);gap:var(--spacing-2)}.classmaster-subject{color:var(--primary-600);font-weight:var(--font-semibold)}.meta-separator{color:var(--text-tertiary);font-weight:var(--font-normal)}.classmaster-role{color:var(--text-primary);font-weight:var(--font-medium)}.classmaster-contact{border-top:1px solid var(--border-default);display:flex;flex-direction:column;gap:var(--spacing-3);padding-top:var(--spacing-5)}.contact-item{align-items:center;display:flex;font-size:var(--text-sm);gap:var(--spacing-2)}.contact-icon{flex-shrink:0;font-size:var(--text-lg)}.contact-label{color:var(--text-secondary);font-weight:var(--font-medium);min-width:60px}.contact-value{color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.contact-value:hover{color:var(--primary-600);text-decoration:underline}.attendance-section{margin-top:var(--spacing-6)}@media (max-width:768px){.classmaster-content{padding:var(--spacing-3)}.classmaster-header{flex-direction:column;gap:var(--spacing-3);text-align:center}.classmaster-name{font-size:var(--text-xl)}.classmaster-meta{font-size:var(--text-sm);justify-content:center}.classmaster-contact{gap:var(--spacing-2)}.contact-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-1)}.contact-label{min-width:auto}.section-title{font-size:var(--text-lg)}}@media (min-width:1024px){.classmaster-header{padding:var(--spacing-2)}.classmaster-contact{flex-direction:row;gap:var(--spacing-6)}}body:not(.light-mode):not(.comfort-mode) .classmaster-card{background:#1e1e2ef2;border:2px solid #8b5cf64d}body:not(.light-mode):not(.comfort-mode) .classmaster-name{color:#fff}body:not(.light-mode):not(.comfort-mode) .classmaster-subject{color:#8b5cf6}body:not(.light-mode):not(.comfort-mode) .classmaster-role{color:#ffffffe6}body:not(.light-mode):not(.comfort-mode) .contact-label{color:#fff9}body:not(.light-mode):not(.comfort-mode) .contact-value{color:#ffffffe6}body:not(.light-mode):not(.comfort-mode) .contact-value:hover{color:#8b5cf6}body:not(.light-mode):not(.comfort-mode) .classmaster-contact{border-top-color:#8b5cf633}body.light-mode .classmaster-card{background:#fff;border:2px solid #e0e0e0}body.light-mode .classmaster-name{color:#1a1a1a}body.light-mode .classmaster-subject{color:#8b5cf6}body.light-mode .classmaster-role{color:#333}body.light-mode .classmaster-meta,body.light-mode .contact-label{color:#666}body.light-mode .contact-value{color:#1a1a1a}body.light-mode .contact-value:hover{color:#8b5cf6}body.light-mode .classmaster-contact{border-top-color:#e0e0e0}body.light-mode .error-text h3{color:#1a1a1a}body.light-mode .error-text p{color:#666}body.comfort-mode .classmaster-card{background:#4a556899;border:2px solid #cbd5e04d}body.comfort-mode .classmaster-name{color:#f7fafc}body.comfort-mode .classmaster-subject{color:#667eea}body.comfort-mode .classmaster-role{color:#e2e8f0}body.comfort-mode .classmaster-meta,body.comfort-mode .contact-label{color:#cbd5e0}body.comfort-mode .contact-value{color:#e2e8f0}body.comfort-mode .contact-value:hover{color:#667eea}body.comfort-mode .classmaster-contact{border-top-color:#cbd5e033}body.comfort-mode .error-text h3{color:#f7fafc}body.comfort-mode .error-text p{color:#cbd5e0}.homework-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;display:flex;gap:16px;padding:16px;transition:all .3s ease}.homework-card.clickable{cursor:pointer}.homework-card.clickable:hover{background:#8b5cf61a;border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf64d;transform:translateY(-4px)}.homework-subject-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0003;display:flex;flex-shrink:0;font-size:28px;height:56px;justify-content:center;width:56px}.homework-content{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.homework-header{gap:12px}.homework-subject{color:#fff9;font-size:12px}.homework-status,.homework-subject{font-weight:700;letter-spacing:.5px;text-transform:uppercase}.homework-status{border:2px solid;border-radius:6px;font-size:10px;padding:4px 10px;white-space:nowrap}.homework-status.status-overdue{background:#ef444433;border-color:#ef4444;color:#ef4444}.homework-status.status-pending{background:#f9731633;border-color:#f97316;color:#f97316}.homework-status.status-testing{background:#3b82f633;border-color:#3b82f6;color:#3b82f6}.homework-status.status-done{background:#22c55e33;border-color:#22c55e;color:#22c55e}.homework-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:15px;font-weight:700;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis}.homework-footer{align-items:center;display:flex;gap:16px;margin-top:auto}.homework-due-date{align-items:center;color:#ffffffb3;display:flex;font-size:13px;font-weight:600;gap:6px}.due-icon{font-size:14px}@media (max-width:768px){.homework-card{gap:12px;padding:14px}.homework-subject-icon{font-size:24px;height:48px;width:48px}.homework-subject{font-size:11px}.homework-status{font-size:9px;padding:3px 8px}.homework-title{font-size:14px}.homework-due-date{font-size:12px}}@media (max-width:480px){.homework-card{flex-direction:column;gap:12px}.homework-subject-icon{height:60px;width:100%}}body.light-mode .homework-card{background:#fff;border:2px solid #e0e0e0}body.light-mode .homework-card.clickable:hover{background:#8b5cf60d;border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf633}body.light-mode .homework-subject{color:#666}body.light-mode .homework-title{color:#1a1a1a}body.light-mode .homework-due-date{color:#666}body.comfort-mode .homework-card{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode .homework-card.clickable:hover{background:#667eea26;border-color:#667eea;box-shadow:0 8px 24px #667eea4d}body.comfort-mode .homework-subject{color:#cbd5e0}body.comfort-mode .homework-title{color:#f7fafc}body.comfort-mode .homework-due-date{color:#cbd5e0}.homework-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.homework-content{margin:0 auto;max-width:1400px;padding:var(--spacing-4)}.homework-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:space-between;margin-bottom:var(--spacing-6)}.page-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0}.homework-stats{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.stat-badge{border:2px solid;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--spacing-2) var(--spacing-4);white-space:nowrap}.stat-badge.stat-overdue{background:#ef44441a;border-color:#ef4444;color:#ef4444}.stat-badge.stat-pending{background:#f973161a;border-color:#f97316;color:#f97316}.stat-badge.stat-testing{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.stat-badge.stat-done{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.homework-section{margin-bottom:var(--spacing-8)}.section-header{margin-bottom:var(--spacing-4)}.section-title{gap:var(--spacing-3)}.status-icon{font-size:var(--text-2xl);line-height:1}.status-icon-overdue{filter:drop-shadow(0 0 8px rgba(239,68,68,.5))}.status-icon-pending{filter:drop-shadow(0 0 8px rgba(249,115,22,.5))}.status-icon-testing{filter:drop-shadow(0 0 8px rgba(59,130,246,.5))}.status-icon-done{filter:drop-shadow(0 0 8px rgba(34,197,94,.5))}.homework-grid{grid-gap:var(--spacing-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.homework-grid,.loading-container{gap:var(--spacing-4)}.loading-spinner{border:4px solid var(--gray-200);border-top-color:var(--primary-500)}.loading-container p{color:var(--text-secondary);font-size:var(--text-lg);margin:0}.empty-state{min-height:400px;padding:var(--spacing-8)}.empty-icon{font-size:80px;margin-bottom:var(--spacing-4);opacity:.5}.empty-state h3{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--spacing-2)}.empty-state p{color:var(--text-secondary);font-size:var(--text-base);margin:0}@media (max-width:1024px){.homework-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.homework-content{padding:var(--spacing-3)}.homework-header{align-items:flex-start;flex-direction:column}.page-title{font-size:var(--text-2xl)}.homework-stats{justify-content:flex-start;width:100%}.stat-badge{font-size:var(--text-xs);padding:var(--spacing-1) var(--spacing-3)}.section-title{font-size:var(--text-xl)}.homework-grid{gap:var(--spacing-3);grid-template-columns:1fr}}@media (max-width:480px){.homework-stats{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.stat-badge{justify-content:center;text-align:center}}body.light-mode .homework-page{background:#f5f5f5}body.light-mode .page-title,body.light-mode .section-title{color:#1a1a1a}body.light-mode .loading-spinner{border-color:#8b5cf6 #e0e0e0 #e0e0e0}body.light-mode .loading-container p{color:#666}body.light-mode .empty-state h3{color:#1a1a1a}body.light-mode .empty-state p{color:#666}body.comfort-mode .homework-page{background:#2d3748}body.comfort-mode .page-title,body.comfort-mode .section-title{color:#f7fafc}body.comfort-mode .stat-badge.stat-overdue{background:#ef444433;border-color:#ef4444}body.comfort-mode .stat-badge.stat-pending{background:#f9731633;border-color:#f97316}body.comfort-mode .stat-badge.stat-testing{background:#3b82f633;border-color:#3b82f6}body.comfort-mode .stat-badge.stat-done{background:#22c55e33;border-color:#22c55e}body.comfort-mode .loading-spinner{border-color:#667eea #cbd5e033 #cbd5e033}body.comfort-mode .loading-container p{color:#cbd5e0}body.comfort-mode .empty-state h3{color:#f7fafc}body.comfort-mode .empty-state p{color:#cbd5e0}body.dark-mode .homework-page,body:not(.light-mode):not(.comfort-mode) .homework-page{background:#0f0f1e}body.dark-mode .page-title,body.dark-mode .section-title,body:not(.light-mode):not(.comfort-mode) .page-title,body:not(.light-mode):not(.comfort-mode) .section-title{color:#fff}body.dark-mode .loading-container p,body:not(.light-mode):not(.comfort-mode) .loading-container p{color:#ffffffb3}body.dark-mode .empty-state h3,body:not(.light-mode):not(.comfort-mode) .empty-state h3{color:#fff}body.dark-mode .empty-state p,body:not(.light-mode):not(.comfort-mode) .empty-state p{color:#fff9}.homework-section{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.homework-grid>*{animation:fadeInScale .3s ease-out backwards}.homework-grid>:first-child{animation-delay:.05s}.homework-grid>:nth-child(2){animation-delay:.1s}.homework-grid>:nth-child(3){animation-delay:.15s}.homework-grid>:nth-child(4){animation-delay:.2s}.homework-grid>:nth-child(5){animation-delay:.25s}.homework-grid>:nth-child(6){animation-delay:.3s}.homework-grid>:nth-child(n+7){animation-delay:.35s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.grade-table{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;overflow-x:auto;padding:20px}.table-container{-webkit-overflow-scrolling:touch}table{border-collapse:collapse;min-width:600px;width:100%}thead{background:#8b5cf626;border-radius:8px}th{color:#fffc;font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 8px;text-align:center;text-transform:uppercase}th:first-child{padding-left:16px;text-align:left}tbody tr{border-bottom:1px solid #8b5cf61a;transition:background .2s ease}tbody tr:hover{background:#8b5cf60d}tbody tr:last-child{border-bottom:none}td{color:#ffffffe6;font-size:14px;padding:14px 8px;text-align:center}.subject-cell{padding-left:16px;text-align:left}.score-cell{color:#fffc;font-weight:600}.average-cell{color:#8b5cf6;font-size:15px;font-weight:700}.grade-cell{text-align:center}.grade-badge{align-items:center;border:2px solid;border-radius:8px;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;min-width:48px;padding:6px 12px}.grade-badge.grade-a-plus{background:#22c55e33;border-color:#22c55e;color:#22c55e}.grade-badge.grade-a{background:#3b82f633;border-color:#3b82f6;color:#3b82f6}.grade-badge.grade-b-plus{background:#f9731633;border-color:#f97316;color:#f97316}.grade-badge.grade-b{background:#fbbf2433;border-color:#fbbf24;color:#fbbf24}.grade-badge.grade-c-plus{background:#a855f733;border-color:#a855f7;color:#a855f7}.grade-badge.grade-c{background:#8b5cf633;border-color:#8b5cf6;color:#8b5cf6}.grade-badge.grade-d{background:#ef444433;border-color:#ef4444;color:#ef4444}.grade-badge.grade-f{background:#dc262633;border-color:#dc2626;color:#dc2626}.grade-table.empty,.grade-table.error,.grade-table.loading{align-items:center;display:flex;justify-content:center;min-height:200px}.empty-message,.error-message,.loading-spinner{color:#fff9;font-size:14px}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#1e1e2e80;border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:#8b5cf699}@media (max-width:768px){.grade-table{padding:16px}th{font-size:10px;padding:10px 6px}td{font-size:13px;padding:12px 6px}.grade-badge{font-size:12px;min-width:40px;padding:4px 8px}}body.light-mode .grade-table{background:#fff;border:2px solid #e0e0e0}body.light-mode thead{background:#f5f5f5}body.light-mode th{color:#666}body.light-mode tbody tr{border-bottom:1px solid #e0e0e0}body.light-mode tbody tr:hover{background:#f9f9f9}body.light-mode td{color:#333}body.light-mode .score-cell{color:#666}body.light-mode .average-cell{color:#8b5cf6}body.comfort-mode .grade-table{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode thead{background:#4a55684d}body.comfort-mode th{color:#cbd5e0}body.comfort-mode tbody tr{border-bottom:1px solid #cbd5e01a}body.comfort-mode tbody tr:hover{background:#4a556866}body.comfort-mode td{color:#e2e8f0}body.comfort-mode .score-cell{color:#cbd5e0}body.comfort-mode .average-cell{color:#667eea}.performance-page{background:linear-gradient(135deg,#1e1e2e,#16161f);min-height:100vh;padding:20px}.performance-content{margin:0 auto;max-width:1200px}.section-header-row{align-items:center;margin:24px 0 16px}.section-date{color:#fff9;font-size:14px;font-weight:500}.grades-section{margin-bottom:32px}.subject-progress-section{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;margin-top:24px;padding:24px}.subsection-title{margin:0 0 20px}.subject-bars{gap:16px}.subject-bar-item,.subject-bars{display:flex;flex-direction:column}.subject-bar-item{gap:8px}.subject-bar-label{align-items:center;display:flex;justify-content:space-between}.subject-name{color:#fff;font-size:15px;font-weight:600}.subject-percentage{color:#8b5cf6;font-size:14px;font-weight:700}.subject-bar-track{background:#8b5cf61a;border-radius:6px;height:12px;overflow:hidden;position:relative;width:100%}.subject-bar-fill{border-radius:6px;box-shadow:0 2px 8px #0003;height:100%;position:relative;transition:width .6s ease,background .3s ease}.subject-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.empty-state,.error-state,.loading-state{padding:40px 20px}.loading-spinner{font-size:14px}@media (max-width:768px){.performance-page{padding:16px}.section-header-row{align-items:flex-start;flex-direction:column;gap:8px;margin:20px 0 12px}.section-title{font-size:20px}.section-date{font-size:13px}.subject-progress-section{padding:20px}.subsection-title{font-size:16px}.subject-name{font-size:14px}.subject-percentage{font-size:13px}.subject-bar-track{height:10px}}@media (max-width:480px){.performance-page{padding:12px}.section-title{font-size:18px}.subject-progress-section{padding:16px}.subject-bars{gap:14px}}body.light-mode .performance-page{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}body.light-mode .section-date{color:#666}body.light-mode .subject-progress-section{background:#fff;border:2px solid #e0e0e0}body.light-mode .subject-name{color:#1a1a1a}body.light-mode .subject-percentage{color:#8b5cf6}body.light-mode .subject-bar-track{background:#f0f0f0}body.light-mode .empty-message,body.light-mode .loading-spinner{color:#666}body.comfort-mode .performance-page{background:linear-gradient(135deg,#4a5568,#2d3748)}body.comfort-mode .section-date{color:#cbd5e0}body.comfort-mode .subject-progress-section{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode .subject-name{color:#f7fafc}body.comfort-mode .subject-percentage{color:#667eea}body.comfort-mode .subject-bar-track{background:#4a556880}body.comfort-mode .subject-bar-fill{box-shadow:0 2px 8px #0000004d}body.comfort-mode .empty-message,body.comfort-mode .loading-spinner{color:#cbd5e0}.summary-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.summary-loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.loading-spinner{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;color:var(--text-secondary);font-size:var(--text-lg)}.summary-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.summary-header{margin-bottom:var(--spacing-4)}.summary-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.summary-stats-card{margin-bottom:var(--spacing-6);padding:var(--spacing-5)}.summary-stats-grid{grid-gap:var(--spacing-4);border-bottom:1px solid var(--border-color);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(4,1fr);margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-5)}.summary-stat-item{text-align:center}.summary-stat-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.5px;margin-bottom:var(--spacing-2);text-transform:uppercase}.summary-stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:1}.summary-stat-value--primary{color:var(--primary-500)}.summary-stat-value--success{color:var(--success-500)}.summary-stat-value--info{color:var(--info-500)}.summary-stat-value--warning{color:var(--warning-500)}.summary-text-container{background:var(--gray-50);border-radius:var(--radius-lg);padding:var(--spacing-4)}.summary-text{color:var(--text-primary);font-size:var(--text-base);line-height:1.6;margin:0}.summary-section{margin-bottom:var(--spacing-6)}.summary-section-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:.5px;margin:0 0 var(--spacing-3);text-transform:uppercase}.summary-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.summary-badge{border-radius:var(--radius-full);cursor:default;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-2) var(--spacing-4);transition:all var(--transition-fast)}.summary-badge:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.summary-empty-message{color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;margin:0}@media (max-width:768px){.summary-stats-grid{gap:var(--spacing-3);grid-template-columns:repeat(2,1fr)}.summary-stat-value{font-size:var(--text-2xl)}.summary-stat-label{font-size:var(--text-xs)}.summary-text{font-size:var(--text-sm)}.summary-badge{font-size:var(--text-xs);padding:var(--spacing-1-5) var(--spacing-3)}}@media (max-width:480px){.summary-content{padding:var(--spacing-3)}.summary-stats-card{padding:var(--spacing-4)}.summary-stats-grid{gap:var(--spacing-2);grid-template-columns:repeat(2,1fr);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4)}.summary-text-container{padding:var(--spacing-3)}}body.dark-mode .summary-text-container,body:not(.light-mode):not(.comfort-mode) .summary-text-container{background:#1e1e2e80;border:1px solid #8b5cf633}body.dark-mode .summary-text,body:not(.light-mode):not(.comfort-mode) .summary-text{color:#ffffffe6}body.dark-mode .summary-section-title,body.dark-mode .summary-title,body:not(.light-mode):not(.comfort-mode) .summary-section-title,body:not(.light-mode):not(.comfort-mode) .summary-title{color:#fff}body.dark-mode .summary-stat-label,body:not(.light-mode):not(.comfort-mode) .summary-stat-label{color:#fff9}body.light-mode .summary-page{background:#f5f5f5}body.light-mode .summary-text-container{background:#fff;border:1px solid #e0e0e0}body.light-mode .summary-section-title,body.light-mode .summary-text,body.light-mode .summary-title{color:#1a1a1a}body.light-mode .summary-empty-message,body.light-mode .summary-stat-label{color:#666}body.comfort-mode .summary-page{background:#2d3748}body.comfort-mode .summary-text-container{background:#4a556880;border:1px solid #cbd5e01a}body.comfort-mode .summary-section-title,body.comfort-mode .summary-text,body.comfort-mode .summary-title{color:#f7fafc}body.comfort-mode .summary-empty-message,body.comfort-mode .summary-stat-label{color:#cbd5e0}body.comfort-mode .summary-stat-value--primary{color:#93c5fd}body.comfort-mode .summary-stat-value--success{color:#86efac}body.comfort-mode .summary-stat-value--info{color:#7dd3fc}body.comfort-mode .summary-stat-value--warning{color:#fcd34d}.student-profile-builder{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;box-shadow:0 10px 40px #0000004d;margin-bottom:30px;padding:40px;width:100%}.student-profile-builder.error,.student-profile-builder.loading{align-items:center;color:#a8b2d1;display:flex;flex-direction:column;justify-content:center;min-height:300px}.loading-spinner{border:4px solid #7b61ff33;border-top-color:#7b61ff;margin-bottom:20px}.profile-header-section{align-items:center;display:flex;gap:40px;margin-bottom:40px}.profile-avatar-large{border:5px solid #7b61ff;border-radius:50%;box-shadow:0 8px 24px #7b61ff4d;flex-shrink:0;height:160px;overflow:hidden;width:160px}.profile-avatar-large img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#7b61ff,#9d7eff);color:#fff;display:flex;font-size:64px;font-weight:700;height:100%;justify-content:center;text-transform:uppercase;width:100%}.profile-info{flex:1 1}.student-name{font-size:42px;font-weight:700;margin:0 0 20px;text-shadow:0 2px 10px #7b61ff4d}.profile-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-item{align-items:center;background:#ffffff0d;border:1px solid #7b61ff33;border-radius:10px;display:flex;gap:8px;padding:12px 16px;transition:all .3s ease}.detail-item:hover{background:#7b61ff1a;border-color:#7b61ff66;transform:translateY(-2px)}.detail-label{color:#8892b0;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#e6f1ff;font-size:16px;font-weight:600}.stats-badges-row{grid-gap:16px;border-top:2px solid #7b61ff33;display:grid;gap:16px;grid-template-columns:repeat(7,1fr);padding-top:30px}.stat-badge{align-items:center;border-radius:16px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:24px 16px;position:relative;transition:all .3s ease}.stat-badge:before{background:linear-gradient(135deg,#7b61ff1a,#7b61ff0d);border:2px solid #7b61ff4d;border-radius:16px;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:all .3s ease}.stat-badge:hover:before{background:linear-gradient(135deg,#7b61ff33,#7b61ff1a);border-color:#7b61ff80}.stat-badge:hover{box-shadow:0 10px 30px #7b61ff4d;transform:translateY(-5px)}.stat-badge.gpa:before{background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);border-color:#ff6b6b80}.stat-badge.rank:before{background:linear-gradient(135deg,#ffb84d1a,#ffb84d0d);border-color:#ffb84d80}.stat-badge.attendance:before{background:linear-gradient(135deg,#48dbfb1a,#48dbfb0d);border-color:#48dbfb80}.stat-badge.goals:before{background:linear-gradient(135deg,#7b61ff1a,#7b61ff0d);border-color:#7b61ff80}.stat-badge.awards:before{background:linear-gradient(135deg,#ffc75f1a,#ffc75f0d);border-color:#ffc75f80}.stat-badge.sports:before{background:linear-gradient(135deg,#54d68d1a,#54d68d0d);border-color:#54d68d80}.stat-badge.honors:before{background:linear-gradient(135deg,#f672801a,#f672800d);border-color:#f6728080}.stat-label{color:#8892b0;font-weight:700;letter-spacing:1px;text-transform:uppercase}.stat-label,.stat-value{position:relative;z-index:1}.stat-value{font-weight:800;line-height:1}.stat-badge.gpa .stat-value{color:#ff6b6b}.stat-badge.rank .stat-value{color:#ffb84d}.stat-badge.attendance .stat-value{color:#48dbfb}.stat-badge.goals .stat-value{color:#7b61ff}.stat-badge.awards .stat-value{color:#ffc75f}.stat-badge.sports .stat-value{color:#54d68d}.stat-badge.honors .stat-value{color:#f67280}@media (max-width:1400px){.stats-badges-row{grid-template-columns:repeat(4,1fr)}}@media (max-width:1024px){.student-profile-builder{padding:30px}.profile-header-section{flex-direction:column;gap:30px;text-align:center}.profile-avatar-large{height:140px;width:140px}.student-name{font-size:36px}.stats-badges-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.student-profile-builder{padding:20px}.profile-avatar-large{height:120px;width:120px}.student-name{font-size:28px}.profile-details{grid-template-columns:1fr}.stats-badges-row{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:28px}}@media (max-width:480px){.stats-badges-row{grid-template-columns:1fr}}[data-theme=light] .student-profile-builder{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}[data-theme=light] .student-name{color:#1a1a2e;text-shadow:0 2px 10px #0000000d}[data-theme=light] .detail-item{background:#00000008;border-color:#7b61ff33}[data-theme=light] .detail-label{color:#495057}[data-theme=light] .detail-value{color:#212529}[data-theme=light] .stat-label{color:#495057}[data-theme=comfort] .student-profile-builder{background:linear-gradient(135deg,#2c3e50,#34495e)}[data-theme=comfort] .student-name{color:#ecf0f1}[data-theme=comfort] .detail-label{color:#95a5a6}[data-theme=comfort] .detail-value{color:#ecf0f1}[data-theme=comfort] .stat-label{color:#95a5a6}.profile-navigation-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#161b22f2;border-radius:16px;box-shadow:0 4px 20px #0000004d;margin-bottom:30px;padding:16px;width:100%}.tabs-container{align-items:center;display:flex;gap:20px;justify-content:space-between}.tabs-list{display:flex;flex:1 1;gap:8px;overflow-x:auto;scrollbar-color:#7b61ff4d #0000;scrollbar-width:thin}.tabs-list::-webkit-scrollbar{height:4px}.tabs-list::-webkit-scrollbar-track{background:#0000}.tabs-list::-webkit-scrollbar-thumb{background:#7b61ff4d;border-radius:4px}.tabs-list::-webkit-scrollbar-thumb:hover{background:#7b61ff80}.tab-button{align-items:center;background:#ffffff0d;border:2px solid #7b61ff33;border-radius:12px;color:#a8b2d1;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.tab-button:hover{background:#7b61ff1a;border-color:#7b61ff66;box-shadow:0 4px 12px #7b61ff33;color:#e6f1ff;transform:translateY(-2px)}.tab-button.active{background:linear-gradient(135deg,#7b61ff,#9d7eff);border-color:#7b61ff;box-shadow:0 4px 16px #7b61ff66;color:#fff}.tab-button.active:hover{box-shadow:0 6px 20px #7b61ff80;transform:translateY(-2px)}.tab-icon{font-size:20px;line-height:1}.tab-label{font-size:14px;letter-spacing:.3px}.tabs-actions{flex-shrink:0;gap:12px}.build-button,.tabs-actions{align-items:center;display:flex}.build-button{background:linear-gradient(135deg,#8b5cf6,#a855f7);border:none;border-radius:12px;box-shadow:0 4px 16px #8b5cf64d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;gap:8px;padding:12px 24px;transition:all .3s ease}.build-button:hover{background:linear-gradient(135deg,#7c3aed,#9333ea);box-shadow:0 6px 24px #8b5cf680;transform:translateY(-2px)}.build-button:active{transform:translateY(0)}.build-icon{font-size:18px;line-height:1}.build-text{letter-spacing:.3px}.reset-button{align-items:center;background:#ffffff0d;border:2px solid #ef44444d;border-radius:12px;color:#ef4444;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.reset-button:hover{background:#ef44441a;border-color:#ef444480;box-shadow:0 4px 12px #ef444433;transform:translateY(-2px)}.reset-button:active{transform:translateY(0)}.reset-icon{font-size:16px;line-height:1}.reset-text{letter-spacing:.3px}.speed-controls{background:#ffffff08;border:1px solid #7b61ff26;border-radius:10px;display:flex;gap:4px;padding:4px}.speed-button{background:#0000;border:none;border-radius:8px;color:#8892b0;cursor:pointer;font-size:13px;font-weight:700;min-width:45px;padding:8px 14px;transition:all .2s ease}.speed-button:hover{background:#7b61ff1a;color:#a8b2d1}.speed-button.active{background:#7b61ff33;color:#7b61ff}.speed-button:active{transform:scale(.95)}@media (max-width:1400px){.tabs-container{flex-wrap:wrap}.tabs-list{order:1;width:100%}.tabs-actions{justify-content:flex-end;margin-top:12px;order:2;width:100%}}@media (max-width:1024px){.profile-navigation-tabs{padding:12px}.tab-button{font-size:13px;padding:10px 16px}.tab-icon{font-size:18px}.build-button,.reset-button{font-size:13px;padding:10px 18px}.build-icon{font-size:16px}.reset-icon{font-size:14px}}@media (max-width:768px){.tabs-container{flex-direction:column;gap:12px}.tabs-list{justify-content:flex-start;width:100%}.tab-button{padding:10px 14px}.tab-label{display:none}.tabs-actions{justify-content:space-between;margin-top:0;width:100%}.build-text,.reset-text{display:none}.build-button,.reset-button{padding:10px 14px}}@media (max-width:480px){.tabs-list{gap:4px}.tab-button{padding:10px 12px}.speed-controls{gap:2px}.speed-button{font-size:12px;min-width:40px;padding:8px 10px}}[data-theme=light] .profile-navigation-tabs{background:#f8f9faf2;box-shadow:0 4px 20px #00000014}[data-theme=light] .tab-button{background:#00000008;border-color:#7b61ff33;color:#495057}[data-theme=light] .tab-button:hover{background:#7b61ff14;color:#212529}[data-theme=light] .tab-button.active{background:linear-gradient(135deg,#7b61ff,#9d7eff);color:#fff}[data-theme=light] .reset-button{background:#ef44440d;border-color:#ef44444d;color:#dc2626}[data-theme=light] .reset-button:hover{background:#ef44441a}[data-theme=light] .speed-controls{background:#00000008;border-color:#7b61ff26}[data-theme=light] .speed-button{color:#495057}[data-theme=light] .speed-button:hover{color:#212529}[data-theme=light] .speed-button.active{color:#7b61ff}[data-theme=comfort] .profile-navigation-tabs{background:#2c3e50f2}[data-theme=comfort] .tab-button{background:#ffffff0d;border-color:#7b61ff33;color:#95a5a6}[data-theme=comfort] .tab-button:hover{color:#ecf0f1}[data-theme=comfort] .tab-button.active{background:linear-gradient(135deg,#7b61ff,#9d7eff);color:#fff}[data-theme=comfort] .reset-button{border-color:#e74c3c4d;color:#e74c3c}[data-theme=comfort] .reset-button:hover{background:#e74c3c1a;border-color:#e74c3c80}[data-theme=comfort] .speed-button{color:#95a5a6}[data-theme=comfort] .speed-button:hover{color:#bdc3c7}[data-theme=comfort] .speed-button.active{color:#7b61ff}.full-profile-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.full-profile-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.profile-header{align-items:center;display:flex;gap:var(--spacing-4);justify-content:space-between;margin-bottom:var(--spacing-6)}.profile-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.profile-sections-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:var(--spacing-6)}.profile-section-card{cursor:pointer;padding:var(--spacing-5);transition:all var(--transition-fast)}.profile-section-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.section-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-4)}.section-icon{align-items:center;border-radius:var(--radius-lg);display:flex;height:56px;justify-content:center;width:56px}.section-count{background:var(--bg-secondary);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--spacing-1) var(--spacing-3)}.section-title{font-size:var(--text-lg);margin:0 0 var(--spacing-3) 0}.section-summary{margin-bottom:var(--spacing-4)}.summary-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--spacing-1)}.summary-details{color:var(--text-primary);font-size:var(--text-base);line-height:1.5}.section-footer{align-items:center;border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;padding-top:var(--spacing-3)}.view-link{color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-semibold);transition:color var(--transition-fast)}.profile-section-card:hover .view-link{color:var(--primary-700)}.profile-actions{margin-top:var(--spacing-6)}.action-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:var(--spacing-6)}.action-content{align-items:start;display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-5)}.action-icon{align-items:center;background:#fff3;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:32px;height:64px;justify-content:center;width:64px}.action-info{flex:1 1}.action-title{color:#fff;font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--spacing-2) 0}.action-description{color:#fffffff2;font-size:var(--text-base);line-height:1.6;margin:0}body.light-mode .action-card{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}body.light-mode .section-count{background:#f5f5f5}body.comfort-mode .action-card{background:linear-gradient(135deg,#667eea,#764ba2)}body.comfort-mode .section-count{background:#4a556833}@media (max-width:768px){.profile-header{align-items:flex-start;flex-direction:column}.profile-title{font-size:var(--text-xl)}.profile-sections-grid{grid-template-columns:1fr}.action-content{flex-direction:column}}@media (max-width:480px){.full-profile-content{padding:var(--spacing-3)}.profile-header{margin-bottom:var(--spacing-4)}.action-card,.profile-section-card{padding:var(--spacing-4)}.action-icon{font-size:28px;height:56px;width:56px}}.academics-profile-page{background:var(--bg-base);min-height:100vh;padding-bottom:calc(64px + var(--spacing-4))}.academics-profile-content{margin:0 auto;max-width:1200px;padding:var(--spacing-4)}.section-header-bar{align-items:center;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.section-header-left{align-items:center;gap:var(--spacing-3)}.section-icon{font-size:28px}.section-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold)}.section-header-right{align-items:center;display:flex;gap:var(--spacing-3)}.agent-indicator{background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-2) var(--spacing-3)}.state-card{padding:var(--spacing-8)}.empty-state,.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:300px}.loading-spinner{animation:spin .8s linear infinite;border:4px solid var(--border-default);border-top-color:var(--primary-600)}.empty-text,.error-text,.loading-text{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.empty-icon,.error-icon{font-size:56px;opacity:.5}.empty-subtext{color:var(--text-secondary);font-size:var(--text-sm)}.academics-table-card{overflow:hidden;padding:0}.table-container{overflow-x:auto}.academics-table{border-collapse:collapse;width:100%}.academics-table thead{background:var(--bg-secondary);border-bottom:2px solid var(--border-default)}.academics-table th{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.5px;padding:var(--spacing-4);text-align:left;text-transform:uppercase}.academics-table tbody tr{border-bottom:1px solid var(--border-default);transition:background-color var(--transition-fast)}.academics-table tbody tr:hover{background:var(--bg-hover)}.academics-table tbody tr:last-child{border-bottom:none}.academics-table td{color:var(--text-primary);font-size:var(--text-base);padding:var(--spacing-4)}.subject-cell{align-items:center;display:flex;gap:var(--spacing-3)}.subject-indicator{border-radius:var(--radius-full);flex-shrink:0;height:24px;width:4px}.subject-name{font-weight:var(--font-semibold)}.score-value{color:var(--text-primary);font-weight:var(--font-bold)}.teacher-name{color:var(--text-secondary)}.trend-cell{align-items:center;display:flex;gap:var(--spacing-2)}.trend-icon{font-size:var(--text-xl);font-weight:var(--font-bold);text-align:center;width:24px}.trend-icon.trend-improving{color:var(--success-600)}.trend-icon.trend-declining{color:var(--error-600)}.trend-icon.trend-stable,.trend-label{color:var(--text-secondary)}.trend-label{font-size:var(--text-sm);text-transform:capitalize}body.light-mode .section-header-bar{background:#fff}body.light-mode .agent-indicator{background:#f5f5f5}body.light-mode .academics-table thead{background:#f8f9fa}body.comfort-mode .section-header-bar{background:#4a556833}body.comfort-mode .agent-indicator{background:#4a55684d}body.comfort-mode .academics-table thead{background:#4a556833}@media (max-width:768px){.section-header-bar{align-items:flex-start;flex-direction:column;gap:var(--spacing-3)}.section-header-right{justify-content:space-between;width:100%}.section-title{font-size:var(--text-xl)}.academics-table{font-size:var(--text-sm)}.academics-table td,.academics-table th{padding:var(--spacing-3)}}@media (max-width:480px){.academics-profile-content,.section-header-bar{padding:var(--spacing-3)}.section-icon{font-size:24px}.agent-indicator{font-size:var(--text-xs);padding:var(--spacing-1) var(--spacing-2)}.trend-label{display:none}.academics-table td,.academics-table th{padding:var(--spacing-2)}.academics-table th{font-size:var(--text-xs)}}.eca-profile-page{background:linear-gradient(135deg,#1e1e2e,#16161f);min-height:100vh}.eca-content{padding:24px}.agent-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 12px #8b5cf64d}.eca-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:24px}.eca-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;cursor:pointer;padding:20px;transition:all .3s ease}.eca-card:hover{border-color:#8b5cf699;box-shadow:0 8px 24px #8b5cf633;transform:translateY(-4px)}.eca-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.eca-activity-name{color:#fff;flex:1 1;font-size:18px;font-weight:700;margin:0}.status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.status-badge.status-active{background:#10b98133;border:1px solid #10b98166;color:#10b981}.status-badge.status-inactive{background:#6b728033;border:1px solid #6b728066;color:#9ca3af}.eca-card-body{display:flex;flex-direction:column;gap:12px}.eca-info-row{display:flex;flex-wrap:wrap;gap:16px}.eca-info-item{display:flex;flex-direction:column;gap:4px}.eca-label{color:#fff9;font-size:12px;font-weight:500}.eca-value{color:#fff;font-size:15px;font-weight:600}.eca-experience{align-items:center;display:flex}.experience-badge{background:#8b5cf633;border:1px solid #8b5cf64d;border-radius:8px;color:#a78bfa;font-size:13px;font-weight:600;padding:6px 12px}.eca-description{color:#ffffffb3;font-size:14px;line-height:1.5;margin:0}@media (max-width:768px){.eca-content{padding:20px}.eca-grid{gap:16px;grid-template-columns:1fr}.section-title{font-size:20px}.section-header-with-agent{align-items:flex-start;flex-direction:column}.agent-indicator{width:100%}.agent-badge{font-size:12px;padding:6px 12px}.eca-activity-name{font-size:16px}}@media (max-width:480px){.eca-card,.eca-content{padding:16px}.section-title{font-size:18px}.eca-card-header{flex-direction:column;gap:8px}.status-badge{align-self:flex-start}}body.light-mode .eca-profile-page{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}body.light-mode .eca-card{background:#fff;border:2px solid #e0e0e0}body.light-mode .eca-card:hover{border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf626}body.light-mode .eca-activity-name{color:#1a1a1a}body.light-mode .eca-label{color:#666}body.light-mode .eca-value{color:#1a1a1a}body.light-mode .eca-description{color:#666}body.light-mode .status-badge.status-active{background:#10b98126;color:#059669}body.light-mode .status-badge.status-inactive{background:#6b728026;color:#6b7280}body.light-mode .experience-badge{background:#8b5cf626;color:#7c3aed}body.comfort-mode .eca-profile-page{background:linear-gradient(135deg,#4a5568,#2d3748)}body.comfort-mode .eca-card{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode .eca-card:hover{border-color:#667eea99;box-shadow:0 8px 24px #667eea33}body.comfort-mode .eca-activity-name{color:#f7fafc}body.comfort-mode .eca-label{color:#cbd5e0}body.comfort-mode .eca-value{color:#f7fafc}body.comfort-mode .eca-description{color:#cbd5e0}body.comfort-mode .agent-badge{background:linear-gradient(135deg,#667eea,#764ba2)}body.comfort-mode .experience-badge{background:#667eea33;border-color:#667eea4d;color:#a0b4f5}.honors-profile-page{background:linear-gradient(135deg,#1e1e2e,#16161f);min-height:100vh}.honors-content{margin:0 auto;max-width:1200px;padding:24px}.section-header-with-agent{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.section-header-left{flex:1 1}.agent-badge{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:20px;box-shadow:0 4px 12px #f59e0b4d;color:#fff;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px}.honors-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:24px}.honor-card{align-items:center;background:#1e1e2ef2;border:2px solid #f59e0b4d;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:24px;position:relative;text-align:center;transition:all .3s ease}.honor-card:before{background:linear-gradient(90deg,#f59e0b,#d97706,#fbbf24);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.honor-card:hover{border-color:#f59e0b99;box-shadow:0 8px 24px #f59e0b33;transform:translateY(-4px)}.honor-card:hover:before{opacity:1}.honor-icon-large{animation:float 3s ease-in-out infinite;font-size:64px;margin-bottom:16px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.honor-card-body{display:flex;flex-direction:column;gap:12px;width:100%}.honor-name{color:#fff;font-size:20px;font-weight:700;line-height:1.3;margin:0}.honor-description{color:#ffffffb3;font-size:14px;line-height:1.5;margin:0;min-height:42px}.honor-footer{border-top:1px solid #ffffff1a;justify-content:center;margin-top:8px;padding-top:12px}.honor-footer,.honor-year{align-items:center;display:flex}.honor-year{gap:8px}.year-label{color:#fff9;font-size:12px;font-weight:500}.year-value{color:#fbbf24;font-size:16px;font-weight:700}.loading-state{padding:60px 20px}.loading-spinner{border:4px solid #f59e0b33;border-top-color:#f59e0b;height:40px;width:40px}.loading-state p{color:#fff9}.error-state{padding:40px 20px;text-align:center}.empty-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{opacity:.3}.empty-title{color:#fff;font-size:20px;font-weight:700;margin:0}.empty-message{color:#fff9;font-size:14px;margin:0}@media (max-width:768px){.honors-content{padding:20px}.honors-grid{gap:16px;grid-template-columns:1fr}.section-title{font-size:20px}.section-header-with-agent{align-items:flex-start;flex-direction:column}.agent-indicator{width:100%}.agent-badge{font-size:12px;padding:6px 12px}.honor-icon-large{font-size:56px}.honor-name{font-size:18px}}@media (max-width:480px){.honors-content{padding:16px}.honor-card{padding:20px}.section-title{font-size:18px}.honor-icon-large{font-size:48px}.honor-name{font-size:16px}.honor-description{font-size:13px}}body.light-mode .honors-profile-page{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}body.light-mode .honor-card{background:#fff;border:2px solid #e0e0e0}body.light-mode .honor-card:before{background:linear-gradient(90deg,#f59e0b,#d97706,#fbbf24)}body.light-mode .honor-card:hover{border-color:#f59e0b;box-shadow:0 8px 24px #f59e0b26}body.light-mode .honor-name{color:#1a1a1a}body.light-mode .honor-description,body.light-mode .year-label{color:#666}body.light-mode .year-value{color:#f59e0b}body.light-mode .honor-footer{border-top-color:#e0e0e0}body.light-mode .empty-message,body.light-mode .loading-state p{color:#666}body.light-mode .empty-title{color:#1a1a1a}body.comfort-mode .honors-profile-page{background:linear-gradient(135deg,#4a5568,#2d3748)}body.comfort-mode .honor-card{background:#4a556880;border:2px solid #fbbf244d}body.comfort-mode .honor-card:before{background:linear-gradient(90deg,#fbbf24,#f59e0b,#fcd34d)}body.comfort-mode .honor-card:hover{border-color:#fbbf2499;box-shadow:0 8px 24px #fbbf2433}body.comfort-mode .honor-name{color:#f7fafc}body.comfort-mode .honor-description,body.comfort-mode .year-label{color:#cbd5e0}body.comfort-mode .year-value{color:#fcd34d}body.comfort-mode .agent-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b)}body.comfort-mode .honor-footer{border-top-color:#cbd5e033}body.comfort-mode .empty-message,body.comfort-mode .loading-state p{color:#cbd5e0}body.comfort-mode .empty-title{color:#f7fafc}.awards-profile-page{background:linear-gradient(135deg,#1e1e2e,#16161f);min-height:100vh;padding:20px}.awards-content{margin:0 auto;max-width:1200px}.agent-indicator{background:#8b5cf626;border:1px solid #8b5cf64d}.awards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:24px}.award-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:16px;padding:24px;transition:all .3s ease}.award-card:hover{border-color:#8b5cf699;box-shadow:0 8px 24px #8b5cf633;transform:translateY(-4px)}.award-icon-wrapper{align-items:center;background:#8b5cf626;border:2px solid #8b5cf64d;border-radius:16px;display:flex;height:64px;justify-content:center;width:64px}.award-icon{font-size:36px}.award-details{display:flex;flex-direction:column;gap:8px}.award-name{color:#fff;font-size:18px;font-weight:700;margin:0}.award-date{color:#fff9;font-size:14px;font-weight:500}.award-description{color:#ffffffb3;font-size:14px;line-height:1.5;margin-top:4px}.award-badge{border-radius:8px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;margin-top:8px;padding:6px 12px;text-transform:uppercase;width:fit-content}.badge-academic{background:#f59e0b33;border:1px solid #f59e0b66;color:#fbbf24}.badge-eca{background:#ec489933;border:1px solid #ec489966;color:#f472b6}.badge-sports{background:#3b82f633;border:1px solid #3b82f666;color:#60a5fa}.badge-other{background:#8b5cf633;border:1px solid #8b5cf666;color:#a78bfa}.empty-state,.error-state,.loading-state{border:2px solid #8b5cf64d}@media (max-width:768px){.awards-profile-page{padding:16px}.section-header-row{flex-direction:column;gap:12px;margin:20px 0 16px}.section-title{font-size:20px}.awards-grid{gap:16px;grid-template-columns:1fr}.award-card{padding:20px}.award-icon-wrapper{height:56px;width:56px}.award-icon{font-size:32px}.award-name{font-size:16px}}@media (max-width:480px){.awards-profile-page{padding:12px}.section-title{font-size:18px}.award-card{padding:16px}.agent-indicator{padding:5px 10px}.agent-text{font-size:12px}}body.light-mode .awards-profile-page{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}body.light-mode .agent-indicator{background:#8b5cf61a;border-color:#8b5cf633}body.light-mode .award-card{background:#fff;border:2px solid #e0e0e0}body.light-mode .award-card:hover{border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf626}body.light-mode .award-icon-wrapper{background:#8b5cf61a;border-color:#8b5cf633}body.light-mode .award-name{color:#1a1a1a}body.light-mode .award-date{color:#666}body.light-mode .award-description{color:#555}body.light-mode .badge-academic{background:#f59e0b26;color:#d97706}body.light-mode .badge-eca{background:#ec489926;color:#db2777}body.light-mode .badge-sports{background:#3b82f626;color:#2563eb}body.light-mode .badge-other{background:#8b5cf626;color:#7c3aed}body.comfort-mode .awards-profile-page{background:linear-gradient(135deg,#4a5568,#2d3748)}body.comfort-mode .agent-indicator{background:#667eea33;border-color:#667eea4d}body.comfort-mode .award-card{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode .award-card:hover{border-color:#667eea99;box-shadow:0 8px 24px #667eea33}body.comfort-mode .award-icon-wrapper{background:#667eea33;border-color:#667eea4d}body.comfort-mode .award-name{color:#f7fafc}body.comfort-mode .award-date{color:#cbd5e0}body.comfort-mode .award-description{color:#a0aec0}body.comfort-mode .badge-academic{background:#ed893633;color:#fbb360}body.comfort-mode .badge-eca{background:#ed64a633;color:#f687b3}body.comfort-mode .badge-sports{background:#4299e133;color:#90cdf4}body.comfort-mode .badge-other{background:#9f7aea33;color:#b794f4}.sports-profile-page{background:linear-gradient(135deg,#1e1e2e,#16161f);min-height:100vh;padding:20px}.sports-content{margin:0 auto;max-width:1200px}.agent-indicator{background:#3b82f626;border:1px solid #3b82f64d}.sports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:24px}.sport-card{background:#1e1e2ef2;border:2px solid #3b82f64d;border-radius:16px;display:flex;flex-direction:column;gap:20px;padding:24px;transition:all .3s ease}.sport-card:hover{border-color:#3b82f699;box-shadow:0 8px 24px #3b82f633;transform:translateY(-4px)}.sport-header{align-items:center;display:flex;gap:16px}.sport-icon-wrapper{align-items:center;background:#3b82f626;border:2px solid #3b82f64d;border-radius:16px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.sport-icon{font-size:36px}.sport-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.sport-name{color:#fff;font-size:20px;font-weight:700;margin:0}.sport-position{color:#ffffffb3;font-size:14px;font-weight:500}.sport-level{background:#3b82f633;border:1px solid #3b82f666;border-radius:6px;color:#60a5fa;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;width:fit-content}.achievements-section{display:flex;flex-direction:column;gap:12px}.achievements-title{border-bottom:1px solid #ffffff1a;color:#ffffffe6;font-size:15px;font-weight:700;margin:0;padding-bottom:8px}.achievements-list{display:flex;flex-direction:column;gap:12px}.achievement-item{background:#3b82f61a;border:1px solid #3b82f633;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px}.achievement-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.achievement-competition{color:#fff;flex:1 1;font-size:14px;font-weight:600;line-height:1.4}.achievement-year{color:#fff9;flex-shrink:0;font-size:13px;font-weight:500}.achievement-result{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:5px 10px;text-transform:uppercase;width:fit-content}.result-gold{background:#f59e0b33;border:1px solid #f59e0b66;color:#fbbf24}.result-silver{background:#cbd5e033;border:1px solid #cbd5e066;color:#cbd5e0}.result-bronze{background:#cd7f3233;border:1px solid #cd7f3266;color:#d4a574}.result-default{background:#8b5cf633;border:1px solid #8b5cf666;color:#a78bfa}.empty-state,.error-state,.loading-state{background:#1e1e2ef2;border:2px solid #3b82f64d;border-radius:16px;margin-top:24px;padding:60px 20px;text-align:center}.empty-icon{font-size:64px}.empty-message{color:#fff;font-size:18px;font-weight:700;margin-bottom:8px}.empty-submessage{color:#fff9;font-size:14px}@media (max-width:768px){.sports-profile-page{padding:16px}.section-header-row{flex-direction:column;gap:12px;margin:20px 0 16px}.section-title{font-size:20px}.sports-grid{gap:16px;grid-template-columns:1fr}.sport-card{padding:20px}.sport-icon-wrapper{height:56px;width:56px}.sport-icon{font-size:32px}.sport-name{font-size:18px}.achievement-header{flex-direction:column;gap:4px}}@media (max-width:480px){.sports-profile-page{padding:12px}.section-title{font-size:18px}.sport-card{padding:16px}.agent-indicator{padding:5px 10px}.agent-text{font-size:12px}}body.light-mode .sports-profile-page{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}body.light-mode .agent-indicator{background:#3b82f61a;border-color:#3b82f633}body.light-mode .sport-card{background:#fff;border:2px solid #e0e0e0}body.light-mode .sport-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626}body.light-mode .sport-icon-wrapper{background:#3b82f61a;border-color:#3b82f633}body.light-mode .sport-name{color:#1a1a1a}body.light-mode .sport-position{color:#555}body.light-mode .sport-level{background:#3b82f626;color:#2563eb}body.light-mode .achievements-title{border-bottom-color:#e0e0e0;color:#1a1a1a}body.light-mode .achievement-item{background:#3b82f614;border-color:#3b82f626}body.light-mode .achievement-competition{color:#1a1a1a}body.light-mode .achievement-year{color:#666}body.light-mode .result-gold{background:#f59e0b26;color:#d97706}body.light-mode .result-silver{background:#94a3b833;color:#64748b}body.light-mode .result-bronze{background:#b4530926;color:#b45309}body.light-mode .result-default{background:#8b5cf626;color:#7c3aed}body.light-mode .empty-state,body.light-mode .error-state,body.light-mode .loading-state{background:#fff;border-color:#e0e0e0}body.light-mode .empty-submessage,body.light-mode .loading-spinner{color:#666}body.light-mode .empty-message{color:#1a1a1a}body.comfort-mode .sports-profile-page{background:linear-gradient(135deg,#4a5568,#2d3748)}body.comfort-mode .agent-indicator{background:#4299e133;border-color:#4299e14d}body.comfort-mode .sport-card{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode .sport-card:hover{border-color:#4299e199;box-shadow:0 8px 24px #4299e133}body.comfort-mode .sport-icon-wrapper{background:#4299e133;border-color:#4299e14d}body.comfort-mode .sport-name{color:#f7fafc}body.comfort-mode .sport-position{color:#cbd5e0}body.comfort-mode .sport-level{background:#4299e133;color:#90cdf4}body.comfort-mode .achievements-title{border-bottom-color:#cbd5e033;color:#f7fafc}body.comfort-mode .achievement-item{background:#4299e126;border-color:#4299e140}body.comfort-mode .achievement-competition{color:#f7fafc}body.comfort-mode .achievement-year{color:#cbd5e0}body.comfort-mode .result-gold{background:#ed893633;color:#fbb360}body.comfort-mode .result-silver{background:#cbd5e04d;color:#e2e8f0}body.comfort-mode .result-bronze{background:#c6864233;color:#d4a574}body.comfort-mode .result-default{background:#9f7aea33;color:#b794f4}body.comfort-mode .empty-state,body.comfort-mode .error-state,body.comfort-mode .loading-state{background:#4a556880;border-color:#cbd5e033}body.comfort-mode .empty-submessage,body.comfort-mode .loading-spinner{color:#cbd5e0}body.comfort-mode .empty-message{color:#f7fafc}.analytics-profile-page{background:linear-gradient(135deg,#1e1e2e,#16161f);min-height:100vh;padding:20px}.analytics-content{margin:0 auto;max-width:1200px}.section-header-row{align-items:flex-start;display:flex;justify-content:space-between;margin:24px 0}.section-header-left{display:flex;flex-direction:column;gap:8px}.section-title{color:#fff;font-size:24px;margin:0}.agent-indicator{align-items:center;background:#10b98126;border:1px solid #10b9814d;border-radius:20px;display:flex;gap:8px;padding:6px 12px;width:fit-content}.agent-dot{animation:pulse 2s infinite;background:#10b981;border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.agent-text{color:#fffc;font-size:13px;font-weight:500}.status-badge{background:#10b98133;border:1px solid #10b98166;border-radius:6px;color:#10b981;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.metrics-section{margin-top:24px}.subsection-title{color:#fff;font-size:18px;font-weight:700;margin:0 0 16px}.metrics-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.metric-card{align-items:center;background:#1e1e2ef2;border:2px solid #10b9814d;border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center;transition:all .3s ease}.metric-card:hover{border-color:#10b98199;box-shadow:0 8px 24px #10b98133;transform:translateY(-4px)}.metric-icon{font-size:32px;margin-bottom:4px}.metric-value{color:#10b981;line-height:1}.metric-label{font-size:12px;line-height:1.3}.improvements-section,.strengths-section{background:#1e1e2ef2;border:2px solid #10b9814d;border-radius:16px;margin-top:32px;padding:24px}.improvements-section{border-color:#f59e0b4d}.subjects-badges{display:flex;flex-wrap:wrap;gap:12px}.subject-badge{align-items:center;background:#1e1e2eb3;border:2px solid;border-radius:10px;display:flex;gap:8px;padding:10px 16px;transition:all .3s ease}.subject-badge:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.subject-badge.strength{background:#10b9811a}.subject-badge.improvement{background:#f59e0b1a}.badge-name{font-size:14px;font-weight:600}.badge-value{background:#ffffff1a;border-radius:6px;font-size:13px;font-weight:700;padding:3px 8px}.summary-section{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;margin-top:32px;padding:24px}.summary-text{color:#fffc;font-size:15px;line-height:1.8;text-align:justify}.error-state,.loading-state{background:#1e1e2ef2;border:2px solid #10b9814d;border-radius:16px;margin-top:24px;padding:60px 20px;text-align:center}.loading-spinner{color:#fff9;font-size:16px}.error-message{color:#ef4444;font-size:16px}@media (max-width:768px){.analytics-profile-page{padding:16px}.section-header-row{flex-direction:column;gap:12px;margin:20px 0 16px}.section-title{font-size:20px}.metrics-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.metric-card{padding:16px}.metric-icon{font-size:28px}.metric-value{font-size:20px}.metric-label{font-size:11px}.improvements-section,.strengths-section,.summary-section{padding:20px}.subsection-title{font-size:16px}.subjects-badges{gap:10px}.subject-badge{padding:8px 14px}.badge-name{font-size:13px}.badge-value{font-size:12px}.summary-text{font-size:14px;line-height:1.7}}@media (max-width:480px){.analytics-profile-page{padding:12px}.section-title{font-size:18px}.metrics-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.metric-card{padding:14px}.metric-icon{font-size:24px}.metric-value{font-size:18px}.agent-indicator{flex-wrap:wrap;padding:5px 10px}.agent-text{font-size:12px}.status-badge{font-size:10px;padding:2px 6px}.improvements-section,.strengths-section,.summary-section{padding:16px}.subsection-title{font-size:15px}.summary-text{font-size:13px;text-align:left}}body.light-mode .analytics-profile-page{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}body.light-mode .agent-indicator{background:#10b9811a;border-color:#10b98133}body.light-mode .agent-text{color:#666}body.light-mode .status-badge{background:#10b98126;color:#059669}body.light-mode .subsection-title{color:#1a1a1a}body.light-mode .metric-card{background:#fff;border:2px solid #e0e0e0}body.light-mode .metric-card:hover{border-color:#10b981;box-shadow:0 8px 24px #10b98126}body.light-mode .metric-value{color:#059669}body.light-mode .metric-label{color:#666}body.light-mode .improvements-section,body.light-mode .strengths-section,body.light-mode .summary-section{background:#fff;border-color:#e0e0e0}body.light-mode .subject-badge{background:#fffc}body.light-mode .subject-badge.strength{background:#10b98114}body.light-mode .subject-badge.improvement{background:#f59e0b14}body.light-mode .badge-value{background:#0000000d}body.light-mode .summary-text{color:#333}body.light-mode .error-state,body.light-mode .loading-state{background:#fff;border-color:#e0e0e0}body.light-mode .loading-spinner{color:#666}body.light-mode .error-message{color:#dc2626}body.comfort-mode .analytics-profile-page{background:linear-gradient(135deg,#4a5568,#2d3748)}body.comfort-mode .agent-indicator{background:#48bb7833;border-color:#48bb784d}body.comfort-mode .agent-text{color:#cbd5e0}body.comfort-mode .status-badge{background:#48bb7840;color:#9ae6b4}body.comfort-mode .subsection-title{color:#f7fafc}body.comfort-mode .metric-card{background:#4a556880;border:2px solid #cbd5e033}body.comfort-mode .metric-card:hover{border-color:#48bb7899;box-shadow:0 8px 24px #48bb7833}body.comfort-mode .metric-value{color:#9ae6b4}body.comfort-mode .metric-label{color:#cbd5e0}body.comfort-mode .improvements-section,body.comfort-mode .strengths-section,body.comfort-mode .summary-section{background:#4a556880;border-color:#cbd5e033}body.comfort-mode .subject-badge{background:#4a556899}body.comfort-mode .subject-badge.strength{background:#48bb7826}body.comfort-mode .subject-badge.improvement{background:#ed893626}body.comfort-mode .badge-value{background:#ffffff1a}body.comfort-mode .summary-text{color:#cbd5e0}body.comfort-mode .error-state,body.comfort-mode .loading-state{background:#4a556880;border-color:#cbd5e033}body.comfort-mode .loading-spinner{color:#cbd5e0}body.comfort-mode .error-message{color:#fc8181}.teacher-selector{position:relative;z-index:100}.teacher-selector-trigger{align-items:center;background:#ffffff1a;border:2px solid #8b5cf64d;border-radius:12px;cursor:pointer;display:flex;gap:16px;min-width:280px;padding:12px 16px;transition:all .3s ease}.teacher-selector-trigger:hover:not(:disabled){background:#ffffff26;border-color:#8b5cf680}.teacher-selector-trigger:disabled{cursor:not-allowed;opacity:.6}.selected-teacher{align-items:center;display:flex;flex:1 1;gap:12px}.teacher-avatar{border-radius:8px;font-size:20px;height:40px;overflow:hidden;width:40px}.teacher-avatar-img{display:block;height:100%;object-fit:cover;width:100%}.teacher-details{flex:1 1;text-align:left}.teacher-name{color:#fff;font-size:14px;font-weight:700;margin-bottom:2px}.teacher-id{color:#fff9;font-size:11px}.dropdown-arrow{color:#fff9;font-size:12px;transition:transform .3s ease}.teacher-dropdown{animation:dropdownFadeIn .3s ease;background:#1e1e2efa;border:2px solid #8b5cf64d;border-radius:12px;box-shadow:0 8px 32px #0006;left:0;max-height:400px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px}.dropdown-title{color:#fff;font-size:14px;font-weight:700}.dropdown-close{background:none;border:none;border-radius:6px;color:#fff9;cursor:pointer;font-size:18px;padding:4px 8px;transition:all .2s ease}.dropdown-close:hover{background:#ffffff1a;color:#fff}.teachers-list{max-height:320px;overflow-y:auto;padding:8px}.teachers-list::-webkit-scrollbar{width:6px}.teachers-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.teachers-list::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:3px}.teachers-list::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}.teacher-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:12px;transition:all .2s ease}.teacher-item:hover{background:#8b5cf61a}.teacher-item.active{background:#8b5cf633;border:1px solid #8b5cf666}.teacher-avatar-small{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:8px;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;overflow:hidden;width:36px}.teacher-avatar-small-img{display:block;height:100%;object-fit:cover;width:100%}.teacher-item-details{flex:1 1}.teacher-item-name{color:#fff;font-size:13px;font-weight:600;margin-bottom:2px}.teacher-item-meta{color:#ffffff80;font-size:11px}.selected-check{color:#22c55e;font-size:18px}.loading-state{gap:12px;padding:40px 20px}.spinner{border:3px solid #ffffff1a;height:32px;width:32px}.loading-state span{color:#fff9;font-size:13px}body.light-mode .teacher-selector-trigger{background:#fff;border-color:#e5e7eb}body.light-mode .teacher-selector-trigger:hover:not(:disabled){background:#f9fafb;border-color:#8b5cf6}body.light-mode .teacher-name{color:#1f2937}body.light-mode .dropdown-arrow,body.light-mode .teacher-id{color:#6b7280}body.light-mode .teacher-dropdown{background:#fff;border-color:#e5e7eb;box-shadow:0 8px 32px #0000001a}body.light-mode .dropdown-title{color:#1f2937}body.light-mode .dropdown-close{color:#6b7280}body.light-mode .dropdown-close:hover{background:#f3f4f6;color:#1f2937}body.light-mode .teacher-item-name{color:#1f2937}body.light-mode .teacher-item-meta{color:#6b7280}body.light-mode .teacher-item:hover{background:#f3f4f6}body.light-mode .teacher-item.active{background:#8b5cf61a;border-color:#8b5cf6}body.light-mode .loading-state span{color:#6b7280}body.comfort-mode .teacher-selector-trigger{background:#f5f3ef;border-color:#d4c5b9}body.comfort-mode .teacher-selector-trigger:hover:not(:disabled){background:#ebe7e0;border-color:#a67c52}body.comfort-mode .teacher-name{color:#3e2723}body.comfort-mode .dropdown-arrow,body.comfort-mode .teacher-id{color:#8d6e63}body.comfort-mode .teacher-dropdown{background:#faf8f5;border-color:#d4c5b9;box-shadow:0 8px 32px #3e272326}body.comfort-mode .dropdown-title{color:#3e2723}body.comfort-mode .dropdown-close{color:#8d6e63}body.comfort-mode .dropdown-close:hover{background:#ebe7e0;color:#3e2723}body.comfort-mode .teacher-item-name{color:#3e2723}body.comfort-mode .teacher-item-meta{color:#8d6e63}body.comfort-mode .teacher-item:hover{background:#ebe7e0}body.comfort-mode .teacher-item.active{background:#a67c5226;border-color:#a67c52}body.comfort-mode .loading-state span{color:#8d6e63}.teacher-overview{background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding-bottom:80px}.teacher-overview-content{margin:0 auto;max-width:1400px;padding:20px}.test-mode-badge{background:#ffffff1a;border-radius:8px;color:#fff;font-size:13px;font-weight:600;padding:6px 12px}.teacher-profile-header{align-items:flex-start;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:2px solid #8b5cf64d;border-radius:16px;display:flex;gap:20px;margin-bottom:24px;padding:24px}.teacher-avatar{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;box-shadow:0 4px 12px #f59e0b4d;display:flex;flex-shrink:0;font-size:36px;height:80px;justify-content:center;width:80px}.teacher-info{flex:1 1}.teacher-info h2{color:#fff;font-size:24px;font-weight:700;margin:0 0 8px}.teacher-experience,.teacher-meta{color:#ffffffb3;font-size:13px;line-height:1.6;margin:4px 0}.quick-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:24px}.stat-item{background:#8b5cf61a;border:2px solid #8b5cf64d;padding:16px}.stat-value{color:#8b5cf6;font-size:28px;margin-bottom:4px}.stat-label{font-size:11px;letter-spacing:.5px}.workflow-summary-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;margin-bottom:24px;padding:24px}.card-header-with-icon{align-items:flex-start;display:flex;gap:12px;margin-bottom:24px}.card-header-with-icon .icon{font-size:24px}.card-header-with-icon h3{color:#fff;font-size:18px;font-weight:700;margin:0}.card-header-with-icon .subtitle{color:#fff9;font-size:13px;margin:4px 0 0}.card-header-with-icon>div{flex:1 1}.coordinator-summary{margin-bottom:32px}.section-title{color:#ffffffe6;font-size:14px;font-weight:700;gap:8px;margin-bottom:16px}.agent-icon,.star-icon,.strength-icon{font-size:18px}.metrics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.metric{background:#6366f11a;border:1px solid #6366f14d;border-radius:10px;padding:16px 12px;text-align:center}.metric.highlight{background:#8b5cf633;border-color:#8b5cf680}.metric-value{color:#8b5cf6;font-size:24px;margin-bottom:4px}.metric-label{color:#fff9;font-size:10px;letter-spacing:.5px}.effectiveness-section{background:#3b82f60d;border:1px solid #3b82f633;border-radius:12px;margin-bottom:24px;padding:20px}.effectiveness-description{color:#fffc;font-size:14px;line-height:1.8;margin:12px 0 0}.effectiveness-description strong{color:#fff;font-weight:600}.strengths-section{margin-top:24px}.strengths-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.strength-badge{align-items:center;border-radius:20px;display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 16px}.strength-badge.strength-green{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}.strength-badge.strength-blue{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6}.ai-agents-panel{margin-top:32px}.agents-title{color:#fff;font-size:18px;font-weight:700;margin:0 0 16px}.agents-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.agent-card{align-items:center;background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:20px;text-align:center;transition:all .3s ease}.agent-card:hover{background:#8b5cf61a;border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf64d;transform:translateY(-4px)}.agent-icon{align-items:center;border-radius:12px;display:flex;font-size:28px;height:60px;justify-content:center;margin-bottom:8px;width:60px}.agent-icon.schedule{background:linear-gradient(135deg,#f59e0b,#d97706)}.agent-icon.content{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.agent-icon.teaching{background:linear-gradient(135deg,#6366f1,#4f46e5)}.agent-icon.grading{background:linear-gradient(135deg,#ec4899,#db2777)}.agent-icon.assessment{background:linear-gradient(135deg,#06b6d4,#0891b2)}.agent-icon.events{background:linear-gradient(135deg,#10b981,#059669)}.agent-name{color:#fff;font-size:14px;font-weight:700}.agent-desc{color:#fff9;font-size:12px}@media (max-width:768px){.teacher-profile-header{flex-direction:column;text-align:center}.teacher-info h2{font-size:20px}.quick-stats{grid-template-columns:repeat(3,1fr)}.metrics-grid{gap:8px;grid-template-columns:repeat(4,1fr)}.metric{padding:12px 8px}.metric-value{font-size:18px}.agents-grid{grid-template-columns:repeat(2,1fr)}}body.light-mode .teacher-overview{background:#f5f5f5;color:#1a1a1a}body.light-mode .teacher-profile-header{background:#fff;border:1px solid #e0e0e0}body.light-mode .teacher-info h2{color:#1a1a1a}body.light-mode .teacher-experience,body.light-mode .teacher-meta{color:#666}body.light-mode .stat-item,body.light-mode .workflow-summary-card{background:#fff;border:1px solid #e0e0e0}body.light-mode .section-title,body.light-mode .workflow-summary-card{color:#1a1a1a}body.light-mode .effectiveness-description{color:#333}body.light-mode .agent-card{background:#fff;border:1px solid #e0e0e0}body.light-mode .agent-name{color:#1a1a1a}body.light-mode .agent-desc{color:#666}body.comfort-mode .teacher-overview{background:linear-gradient(135deg,#2d3748,#1a202c);color:#e2e8f0}body.comfort-mode .teacher-profile-header{background:#4a556880;border:1px solid #cbd5e01a}body.comfort-mode .teacher-info h2{color:#f7fafc}body.comfort-mode .teacher-experience,body.comfort-mode .teacher-meta{color:#cbd5e0}body.comfort-mode .stat-item{background:#4a556866;border:1px solid #cbd5e01a}body.comfort-mode .workflow-summary-card{background:#4a556880;border:1px solid #cbd5e01a;color:#e2e8f0}body.comfort-mode .section-title{color:#f7fafc}body.comfort-mode .effectiveness-description{color:#cbd5e0}body.comfort-mode .agent-card{background:#4a556866;border:1px solid #cbd5e01a}body.comfort-mode .agent-card:hover{background:#4a556899;border-color:#cbd5e033}body.comfort-mode .agent-name{color:#f7fafc}body.comfort-mode .agent-desc{color:#cbd5e0}.teacher-schedule{background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding-bottom:80px}.teacher-schedule-content{margin:0 auto;max-width:1600px;padding:20px}.back-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.back-btn:hover{background:#fff3;transform:translateX(-2px)}.schedule-agent-card{background:#1e1e2ef2;border:2px solid #f59e0b4d;border-radius:16px;margin-bottom:24px;padding:24px}.agent-header{align-items:center;display:flex;gap:16px;margin-bottom:16px}.agent-icon-large{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:32px;height:64px;justify-content:center;width:64px}.agent-icon-large.schedule{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.agent-info h3{color:#fff;font-size:20px;font-weight:700;margin:0 0 4px}.agent-info p{color:#fff9;font-size:14px;margin:0}.schedule-stats{border-top:1px solid #ffffff1a;display:flex;gap:24px;padding-top:16px}.schedule-stat{align-items:center;display:flex;gap:8px}.stat-label{font-size:13px}.stat-value{color:#f59e0b;font-size:14px;font-weight:600}.timetable-container{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;overflow-x:auto;padding:20px}.timetable-grid{min-width:1200px}.timetable-header{grid-gap:8px;display:grid;gap:8px;grid-template-columns:120px repeat(5,1fr);margin-bottom:8px}.day-header,.period-header{background:#8b5cf633;border:1px solid #8b5cf64d;border-radius:8px;color:#8b5cf6;font-size:12px;font-weight:700;letter-spacing:.5px;padding:12px;text-align:center}.timetable-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:120px repeat(5,1fr);margin-bottom:8px}.period-label{background:#6366f11a;border:1px solid #6366f14d;border-radius:8px;color:#ffffffb3;font-size:11px;font-weight:600;padding:16px 12px;text-align:center}.period-label,.timetable-cell{align-items:center;display:flex;justify-content:center}.timetable-cell{border:2px solid #0000;border-radius:8px;cursor:default;flex-direction:column;gap:4px;min-height:70px;padding:12px;transition:all .3s ease}.timetable-cell:not(.break-cell):not(.free-cell):hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-2px)}.cell-subject{font-size:14px;font-weight:700;text-align:center}.cell-class{color:#ffffffb3;font-size:12px;text-align:center}.break-cell{border-color:#6b72804d!important}.free-cell{border-color:#10b9814d!important}.cell-break{color:#fff9;font-size:13px;font-weight:600;text-align:center}.schedule-legend{background:#1e1e2ef2;border:1px solid #8b5cf633;border-radius:12px;display:flex;gap:24px;justify-content:center;margin-top:24px;padding:16px}.legend-item{align-items:center;color:#ffffffb3;display:flex;font-size:13px;gap:8px}.legend-color{border-radius:6px;height:24px;width:24px}@media (max-width:1400px){.timetable-container{overflow-x:scroll}}@media (max-width:768px){.timetable-grid{min-width:1000px}.timetable-header,.timetable-row{grid-template-columns:100px repeat(5,150px)}.schedule-legend,.schedule-stats{flex-direction:column;gap:12px}}.classes-card{margin-top:20px}.classes-card h4{color:#fff;font-size:16px;font-weight:700;margin-bottom:12px}.classes-list{display:flex;flex-wrap:wrap;gap:10px}.class-badge{background:#3b82f633;border:1px solid #3b82f64d;border-radius:8px;color:#60a5fa;font-size:14px;font-weight:600;padding:8px 16px}.loading-message{color:#fff9;font-size:16px;padding:40px;text-align:center}body.light-mode .teacher-schedule{background:#f5f5f5;color:#1a1a1a}body.light-mode .schedule-agent-card{background:#fff;border:1px solid #e0e0e0}body.light-mode .agent-info h3{color:#1a1a1a}body.light-mode .stat-label{color:#666}body.light-mode .stat-value{color:#1a1a1a}body.light-mode .timetable-grid{background:#fff;border:1px solid #e0e0e0}body.light-mode .day-header,body.light-mode .period-header{background:#f5f5f5;color:#1a1a1a}body.light-mode .period-label{color:#1a1a1a}body.light-mode .timetable-cell{border-color:#e0e0e0}body.light-mode .cell-subject{color:#1a1a1a}body.light-mode .cell-class{color:#666}body.light-mode .classes-card{background:#fff;border:1px solid #e0e0e0}body.light-mode .classes-card h4{color:#1a1a1a}body.light-mode .class-badge{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}body.light-mode .loading-message{color:#666}body.comfort-mode .teacher-schedule{background:linear-gradient(135deg,#2d3748,#1a202c);color:#e2e8f0}body.comfort-mode .schedule-agent-card{background:#4a556880;border:1px solid #cbd5e01a}body.comfort-mode .agent-info h3{color:#f7fafc}body.comfort-mode .stat-label{color:#cbd5e0}body.comfort-mode .stat-value{color:#f7fafc}body.comfort-mode .timetable-grid{background:#4a556866;border:1px solid #cbd5e01a}body.comfort-mode .day-header,body.comfort-mode .period-header{background:#2d374899;color:#f7fafc}body.comfort-mode .period-label{color:#f7fafc}body.comfort-mode .timetable-cell{border-color:#cbd5e01a}body.comfort-mode .cell-subject{color:#f7fafc}body.comfort-mode .cell-class{color:#cbd5e0}body.comfort-mode .classes-card{background:#4a556880;border:1px solid #cbd5e01a}body.comfort-mode .classes-card h4{color:#f7fafc}body.comfort-mode .class-badge{background:#60a5fa33;border-color:#60a5fa4d;color:#93c5fd}body.comfort-mode .loading-message{color:#cbd5e0}.teacher-notes{background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding-bottom:80px}.teacher-notes-content{margin:0 auto;max-width:1400px;padding:20px}.content-agent-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;margin-bottom:24px;padding:24px}.agent-icon-large.content{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 12px #8b5cf64d}.section-header{margin-bottom:20px}.section-title{align-items:center;display:flex;gap:12px}.section-icon{font-size:24px}.section-title h3{color:#fff;font-size:18px;font-weight:700;margin:0}.teaching-notes-section{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;margin-bottom:24px;padding:24px}.notes-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.note-card{background:#6366f10d;border:2px solid #8b5cf633;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s ease}.note-card:hover{border-color:#8b5cf680;box-shadow:0 8px 24px #8b5cf633;transform:translateY(-4px)}.note-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.note-icon{font-size:28px}.note-title{color:#fff;font-size:16px;font-weight:700;line-height:1.4;margin:0 0 8px}.note-subject{color:#ffffffb3;font-size:13px;margin:4px 0}.note-pages{color:#ffffff80;font-size:12px;margin:4px 0 0}.assignments-section{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;padding:24px}.assignments-table{overflow-x:auto}.table-header,.table-row{grid-template-columns:2fr 120px 120px 120px 120px 180px}.col-progress{gap:12px}.progress-container{background:#ffffff1a;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-bar{border-radius:4px;height:100%;transition:width .5s ease}.progress-text{color:#fffc;font-size:12px;font-weight:600;min-width:40px}@media (max-width:1200px){.table-header,.table-row{gap:12px;grid-template-columns:2fr 100px 100px 100px 100px 150px;padding:12px}}@media (max-width:768px){.notes-grid{grid-template-columns:1fr}.assignments-table{overflow-x:scroll}.table-header,.table-row{grid-template-columns:200px 100px 100px 100px 100px 150px;min-width:850px}}.empty-state,.loading-message{color:#fff9;font-size:16px;padding:40px;text-align:center}body.light-mode .teacher-notes{background:#f5f5f5;color:#1a1a1a}body.light-mode .assignments-section,body.light-mode .content-agent-card,body.light-mode .teaching-notes-section{background:#fff;border:1px solid #e0e0e0}body.light-mode .agent-info h3,body.light-mode .section-title h3{color:#1a1a1a}body.light-mode .agent-info p{color:#666}body.light-mode .note-card{background:#f9f9f9;border:1px solid #e0e0e0}body.light-mode .note-title{color:#1a1a1a}body.light-mode .note-pages,body.light-mode .note-subject{color:#666}body.light-mode .table-header{background:#f5f5f5;color:#1a1a1a}body.light-mode .table-row{border-bottom-color:#e0e0e0;color:#1a1a1a}body.light-mode .assignment-title{color:#1a1a1a}body.light-mode .empty-state,body.light-mode .loading-message{color:#666}body.comfort-mode .teacher-notes{background:linear-gradient(135deg,#2d3748,#1a202c);color:#e2e8f0}body.comfort-mode .assignments-section,body.comfort-mode .content-agent-card,body.comfort-mode .teaching-notes-section{background:#4a556880;border:1px solid #cbd5e01a}body.comfort-mode .agent-info h3,body.comfort-mode .section-title h3{color:#f7fafc}body.comfort-mode .agent-info p{color:#cbd5e0}body.comfort-mode .note-card{background:#2d374880;border:1px solid #cbd5e01a}body.comfort-mode .note-title{color:#f7fafc}body.comfort-mode .note-pages,body.comfort-mode .note-subject{color:#cbd5e0}body.comfort-mode .table-header{background:#2d374899;color:#f7fafc}body.comfort-mode .table-row{border-bottom-color:#cbd5e01a;color:#e2e8f0}body.comfort-mode .assignment-title{color:#f7fafc}body.comfort-mode .empty-state,body.comfort-mode .loading-message{color:#cbd5e0}.teacher-classroom{background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding-bottom:80px}.teacher-classroom-content{margin:0 auto;max-width:1400px;padding:20px}.teaching-agent-card{background:#1e1e2ef2;border:2px solid #6366f14d;border-radius:16px;margin-bottom:24px;padding:24px}.agent-icon-large.teaching{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 12px #6366f14d}.classes-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.class-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;padding:24px}.class-card:hover{border-color:#8b5cf680;box-shadow:0 8px 24px #8b5cf64d;transform:translateY(-4px)}.class-header{border-bottom:1px solid #ffffff1a;gap:16px;margin-bottom:24px;padding-bottom:20px}.class-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0003;display:flex;flex-shrink:0;font-size:28px;height:56px;justify-content:center;width:56px}.class-info{flex:1 1}.class-name{color:#fff;font-size:16px;margin:0 0 4px}.class-students{color:#fff9;font-size:13px;margin:0}.class-metric{margin-bottom:20px}.class-metric:last-child{margin-bottom:0}.metric-label-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.metric-icon{font-size:16px}.metric-label{color:#fffc;flex:1 1;font-size:13px;font-weight:600}.metric-value{font-size:14px}.engagement-badge{align-items:center;display:flex;gap:8px}.engagement-label{color:#fff9;font-size:12px}.metric-progress-bar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.metric-progress-fill{border-radius:4px;height:100%;transition:width .5s ease}@media (max-width:1024px){.classes-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.classes-grid{grid-template-columns:1fr}.class-card{padding:20px}}.loading-card{border:2px solid #6366f14d}.loading-state{gap:16px;padding:20px}.spinner{animation:spin 1s linear infinite;border:4px solid #6366f133;border-top-color:#6366f1;height:48px;width:48px}.loading-state p{color:#fffc;font-size:14px;margin:0}.no-data-card{background:#1e1e2ef2;border:2px solid #6366f14d;border-radius:16px;padding:60px 40px;text-align:center}.no-data-state{align-items:center;display:flex;flex-direction:column;gap:16px}.no-data-icon{font-size:64px;opacity:.5}.no-data-state h3{color:#fff;font-size:20px;font-weight:700;margin:0}.no-data-state p{color:#fff9;font-size:14px;margin:0}.light-mode .teacher-classroom{background:linear-gradient(135deg,#f0f4f8,#e2e8f0)}.light-mode .teacher-classroom-content{color:#1a202c}.light-mode .class-card,.light-mode .loading-card,.light-mode .no-data-card,.light-mode .teaching-agent-card{background:#fffffff2;border-color:#6366f133;box-shadow:0 2px 8px #00000014}.light-mode .class-card:hover{border-color:#6366f166;box-shadow:0 4px 16px #6366f133}.light-mode .class-header{border-bottom-color:#0000001a}.light-mode .class-name{color:#1a202c}.light-mode .class-students{color:#0009}.light-mode .metric-label{color:#000000b3}.light-mode .metric-value{color:#1a202c}.light-mode .engagement-label{color:#0009}.light-mode .metric-progress-bar{background:#00000014}.light-mode .loading-state p{color:#000000b3}.light-mode .spinner{border-color:#6366f1 #6366f133 #6366f133}.light-mode .no-data-state h3{color:#1a202c}.light-mode .no-data-state p{color:#0009}.light-mode .agent-header h3{color:#1a202c}.light-mode .agent-header p{color:#0009}.comfort-mode .teacher-classroom{background:linear-gradient(135deg,#2c2416,#3d2e1f)}.comfort-mode .teacher-classroom-content{color:#f5f1e8}.comfort-mode .class-card,.comfort-mode .loading-card,.comfort-mode .no-data-card,.comfort-mode .teaching-agent-card{background:#3d2e1ff2;border-color:#d2b48c4d;box-shadow:0 2px 8px #0000004d}.comfort-mode .class-card:hover{border-color:#d2b48c80;box-shadow:0 4px 16px #d2b48c4d}.comfort-mode .class-header{border-bottom-color:#f5f1e826}.comfort-mode .class-name{color:#f5f1e8}.comfort-mode .class-students{color:#f5f1e899}.comfort-mode .metric-label{color:#f5f1e8cc}.comfort-mode .metric-value{color:#f5f1e8}.comfort-mode .engagement-label{color:#f5f1e899}.comfort-mode .metric-progress-bar{background:#f5f1e826}.comfort-mode .loading-state p{color:#f5f1e8cc}.comfort-mode .spinner{border-color:tan #d2b48c4d #d2b48c4d}.comfort-mode .no-data-state h3{color:#f5f1e8}.comfort-mode .no-data-state p{color:#f5f1e899}.comfort-mode .agent-header h3{color:#f5f1e8}.comfort-mode .agent-header p{color:#f5f1e899}.comfort-mode .agent-icon-large.teaching{background:linear-gradient(135deg,tan,#c4a570);box-shadow:0 4px 12px #d2b48c4d}.teacher-marking{background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding-bottom:80px}.teacher-marking-content{margin:0 auto;max-width:1600px;padding:20px}.grading-agent-card{background:#1e1e2ef2;border:2px solid #ec48994d;border-radius:16px;margin-bottom:24px;padding:24px}.agent-icon-large.grading{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 4px 12px #ec48994d}.assignments-marking-section{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;padding:24px}.section-header{align-items:flex-start;gap:24px;margin-bottom:24px}.overall-progress{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:300px}.progress-label{color:#fff9;font-size:12px;font-weight:600}.progress-display{align-items:center;display:flex;gap:12px;width:100%}.progress-bar-container{background:#ffffff1a;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.progress-bar-fill{border-radius:6px;height:100%;transition:width .5s ease}.progress-percentage{color:#fff;font-size:16px;font-weight:700;min-width:50px;text-align:right}.marking-table{overflow-x:auto}.table-header,.table-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:2fr 100px 110px 130px 100px 150px 120px;padding:16px}.table-header{background:#8b5cf61a;color:#ffffffb3;font-size:11px;font-weight:700;letter-spacing:.5px}.table-header,.table-row{border:1px solid #8b5cf633;border-radius:8px;margin-bottom:8px}.table-row{background:#6366f10d;cursor:pointer;transition:all .3s ease}.table-row:hover{background:#8b5cf61a;border-color:#8b5cf666;transform:translateX(4px)}.assignment-title{color:#fff;font-size:14px;font-weight:600}.col-class,.col-due,.col-graded,.col-submitted{color:#fffc;font-size:13px}.col-progress,.progress-with-bar{align-items:center;display:flex}.progress-with-bar{gap:10px;width:100%}.progress-bar-small{background:#ffffff1a;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.progress-fill-small{border-radius:3px;height:100%;transition:width .5s ease}.progress-text-small{color:#fffc;font-size:12px;font-weight:600;min-width:40px}@media (max-width:1400px){.section-header{align-items:flex-start;flex-direction:column}.overall-progress{align-items:stretch;width:100%}}@media (max-width:1200px){.marking-table{overflow-x:scroll}.table-header,.table-row{grid-template-columns:200px 100px 110px 130px 100px 150px 120px;min-width:1010px}}@media (max-width:768px){.progress-display{align-items:stretch;flex-direction:column}.progress-percentage{text-align:center}}.loading-card{padding:48px}.loading-content p,.no-data-row{font-size:14px}.no-data-row{color:#ffffff80;padding:32px;text-align:center}body.light-mode .teacher-marking{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}body.light-mode .assignments-marking-section,body.light-mode .grading-agent-card,body.light-mode .loading-card{background:#fff;border:2px solid #8b5cf633;box-shadow:0 4px 6px #0000000d}body.light-mode .agent-icon-large.grading{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 4px 12px #ec489933}body.light-mode .loading-content p,body.light-mode .no-data-row,body.light-mode .progress-label{color:#64748b}body.light-mode .progress-percentage{color:#1e293b}body.light-mode .table-header{background:#8b5cf614;border:1px solid #8b5cf626;color:#64748b}body.light-mode .table-row{background:#f8fafccc;border:1px solid #8b5cf626}body.light-mode .table-row:hover{background:#8b5cf614;border-color:#8b5cf64d}body.light-mode .assignment-title{color:#1e293b}body.light-mode .col-class,body.light-mode .col-due,body.light-mode .col-graded,body.light-mode .col-submitted{color:#475569}body.light-mode .progress-text-small{color:#64748b}body.light-mode .progress-bar-container,body.light-mode .progress-bar-small{background:#94a3b833}body.light-mode .loading-spinner{border:4px solid #8b5cf626;border-top-color:#8b5cf6}body.comfort-mode .teacher-marking{background:linear-gradient(135deg,#f0f4f0,#d9e5d6)}body.comfort-mode .assignments-marking-section,body.comfort-mode .grading-agent-card,body.comfort-mode .loading-card{background:#fafdf9;border:2px solid #4a9e7b33;box-shadow:0 4px 6px #00000008}body.comfort-mode .agent-icon-large.grading{background:linear-gradient(135deg,#4a9e7b,#3a8063);box-shadow:0 4px 12px #4a9e7b33}body.comfort-mode .loading-content p,body.comfort-mode .no-data-row,body.comfort-mode .progress-label{color:#5a6f5a}body.comfort-mode .progress-percentage{color:#2d3f2d}body.comfort-mode .table-header{background:#4a9e7b14;border:1px solid #4a9e7b26;color:#5a6f5a}body.comfort-mode .table-row{background:#fafdf9cc;border:1px solid #4a9e7b26}body.comfort-mode .table-row:hover{background:#4a9e7b14;border-color:#4a9e7b4d}body.comfort-mode .assignment-title{color:#2d3f2d}body.comfort-mode .col-class,body.comfort-mode .col-due,body.comfort-mode .col-graded,body.comfort-mode .col-submitted{color:#4a5f4a}body.comfort-mode .progress-text-small{color:#5a6f5a}body.comfort-mode .progress-bar-container,body.comfort-mode .progress-bar-small{background:#77a28833}body.comfort-mode .loading-spinner{border:4px solid #4a9e7b26;border-top-color:#4a9e7b}.teacher-assessments{background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding-bottom:80px}.teacher-assessments-content{margin:0 auto;max-width:1600px;padding:20px}.assessment-agent-card{background:#1e1e2ef2;border:2px solid #06b6d44d;border-radius:16px;margin-bottom:24px;padding:24px}.agent-icon-large.assessment{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 4px 12px #06b6d44d}.tests-quizzes-section{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;margin-bottom:24px;padding:24px}.tests-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.test-card{background:#6366f10d;border:2px solid #8b5cf633;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s ease}.test-card:hover{border-color:#8b5cf680;box-shadow:0 8px 24px #8b5cf633;transform:translateY(-4px)}.test-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.test-date{color:#ffffff80;font-size:12px}.test-title{color:#fff;font-size:15px;font-weight:700;line-height:1.4;margin:0 0 8px}.test-class{color:#ffffffb3;font-size:13px;margin:4px 0}.test-details{color:#ffffff80;font-size:12px;margin:4px 0 12px}.score-badges{display:flex;flex-wrap:wrap;gap:8px}.terminal-exams-section{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;padding:24px}.exams-table{overflow-x:auto}.exams-table .table-header,.exams-table .table-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:2fr 120px 100px 120px 100px 100px 3fr;padding:16px}.exams-table .table-header{background:#8b5cf61a;color:#ffffffb3;font-size:11px;font-weight:700;letter-spacing:.5px}.exams-table .table-header,.exams-table .table-row{border:1px solid #8b5cf633;border-radius:8px;margin-bottom:8px}.exams-table .table-row{background:#6366f10d;cursor:pointer;transition:all .3s ease}.exams-table .table-row:hover{background:#8b5cf61a;border-color:#8b5cf666;transform:translateX(4px)}.exam-info{display:flex;flex-direction:column;gap:6px}.exam-title{color:#fff;font-size:14px;font-weight:600}.col-date,.col-duration,.col-marks{color:#fffc;font-size:13px}.toppers-text{color:#ffffffb3;font-size:12px;line-height:1.5}@media (max-width:1400px){.exams-table{overflow-x:scroll}.exams-table .table-header,.exams-table .table-row{grid-template-columns:250px 120px 100px 120px 100px 100px 300px;min-width:1190px}}@media (max-width:768px){.tests-grid{grid-template-columns:1fr}}.loading-container{align-items:center;color:#ffffffb3;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{margin-bottom:16px}[data-theme=light] .teacher-assessments{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}[data-theme=light] .assessment-agent-card{background:#fffffff2;border:2px solid #06b6d44d}[data-theme=light] .agent-icon-large.assessment{background:linear-gradient(135deg,#06b6d4,#0891b2)}[data-theme=light] .terminal-exams-section,[data-theme=light] .tests-quizzes-section{background:#fffffff2;border:2px solid #8b5cf64d}[data-theme=light] .test-card{background:#6366f10d;border:2px solid #8b5cf633}[data-theme=light] .test-card:hover{border-color:#8b5cf680;box-shadow:0 8px 24px #8b5cf626}[data-theme=light] .test-date,[data-theme=light] .test-details{color:#00000080}[data-theme=light] .exam-title,[data-theme=light] .test-title{color:#1e293b}[data-theme=light] .test-class{color:#000000b3}[data-theme=light] .exams-table .table-header{background:#8b5cf61a;border:1px solid #8b5cf633;color:#000000b3}[data-theme=light] .exams-table .table-row{background:#6366f10d;border:1px solid #8b5cf633}[data-theme=light] .exams-table .table-row:hover{background:#8b5cf61a;border-color:#8b5cf666}[data-theme=light] .col-date,[data-theme=light] .col-duration,[data-theme=light] .col-marks{color:#000c}[data-theme=light] .loading-container,[data-theme=light] .toppers-text{color:#000000b3}[data-theme=light] .loading-spinner{border:4px solid #8b5cf633;border-top-color:#8b5cf6}[data-theme=comfort] .teacher-assessments{background:linear-gradient(135deg,#fef3e2,#fae8c8)}[data-theme=comfort] .assessment-agent-card{background:#fffaf0f2;border:2px solid #d977064d}[data-theme=comfort] .agent-icon-large.assessment{background:linear-gradient(135deg,#f59e0b,#d97706)}[data-theme=comfort] .terminal-exams-section,[data-theme=comfort] .tests-quizzes-section{background:#fffaf0f2;border:2px solid #d977064d}[data-theme=comfort] .test-card{background:#fbbf241a;border:2px solid #d9770640}[data-theme=comfort] .test-card:hover{border-color:#d9770680;box-shadow:0 8px 24px #d9770633}[data-theme=comfort] .test-date,[data-theme=comfort] .test-details{color:#78350f99}[data-theme=comfort] .exam-title,[data-theme=comfort] .test-title{color:#78350f}[data-theme=comfort] .test-class{color:#78350fcc}[data-theme=comfort] .exams-table .table-header{background:#fbbf2426;border:1px solid #d9770640;color:#78350fcc}[data-theme=comfort] .exams-table .table-row{background:#fbbf241a;border:1px solid #d9770640}[data-theme=comfort] .exams-table .table-row:hover{background:#fbbf2426;border-color:#d9770666}[data-theme=comfort] .col-date,[data-theme=comfort] .col-duration,[data-theme=comfort] .col-marks{color:#78350fd9}[data-theme=comfort] .toppers-text{color:#78350fbf}[data-theme=comfort] .loading-container{color:#78350fb3}[data-theme=comfort] .loading-spinner{border:4px solid #d9770633;border-top-color:#d97706}.teacher-events{background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;padding-bottom:80px}.teacher-events-content{margin:0 auto;max-width:1200px;padding:20px}.events-agent-card{background:#1e1e2ef2;border:2px solid #10b9814d;border-radius:16px;margin-bottom:24px;padding:24px}.agent-icon-large.events{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.events-timeline{display:flex;flex-direction:column;gap:16px}.event-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;cursor:pointer;display:flex;gap:24px;padding:24px;transition:all .3s ease}.event-card:hover{border-color:#8b5cf680;box-shadow:0 8px 24px #8b5cf64d;transform:translateX(8px)}.event-date-badge{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:12px;box-shadow:0 4px 12px #8b5cf64d;display:flex;flex-direction:column;flex-shrink:0;height:80px;justify-content:center;width:80px}.event-day{color:#fff;font-size:32px;font-weight:700;line-height:1}.event-month{color:#fffc;font-size:13px;font-weight:600;letter-spacing:.5px;margin-top:4px}.event-content{display:flex;flex:1 1;flex-direction:column;gap:12px}.event-header{align-items:center;display:flex;gap:12px}.event-icon{font-size:32px}.event-type{flex:1 1}.event-title{color:#fff;font-size:18px;font-weight:700;line-height:1.3;margin:0}.event-description{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0}.event-tags{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:768px){.event-card{flex-direction:column;padding:20px}.event-date-badge{flex-direction:row;gap:12px;height:60px;justify-content:center;width:100%}.event-day{font-size:28px}.event-month{margin-top:0}.event-title{font-size:16px}}.loading-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;padding:40px;text-align:center}.loading-content{align-items:center;display:flex;flex-direction:column;gap:16px}.loading-spinner{border:4px solid #8b5cf633;border-top-color:#8b5cf6;height:48px;width:48px}.loading-content p{color:#ffffffb3;font-size:16px;margin:0}.empty-state-card{background:#1e1e2ef2;border:2px solid #8b5cf64d;border-radius:16px;padding:60px 40px;text-align:center}.empty-state-content{align-items:center;display:flex;flex-direction:column;gap:16px}.empty-state-icon{font-size:64px;opacity:.5}.empty-state-content h3{color:#fff;font-size:20px;font-weight:700;margin:0}.empty-state-content p{color:#fff9;font-size:14px;margin:0}[data-theme=light] .teacher-events{background:linear-gradient(135deg,#f0f4f8,#e2e8f0)}[data-theme=light] .teacher-events-content{color:#1a202c}[data-theme=light] .events-agent-card{background:#fffffff2;border:2px solid #10b98133}[data-theme=light] .agent-icon-large.events{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98133}[data-theme=light] .agent-info h3{color:#1a202c}[data-theme=light] .agent-info p{color:#4a5568}[data-theme=light] .event-card{background:#fffffff2;border:2px solid #8b5cf633}[data-theme=light] .event-card:hover{border-color:#8b5cf666;box-shadow:0 8px 24px #8b5cf626}[data-theme=light] .event-title{color:#1a202c}[data-theme=light] .event-description{color:#4a5568}[data-theme=light] .loading-card{background:#fffffff2;border:2px solid #8b5cf633}[data-theme=light] .loading-content p{color:#4a5568}[data-theme=light] .empty-state-card{background:#fffffff2;border:2px solid #8b5cf633}[data-theme=light] .empty-state-content h3{color:#1a202c}[data-theme=light] .empty-state-content p{color:#718096}[data-theme=comfort] .teacher-events{background:linear-gradient(135deg,#2d3748,#1a202c)}[data-theme=comfort] .teacher-events-content{color:#e2e8f0}[data-theme=comfort] .events-agent-card{background:#2d3748f2;border:2px solid #10b98140}[data-theme=comfort] .agent-icon-large.events{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98140}[data-theme=comfort] .agent-info h3{color:#e2e8f0}[data-theme=comfort] .agent-info p{color:#cbd5e0}[data-theme=comfort] .event-card{background:#2d3748f2;border:2px solid #8b5cf640}[data-theme=comfort] .event-card:hover{border-color:#8b5cf666;box-shadow:0 8px 24px #8b5cf633}[data-theme=comfort] .event-title{color:#e2e8f0}[data-theme=comfort] .event-description{color:#cbd5e0}[data-theme=comfort] .loading-card{background:#2d3748f2;border:2px solid #8b5cf640}[data-theme=comfort] .loading-content p{color:#cbd5e0}[data-theme=comfort] .empty-state-card{background:#2d3748f2;border:2px solid #8b5cf640}[data-theme=comfort] .empty-state-content h3{color:#e2e8f0}[data-theme=comfort] .empty-state-content p{color:#a0aec0}.class-master-dashboard{background:linear-gradient(135deg,#0f1419,#1a1f3a 50%,#2d1b4e);min-height:100vh;padding-bottom:5rem}.class-master-content{margin:0 auto;max-width:1400px;padding:2rem}.class-master-header{margin-bottom:2rem}.class-master-header h2{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem}.class-master-header p{color:#fff9;font-size:1rem}.class-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.class-stat-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.class-stat-card:hover{border-color:#fff3;box-shadow:0 8px 24px #0003;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;font-size:1.75rem;height:60px;justify-content:center;width:60px}.stat-info{flex:1 1}.stat-value{color:#fff;font-size:2rem;margin-bottom:.25rem}.stat-label{color:#fff9;font-size:.9rem}.class-master-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 400px}.class-section-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:1.5rem}.view-all-btn{background:#0000;border:none;color:#667eea;cursor:pointer;font-weight:500;transition:all .3s ease}.view-all-btn:hover{color:#764ba2}.activities-list{display:flex;flex-direction:column;gap:1rem}.activity-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.activity-item:hover{background:#ffffff0d;border-color:#ffffff1a}.activity-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.activity-content{flex:1 1;min-width:0}.activity-message{color:#fff;font-weight:500;margin-bottom:.25rem}.activity-time{color:#ffffff80;font-size:.85rem}.activity-status{border-radius:8px;font-size:.75rem;font-weight:600;padding:.4rem .8rem;text-transform:uppercase;white-space:nowrap}.status-completed{background:#10b98133;color:#10b981}.status-pending{background:#f59e0b33;color:#f59e0b}.status-urgent{background:#ef444433;color:#ef4444}.status-upcoming{background:#3b82f633;color:#3b82f6}.quick-actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.quick-action-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-weight:500;gap:.75rem;padding:1.25rem;transition:all .3s ease}.quick-action-btn:hover{background:#ffffff1a;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.action-icon{font-size:1.75rem}.students-list{display:flex;flex-direction:column;gap:.75rem;max-height:600px;overflow-y:auto}.student-item{background:#ffffff08;border:1px solid #ffffff0d;gap:1rem;padding:1rem;transition:all .3s ease}.student-item:hover{background:#ffffff0d;border-color:#ffffff1a}.student-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:45px;justify-content:center;width:45px}.student-name{color:#fff;font-weight:500;margin-bottom:.25rem}.student-id{color:#ffffff80;font-size:.85rem}.empty-students{color:#ffffff80;padding:2rem;text-align:center}body.light-mode .class-master-dashboard{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}body.light-mode .activity-message,body.light-mode .class-master-header h2,body.light-mode .section-header h3,body.light-mode .stat-value,body.light-mode .student-name{color:#1a202c}body.light-mode .activity-time,body.light-mode .class-master-header p,body.light-mode .stat-label,body.light-mode .student-id{color:#64748b}body.light-mode .activity-item,body.light-mode .class-section-card,body.light-mode .class-stat-card,body.light-mode .quick-action-btn,body.light-mode .student-item{background:#fff;border-color:#e1e8ed}body.light-mode .activity-item:hover,body.light-mode .class-stat-card:hover,body.light-mode .quick-action-btn:hover,body.light-mode .student-item:hover{background:#f8f9fa;border-color:#cbd5e0}body.light-mode .section-header{border-bottom-color:#e1e8ed}body.light-mode .quick-action-btn{color:#1a202c}body.comfort-mode .class-master-dashboard{background:linear-gradient(135deg,#1a202c,#2d3748)}body.comfort-mode .activity-message,body.comfort-mode .class-master-header h2,body.comfort-mode .section-header h3,body.comfort-mode .stat-value,body.comfort-mode .student-name{color:#f7fafc}body.comfort-mode .activity-time,body.comfort-mode .class-master-header p,body.comfort-mode .stat-label,body.comfort-mode .student-id{color:#cbd5e0}body.comfort-mode .activity-item,body.comfort-mode .class-section-card,body.comfort-mode .class-stat-card,body.comfort-mode .quick-action-btn,body.comfort-mode .student-item{background:#ffffff14;border-color:#ffffff26}@media (max-width:1200px){.class-master-sections{grid-template-columns:1fr}.section-right{order:-1}}@media (max-width:768px){.class-master-content{padding:1rem}.class-stats-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.class-stat-card{flex-direction:column;text-align:center}.stat-icon{height:50px;width:50px}.stat-icon,.stat-value{font-size:1.5rem}.quick-actions-grid{grid-template-columns:1fr}}.teacher-profile-bar{align-items:center;background:linear-gradient(135deg,#1a1f3a,#2d3561);border-radius:16px;box-shadow:0 4px 20px #00000026;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 2rem}.teacher-profile-bar-left{align-items:center;display:flex;gap:1.5rem}.teacher-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:72px;justify-content:center;width:72px}.teacher-info-large{display:flex;flex-direction:column;gap:.5rem}.teacher-name-row{align-items:center;display:flex;gap:1rem}.teacher-name-large{color:#fff;font-size:1.75rem;font-weight:700;margin:0}.class-master-badge{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:.4rem 1rem;white-space:nowrap}.teacher-department{color:#ffffffb3;font-size:1rem;margin:0}.teacher-profile-stats{align-items:center;display:flex;gap:1.5rem}.profile-stat-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.profile-stat-value{color:#fff;font-size:1.5rem;font-weight:700}.profile-stat-label{color:#fff9;font-size:.75rem;text-align:center;white-space:nowrap}.profile-stat-divider{background:#fff3;height:40px;width:1px}body.light-mode .teacher-profile-bar{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e1e8ed}body.light-mode .profile-stat-value,body.light-mode .teacher-name-large{color:#1a202c}body.light-mode .profile-stat-label,body.light-mode .teacher-department{color:#64748b}body.light-mode .profile-stat-divider{background:#e1e8ed}body.comfort-mode .teacher-profile-bar{background:linear-gradient(135deg,#2d3748,#4a5568)}body.comfort-mode .profile-stat-value,body.comfort-mode .teacher-name-large{color:#f7fafc}body.comfort-mode .profile-stat-label,body.comfort-mode .teacher-department{color:#cbd5e0}body.comfort-mode .profile-stat-divider{background:#ffffff40}@media (max-width:768px){.teacher-profile-bar{flex-direction:column;gap:1.5rem;padding:1.5rem}.teacher-profile-bar-left{justify-content:flex-start;width:100%}.teacher-profile-stats{flex-wrap:wrap;gap:1rem;justify-content:space-around;width:100%}.profile-stat-divider{display:none}.teacher-name-large{font-size:1.5rem}.class-master-badge{font-size:.75rem;padding:.3rem .8rem}}.teacher-navigation-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:1.5rem;padding:1rem}.teacher-nav-top-row{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.teacher-nav-left{align-items:center;display:flex;gap:1rem}.teacher-nav-right{align-items:center;display:flex;gap:.75rem}.start-teaching-btn{background:linear-gradient(135deg,#ff6b35,#ff8c42);border:none;border-radius:12px;box-shadow:0 4px 12px #ff6b354d;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.start-teaching-btn:hover{box-shadow:0 6px 16px #ff6b3566;transform:translateY(-2px)}.more-btn,.reset-btn{background:#ffffff0d;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.25rem;transition:all .3s ease}.more-btn:hover,.reset-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.speed-control{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;display:flex;gap:.5rem;padding:.3rem}.speed-btn{background:#0000;border:none;border-radius:8px;color:#fff9;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.speed-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.speed-btn:hover:not(.active){background:#ffffff1a;color:#fff}.teacher-nav-tabs-row{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.teacher-nav-tab{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#ffffffb3;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.teacher-nav-tab:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px)}.teacher-nav-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 12px #667eea4d;color:#fff}.tab-icon{font-size:1.1rem}.tab-label{font-size:.9rem}body.light-mode .teacher-navigation-tabs{background:#fff;border:2px solid #e1e8ed}body.light-mode .teacher-nav-top-row{border-bottom-color:#e1e8ed}body.light-mode .teacher-nav-tab{background:#f8f9fa;border-color:#e1e8ed;color:#64748b}body.light-mode .teacher-nav-tab:hover{background:#e1e8ed;color:#1a202c}body.light-mode .more-btn,body.light-mode .reset-btn{background:#f8f9fa;border-color:#e1e8ed;color:#1a202c}body.light-mode .more-btn:hover,body.light-mode .reset-btn:hover{background:#e1e8ed}body.light-mode .speed-control{background:#f8f9fa;border-color:#e1e8ed}body.light-mode .speed-btn{color:#64748b}body.light-mode .speed-btn:hover:not(.active){background:#e1e8ed;color:#1a202c}body.comfort-mode .teacher-navigation-tabs{background:#ffffff0d;border-color:#ffffff26}body.comfort-mode .teacher-nav-top-row{border-bottom-color:#ffffff26}body.comfort-mode .teacher-nav-tab{background:#ffffff14;color:#cbd5e0}body.comfort-mode .teacher-nav-tab:hover{background:#ffffff1f;color:#f7fafc}@media (max-width:768px){.teacher-nav-top-row{align-items:stretch;flex-direction:column;gap:1rem}.teacher-nav-left,.teacher-nav-right{justify-content:space-between;width:100%}.teacher-nav-right{flex-wrap:wrap}.start-teaching-btn{margin-bottom:.5rem;width:100%}.teacher-nav-tabs-row{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.teacher-nav-tab{justify-content:center;padding:.75rem}}.subject-panel-page{background:linear-gradient(135deg,#0f1419,#1a1f3a 50%,#2d1b4e);min-height:100vh;padding-bottom:5rem}.subject-panel-content{margin:0 auto;max-width:1400px;padding:2rem}.subject-panel-header{margin-bottom:2rem}.subject-panel-header h2{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem}.subject-panel-header p{color:#fff9;font-size:1rem}.subject-overview-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.overview-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.overview-card:hover{border-color:#fff3;box-shadow:0 8px 24px #0003;transform:translateY(-4px)}.overview-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;font-size:1.75rem;height:60px;justify-content:center;width:60px}.overview-info{flex:1 1}.overview-value{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.25rem}.overview-label{color:#fff9;font-size:.9rem}.subject-sections{display:flex;flex-direction:column;gap:2rem}.section-full{width:100%}.subject-section-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:1.5rem}.add-class-btn,.add-resource-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:all .3s ease}.add-class-btn:hover,.add-resource-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.progress-summary{color:#ffffffb3;font-size:.95rem}.progress-summary strong{color:#fff;font-size:1.1rem}.classes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.class-card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem;transition:all .3s ease}.class-card:hover{background:#ffffff0d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.class-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.class-header h4{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.class-students{background:#667eea33;border-radius:8px;color:#667eea;font-size:.85rem;font-weight:500;padding:.3rem .8rem}.class-details{border-bottom:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem}.class-info-item{display:flex;justify-content:space-between}.info-label{color:#fff9;font-size:.9rem}.info-value{color:#fff;font-weight:500}.class-actions{display:flex;gap:.75rem}.class-action-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:500;padding:.6rem;transition:all .3s ease}.class-action-btn:hover{background:#ffffff1a}.empty-classes{color:#ffffff80;padding:3rem;text-align:center}.curriculum-list{display:flex;flex-direction:column;gap:1rem}.curriculum-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;display:flex;gap:2rem;justify-content:space-between;padding:1.25rem;transition:all .3s ease}.curriculum-item:hover{background:#ffffff0d;border-color:#ffffff1a}.curriculum-left{flex:1 1;min-width:0}.curriculum-unit{color:#667eea;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.curriculum-topic{color:#fff;font-size:1rem;font-weight:500}.curriculum-right{align-items:center;display:flex;flex-shrink:0;gap:1rem}.curriculum-progress-bar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden;width:150px}.curriculum-progress-fill{border-radius:4px;height:100%;transition:all .3s ease}.curriculum-progress-text{color:#fff;font-size:.9rem;font-weight:600;min-width:45px;text-align:right}.curriculum-status{border-radius:8px;font-size:.75rem;font-weight:600;min-width:100px;padding:.4rem .8rem;text-align:center;white-space:nowrap}.resources-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.resource-card{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;text-align:center;transition:all .3s ease}.resource-card:hover{background:#ffffff0d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.resource-icon{font-size:2.5rem;margin-bottom:.5rem}.resource-name{color:#fff;font-size:1rem;font-weight:600}.resource-count{color:#fff9;font-size:.85rem}.empty-state,.loading-state{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:#fff9}body.light-mode .subject-panel-page{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}body.light-mode .class-header h4,body.light-mode .curriculum-topic,body.light-mode .info-value,body.light-mode .overview-value,body.light-mode .resource-name,body.light-mode .section-header h3,body.light-mode .subject-panel-header h2{color:#1a202c}body.light-mode .info-label,body.light-mode .overview-label,body.light-mode .resource-count,body.light-mode .subject-panel-header p{color:#64748b}body.light-mode .class-card,body.light-mode .curriculum-item,body.light-mode .overview-card,body.light-mode .resource-card,body.light-mode .subject-section-card{background:#fff;border-color:#e1e8ed}body.light-mode .class-card:hover,body.light-mode .curriculum-item:hover,body.light-mode .overview-card:hover,body.light-mode .resource-card:hover{background:#f8f9fa;border-color:#cbd5e0}body.light-mode .class-details,body.light-mode .section-header{border-bottom-color:#e1e8ed}body.light-mode .class-action-btn{background:#f8f9fa;border-color:#e1e8ed;color:#1a202c}body.light-mode .class-action-btn:hover,body.light-mode .curriculum-progress-bar{background:#e1e8ed}body.light-mode .curriculum-progress-text{color:#1a202c}body.comfort-mode .subject-panel-page{background:linear-gradient(135deg,#1a202c,#2d3748)}body.comfort-mode .class-header h4,body.comfort-mode .curriculum-topic,body.comfort-mode .info-value,body.comfort-mode .overview-value,body.comfort-mode .resource-name,body.comfort-mode .section-header h3,body.comfort-mode .subject-panel-header h2{color:#f7fafc}body.comfort-mode .info-label,body.comfort-mode .overview-label,body.comfort-mode .resource-count,body.comfort-mode .subject-panel-header p{color:#cbd5e0}@media (max-width:1024px){.curriculum-right{align-items:flex-end;flex-direction:column;gap:.5rem}.curriculum-progress-bar{width:120px}}@media (max-width:768px){.subject-panel-content{padding:1rem}.subject-overview-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.classes-grid{grid-template-columns:1fr}.curriculum-item{align-items:flex-start;flex-direction:column;gap:1rem}.curriculum-right{flex-direction:row;justify-content:space-between;width:100%}.curriculum-progress-bar{flex:1 1}.resources-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}}.admin-summary-page{background:linear-gradient(135deg,#0f1419,#1a1f3a 50%,#2d1b4e);min-height:100vh;padding-bottom:5rem}.admin-summary-content{margin:0 auto;max-width:1400px;padding:2rem}.admin-summary-header{margin-bottom:2rem}.admin-summary-header h2{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem}.admin-summary-header p{color:#fff9;font-size:1rem}.workload-overview-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.workload-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.workload-card:hover{border-color:#fff3;box-shadow:0 8px 24px #0003;transform:translateY(-4px)}.workload-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;flex-shrink:0;font-size:1.75rem;height:60px;justify-content:center;width:60px}.workload-content{flex:1 1}.workload-content h4{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.workload-stats{display:flex;gap:1.5rem}.workload-stat{align-items:center;display:flex;flex-direction:column}.stat-number{color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.stat-text{color:#fff9;font-size:.75rem;text-align:center}.admin-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1.5fr 1fr}.section-left,.section-right{display:flex;flex-direction:column;gap:1.5rem}.admin-section-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:1.5rem}.section-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.section-header h3{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.total-hours{color:#ffffffb3;font-size:.95rem}.total-hours strong{color:#fff;font-weight:600}.time-allocation-chart{padding:1rem 0}.allocation-bars{display:flex;flex-direction:column;gap:1.5rem}.allocation-bar-container{display:flex;flex-direction:column;gap:.5rem}.allocation-label{align-items:center;display:flex;justify-content:space-between}.allocation-category{color:#fff;font-size:.95rem;font-weight:500}.allocation-hours{color:#fff9;font-size:.85rem;font-weight:600}.allocation-bar-bg{background:#ffffff1a;border-radius:6px;height:12px;overflow:hidden;width:100%}.allocation-bar-fill{border-radius:6px;height:100%;transition:all .5s ease}.performance-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}.performance-metric{align-items:center;display:flex;flex-direction:column;gap:1rem}.metric-circle{align-items:center;background:conic-gradient(#667eea 0 calc(var(--progress)*1%),#ffffff1a calc(var(--progress)*1%) 100%);border-radius:50%;display:flex;height:100px;justify-content:center;position:relative;width:100px}.metric-circle:before{background:#0f1419f2;border-radius:50%;content:"";height:80px;position:absolute;width:80px}.metric-value{color:#fff;font-size:1.5rem;font-weight:700;position:relative;z-index:1}.metric-label{color:#ffffffb3;font-size:.85rem;font-weight:500;text-align:center}.duties-list{display:flex;flex-direction:column;gap:1rem}.duty-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.duty-item:hover{background:#ffffff0d;border-color:#ffffff1a}.duty-name{color:#fff;font-weight:500}.duty-hours{color:#667eea;font-size:.95rem;font-weight:600}.duties-total{border-top:1px solid #ffffff1a;color:#ffffffb3;font-size:.95rem;margin-top:1rem;padding-top:1rem}.duties-total strong{color:#fff;font-size:1.1rem}.responsibilities-list{display:flex;flex-direction:column;gap:1rem}.responsibility-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.responsibility-item:hover{background:#ffffff0d;border-color:#ffffff1a}.responsibility-icon{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-weight:600;height:32px;justify-content:center;width:32px}.responsibility-text{color:#fff;font-weight:500}.loading-state{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}body.light-mode .admin-summary-page{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}body.light-mode .admin-summary-header h2,body.light-mode .allocation-category,body.light-mode .duty-name,body.light-mode .metric-value,body.light-mode .responsibility-text,body.light-mode .section-header h3,body.light-mode .stat-number,body.light-mode .workload-content h4{color:#1a202c}body.light-mode .admin-summary-header p,body.light-mode .allocation-hours,body.light-mode .metric-label,body.light-mode .stat-text{color:#64748b}body.light-mode .admin-section-card,body.light-mode .duty-item,body.light-mode .responsibility-item,body.light-mode .workload-card{background:#fff;border-color:#e1e8ed}body.light-mode .duty-item:hover,body.light-mode .responsibility-item:hover,body.light-mode .workload-card:hover{background:#f8f9fa;border-color:#cbd5e0}body.light-mode .duties-total,body.light-mode .section-header{border-color:#e1e8ed}body.light-mode .allocation-bar-bg{background:#e1e8ed}body.light-mode .metric-circle:before{background:#fff}body.comfort-mode .admin-summary-page{background:linear-gradient(135deg,#1a202c,#2d3748)}body.comfort-mode .admin-summary-header h2,body.comfort-mode .allocation-category,body.comfort-mode .duty-name,body.comfort-mode .metric-value,body.comfort-mode .responsibility-text,body.comfort-mode .section-header h3,body.comfort-mode .stat-number,body.comfort-mode .workload-content h4{color:#f7fafc}body.comfort-mode .admin-summary-header p,body.comfort-mode .allocation-hours,body.comfort-mode .metric-label,body.comfort-mode .stat-text{color:#cbd5e0}body.comfort-mode .admin-section-card,body.comfort-mode .duty-item,body.comfort-mode .responsibility-item,body.comfort-mode .workload-card{background:#ffffff14;border-color:#ffffff26}@media (max-width:1200px){.admin-sections,.workload-overview-grid{grid-template-columns:1fr}}@media (max-width:768px){.admin-summary-content{padding:1rem}.workload-stats{flex-wrap:wrap;gap:1rem}.performance-grid{gap:1.5rem;grid-template-columns:1fr}.workload-card{align-items:center;flex-direction:column;text-align:center}.workload-stats{justify-content:center}}.api-testing-page{background:var(--background);min-height:100vh}.api-testing-content{margin:0 auto;max-width:1400px;padding:20px}.tenant-selector-card{margin-bottom:20px}.tenant-input-group{align-items:center;display:flex;gap:10px;margin:15px 0}.tenant-input-group label{font-weight:600;min-width:100px}.tenant-input-group input{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text);flex:1 1;font-family:Courier New,monospace;padding:10px}.tenant-input-group button{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.selector-stats{background:var(--surface-variant);border-radius:8px;display:flex;gap:20px;margin-top:15px;padding:15px}.selector-stats span{font-size:14px;font-weight:600}.test-section-card{margin-bottom:20px}.test-section-card h3{color:var(--text);font-size:18px;margin:0 0 15px}.selector-group{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.selector-group label{font-weight:600;min-width:120px}.selector-group select{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text);flex:1 1;min-width:250px;padding:10px}.test-btn{background:var(--success);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;white-space:nowrap}.test-btn:hover{opacity:.9}.test-btn:disabled{cursor:not-allowed;opacity:.5}.test-all-btn{font-size:16px;margin-bottom:20px;padding:15px;width:100%}.test-results{display:flex;flex-direction:column;gap:15px}.test-result{border:1px solid var(--border-color);overflow:hidden}.test-result-header{align-items:center;background:var(--surface-variant);display:flex;font-weight:600;justify-content:space-between;padding:12px 15px}.test-name{font-size:14px}.test-duration{color:var(--text-secondary);font-family:Courier New,monospace;font-size:12px}.test-result-body{padding:15px}.test-stat{display:flex;font-size:14px;gap:10px;margin-bottom:8px}.test-label{color:var(--text-secondary);font-weight:600;min-width:80px}.test-value{color:var(--text)}.test-error{background:#ef44441a;border-left:3px solid #ef4444;border-radius:4px;color:#ef4444;font-size:13px;margin-top:10px;padding:10px}.test-data-details{border:1px solid var(--border-color);border-radius:4px;margin-top:10px;overflow:hidden}.test-data-details summary{background:var(--surface-variant);cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.test-data-details summary:hover,.test-data-pre{background:var(--surface)}.test-data-pre{color:var(--text);font-family:Courier New,monospace;font-size:11px;line-height:1.4;margin:0;max-height:300px;overflow:auto;padding:12px}.backend-info-card{margin-top:20px}.backend-details{display:flex;flex-direction:column;gap:12px}.info-row{align-items:center;background:var(--surface-variant);border-radius:6px;display:flex;gap:10px;padding:10px}.info-label{color:var(--text-secondary);font-weight:600;min-width:140px}.info-row code{background:var(--surface);border:1px solid var(--border-color);border-radius:4px;color:var(--primary);flex:1 1;font-family:Courier New,monospace;font-size:13px;padding:6px 10px}.logout-btn{background:var(--error);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.logout-btn:hover{opacity:.9}[data-theme=dark] .api-testing-page{--background:#1a1a1a;--surface:#2a2a2a;--surface-variant:#333;--text:#fff;--text-secondary:#999;--border-color:#444;--primary:#667eea;--success:#10b981;--error:#ef4444}[data-theme=light] .api-testing-page{--background:#f5f5f5;--surface:#fff;--surface-variant:#f0f0f0;--text:#1a1a1a;--text-secondary:#666;--border-color:#e0e0e0;--primary:#667eea;--success:#10b981;--error:#ef4444}[data-theme=comfort] .api-testing-page{--background:#f8f6f0;--surface:#fff;--surface-variant:#f0ede5;--text:#2d2d2d;--text-secondary:#757575;--border-color:#d4cfc0;--primary:#8b7355;--success:#6b9080;--error:#c1666b}.openapi-testing-page{background:var(--bg-primary);min-height:100vh}.testing-content{max-width:1400px}.config-panel h3{font-size:18px}.config-input,.config-item label{font-size:14px}.config-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;padding:12px;width:100%}.config-input:focus{border-color:var(--primary-color);outline:none}.category-panel h3{font-size:18px}.endpoints-panel{background:var(--card-bg);padding:20px}.endpoints-panel h3{color:var(--text-primary);font-size:18px;margin:0 0 16px}.endpoints-list{display:flex;flex-direction:column;gap:8px}.endpoint-item{align-items:center;background:var(--bg-secondary);border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:all .2s}.endpoint-item:hover{background:var(--bg-primary);border-color:var(--primary-color)}.endpoint-item.active{background:var(--primary-color-light);border-color:var(--primary-color)}.method-badge{border-radius:6px;color:#fff;font-size:12px;font-weight:600;min-width:60px;padding:4px 12px;text-align:center}.endpoint-details{flex:1 1}.endpoint-path{color:var(--text-primary);font-family:Courier New,monospace;font-size:14px;margin-bottom:4px}.endpoint-desc{color:var(--text-secondary);font-size:12px}.request-panel{background:var(--card-bg);padding:20px}.request-panel h3{color:var(--text-primary);font-size:18px;margin:0 0 16px}.input-group{margin-bottom:20px}.input-group label{color:var(--text-secondary);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.request-input,.request-textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;font-size:14px;padding:12px;width:100%}.request-input:focus,.request-textarea:focus{border-color:var(--primary-color);outline:none}.request-textarea{min-height:120px;resize:vertical}.request-preview{background:var(--bg-secondary);border-radius:8px;margin-bottom:16px;padding:16px}.request-preview h4{color:var(--text-primary);font-size:14px;margin:0 0 12px}.preview-item{font-size:13px;margin-bottom:12px}.preview-item strong{color:var(--text-secondary);display:block;margin-bottom:4px}.preview-item code{display:block;padding:8px 12px}.preview-item code,.preview-item pre{background:var(--bg-primary);border-radius:6px;color:var(--text-primary);font-family:Courier New,monospace;overflow-x:auto}.preview-item pre{font-size:12px;margin:0;padding:12px}.execute-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s;width:100%}.execute-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.execute-btn:disabled{cursor:not-allowed;opacity:.5}.response-panel{background:var(--card-bg);padding:20px}.response-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.response-header h3{color:var(--text-primary);font-size:18px;margin:0}.response-status{align-items:center;border-radius:6px;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px}.response-status.success{background:#d4edda;color:#155724}.response-status.error{background:#f8d7da;color:#721c24}.response-status.warning{background:#fff3cd;color:#856404}.response-time{background:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);font-family:Courier New,monospace;font-size:14px;margin-left:auto;padding:8px 16px}.cors-error-details{background:#f8d7da;border-left:4px solid #dc3545;border-radius:8px;margin-bottom:20px;padding:20px}.cors-error-details h4{color:#721c24;margin:0 0 12px}.cors-error-details p{color:#721c24;font-size:14px;line-height:1.6;margin:8px 0}.cors-error-details pre{border-radius:6px;color:#721c24;font-size:12px;margin:12px 0;overflow-x:auto;padding:12px}.cors-error-details code,.cors-error-details pre{background:#fff;font-family:Courier New,monospace}.cors-error-details code{border-radius:3px;padding:2px 6px}.error-details{background:#f8d7da;border-radius:8px;margin-bottom:20px;padding:16px}.error-details h4{color:#721c24;margin:0 0 12px}.error-details pre{background:#fff;border-radius:6px;color:#721c24;font-family:Courier New,monospace;font-size:12px;margin:0;overflow-x:auto;padding:12px}.response-data{margin-bottom:20px}.response-data h4{color:var(--text-primary);font-size:16px;margin:0 0 12px}.data-summary{display:flex;gap:8px;margin-bottom:12px}.summary-badge{background:var(--primary-color);border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.response-json{background:var(--bg-secondary);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;font-size:12px;margin:0;max-height:500px;overflow-x:auto;overflow-y:auto;padding:16px}.response-headers{margin-top:16px}.response-headers summary{background:var(--bg-secondary);border-radius:8px;color:var(--text-primary);cursor:pointer;font-weight:600;padding:12px;-webkit-user-select:none;user-select:none}.response-headers summary:hover{background:var(--bg-primary)}.response-headers pre{background:var(--bg-secondary);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;font-size:12px;margin:8px 0 0;overflow-x:auto;padding:16px}.header-logs{border:2px solid var(--border-color);border-radius:8px;margin-bottom:20px;overflow:hidden}.header-logs summary{background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-weight:600;padding:12px 16px;-webkit-user-select:none;user-select:none}.header-logs summary:hover{background:var(--bg-primary)}.logs-timeline{background:var(--bg-secondary);padding:16px}.log-entry{background:var(--card-bg);border-left:4px solid var(--primary-color);border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:12px}.log-entry.error{background:#4a1f1f;border-color:#dc3545}.log-entry.complete{border-color:#28a745}.log-step{background:var(--bg-secondary);border-radius:6px;color:var(--primary-color);font-size:12px;font-weight:700;min-width:60px;padding:4px 8px;text-align:center}.log-entry.error .log-step{color:#dc3545}.log-content{flex:1 1}.log-message{color:var(--text-primary);font-weight:600;margin-bottom:8px}.log-detail{background:var(--bg-secondary);border-radius:6px;font-size:12px;margin-top:8px;padding:8px}.log-detail strong{color:var(--text-secondary);display:block;margin-bottom:4px}.log-detail pre{background:var(--bg-primary);border-radius:4px;color:var(--text-primary);font-family:Courier New,monospace;font-size:11px;margin:4px 0 0;overflow-x:auto;padding:8px}.log-detail.error-detail{background:#5a2d2d;color:#f8d7da}.cors-analysis{background:var(--bg-secondary);border-radius:8px;margin-bottom:20px;padding:16px}.cors-analysis h4{color:var(--text-primary);margin:0 0 12px}.cors-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.cors-item{align-items:center;background:var(--card-bg);border:2px solid;border-radius:8px;display:flex;gap:12px;padding:12px}.cors-item.success{background:#1e4620;border-color:#28a745}.cors-item.error{background:#4a1f1f;border-color:#dc3545}.cors-item.warning{background:#5a4d1f;border-color:#ffc107}.cors-item.full-width{grid-column:1/-1}.cors-icon{flex-shrink:0;font-size:24px}.cors-detail{flex:1 1}.cors-detail strong{color:var(--text-secondary);display:block;font-size:12px;margin-bottom:4px}.cors-detail span{color:var(--text-primary);font-family:Courier New,monospace;font-size:14px}.quick-tests-panel{background:var(--card-bg);padding:20px}.quick-tests-panel h3{color:var(--text-primary);font-size:18px;margin:0 0 16px}.quick-tests-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-test-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:14px 20px;transition:all .2s}.quick-test-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}body.theme-dark .cors-error-details{background:#4a1f1f;border-color:#dc3545}body.theme-dark .cors-error-details h4,body.theme-dark .cors-error-details p,body.theme-dark .cors-error-details pre{color:#f8d7da}body.theme-dark .error-details{background:#4a1f1f}body.theme-dark .error-details h4,body.theme-dark .error-details pre{color:#f8d7da}body.theme-comfort .execute-btn,body.theme-comfort .quick-test-btn{background:linear-gradient(135deg,#8b7355,#6b5444)}body.theme-light .method-badge{opacity:.9}body.theme-light .cors-error-details{background:#f8d7da;border-color:#dc3545}body.theme-light .cors-error-details h4,body.theme-light .cors-error-details p{color:#721c24}body.theme-light .cors-error-details code,body.theme-light .cors-error-details pre{background:#fff;color:#721c24}@media (max-width:768px){.testing-content{padding:12px}.category-grid,.quick-tests-grid{grid-template-columns:1fr}.response-header{align-items:flex-start;flex-direction:column}.response-time{margin-left:0}}.direct-supabase-testing-page{background:var(--bg-primary);min-height:100vh}.testing-content{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px;padding:20px}.info-banner{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:20px}.banner-content{align-items:flex-start;display:flex;gap:16px}.banner-icon{flex-shrink:0;font-size:32px}.banner-text strong{display:block;font-size:18px;margin-bottom:8px}.banner-text p{line-height:1.5;margin:0;opacity:.95}.config-panel{background:var(--card-bg);padding:20px}.config-panel h3{color:var(--text-primary);margin:0 0 16px}.config-item{margin-bottom:16px}.config-item label{color:var(--text-secondary);display:block;font-weight:600;margin-bottom:8px}.config-hint{color:var(--text-secondary);font-size:12px;margin:4px 0 8px;opacity:.9}.config-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;font-size:14px;padding:12px;width:100%}.config-select:focus{border-color:var(--primary-color);outline:none}.readonly-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;font-size:14px;padding:12px}.cors-banner{background:linear-gradient(135deg,#0ea5e9,#6366f1)!important}.cors-badge{background:#f59e0b;border-radius:4px;color:#000;font-size:11px;font-weight:700;padding:2px 8px}.config-actions{display:flex;gap:12px}.action-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.action-btn.secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.action-btn.secondary:hover{background:var(--bg-primary)}.action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.category-panel{background:var(--card-bg);padding:20px}.category-panel h3{color:var(--text-primary);margin:0 0 16px}.category-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.category-btn{background:var(--bg-secondary);border:2px solid #0000;border-radius:12px;cursor:pointer;padding:16px;text-align:left;transition:all .2s}.category-btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.category-btn.active{box-shadow:0 4px 12px #00000026}.category-name{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:4px}.category-count{color:var(--text-secondary);font-size:12px}.tests-panel{background:var(--card-bg);padding:20px}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.panel-header h3{color:var(--text-primary);margin:0}.panel-enotice-filter{align-items:center;background:#6366f114;border:1px solid #6366f140;border-radius:10px;display:flex;gap:10px;margin-bottom:16px;padding:12px 14px}.panel-enotice-filter-label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.panel-enotice-filter-select{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9rem;min-width:160px;padding:6px 12px}.run-category-btn{background:linear-gradient(135deg,#38a169,#2f855a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.run-category-btn:hover:not(:disabled){box-shadow:0 4px 12px #38a16966;transform:translateY(-2px)}.run-category-btn:disabled{cursor:not-allowed;opacity:.5}.tests-list{display:flex;flex-direction:column;gap:16px}.test-item{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:16px}.test-info{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.test-name{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:8px}.test-description{color:var(--text-secondary);font-size:12px;font-style:italic;margin-bottom:6px}.test-method{font-size:13px}.test-method code{background:var(--bg-primary);border-radius:6px;color:var(--primary-color);font-family:Courier New,monospace;padding:6px 12px}.test-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.list-limit-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;min-width:72px;padding:8px 12px}.list-limit-select:focus{border-color:var(--primary-color);outline:none}.param-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;max-width:220px;min-width:100px;padding:8px 12px}.param-select:focus{border-color:var(--primary-color);outline:none}.param-select:disabled{cursor:not-allowed;opacity:.7}.test-run-btn{background:linear-gradient(135deg,#3182ce,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s;white-space:nowrap}.test-run-btn:hover:not(:disabled){box-shadow:0 4px 12px #3182ce66;transform:translateY(-2px)}.test-run-btn:disabled{cursor:not-allowed;opacity:.5}.test-result{border-left:4px solid;border-radius:8px;margin-top:16px;padding:16px}.test-result.success{background:#d4edda;border-color:#28a745}.test-result.error,.test-result.exception{background:#f8d7da;border-color:#dc3545}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.result-status{font-size:14px;font-weight:600}.test-result.success .result-status{color:#155724}.test-result.error .result-status,.test-result.exception .result-status{color:#721c24}.result-duration{color:var(--text-secondary);font-family:Courier New,monospace;font-size:13px}.result-count{background:#fff;border-radius:6px;font-size:14px;margin-bottom:12px;padding:8px 12px}.test-result.success .result-count{border:1px solid #28a745;color:#155724}.cors-slp-att-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:12px 0;padding:12px}.cors-slp-att-preview-title{color:#334155;font-size:.85rem;font-weight:600;margin-bottom:10px}.cors-slp-att-grid{grid-template-columns:repeat(3,1fr)!important}@media (min-width:640px){.cors-slp-att-grid{grid-template-columns:repeat(4,1fr)!important}}.cors-slp-att-more{color:#64748b;font-size:.8rem;margin:10px 0 0}.result-data{margin-top:12px}.result-data summary{background:#fff;border-radius:6px;color:#155724;cursor:pointer;font-weight:600;padding:10px 12px;-webkit-user-select:none;user-select:none}.result-data summary:hover{background:#f8f9fa}.result-data pre{background:#fff;border:1px solid #28a745;border-radius:6px;color:#155724;font-family:Courier New,monospace;font-size:12px;margin:8px 0 0;max-height:400px;overflow-x:auto;overflow-y:auto;padding:12px}.result-error{background:#fff;border:1px solid #dc3545;border-radius:6px;margin-bottom:12px;padding:12px}.result-error strong{color:#721c24;display:block;margin-bottom:8px}.result-error pre{color:#721c24;font-family:Courier New,monospace;font-size:12px;margin:0;overflow-x:auto}.result-timestamp{color:var(--text-secondary);font-size:12px;margin-top:8px}.summary-panel{background:var(--card-bg);padding:20px}.summary-panel h3{color:var(--text-primary);margin:0 0 16px}.summary-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{border-radius:12px;padding:20px;text-align:center}.stat-item.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.stat-item.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.stat-item.total{background:linear-gradient(135deg,#cfe2ff,#b6d4fe);color:#084298}.stat-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.stat-value{display:block;font-size:32px;font-weight:700}body.theme-dark .test-result.success{background:#1e4620;border-color:#28a745}body.theme-dark .test-result.error,body.theme-dark .test-result.exception{background:#4a1f1f;border-color:#dc3545}body.theme-dark .result-data pre,body.theme-dark .result-data summary,body.theme-dark .test-result.success .result-count,body.theme-dark .test-result.success .result-status{background:#2d5a2d;color:#d4edda}body.theme-dark .result-error,body.theme-dark .result-error pre,body.theme-dark .result-error strong,body.theme-dark .test-result.error .result-status,body.theme-dark .test-result.exception .result-status{background:#5a2d2d;color:#f8d7da}body.theme-comfort .action-btn.primary,body.theme-comfort .run-category-btn,body.theme-comfort .test-run-btn{background:linear-gradient(135deg,#8b7355,#6b5444)}.cors-office-staff-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:14px 0 10px;padding:14px}.cors-office-staff-preview-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.cors-office-staff-preview-sub{color:#64748b;font-size:.78rem;line-height:1.4;margin-top:4px;max-width:520px}.cors-office-staff-preview-sub code{background:#e2e8f0;border-radius:4px;font-size:.72rem;padding:1px 5px}.cors-office-staff-add-btn{background:#fff;border:1px solid #7c3aed;border-radius:10px;color:#5b21b6;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px}.cors-office-staff-add-btn:hover{background:#f5f3ff}.cors-office-staff-empty{color:#64748b;font-size:.88rem;margin:0}.cors-office-staff-mini-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.cors-office-staff-mini-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:10px;padding:10px 10px 10px 12px}.cors-office-staff-mini-avatar{align-items:center;background:#e0e7ff;border-radius:50%;color:#4338ca;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:40px;justify-content:center;overflow:hidden;width:40px}.cors-office-staff-mini-avatar img{height:100%;object-fit:cover;width:100%}.cors-office-staff-mini-body{flex:1 1;min-width:0}.cors-office-staff-mini-name{color:#1e293b;font-size:.88rem;font-weight:600}.cors-office-staff-mini-name,.cors-office-staff-mini-pos{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cors-office-staff-mini-pos{color:#64748b;font-size:.75rem}.cors-office-staff-edit-btn{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;flex-shrink:0;font-size:.78rem;font-weight:600;padding:6px 12px}.cors-office-staff-edit-btn:hover{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}.cors-office-staff-more{color:#64748b;font-size:.8rem;margin:10px 0 0}@media (max-width:768px){.testing-content{padding:12px}.config-actions{flex-direction:column}.category-grid{grid-template-columns:1fr}.panel-header,.test-info{flex-direction:column}.panel-header{align-items:flex-start;gap:12px}.run-category-btn{width:100%}}.teacher-working-hub-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.hub-content{margin:0 auto;max-width:1200px;padding:16px}.hub-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.hub-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.hub-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.hub-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.hub-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.hub-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.hub-config-field{display:flex;flex-direction:column;gap:4px}.hub-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hub-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.hub-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.hub-context-label{background:#2d374814;border-radius:8px;color:#2d3748;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.hub-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.hub-backend-banner p{font-size:.9rem;margin:0}.hub-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.hub-run-groups{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.hub-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.hub-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.hub-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.hub-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #319795;border-radius:8px;color:#2d3748;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.hub-run-btn:hover:not(:disabled){background:#31979514}.hub-run-btn:disabled{cursor:not-allowed;opacity:.7}.hub-results{display:flex;flex-direction:column;gap:24px}.hub-section-head{border-bottom:2px solid #319795;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.hub-section-head:first-child{margin-top:0}.hub-error{color:#dc2626;color:var(--error,#dc2626);font-size:.9rem;margin:0}.hub-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.hub-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.hub-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.hub-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.hub-table td,.hub-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.hub-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.hub-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.hub-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.hub-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}.hub-view-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:20px;padding:16px}.hub-view-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 12px}.hub-attendance-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.hub-attendance-header .hub-view-title{margin:0}.hub-attendance-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.hub-attendance-cols-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;font-weight:500}.hub-attendance-cols-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:.9rem;min-width:4ch;padding:8px 12px}.hub-attendance-rollcall-btn{background:#319795;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 20px;transition:background .2s}.hub-attendance-rollcall-btn:hover{background:#2c7a7b}.hub-attendance-rollcall-btn:active{transform:scale(.98)}.hub-attendance-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.hub-attendance-stat{border-radius:10px;min-width:80px;padding:12px 16px;text-align:center}.hub-stat-value{color:inherit;display:block;font-size:1.25rem;font-weight:700}.hub-stat-label{font-size:.75rem;opacity:.9}.hub-stat-present{background:#d1fae5;color:#065f46}.hub-stat-absent{background:#fee2e2;color:#991b1b}.hub-stat-late{background:#ffedd5;color:#9a3412}.hub-stat-other{background:#e0e7ff;color:#3730a3}.hub-attendance-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}@media (min-width:480px){.hub-attendance-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:720px){.hub-attendance-grid{grid-template-columns:repeat(4,1fr)}}.hub-attendance-cell{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column;gap:8px;padding:12px}.hub-attendance-cell-name{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;font-weight:600;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.hub-attendance-list{grid-gap:10px;display:grid;gap:10px}.hub-attendance-card .hub-attendance-card-inner{align-items:flex-start;display:flex;gap:12px}.hub-attendance-icon-wrap{flex-shrink:0}.hub-attendance-icon{align-items:center;border-radius:50%;display:inline-flex;font-size:1rem;font-weight:700;height:36px;justify-content:center;width:36px}.hub-attendance-icon--present{background:#a7f3d0;color:#065f46}.hub-attendance-icon--absent{background:#fecaca;color:#991b1b}.hub-attendance-icon--late{background:#fed7aa;color:#9a3412}.hub-attendance-icon--other{background:#c7d2fe;color:#3730a3}.hub-attendance-body{flex:1 1;min-width:0}.hub-attendance-meta{color:#64748b;color:var(--text-secondary,#64748b);display:flex;flex-wrap:wrap;font-size:.85rem;gap:8px 12px;margin-bottom:4px}.hub-attendance-student{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-weight:600}.hub-attendance-status{border-radius:6px;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:4px;padding:2px 8px}.hub-attendance-status--present{background:#d1fae5;color:#065f46}.hub-attendance-status--absent{background:#fee2e2;color:#991b1b}.hub-attendance-status--late{background:#ffedd5;color:#9a3412}.hub-attendance-status--other{background:#e0e7ff;color:#3730a3}.hub-attendance-notes{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:4px 0 0}.hub-event-list{grid-gap:12px;display:grid;gap:12px}.hub-event-card{overflow:hidden;position:relative}.hub-event-card-bar{border-radius:4px 0 0 4px;bottom:0;left:0;position:absolute;top:0;width:4px}.hub-event-card--exam .hub-event-card-bar{background:#dc2626}.hub-event-card--holiday .hub-event-card-bar{background:#16a34a}.hub-event-card--ceremony .hub-event-card-bar{background:#2563eb}.hub-event-card--meeting .hub-event-card-bar{background:#7c3aed}.hub-event-card--event .hub-event-card-bar{background:#0d9488}.hub-event-card-inner{padding-left:14px}.hub-event-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 4px}.hub-event-title-en{font-weight:500}.hub-event-date,.hub-event-title-en{color:#64748b;color:var(--text-secondary,#64748b)}.hub-event-date{font-size:.85rem;margin:0 0 8px}.hub-event-tags{display:flex;flex-wrap:wrap;gap:6px}.hub-event-tag{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:999px;color:#64748b;color:var(--text-secondary,#64748b);display:inline-block;font-size:.75rem;font-weight:600;padding:4px 10px}.hub-event-card--exam .hub-event-tag{background:#fecaca;color:#991b1b}.hub-event-card--holiday .hub-event-tag{background:#bbf7d0;color:#166534}.hub-event-card--ceremony .hub-event-tag{background:#bfdbfe;color:#1e40af}.hub-enotice-list{grid-gap:12px;display:grid;gap:12px}.hub-enotice-card-inner{padding:0}.hub-enotice-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 6px}.hub-enotice-meta{align-items:center;color:#64748b;color:var(--text-secondary,#64748b);display:flex;flex-wrap:wrap;font-size:.85rem;gap:8px 12px;margin-bottom:6px}.hub-enotice-pill{border-radius:999px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.hub-enotice-pill--signed{background:#d1fae5;color:#065f46}.hub-enotice-pill--partial,.hub-enotice-pill--unsigned{background:#fef3c7;color:#92400e}.hub-enotice-detail-card .hub-enotice-signature-count{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;margin:0}.hub-enotice-desc{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;line-height:1.4;margin:0}.hub-enotice-card--clickable{cursor:pointer;transition:box-shadow .2s,transform .2s}.hub-enotice-card--clickable:hover{box-shadow:0 4px 12px #00000014}.hub-enotice-detail{background:#fff;background:var(--card-bg,#fff);border-radius:12px;overflow:hidden}.hub-enotice-detail-header{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;gap:12px;padding:14px 16px}.hub-enotice-detail-back{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 12px}.hub-enotice-detail-back:hover{background:#ffffff4d}.hub-enotice-detail-title{font-size:1.1rem;font-weight:600;margin:0}.hub-enotice-detail-tabs{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);display:flex;gap:4px;padding:10px 16px}.hub-enotice-detail-tab{border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;padding:8px 14px}.hub-enotice-detail-tab--active{background:#fff;background:var(--card-bg,#fff);box-shadow:0 1px 2px #0000000f;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-weight:600}.hub-enotice-detail-body{padding:20px 16px}.hub-enotice-detail-notice-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.25rem;font-weight:700;margin:0 0 12px}.hub-enotice-detail-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:14px}.hub-enotice-detail-id-pill{background:#dbeafe;border-radius:8px;color:#1e40af;font-size:.85rem;font-weight:600;padding:4px 12px}.hub-enotice-detail-dates{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem}.hub-enotice-detail-desc{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem;line-height:1.5;margin:0 0 20px}.hub-enotice-detail-cards{display:flex;flex-direction:column;gap:14px}.hub-enotice-detail-cards--four .hub-enotice-detail-card{border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);box-shadow:0 1px 3px #0000000f;padding:16px}.hub-enotice-detail-cards--four .hub-enotice-detail-notice-title{font-size:1.1rem;margin:8px 0 0}.hub-enotice-detail-cards--four .hub-enotice-detail-desc{margin:8px 0 0}.hub-enotice-detail-card .hub-enotice-detail-card-heading{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem;font-weight:700;margin:0 0 8px}.hub-enotice-detail-card-line{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0 0 4px}.hub-enotice-detail-card-line:last-child{margin-bottom:0}.hub-enotice-detail-card-line--muted{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-style:italic}.hub-enotice-signature-block{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.hub-enotice-signature-block .hub-enotice-pill{display:inline-block}.hub-enotice-category-filter{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px;padding:10px 0}.hub-enotice-category-filter-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;font-weight:600}.hub-enotice-category-pill{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:999px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 14px;transition:background .2s,border-color .2s,color .2s}.hub-enotice-category-pill:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-color:#cbd5e1}.hub-enotice-category-pill--active{background:#6366f1;border-color:#6366f1;color:#fff}.hub-enotice-category-pill--active:hover{background:#4f46e5;border-color:#4f46e5;color:#fff}.hub-enotice-card-steps{display:flex;flex-wrap:wrap;gap:6px 10px;margin-bottom:6px}.hub-enotice-step-tag{background:#e0e7ff;border-radius:6px;color:#3730a3;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px}.hub-enotice-detail-steps{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;margin-top:20px;padding:16px}.hub-enotice-detail-steps-heading{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:700;margin:0 0 12px}.hub-enotice-detail-steps-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.hub-enotice-detail-step-item{align-items:center;color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:flex;font-size:.95rem;gap:10px}.hub-enotice-detail-step-num{align-items:center;background:#6366f1;border-radius:50%;color:#fff;display:inline-flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;min-width:24px}.hub-enotice-detail-step-title{flex:1 1}.hub-messages-view{overflow:hidden;padding:0}.hub-messages-view--wa .hub-messages-layout{border:none;border-radius:0;box-shadow:none}.hub-messages-layout{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #0000000f;display:grid;grid-template-columns:360px 1fr;min-height:480px;overflow:hidden}.hub-messages-panel{display:flex;flex-direction:column;min-height:0}.hub-messages-panel--list{background:#fff;border-right:1px solid #e2e8f0;border-right:1px solid var(--border,#e2e8f0);min-width:0;width:360px}.hub-messages-list-header--wa{background:#075e54;color:#fff;padding:14px 16px}.hub-messages-list-header--wa .hub-messages-list-title{color:#fff;font-size:1.25rem;font-weight:600}.hub-messages-list-header--wa .hub-messages-list-subtitle{color:#ffffffd9;font-size:.8rem;margin-top:2px}.hub-messages-list-header{background:#8b5cf614;padding:16px}.hub-messages-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.15rem;font-weight:700;margin:0}.hub-messages-list-subtitle{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:4px 0 0}.hub-messages-toolbar--wa{background:#f0f2f5;gap:6px;padding:8px 12px}.hub-messages-toolbar{align-items:center;background:#fff;background:var(--card-bg,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px}.hub-messages-search-icon{flex-shrink:0;font-size:1rem;opacity:.6}.hub-messages-search{background:#fff;border:none;border-radius:8px;flex:1 1;font-size:.9rem;min-width:100px;padding:8px 12px 8px 32px}.hub-messages-toolbar--wa .hub-messages-search{background:#fff;border-radius:20px}.hub-messages-search::placeholder{color:#667781}.hub-messages-filter-select--wa{border:1px solid #e9edef;border-radius:6px;font-size:.8rem;min-width:90px;padding:6px 10px}.hub-messages-filter-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:.85rem;min-width:100px;padding:8px 10px}.hub-messages-group-list--wa{background:#fff}.hub-messages-group-list{-webkit-overflow-scrolling:touch;flex:1 1;overflow:auto}.hub-messages-conv-item{align-items:center;background:#fff;border:none;border-bottom:1px solid #f0f2f5;cursor:pointer;display:flex;gap:14px;padding:12px 16px;text-align:left;transition:background .1s;width:100%}.hub-messages-conv-item:hover{background:#f5f6f6}.hub-messages-conv-item--selected{background:#f0f2f5}.hub-messages-conv-avatar{align-items:center;background:#25d366;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:600;height:52px;justify-content:center;width:52px}.hub-messages-conv-info{flex:1 1;min-width:0}.hub-messages-conv-top{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:2px}.hub-messages-conv-name{color:#111b21;font-size:1rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-messages-conv-time{color:#667781;flex-shrink:0;font-size:.75rem}.hub-messages-conv-preview{color:#667781;font-size:.875rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-messages-panel--chat-wa{background:#e5ddd5;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23d4cdc4' fill-opacity='.4' fill-rule='evenodd'/%3E%3C/svg%3E");flex:1 1;min-width:0}.hub-messages-chat-header--wa{background:#075e54;box-shadow:0 1px 2px #0000001a;color:#fff;padding:12px 16px}.hub-messages-chat-header--wa .hub-messages-chat-title{color:#fff;font-size:1.05rem;font-weight:500}.hub-messages-chat-header--wa .hub-messages-chat-subtitle{color:#ffffffe6;font-size:.8rem;margin-top:2px}.hub-messages-panel--chat{background:linear-gradient(180deg,#6366f1,#4f46e5 50%,#4338ca);flex:1 1;min-width:0}.hub-messages-panel--chat.hub-messages-panel--chat-wa{background:#e5ddd5;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23d4cdc4' fill-opacity='.4' fill-rule='evenodd'/%3E%3C/svg%3E")}.hub-messages-chat-header{color:#fffffff2;padding:16px}.hub-messages-chat-title{font-size:1.15rem;font-weight:700;margin:0}.hub-messages-chat-subtitle{font-size:.8rem;margin:4px 0 0;opacity:.85}.hub-messages-chat-body--wa{align-items:flex-start;flex:1 1;justify-content:flex-start;min-height:0;overflow-y:auto;padding:12px 16px 8px}.hub-messages-chat-body{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0;overflow-y:auto;padding:24px}.hub-messages-chat-body:has(.hub-messages-thread){align-items:flex-start;justify-content:flex-start}.hub-messages-chat-active--wa .hub-messages-chat-placeholder,.hub-messages-chat-active--wa .hub-messages-chat-placeholder-en,.hub-messages-chat-active--wa .hub-messages-chat-placeholder-sub,.hub-messages-chat-active--wa .hub-messages-chat-placeholder-text{color:#54656f}.hub-messages-chat-placeholder,.hub-messages-chat-placeholder-en{color:#ffffffe6;margin:0;text-align:center}.hub-messages-chat-placeholder{font-size:1.1rem;font-weight:500}.hub-messages-chat-placeholder-en{font-size:.9rem;margin-top:6px;opacity:.85}.hub-messages-chat-active{align-items:center;color:#fffffff2;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.hub-messages-chat-group-name{font-size:1.1rem;font-weight:600;margin:0 0 12px}.hub-messages-chat-placeholder-text{font-size:1rem;margin:0}.hub-messages-chat-placeholder-sub{font-size:.85rem;margin:6px 0 0;opacity:.85}.hub-messages-chat-error{color:#fecaca}.hub-messages-thread--wa{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;width:100%}.hub-messages-thread{display:flex;flex-direction:column;gap:10px;width:100%}.hub-messages-thread-error--wa{background:#ffffffe6;color:#54656f;margin-bottom:4px}.hub-messages-thread-error{background:#00000026;border-radius:8px;color:#ffffffe6;font-size:.8rem;margin:0 0 8px;padding:6px 10px}.hub-messages-bubble-wa{align-items:flex-start;display:flex;flex-direction:column;max-width:65%}.hub-messages-bubble-wa--out{align-items:flex-end;align-self:flex-end}.hub-messages-bubble-wa--in{align-self:flex-start}.hub-messages-sender-wa{color:#0b141a;display:block;font-size:.75rem;font-weight:600;margin-bottom:2px;margin-left:2px}.hub-messages-bubble-wa-inner{border-radius:8px;box-shadow:0 1px .5px #00000021;padding:8px 12px;position:relative}.hub-messages-bubble-wa--in .hub-messages-bubble-wa-inner{background:#fff;border-top-left-radius:2px}.hub-messages-bubble-wa--out .hub-messages-bubble-wa-inner{background:#dcf8c6;border-top-right-radius:2px}.hub-messages-bubble-wa-inner .hub-messages-content{color:#111b21;font-size:.95rem;line-height:1.4;margin:0;white-space:pre-wrap;word-break:break-word}.hub-messages-time-wa{color:#3b4a54;display:block;font-size:.7rem;margin-top:4px;text-align:right}.hub-messages-bubble{border-radius:12px;box-shadow:0 1px 2px #0000000f;max-width:78%;padding:8px 12px}.hub-messages-bubble--left{align-self:flex-start;background:#fffffff2;border-bottom-left-radius:4px;color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.hub-messages-bubble--right{align-self:flex-end;background:#dcf8c6;border-bottom-right-radius:4px;color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.hub-messages-content{font-size:.95rem;line-height:1.4;margin:0;white-space:pre-wrap;word-break:break-word}.hub-messages-sender{font-size:.75rem;font-weight:600;margin-bottom:4px}.hub-messages-sender,.hub-messages-time{color:#64748b;color:var(--text-secondary,#64748b);display:block}.hub-messages-time{font-size:.7rem;margin-top:6px}.hub-messages-input-bar{align-items:center;background:#f0f2f5;border-top:1px solid #e9edef;display:flex;flex-shrink:0;gap:10px;padding:10px 16px 12px}.hub-messages-input{background:#fff;border:none;border-radius:24px;color:#111b21;flex:1 1;font-size:.95rem;outline:none;padding:10px 16px}.hub-messages-input::placeholder{color:#54656f}.hub-messages-input:disabled{cursor:not-allowed;opacity:.8}.hub-messages-send-btn{align-items:center;background:#25d366;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;transition:background .2s;width:48px}.hub-messages-send-btn:hover:not(:disabled){background:#20bd5a}.hub-messages-send-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.hub-messages-layout{grid-template-columns:1fr;min-height:360px}.hub-messages-panel--list{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);border-right:none;max-height:280px;width:100%}.hub-messages-panel--chat{min-height:200px}}@media (max-width:639px){.hub-run-buttons{flex-direction:column}.hub-run-btn{width:100%}}.myclass-dashboard-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.myclass-content{margin:0 auto;max-width:1200px;padding:16px}.myclass-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.myclass-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.myclass-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.myclass-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.myclass-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.myclass-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.myclass-config-field{display:flex;flex-direction:column;gap:4px}.myclass-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.myclass-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.myclass-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.myclass-context-label{background:#0e74901a;border-radius:8px;color:#0e7490;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.myclass-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.myclass-backend-banner p{font-size:.9rem;margin:0}.myclass-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.myclass-run-groups{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.myclass-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.myclass-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.myclass-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.myclass-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #0e7490;border-radius:8px;color:#0e7490;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.myclass-run-btn:hover:not(:disabled){background:#0e749014}.myclass-run-btn:disabled{cursor:not-allowed;opacity:.7}.myclass-results{display:flex;flex-direction:column;gap:24px}.myclass-section-head{border-bottom:2px solid #0e7490;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.myclass-section-head:first-child{margin-top:0}.myclass-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.myclass-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.myclass-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.myclass-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.myclass-table td,.myclass-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.myclass-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.myclass-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.myclass-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.myclass-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}.myclass-daily-hub-wrap{margin-top:8px}.mc-att-avatar-ring{background:#0000;border-radius:8px;box-sizing:border-box;height:58px;margin:0 auto 8px;padding:0;width:58px}.mc-att-avatar-ring--absent,.mc-att-avatar-ring--late,.mc-att-avatar-ring--other,.mc-att-avatar-ring--present{background:#0000}.mc-att-avatar-img{border-radius:6px;display:block;height:100%;object-fit:cover;width:100%}.mc-enotice-detail-simple{padding:8px 0 16px}.mc-enotice-back{background:#0000;border:none;color:#6366f1;cursor:pointer;font-weight:600;margin-bottom:12px;padding:4px 0}.mc-enotice-detail-date{color:#64748b;font-size:.9rem;margin:0 0 12px}.mc-enotice-detail-body{color:#334155;line-height:1.6;white-space:pre-wrap}.mc-enotice-action-chip{background:#e0e7ff;border-radius:999px;color:#4338ca;display:inline-block;font-size:.75rem;margin-top:8px;padding:4px 10px}.mc-daily-ref-wrap{padding-top:8px}.mc-daily-ref-panel{margin-top:12px}.mc-ref-categories-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.mc-ref-category-card{align-items:stretch;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;box-shadow:0 1px 2px #0000000a;display:flex;overflow:hidden}.mc-ref-category-stripe{flex-shrink:0;width:6px}.mc-ref-category-body{display:flex;flex-direction:column;font-size:.9rem;gap:4px;padding:12px 14px}.mc-ref-category-en,.myclass-daily-life-note{color:#64748b;font-size:.8rem}.myclass-daily-life-note{color:var(--text-secondary,#64748b);line-height:1.45;margin:0 0 12px}.myclass-daily-life-note code{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:4px;font-size:.72rem;padding:2px 6px}.myclass-daily-messages .myclass-list-wrap,.myclass-daily-refs .myclass-list-wrap{margin-bottom:20px}.myclass-json-pre{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:.78rem;line-height:1.4;margin:0;max-height:320px;overflow:auto;padding:12px 14px}.myclass-err{color:#b91c1c}.myclass-err,.myclass-loading{font-size:.85rem;margin:0 0 8px}.myclass-loading{color:#64748b;color:var(--text-secondary,#64748b)}.myclass-slp-att-grid{gap:4px}.myclass-slp-att-cell .myclass-slp-att-meta{align-items:center;color:#64748b;color:var(--text-secondary,#64748b);display:flex;flex-direction:column;font-size:.72rem;gap:4px;line-height:1.35;margin-bottom:4px;text-align:center;width:100%}.myclass-slp-att-class strong,.myclass-slp-att-slpid strong{color:#334155;color:var(--text-primary,#334155);font-weight:600;margin-right:4px}.hub-attendance-cell-name.myclass-slp-att-name--female{background:#dc2626;border-radius:8px;color:#fff;display:inline-block;line-height:1.2;padding:4px 10px}.hub-attendance-cell-name.myclass-slp-att-name--male{background:#2563eb;border-radius:8px;color:#fff;display:inline-block;line-height:1.2;padding:4px 10px}.myclass-slp-att-date{font-size:.68rem;opacity:.85}.myclass-slp-att-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px 12px;margin-bottom:14px}.myclass-slp-att-filter-row .dash-subnav{flex:0 0 auto;margin:0}.myclass-slp-number-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600}.myclass-slp-month-select{min-width:110px}.myclass-slp-number-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.875rem;min-width:120px;padding:8px 10px;width:100%}.myclass-slp-number-input::placeholder{color:#94a3b8;color:var(--text-secondary,#94a3b8)}.myclass-slp-att-filter-row .myclass-slp-number-input{flex:1 1 140px;max-width:min(100%,320px)}.myclass-slp-att-filter-row .myclass-slp-month-select{flex:1 1 120px;max-width:180px}.hub-attendance-header--title-only{margin-bottom:8px}.hub-attendance-toolbar--slp-list{align-items:center;border-bottom:1px solid #e8ecf1;border-bottom:1px solid var(--border,#e8ecf1);display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;margin-bottom:16px;padding-bottom:4px}.hub-attendance-toolbar--slp-list .hub-attendance-summary{flex:0 1 auto;margin-bottom:0}.hub-attendance-toolbar--slp-list .hub-attendance-inline-filters{align-items:center;display:flex;flex:1 1 200px;flex-wrap:wrap;gap:8px 10px;justify-content:center;min-width:0}.myclass-slp-inline-filter-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;font-weight:500;white-space:nowrap}.myclass-slp-inline-filter-select{max-width:11rem;min-width:7rem}.hub-attendance-toolbar--slp-list .hub-attendance-controls{flex:0 0 auto;margin-bottom:0}.myclass-slp-edit-participants-btn{align-items:center;background:#6d28d9;border:1px solid #5b21b6;border-radius:10px;box-shadow:0 1px 2px #0f172a14;color:#fff;cursor:pointer;display:inline-flex;flex:0 0 auto;flex-direction:column;font-size:.78rem;font-weight:600;gap:1px;justify-content:center;line-height:1.15;padding:8px 14px}.myclass-slp-edit-participants-btn:hover:not(:disabled){background:#5b21b6;border-color:#4c1d95}.myclass-slp-edit-participants-btn:focus-visible{outline:2px solid #a78bfa;outline-offset:2px}.myclass-slp-edit-participants-btn:disabled{cursor:not-allowed;opacity:.45}.myclass-slp-edit-participants-btn-sub{font-size:.68rem;font-weight:500;opacity:.95}.myclass-slp-participant-draft-hint{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;box-sizing:border-box;color:#0c4a6e;flex:1 1 100%;font-size:.85rem;line-height:1.45;margin:0;padding:10px 12px;width:100%}.myclass-slp-participant-draft-hint-en{color:#64748b;display:block;font-size:.78rem;font-weight:400;margin-top:6px}.myclass-slp-att-cell--participant-draft{border-color:#c4b5fd;border-width:2px}.myclass-slp-att-cell--will-remove{border-color:#f59e0b;border-style:dashed;opacity:.88}.hub-attendance-status--in-draft{background:#dbeafe!important;color:#1e40af!important}.hub-attendance-status--will-remove{background:#fef3c7!important;color:#92400e!important}button.myclass-slp-enroll-toggle-btn.hub-attendance-status{-webkit-tap-highlight-color:transparent;align-items:center;border:none;box-shadow:0 1px 2px #0f172a0f;cursor:pointer;display:inline-flex;flex-direction:column;font:inherit;gap:1px;margin-bottom:4px;transition:transform .08s ease,box-shadow .15s ease}button.myclass-slp-enroll-toggle-btn:hover{box-shadow:0 2px 8px #0f172a1f;filter:brightness(.98)}button.myclass-slp-enroll-toggle-btn:active{transform:scale(.97)}button.myclass-slp-enroll-toggle-btn:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.myclass-slp-enroll-toggle-main{font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:lowercase}.myclass-slp-enroll-toggle-sub{font-size:.68rem;font-weight:600;opacity:.92}@media (max-width:720px){.hub-attendance-toolbar--slp-list{align-items:stretch;flex-direction:column}.hub-attendance-toolbar--slp-list .hub-attendance-inline-filters{justify-content:flex-start}.hub-attendance-toolbar--slp-list .hub-attendance-controls{align-self:flex-end}}.myclass-slp-details-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:14px;box-shadow:0 1px 3px #0f172a0f,0 4px 14px #0f172a0a;margin-bottom:16px;padding:20px 22px}.myclass-slp-details-card--hint,.myclass-slp-details-card--loading{background:#fff;background:var(--card-bg,#fff);box-shadow:none;color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem}.myclass-slp-details-card--error{background:#fef2f2;border-color:#fecaca;color:#b91c1c;font-size:.9rem}.myclass-slp-details-hint{margin:0}.myclass-slp-details-head{border-bottom:1px solid #e8ecf1;border-bottom:1px solid var(--border,#e8ecf1);margin-bottom:4px;padding-bottom:16px}.myclass-slp-details-title{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;line-height:1.35;margin:0 0 6px}.myclass-slp-details-subtitle{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;font-weight:500;line-height:1.45;margin:0 0 12px}.myclass-slp-details-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.myclass-slp-details-type-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.myclass-slp-details-pill{font-feature-settings:"tnum";background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#4338ca;display:inline-block;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:600;padding:5px 11px}.myclass-slp-details-pill--month{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.myclass-slp-badge{border-radius:6px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:4px 10px;text-transform:none}.myclass-slp-badge--success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.myclass-slp-badge--danger{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.myclass-slp-badge--warn{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.myclass-slp-badge--neutral{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.myclass-slp-badge--outline{background:#0000;border:1px dashed #cbd5e1;color:#64748b;font-weight:600}.myclass-slp-badge--soft{background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:600;text-transform:none}.myclass-slp-details-section{padding-top:16px}.myclass-slp-details-section--extras{border-top:1px solid #e8ecf1;border-top:1px solid var(--border,#e8ecf1);margin-top:8px;padding-top:18px}.myclass-slp-details-section-title{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.65rem;font-weight:700;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.myclass-slp-details-schedule-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:repeat(3,minmax(0,1fr))}.myclass-slp-details-venue-grid{grid-gap:12px 20px;display:grid;gap:12px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.myclass-slp-details-extras-grid{grid-gap:10px 20px;display:grid;gap:10px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.myclass-slp-details-extras-grid,.myclass-slp-details-schedule-grid,.myclass-slp-details-venue-grid{grid-template-columns:1fr}}.myclass-slp-details-kv{display:flex;flex-direction:column;gap:4px;min-width:0}.myclass-slp-details-kv--compact .myclass-slp-details-v{font-size:.85rem}.myclass-slp-details-k{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.myclass-slp-details-v{color:#0f172a;color:var(--text-primary,#0f172a);font-size:.95rem;font-weight:600;line-height:1.4;word-break:break-word}.myclass-slp-details-v--date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.myclass-slp-details-prose{color:#334155;color:var(--text-primary,#334155);font-size:.9rem;line-height:1.55;margin:0}.myclass-slp-details-prose--muted{color:#64748b;color:var(--text-secondary,#64748b)}.myclass-slp-details-participants{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 12px}.myclass-slp-details-participants-count{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.05rem;font-variant-numeric:tabular-nums}.myclass-slp-details-participants-count strong{color:#4f46e5;font-weight:800}.myclass-slp-details-participants-sep{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-weight:500}.myclass-slp-details-participants-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem}.myclass-slp-details-participants-bar{background:#e2e8f0;border-radius:999px;flex:1 1 100%;height:6px;max-width:280px;overflow:hidden}.myclass-slp-details-participants-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:999px;height:100%;transition:width .35s ease}.myclass-slp-att-loading{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:12px 0}.myclass-slp-att-loading--in-card{margin:16px 0 8px;padding:12px;text-align:center}.myclass-slp-att-empty-wrap{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px dashed #e2e8f0;border:1px dashed var(--border,#e2e8f0);border-radius:10px;margin:16px 0 8px;padding:20px 16px;text-align:center}.myclass-slp-att-empty-title{color:#334155;color:var(--text-primary,#334155);font-size:.95rem;font-weight:600;margin:0 0 8px}.myclass-slp-att-empty-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;line-height:1.45;margin:0}.myclass-embedded-calendar{margin:18px 0 20px}.school-cal-empty,.school-cal-loading{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:10px 0}.myclass-embedded-calendar .cal-calendar-header--toggle{align-items:center;background:#047857;border:none;border-radius:0;color:#fff;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;margin:0;padding:12px 16px;text-align:left;width:100%}.myclass-embedded-calendar .cal-calendar-header--toggle:hover{filter:brightness(1.05)}.myclass-embedded-calendar .cal-calendar-header--toggle h3{color:#fff;flex:1 1;font-size:1rem;font-weight:600;margin:0}.myclass-embedded-calendar .cal-activity-header--toggle{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:none;border-radius:0;border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;margin:0;padding:12px 16px;text-align:left;width:100%}.myclass-embedded-calendar .cal-activity-header--toggle:hover{background:#f1f5f9}.myclass-embedded-calendar .cal-activity-header--toggle h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);flex:1 1;font-size:1rem;font-weight:600;margin:0}.myclass-embedded-calendar .cal-section-toggle-icon{flex-shrink:0;font-size:.7rem;opacity:.85}.myclass-embedded-calendar .school-cal-day-num{color:#2563eb;font-weight:700}.myclass-embedded-calendar .cal-bar--holiday{background:#22c55e47;color:#166534;font-weight:600}.myclass-embedded-calendar .cal-bar--slp{background:#6366f147;color:#4338ca;font-weight:600}.myclass-embedded-calendar .cal-bar--school{background:#dc262638;color:#b91c1c;font-weight:600}.myclass-embedded-calendar .cal-bar--clickable{border:none;border-radius:4px;cursor:pointer;display:block;font:inherit;font-size:.65rem;font-weight:600;margin:0;overflow:hidden;padding:2px 6px;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.myclass-embedded-calendar .cal-bar--clickable:hover{box-shadow:0 0 0 1px #4338ca59;filter:brightness(.97)}.myclass-embedded-calendar .cal-activity-card-slot{display:block}.myclass-embedded-calendar .cal-activity-card-btn{background:#0000;border:none;border-radius:10px;cursor:pointer;display:block;font:inherit;margin:0;padding:0;text-align:left;width:100%}.myclass-embedded-calendar .cal-activity-card-btn:focus-visible .cal-activity-card--slp-clickable,.myclass-embedded-calendar .cal-activity-card-btn:hover .cal-activity-card--slp-clickable{box-shadow:0 0 0 2px #6366f173}.myclass-embedded-calendar .cal-activity-card-btn:focus-visible{outline:none}.myclass-embedded-calendar .cal-cell--addable{cursor:pointer}.myclass-embedded-calendar .cal-cell--addable:hover{background:#f8fafc}.myclass-embedded-calendar .school-add-card.card-like{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;margin-top:14px;padding:18px}.myclass-embedded-calendar .school-add-card h3{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.2rem;margin:0 0 14px}.myclass-embedded-calendar .school-add-grid{grid-gap:12px 14px;display:grid;gap:12px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.myclass-embedded-calendar .school-add-grid label{color:#1f2937;color:var(--text-primary,#1f2937);display:flex;flex-direction:column;font-size:.9rem;gap:6px}.myclass-embedded-calendar .school-add-grid input,.myclass-embedded-calendar .school-add-grid select,.myclass-embedded-calendar .school-add-grid textarea{border:1px solid #dbe2ea;border:1px solid var(--border,#dbe2ea);border-radius:8px;font-size:.9rem;padding:10px 12px}.myclass-embedded-calendar .school-add-span-2{grid-column:span 2}.myclass-embedded-calendar .school-add-grade-wrap,.myclass-embedded-calendar .school-add-students-wrap{margin-top:14px}.myclass-embedded-calendar .school-add-grade-wrap p,.myclass-embedded-calendar .school-add-students-wrap p{font-size:.9rem;font-weight:600;margin:0 0 8px}.myclass-embedded-calendar .school-add-grade-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))}.myclass-embedded-calendar .school-add-grade-item{align-items:center;border:1px solid #dbe2ea;border:1px solid var(--border,#dbe2ea);border-radius:8px;display:flex;font-size:.9rem;gap:6px;padding:8px 10px}.myclass-embedded-calendar .school-add-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 14px}.myclass-embedded-calendar .school-add-btn--picker{color:#2563eb}.myclass-embedded-calendar .school-add-student-picker{border:1px solid #dbe2ea;border-radius:10px;margin-top:10px;padding:10px}.myclass-embedded-calendar .school-add-student-toolbar{grid-gap:8px;display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr}.myclass-embedded-calendar .school-add-student-toolbar input,.myclass-embedded-calendar .school-add-student-toolbar select{border:1px solid #dbe2ea;border-radius:8px;min-width:0;padding:8px 10px}.myclass-embedded-calendar .school-add-student-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:260px;overflow:auto}.myclass-embedded-calendar .school-add-student-item{grid-gap:8px;align-items:center;border:1px solid #eef2f7;border-radius:8px;display:grid;gap:8px;grid-template-columns:1fr auto;padding:8px 10px}.myclass-embedded-calendar .school-add-student-item .school-add-btn--picker{font-size:.85rem;padding:6px 10px}.myclass-embedded-calendar .school-add-student-item.is-selected{background:#eff6ff;border-color:#93c5fd}.myclass-embedded-calendar .school-add-student-item small{color:#64748b}.myclass-embedded-calendar .school-add-student-view-row,.school-calendar-panel .school-add-student-view-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px}.myclass-embedded-calendar .school-add-student-view-label,.school-calendar-panel .school-add-student-view-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;font-weight:600}.myclass-embedded-calendar .school-add-student-view-toggle,.school-calendar-panel .school-add-student-view-toggle{background:#f8fafc;border:1px solid #dbe2ea;border-radius:8px;display:inline-flex;overflow:hidden}.myclass-embedded-calendar .school-add-student-view-btn,.school-calendar-panel .school-add-student-view-btn{background:#0000;border:none;color:#475569;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 16px}.myclass-embedded-calendar .school-add-student-view-btn.is-active,.school-calendar-panel .school-add-student-view-btn.is-active{background:#fff;box-shadow:0 0 0 1px #93c5fd;color:#2563eb}.myclass-embedded-calendar .school-add-student-grid,.school-calendar-panel .school-add-student-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));margin-top:10px;max-height:280px;overflow:auto;padding:2px}.myclass-embedded-calendar .school-add-student-card,.school-calendar-panel .school-add-student-card{align-items:center;background:#fff;border:1px solid #eef2f7;border-radius:10px;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:6px;min-height:132px;padding:12px 8px;text-align:center;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.myclass-embedded-calendar .school-add-student-card:hover,.school-calendar-panel .school-add-student-card:hover{border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a0f}.myclass-embedded-calendar .school-add-student-card.is-selected,.school-calendar-panel .school-add-student-card.is-selected{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f633}.myclass-embedded-calendar .school-add-student-card-avatar-wrap,.school-calendar-panel .school-add-student-card-avatar-wrap{flex-shrink:0;height:52px;position:relative;width:52px}.myclass-embedded-calendar .school-add-student-card-avatar,.school-calendar-panel .school-add-student-card-avatar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;height:52px;object-fit:cover;width:52px}.myclass-embedded-calendar .school-add-student-card-check,.school-calendar-panel .school-add-student-card-check{background:#2563eb;border-radius:50%;bottom:-2px;color:#fff;font-size:12px;font-weight:800;height:20px;line-height:20px;position:absolute;right:-2px;width:20px}.myclass-embedded-calendar .school-add-student-card-name,.school-calendar-panel .school-add-student-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;color:var(--text-primary,#0f172a);display:-webkit-box;font-size:.82rem;font-weight:600;line-height:1.25;max-width:100%;overflow:hidden}.myclass-embedded-calendar .school-add-student-card-meta,.school-calendar-panel .school-add-student-card-meta{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.68rem;line-height:1.3;max-width:100%;overflow:hidden}.myclass-embedded-calendar .school-add-selected-count{color:#334155;font-size:.85rem;margin:8px 0 0}.myclass-embedded-calendar .school-add-error{color:#b91c1c;font-size:.9rem;margin:12px 0 0}.myclass-embedded-calendar .school-add-error--info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;padding:10px 12px}.myclass-embedded-calendar .school-add-fieldset{border:none;margin:0;min-width:0;padding:0}.myclass-embedded-calendar .school-add-fieldset:disabled{opacity:.65;pointer-events:none}.myclass-embedded-calendar .school-add-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.myclass-embedded-calendar .school-add-btn--ghost{background:#f8fafc;color:#334155}.myclass-embedded-calendar .school-add-btn--primary{background:#6d28d9;border-color:#6d28d9;color:#fff}@media (max-width:900px){.myclass-embedded-calendar .school-add-grid{grid-template-columns:1fr}.myclass-embedded-calendar .school-add-span-2{grid-column:span 1}.myclass-embedded-calendar .school-add-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.myclass-slp-att-event{color:#0f172a;color:var(--text-primary,#0f172a);display:block;font-size:.8rem;font-weight:600;line-height:1.35;margin-bottom:4px}.myclass-slp-att-event--muted{color:#64748b;color:var(--text-secondary,#64748b);font-weight:500}.myclass-slp-att-meta .myclass-slp-att-date{display:inline-block;margin-top:0}.myclass-lesson-plan-view .myclass-lp-cards{gap:14px}.myclass-lp-card{align-items:flex-start;display:flex;flex-direction:column;gap:4px;padding:14px;text-align:left}.myclass-lp-card-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.myclass-lp-card-value{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem;margin-bottom:4px}.myclass-lp-card-value:last-of-type{margin-bottom:0}.myclass-lp-card-teacher{font-weight:600}.myclass-lp-card-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:639px){.myclass-run-buttons{flex-direction:column}.myclass-run-btn{width:100%}}.cors-backend-testing .testing-content{max-width:1400px}.cors-tcsa-timetable-card h3{color:var(--text-primary);margin:0 0 8px}.cors-tcsa-academic-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.cors-tcsa-academic-row label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.cors-tcsa-year-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:8px 10px;width:8rem}.cors-tcsa-timetable-layout{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(280px,400px)}.cors-tcsa-timetable-layout--lessons-hidden{grid-template-columns:1fr}.cors-tcsa-timetable-layout--lessons-hidden .cors-tcsa-timetable-lessons-col{display:none}.cors-tcsa-timetable-grid-col{min-width:0}.cors-tcsa-timetable-lessons-col{display:flex;flex-direction:column;min-height:0;min-width:0}.cors-tcsa-timetable-lessons-col>:not(.cors-tcsa-lessons-scroll){flex-shrink:0}@media (max-width:960px){.cors-tcsa-timetable-layout{grid-template-columns:1fr}.cors-tcsa-timetable-lessons-col{display:block}.cors-tcsa-lessons-scroll{max-height:min(72vh,560px)}}.cors-tcsa-grid-wrap{margin-top:0}.cors-tcsa-grid-hint{color:#64748b;font-size:.75rem;margin:0 0 10px}.cors-tcsa-lessons-title{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0 0 6px}.cors-tcsa-lessons-hint{color:#64748b;font-size:.72rem;margin:0 0 10px}.cors-tcsa-clear-highlight{background:#fff;border:1px solid #c4b5fd;border-radius:8px;color:#5b21b6;cursor:pointer;font-size:.78rem;margin-bottom:10px;padding:6px 12px}.cors-tcsa-lessons-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.cors-tcsa-lesson-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.78rem;line-height:1.35;margin-bottom:8px;padding:8px 10px;text-align:left;width:100%}.cors-tcsa-lesson-row:hover{background:#f8fafc;border-color:#cbd5e1}.cors-tcsa-lesson-row--active{background:#faf5ff;border-color:#a855f7;box-shadow:0 0 0 2px #a855f733}.cors-tcsa-lesson-subj{color:#334155;font-weight:600}.cors-tcsa-lesson-meta{color:#64748b;font-size:.72rem;margin-top:2px}.cors-tcsa-lesson-teacher{color:#475569;font-size:.72rem;margin-top:2px}.cors-tcsa-timetable-muted,.cors-tcsa-timetable-status{color:#64748b;font-size:.85rem;margin:0}.cors-tcsa-timetable-error{color:#b91c1c;font-size:.85rem;margin:0}.cors-tcsa-manual-card{margin-top:12px}.cors-tcsa-manual-toggle{align-items:center;background:#0000;border:none;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);border-radius:0;color:#1e293b;color:var(--text-primary,#1e293b);cursor:pointer;display:flex;font:inherit;gap:10px;margin:0 0 12px;padding:4px 2px 8px;text-align:left;width:100%}.cors-tcsa-manual-toggle:hover{color:#4f46e5;color:var(--accent-primary,#4f46e5)}.cors-tcsa-manual-toggle:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--accent-primary,#4f46e5);outline-offset:2px}.cors-tcsa-manual-toggle-chevron{color:#64748b;color:var(--text-secondary,#64748b);flex:0 0 auto;font-size:.75rem;line-height:1;width:1.25em}.cors-tcsa-manual-toggle-title{flex:1 1 auto;font-size:1.1rem;font-weight:700;line-height:1.3}.cors-tcsa-manual-card [hidden]{display:none!important}.cors-tcsa-manual-actions,.cors-tcsa-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.cors-tcsa-title-row{justify-content:space-between;margin-bottom:4px}.cors-tcsa-title-row .te-grid-title{flex:1 1 auto;margin:0}.cors-tcsa-title-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.cors-tcsa-lessons-toggle-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;font-size:.75rem;font-weight:600;padding:6px 12px}.cors-tcsa-lessons-toggle-btn:hover{background:#f8fafc;border-color:#94a3b8}.cors-tcsa-lessons-toggle-btn--on{background:#faf5ff;border-color:#c4b5fd;color:#5b21b6}.cors-tcsa-save-btn{background:linear-gradient(135deg,#7c3aed,#5b21b6);border:none;border-radius:8px;box-shadow:0 2px 6px #5b21b659;color:#fff;cursor:pointer;font-size:.8rem;font-weight:700;letter-spacing:.06em;padding:8px 18px}.cors-tcsa-save-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.cors-tcsa-save-btn--narrow{margin-bottom:8px;width:100%}.cors-tcsa-dnd-hint{color:#475569;font-size:.72rem;line-height:1.4;margin:0 0 10px}.tcsa-drag-handle-inline{background:#f1f5f9;border-radius:4px;display:inline-block;font-weight:700;padding:0 4px}.cors-tcsa-lessons-title-row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:6px}.cors-tcsa-lessons-title-row .cors-tcsa-lessons-title{margin:0}.cors-tcsa-trash-drop{align-items:center;background:#fef2f2;border:2px dashed #f87171;border-radius:10px;box-sizing:border-box;cursor:default;display:flex;flex-shrink:0;font-size:1.35rem;height:44px;justify-content:center;line-height:1;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none;width:44px}.cors-tcsa-trash-drop:hover{background:#fee2e2;border-color:#ef4444}.te-grid-cell--drop{outline:1px dashed #0000;outline-offset:-2px;transition:outline-color .15s}.te-grid-cell--drop:hover{outline-color:#a78bfa}.te-cell--tcsa-draggable{padding-left:26px;padding-top:4px;position:relative}.tcsa-drag-handle{align-items:center;background:#f1f5f9;border-radius:4px;color:#64748b;cursor:grab;display:inline-flex;flex-shrink:0;font-size:10px;height:22px;justify-content:center;line-height:1;margin-right:6px;-webkit-user-select:none;user-select:none;width:22px}.tcsa-drag-handle--cell{left:2px;margin:0;position:absolute;top:2px;z-index:2}.tcsa-draggable-lesson-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.cors-tcsa-lesson-row--persist{align-items:flex-start;cursor:default;display:flex;flex-direction:row;text-align:left}.cors-tcsa-lesson-row--persist:hover{background:#fff}.cors-tcsa-lesson-row--pending-delete{opacity:.45;text-decoration:line-through}.cors-tcsa-lesson-input{border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:.75rem;padding:6px 8px;width:100%}.cors-tcsa-lesson-input--subject{font-weight:600}.cors-tcsa-lesson-inline-row{display:flex;flex-wrap:wrap;gap:8px}.cors-tcsa-lesson-inline-row .cors-tcsa-lesson-input{flex:1 1 120px}.cors-tcsa-add-lesson-btn{background:#faf5ff;border:1px dashed #7c3aed;border-radius:8px;color:#5b21b6;cursor:pointer;font-size:.78rem;font-weight:600;margin-bottom:10px;padding:8px 10px;width:100%}.cors-tcsa-add-lesson-btn:disabled{cursor:not-allowed;opacity:.5}.cors-tcsa-pending-deletes{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:.72rem;margin-bottom:10px;padding:8px 10px}.cors-tcsa-pending-deletes-label{color:#9a3412;font-weight:600}.cors-tcsa-pending-deletes-list{margin:6px 0 0;padding-left:1.1rem}.cors-tcsa-undo-btn{background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font-size:.68rem;margin-left:8px;padding:2px 8px}.cors-tcsa-remove-new-btn{align-self:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.7rem;margin-top:4px;padding:4px 10px}.cors-tcsa-unsched-badge{color:#2563eb;font-size:.68rem;font-weight:700;letter-spacing:.02em}.cors-tcsa-lesson-row--tap-pick{border-radius:8px;outline:3px solid #7c3aed;outline-offset:2px}.te-grid-cell--tap-place{cursor:pointer}.cors-tcsa-dnd-hint--secondary{font-size:.72rem;margin-top:4px;opacity:.92}.cors-tcsa-staged-inline{color:#b91c1c}.cors-tcsa-tap-mode-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 10px}.cors-tcsa-tap-mode-btn{background:#faf5ff;border:1px solid #c4b5fd;border-radius:8px;color:#5b21b6;cursor:pointer;font-size:.75rem;font-weight:600;padding:6px 12px}.cors-tcsa-tap-mode-btn--on{background:#ede9fe;border-color:#7c3aed;color:#4c1d95}.cors-tcsa-tap-mode-btn:disabled{cursor:not-allowed;opacity:.5}.cors-tcsa-tap-mode-status{color:#5b21b6;font-size:.72rem;font-weight:600}.cors-tcsa-bulk-unsched{background:#fafaff;border:1px dashed #c4b5fd;border-radius:10px;display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px 12px}.cors-tcsa-bulk-unsched-title{color:#4c1d95;font-size:.78rem;font-weight:700}.cors-tcsa-bulk-count{align-items:center;display:flex;font-size:.72rem;font-weight:600;gap:8px}.cors-tcsa-bulk-count input{border:1px solid #e2e8f0;border-radius:6px;padding:4px 6px;width:4rem}.cors-tcsa-bulk-teacher-label{display:flex;flex-direction:column;font-size:.72rem;font-weight:600;gap:4px}.cors-tcsa-add-lesson-btn--bulk{margin-bottom:0}.cors-tcsa-teacher-select-label{display:flex;flex-direction:column;font-size:.72rem;font-weight:600;gap:6px}.cors-tcsa-lesson-teacher-select{max-width:100%}.cors-tcsa-bulk-field-label{display:flex;flex-direction:column;font-size:.72rem;font-weight:600;gap:4px}.cors-tcsa-bulk-field-hint{color:#64748b;font-weight:500}.cors-tcsa-lesson-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.8rem;max-width:100%;padding:6px 8px;width:100%}.cors-tcsa-lesson-input--tight-top{margin-top:4px}.cors-tcsa-picklist-loading{color:#64748b;font-size:.72rem;padding:4px 0}.cors-tcsa-picklist-error{background:#fef2f2;border-radius:8px;color:#b91c1c;font-size:.72rem;margin:0;padding:6px 8px}.cors-backend-testing .cors-eca-activities-preview{background:linear-gradient(180deg,#faf5ff,#fff 48%);border:1px solid #c4b5fd;border-radius:12px;margin:12px 0 16px;padding:12px 14px}.cors-backend-testing .cors-eca-activities-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.cors-backend-testing .cors-eca-activities-title{color:#5b21b6;font-size:1rem}.cors-backend-testing .cors-eca-activities-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.cors-backend-testing .cors-eca-activities-filter-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;font-weight:600}.cors-backend-testing .cors-eca-activities-filter-select{background:#fff;border:1px solid #c4b5fd;border-radius:8px;font-size:.85rem;min-width:10rem;padding:6px 10px}.cors-backend-testing .cors-eca-activities-refresh{background:#fff;border:1px solid #0d9488;border-radius:8px;color:#0f766e;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px}.cors-backend-testing .cors-eca-activities-refresh:hover:not(:disabled){background:#f0fdfa}.cors-backend-testing .cors-eca-activities-refresh:disabled{cursor:not-allowed;opacity:.55}.cors-backend-testing .cors-eca-activities-table-wrap{background:#fff;border:1px solid #e9d5ff;border-radius:8px;max-height:min(52vh,480px);overflow:auto}.cors-backend-testing .cors-eca-activities-table{border-collapse:collapse;font-size:.82rem;width:100%}.cors-backend-testing .cors-eca-activities-table td,.cors-backend-testing .cors-eca-activities-table th{border-bottom:1px solid #f3e8ff;padding:8px 10px;text-align:left;vertical-align:top}.cors-backend-testing .cors-eca-activities-table th{background:#ede9fe;color:#5b21b6;font-weight:600;position:sticky;top:0;z-index:1}.cors-backend-testing .cors-eca-activities-table tbody tr:hover{background:#faf5ff}.cors-backend-testing .cors-eca-activities-table td:nth-child(3){color:#475569;color:var(--text-secondary,#475569);max-width:28rem}.staff-entry-modal-overlay{align-items:flex-start;background:#0f172a73;box-sizing:border-box;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px 16px;position:fixed;z-index:10050}.staff-entry-modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 20px 50px #0000002e;margin:auto 0;max-width:520px;padding:20px 22px 18px;width:100%}.staff-entry-modal-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.staff-entry-modal-head h3{color:#1e293b;font-size:1.15rem;margin:0}.staff-entry-modal-close{background:#f1f5f9;border:none;border-radius:10px;color:#475569;cursor:pointer;font-size:1.4rem;height:36px;line-height:1;width:36px}.staff-entry-modal-close:hover{background:#e2e8f0}.staff-entry-modal-hint{color:#64748b;font-size:.78rem;line-height:1.45;margin:0 0 14px}.staff-entry-modal-hint code{background:#f1f5f9;border-radius:4px;font-size:.72rem;padding:1px 5px}.staff-entry-modal-grid{grid-gap:12px 14px;display:grid;gap:12px 14px;grid-template-columns:1fr 1fr}@media (max-width:520px){.staff-entry-modal-grid{grid-template-columns:1fr}}.staff-entry-field{color:#475569;display:flex;flex-direction:column;font-size:.8rem;gap:4px}.staff-entry-field--full{grid-column:1/-1}.staff-entry-input{border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;font-size:.9rem;padding:8px 10px}.staff-entry-input--readonly{background:#f8fafc;color:#64748b}.staff-entry-modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.85rem;margin-top:12px;padding:10px 12px}.staff-entry-modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:18px;padding-top:14px}.staff-entry-btn{border:none;border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:600;padding:10px 18px}.staff-entry-btn:disabled{cursor:not-allowed;opacity:.6}.staff-entry-btn--ghost{background:#f1f5f9;color:#475569}.staff-entry-btn--primary{background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff}.te-grid-wrap{-webkit-overflow-scrolling:touch;background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-top:8px;overflow-x:auto;padding:12px}.te-grid-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 12px}.te-grid{display:flex;flex-direction:column;min-width:320px}.te-grid-header,.te-grid-row{grid-gap:6px 8px;align-items:stretch;display:grid;gap:6px 8px;grid-template-columns:100px repeat(5,1fr)}@media (max-width:639px){.te-grid-header,.te-grid-row{gap:4px 6px;grid-template-columns:72px repeat(5,minmax(70px,1fr))}}.te-grid-cell{border-radius:6px;font-size:.8rem;min-height:44px;padding:6px 8px}.te-day-label,.te-time-label{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.te-day-label,.te-time-cell,.te-time-label{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.te-time-cell{color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:flex;flex-direction:column;gap:2px}.te-period-badge{color:#0e7490;color:var(--primary,#0e7490);font-size:.7rem;font-weight:500}.te-data-cell{padding:4px}.te-cell{border-radius:6px;display:flex;flex-direction:column;font-size:.75rem;gap:2px;min-height:52px;padding:6px 8px}.te-cell-free{align-items:center;background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#94a3b8;color:var(--text-secondary,#94a3b8);justify-content:center}.te-cell-core{background:#0e74901f;border-top:3px solid #0e7490;border-top:3px solid var(--primary,#0e7490)}.te-cell-core,.te-cell-elective{color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.te-cell-elective{background:#fef9c3;border-top:3px solid #ca8a04}.te-cell-management{background:#dc262614;border-top:3px solid #dc2626}.te-cell-class-master,.te-cell-management{color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.te-cell-class-master{background:#f9731626;border-top:3px solid #ea580c}.te-cell-recess{background:#22c55e33;color:#15803d}.te-cell-lunch,.te-cell-recess{align-items:center;font-weight:700;justify-content:center}.te-cell-lunch{background:#dc262626;color:#b91c1c}.te-break-cell{padding:4px}.te-period-class-master{background:#f9731640;color:#c2410c}.te-period-recess{background:#22c55e4d;color:#15803d}.te-period-lunch{background:#dc262640;color:#b91c1c}.te-time-cell.te-time-lunch .te-time-range,.te-time-cell.te-time-recess .te-time-range{color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.te-grid-row.te-row-lunch .te-time-cell,.te-grid-row.te-row-recess .te-time-cell{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.te-cell-type{font-size:.7rem;font-weight:700;text-transform:uppercase}.te-cell-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.te-cell-class-id,.te-cell-person,.te-cell-sub{color:#64748b;color:var(--text-secondary,#64748b);font-size:.7rem}.te-cell-class-id{color:#4f46e5;font-weight:600}.te-cell--tcsa-highlight{background:#faf5ff!important;box-shadow:0 0 0 2px #a855f759;outline:3px solid #a855f7}.te-cell--tcsa-staged .te-cell-label,.te-cell--tcsa-staged .te-cell-person,.te-cell--tcsa-staged .te-cell-sub,.te-cell--tcsa-staged .te-cell-type{color:#b91c1c!important}.te-cell--tcsa-clickable{cursor:pointer}.te-cell--tcsa-clickable:focus{outline:2px solid #7c3aed;outline-offset:2px}.te-cell--tcsa-alternate{background:#f0fdfa!important;box-shadow:inset 0 0 0 1px #0d948859;outline:2px dashed #0d9488}.te-cell-elective.te-cell--tcsa-alternate{background:#fef9c3!important}.te-cell-alt-toolbar{align-items:center;border-bottom:1px solid #0d948859;display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;margin-bottom:4px;padding-bottom:4px}.te-cell-alt-badge{color:#0f766e;font-size:.62rem;font-weight:700;line-height:1.2;max-width:78%}.te-cell-alt-next-btn{background:#fff;border:1px solid #0d9488;border-radius:6px;color:#0f766e;cursor:pointer;font-size:.65rem;font-weight:600;padding:2px 8px}.te-cell-alt-next-btn:hover{background:#ccfbf1}.ai-teacher-cors-testing{--bg-primary:#f7fafc;--card-bg:#fff;--bg-secondary:#edf2f7;--border-color:#e2e8f0;--text-primary:#1a202c;--text-secondary:#4a5568;--primary-color:#3182ce;background:var(--bg-primary);min-height:100vh}.ai-teacher-cors-testing .testing-content{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1400px;padding:20px}.ai-teacher-cors-topbar{align-items:flex-start;background:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;padding:16px 20px}.ai-teacher-cors-topbar h1{color:var(--text-primary);font-size:1.35rem;margin:0 0 6px}.ai-teacher-cors-topbar .subtitle{color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:.9rem;margin:0 0 4px}.ai-teacher-cors-topbar .subtitle-note{color:#6366f1;font-size:.85rem;font-weight:500;margin:0}.ai-teacher-cors-topbar .home-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-weight:600;padding:8px 14px}.ai-teacher-cors-topbar .home-btn:hover{background:var(--border-color)}.ai-teacher-cors-testing .info-banner{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;padding:20px}.ai-teacher-cors-testing .banner-content{align-items:flex-start;display:flex;gap:16px}.ai-teacher-cors-testing .banner-icon{flex-shrink:0;font-size:32px}.ai-teacher-cors-testing .banner-text strong{display:block;font-size:18px;margin-bottom:8px}.ai-teacher-cors-testing .banner-text p{line-height:1.5;margin:0;opacity:.95}.ai-teacher-cors-testing .config-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.ai-teacher-cors-testing .config-panel h3{color:var(--text-primary);margin:0 0 16px}.ai-teacher-cors-testing .config-item{margin-bottom:16px}.ai-teacher-cors-testing .config-item label{color:var(--text-secondary);display:block;font-weight:600;margin-bottom:8px}.ai-teacher-cors-testing .config-hint{color:var(--text-secondary);font-size:12px;margin:4px 0 8px}.ai-teacher-cors-testing .config-input,.ai-teacher-cors-testing .config-select{max-width:560px;width:100%}.ai-teacher-cors-testing .config-input,.ai-teacher-cors-testing .config-select,.ai-teacher-cors-testing .readonly-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;padding:12px}.ai-teacher-cors-testing .readonly-input{font-family:ui-monospace,monospace;margin-bottom:4px}.ai-teacher-cors-testing .config-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.ai-teacher-cors-testing .action-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 20px}.ai-teacher-cors-testing .action-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.ai-teacher-cors-testing .action-btn.secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.ai-teacher-cors-testing .action-btn:disabled{cursor:not-allowed;opacity:.5}.ai-teacher-cors-testing .category-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.ai-teacher-cors-testing .category-panel h3{color:var(--text-primary);margin:0 0 16px}.ai-teacher-cors-testing .category-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.ai-teacher-cors-testing .category-btn{background:var(--bg-secondary);border:2px solid #0000;border-radius:12px;cursor:pointer;padding:16px;text-align:left;transition:transform .15s,box-shadow .15s}.ai-teacher-cors-testing .category-btn:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.ai-teacher-cors-testing .category-btn.active{border-color:var(--primary-color);box-shadow:0 4px 12px #3182ce40}.ai-teacher-cors-testing .category-name{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:4px}.ai-teacher-cors-testing .category-count{color:var(--text-secondary);font-size:12px}.ai-teacher-cors-testing .tests-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.ai-teacher-cors-testing .panel-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.ai-teacher-cors-testing .panel-header h3{color:var(--text-primary);margin:0}.ai-teacher-cors-testing .run-category-btn{background:linear-gradient(135deg,#38a169,#2f855a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.ai-teacher-cors-testing .run-category-btn:disabled{cursor:not-allowed;opacity:.5}.ai-teacher-cors-testing .tests-list{display:flex;flex-direction:column;gap:16px}.ai-teacher-cors-testing .test-item{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:16px}.ai-teacher-cors-testing .test-info{margin-bottom:12px}.ai-teacher-cors-testing .test-name{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:8px}.ai-teacher-cors-testing .test-description{color:var(--text-secondary);font-size:12px;font-style:italic;margin-bottom:6px}.ai-teacher-cors-testing .test-method code{background:var(--card-bg);border-radius:6px;color:var(--primary-color);font-family:ui-monospace,monospace;font-size:13px;padding:6px 12px}.ai-teacher-cors-testing .test-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ai-teacher-cors-testing .test-run-btn{background:linear-gradient(135deg,#3182ce,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px}.ai-teacher-cors-testing .test-run-btn:disabled{cursor:not-allowed;opacity:.5}.ai-teacher-cors-testing .test-result{border-left:4px solid;border-radius:8px;color:#0f172a;margin-top:16px;padding:16px}.ai-teacher-cors-testing .test-result.success{background:#d1fae5;border-color:#059669;color:#064e3b}.ai-teacher-cors-testing .test-result.error,.ai-teacher-cors-testing .test-result.exception{background:#fee2e2;border-color:#dc2626;color:#7f1d1d}.ai-teacher-cors-testing .result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.ai-teacher-cors-testing .result-status{color:inherit;font-size:14px;font-weight:600}.ai-teacher-cors-testing .result-duration{color:inherit;font-family:ui-monospace,monospace;font-size:13px;opacity:.85}.ai-teacher-cors-testing .test-result.error .result-duration,.ai-teacher-cors-testing .test-result.exception .result-duration{opacity:.9}.ai-teacher-cors-testing .result-count{background:#ffffffeb;border:1px solid #0f172a14;border-radius:6px;color:#0f172a;font-size:14px;margin-bottom:12px;padding:8px 12px}.ai-teacher-cors-testing .test-result.success .result-count{border-color:#05966933}.ai-teacher-cors-testing .test-result.error .result-count,.ai-teacher-cors-testing .test-result.exception .result-count{border-color:#dc262633}.ai-teacher-cors-testing .result-data summary{color:inherit;cursor:pointer;font-weight:600;margin-bottom:8px;text-decoration:underline;text-underline-offset:3px}.ai-teacher-cors-testing .result-data pre{background:#1e293b;border-radius:8px;color:#e2e8f0;font-size:12px;max-height:420px;overflow:auto;padding:12px}.ai-teacher-cors-testing .result-error{color:inherit}.ai-teacher-cors-testing .result-error pre{background:#ffffffbf;border:1px solid #7f1d1d33;border-radius:6px;color:#450a0a;font-size:12px;padding:10px;white-space:pre-wrap}.ai-teacher-cors-testing .result-timestamp{color:inherit;font-size:12px;margin-top:8px;opacity:.8}.ai-teacher-cors-testing .summary-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.ai-teacher-cors-testing .summary-stats{display:flex;flex-wrap:wrap;gap:24px}.ai-teacher-cors-testing .stat-item{background:var(--bg-secondary);border-radius:8px;padding:12px 16px}.ai-teacher-cors-testing .stat-label{color:var(--text-secondary);display:block;font-size:12px}.ai-teacher-cors-testing .stat-value{font-size:22px;font-weight:700}.dash-group-panel{border-bottom:1px solid #e8ecf1;border-bottom:1px solid var(--border,#e8ecf1);margin-bottom:8px;padding-bottom:20px}.dash-group-panel:last-child{border-bottom:none}.dash-group-panel-title{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.1rem;font-weight:700;margin:0 0 10px}.dash-subnav{-webkit-overflow-scrolling:touch;margin:0 0 14px}.dash-subnav-scroll{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0}@media (max-width:639px){.dash-subnav-scroll{flex-wrap:nowrap;margin:0 -2px;overflow-x:auto;padding-bottom:10px;padding-left:2px;padding-right:2px;scrollbar-width:thin}}.dash-subnav-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:10px 18px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.dash-subnav-btn:hover{background:#8b5cf60a;border-color:#c4b5fd;color:#1e293b;color:var(--text-primary,#1e293b)}.dash-subnav-btn--active{background:linear-gradient(135deg,#7c3aed1f,#8b5cf614);border-color:#7c3aed;box-shadow:0 1px 3px #7c3aed1f;color:#5b21b6}.dash-subpanel{min-height:60px}.dash-subpanel-empty{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px dashed #e2e8f0;border:1px dashed var(--border,#e2e8f0);border-radius:12px;padding:28px 20px;text-align:center}.dash-subpanel-empty-title{color:#334155;color:var(--text-primary,#334155);font-weight:600;margin:0 0 8px}.dash-subpanel-empty-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0}.eca-system-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.eca-content{margin:0 auto;max-width:1200px;padding:16px}.eca-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.eca-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.eca-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.eca-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.eca-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.eca-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.eca-config-field{display:flex;flex-direction:column;gap:4px}.eca-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.eca-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.eca-context-label{background:#0e74901a;background:var(--primary-light,#0e74901a);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);font-size:.9rem;margin:12px 0 0;padding:10px 12px}.eca-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.eca-backend-banner p{font-size:.9rem;margin:0 0 10px}.eca-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.eca-retry-all{background:#fff;border:1px solid #f87171;border-radius:8px;color:#991b1b;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.eca-retry-all:hover{background:#fee2e2}.eca-run-groups{margin-bottom:24px;padding:16px}.eca-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.eca-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.eca-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.eca-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #0e7490;border:1px solid var(--primary,#0e7490);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px}.eca-run-btn:hover:not(:disabled){background:#0e749014}.eca-run-btn:disabled{cursor:not-allowed;opacity:.7}.eca-run-all{background:#0e7490;background:var(--primary,#0e7490);border-color:#0e7490;border-color:var(--primary,#0e7490);color:#fff}.eca-run-all:hover:not(:disabled){filter:brightness(1.05)}.eca-summary-strip{background:#fff;background:var(--card-bg,#fff);border-radius:10px;box-shadow:0 1px 3px #0000000f;color:#64748b;color:var(--text-secondary,#64748b);display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px 20px;margin-bottom:20px;padding:12px 16px}.eca-summary-strip span{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-weight:500}.eca-group{margin-bottom:28px}.eca-group-title{border-bottom:2px solid #0e7490;border-bottom:2px solid var(--primary,#0e7490);color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:0 0 12px;padding-bottom:6px}.eca-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.eca-section{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden;padding:16px}.eca-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.eca-section-header h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0}.eca-refresh{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.8rem;padding:6px 12px}.eca-refresh:hover:not(:disabled){background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#0e7490;color:var(--primary,#0e7490)}.eca-refresh:disabled{cursor:not-allowed;opacity:.6}.eca-empty,.eca-error,.eca-loading{font-size:.9rem;margin:8px 0}.eca-error{color:#dc2626;color:var(--error,#dc2626)}.eca-empty{color:#64748b;color:var(--text-secondary,#64748b)}.eca-table-wrap{-webkit-overflow-scrolling:touch;margin-top:8px;overflow-x:auto}.eca-table{border-collapse:collapse;font-size:.85rem;min-width:400px;width:100%}.eca-table td,.eca-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.eca-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;white-space:nowrap}.eca-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:180px;overflow:hidden;text-overflow:ellipsis}.eca-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.eca-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}.eca-date-range{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.eca-date-range input[type=date]{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:.85rem;padding:6px 10px}.eca-btn-small{background:#0e7490;background:var(--primary,#0e7490);border:1px solid #0e7490;border:1px solid var(--primary,#0e7490);border-radius:8px;color:#fff;cursor:pointer;font-size:.8rem;padding:6px 12px}.eca-btn-small:hover{filter:brightness(1.05)}.timetable-enquiry-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.te-content{margin:0 auto;max-width:1200px;padding:16px}.te-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.te-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.te-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.te-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.te-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.te-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.te-config-field{display:flex;flex-direction:column;gap:4px}.te-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.te-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.te-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.te-dataset-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.te-dataset-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;max-width:100%;min-width:280px;padding:9px 10px}.te-dataset-default-btn{padding:9px 12px}.te-min-free-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px;width:120px}.te-occupied-picker{margin:10px 0 14px}.te-occupied-cell-btn{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#334155;font-weight:600;min-height:54px;width:100%}.te-occupied-cell-btn--picked{background:#e0f2fe;border-color:#0ea5e9;color:#0c4a6e}.te-default-dataset-note{color:#b91c1c;display:block;font-size:.78rem;font-weight:700;margin-top:6px}.te-panel-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:12px}.te-panel-header-row .dash-group-panel-title{flex-shrink:0;margin:0}.te-panel-inline-selector{align-items:center;display:flex;flex:1 1;gap:10px;min-width:min(100%,220px)}.te-panel-inline-selector--teacher{min-width:min(100%,320px)}.te-panel-selector-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.te-panel-inline-selector .class-selector{flex:1 1;max-width:280px}.te-panel-inline-selector--teacher .teacher-selector{flex:1 1;max-width:360px}.te-panel-inline-selector .class-selector-btn,.te-panel-inline-selector .teacher-selector-trigger{min-height:42px}.te-panel-header-row--student{align-items:flex-start}@media (min-width:640px){.te-panel-header-row--student{align-items:center}}.te-panel-inline-selector--student{flex:1.25 1;min-width:min(100%,260px)}.te-panel-inline-selector--student .student-selector{flex:1 1;max-width:320px}.te-panel-inline-selector--student .student-selector-btn{min-height:42px}.te-context-label{background:#0e74901a;background:var(--primary-light,#0e74901a);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);font-size:.9rem;margin:12px 0 0;padding:10px 12px}.te-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.te-backend-banner p{font-size:.9rem;margin:0}.te-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.te-run-groups{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.te-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.te-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.te-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.te-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #0e7490;border:1px solid var(--primary,#0e7490);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.te-run-btn:hover:not(:disabled){background:#0e749014}.te-run-btn:disabled{cursor:not-allowed;opacity:.7}.te-cycle-date{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:20px;padding:12px 16px}.te-cycle-date label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;margin-bottom:6px}.te-cycle-date input[type=date]{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:.9rem;padding:8px 10px}.te-results{display:flex;flex-direction:column;gap:24px}.te-error{color:#dc2626;color:var(--error,#dc2626)}.te-error,.te-loading{font-size:.9rem;margin:0}.te-loading{color:#64748b;color:var(--text-secondary,#64748b)}.te-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden;padding:12px}.te-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.te-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.te-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.te-table td,.te-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.te-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;white-space:nowrap}.te-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:180px;overflow:hidden;text-overflow:ellipsis}.te-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.te-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}.te-cycle-result{border-radius:12px;padding:16px}.te-cycle-result h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0 0 10px}.te-json{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;font-size:.8rem;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.calendar-system-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.cal-content{margin:0 auto;max-width:1100px;padding:16px}.cal-config.card-like,.cal-month-control.card-like,.cal-run-groups.card-like{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.cal-config h2,.cal-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.cal-config-note,.cal-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.cal-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.cal-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.cal-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.cal-config-field{display:flex;flex-direction:column;gap:4px}.cal-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cal-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px}.cal-config-value,.cal-select{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.cal-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px}.cal-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.cal-context-label{background:#0478571a;border-radius:8px;color:#047857;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.cal-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.cal-backend-banner p{font-size:.9rem;margin:0}.cal-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.cal-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.cal-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #047857;border-radius:8px;color:#047857;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.cal-run-btn:hover:not(:disabled){background:#04785714}.cal-run-btn:disabled{cursor:not-allowed;opacity:.7}.cal-month-control label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;margin-bottom:8px}.cal-month-picker{align-items:center;display:flex;gap:12px;margin-bottom:8px}.cal-month-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;width:40px}.cal-month-btn:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.cal-month-label{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;font-weight:600;min-width:100px;text-align:center}.cal-cycle-today{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:8px 0 0}.cal-teaching-days-controls{border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);margin-top:16px;padding-top:16px}.cal-teaching-days-btn{background:#fbbf24;border-color:#f59e0b;color:#78350f}.cal-teaching-days-btn:hover:not(:disabled){background:#fcd34d}.cal-teaching-days-hint{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#78350f;font-size:.85rem;line-height:1.45;margin:0 0 12px;padding:10px 12px}.cal-teaching-days-actions{display:flex;flex-wrap:wrap;gap:10px}.cal-save-teaching-days-btn{background:#10b981;border-color:#059669;color:#fff}.cal-save-teaching-days-btn:hover:not(:disabled){background:#059669}.cal-cancel-teaching-days-btn{background:#ef4444;border-color:#dc2626;color:#fff}.cal-cancel-teaching-days-btn:hover:not(:disabled){background:#dc2626}.cal-calendar-section{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:28px;overflow:hidden}.cal-calendar-header{background:#047857;color:#fff;padding:12px 16px}.cal-calendar-header h3{font-size:1rem;font-weight:600;margin:0}.cal-mode-bar{align-items:center;background:#dc2626;color:#fff;display:flex;gap:10px;padding:10px 16px}.cal-mode-label{font-size:.85rem;font-weight:600}.cal-mode-select{background:#ffffff26;border:1px solid #ffffff80;border-radius:6px;color:#fff;font-size:.9rem;padding:6px 10px}.cal-mode-select option{background:#fff;color:#1a1a2e}.cal-calendar-grid{grid-gap:1px;background:#e2e8f0;background:var(--border,#e2e8f0);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);padding:1px}.cal-cell{background:#fff;background:var(--card-bg,#fff);font-size:.8rem;min-height:56px;padding:6px 8px;position:relative}.cal-cell--clickable{transition:background-color .15s ease}.cal-cell--clickable:hover{background:#fef3c7!important}@media (min-width:600px){.cal-cell{min-height:64px}}.cal-cell--head{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;text-align:center}.cal-cell--head,.cal-cell--pad{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.cal-day-num{color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:block;font-weight:600;margin-bottom:4px}.cal-teaching-day-badge{align-items:center;background:#fbbf24;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#78350f;display:flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;position:absolute;right:4px;top:4px;width:18px}.cal-cell-events{display:flex;flex-direction:column;gap:2px}.cal-bar{border-radius:4px;display:block;font-size:.65rem;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.cal-bar--holiday{background:#22c55e40;color:#15803d}.cal-bar--school{background:#dc262633;color:#b91c1c}.cal-bar--slp{background:#3b82f633;color:#1d4ed8}.cal-activity-header{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);padding:12px 16px}.cal-activity-header h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0}.cal-activity-list{display:flex;flex-direction:column;gap:14px;padding:16px}.cal-empty{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0}.cal-activity-card{border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;box-shadow:0 1px 2px #0000000f;overflow:hidden;padding:0}.cal-activity-card-inner{align-items:flex-start;display:flex;gap:14px;padding:14px 16px}.cal-activity-icon{flex-shrink:0;font-size:1.25rem}.cal-activity-body{flex:1 1;min-width:0}.cal-activity-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 6px}.cal-activity-title-en{font-weight:400}.cal-activity-meta,.cal-activity-title-en{color:#64748b;color:var(--text-secondary,#64748b)}.cal-activity-meta{font-size:.85rem;margin:0 0 6px}.cal-activity-desc{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.875rem;margin:0 0 8px}.cal-activity-tags{display:flex;flex-wrap:wrap;gap:6px}.cal-tag{background:#e2e8f0;background:var(--bg-secondary,#e2e8f0);border-radius:999px;color:#64748b;color:var(--text-secondary,#64748b);display:inline-block;font-size:.75rem;font-weight:500;padding:4px 10px}.cal-card--holiday .cal-tag{background:#22c55e33;color:#15803d}.cal-card--school .cal-tag{background:#dc262626;color:#b91c1c}.cal-card--slp .cal-tag{background:#3b82f626;color:#1d4ed8}.cal-results{display:flex;flex-direction:column;gap:20px}.cal-section-head{border-bottom:2px solid #047857;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.cal-error{color:#dc2626;color:var(--error,#dc2626);font-size:.9rem;margin:0}.cal-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.cal-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.cal-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.cal-table{border-collapse:collapse;font-size:.8rem;min-width:320px;width:100%}.cal-table td,.cal-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.cal-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.cal-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:140px;overflow:hidden;text-overflow:ellipsis}.cal-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}@media (max-width:639px){.cal-run-buttons{flex-direction:column}.cal-run-btn{width:100%}.cal-mode-bar{flex-wrap:wrap}}.student-learning-profiles-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.slp-content{margin:0 auto;max-width:1100px;padding:16px}.slp-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.slp-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.slp-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.slp-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.slp-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.slp-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.slp-config-field{display:flex;flex-direction:column;gap:4px}.slp-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.slp-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.slp-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.slp-context-label{background:#dd6b201f;border-radius:8px;color:#b45309;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.slp-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.slp-backend-banner p{font-size:.9rem;margin:0}.slp-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.slp-run-groups{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.slp-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.slp-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.slp-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.slp-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #dd6b20;border-radius:8px;color:#b45309;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.slp-run-btn:hover:not(:disabled){background:#dd6b2014}.slp-run-btn:disabled{cursor:not-allowed;opacity:.7}.slp-run-calendar{background:#047857;border-color:#047857;color:#fff;margin-top:8px}.slp-run-calendar:hover:not(:disabled){filter:brightness(1.05)}.slp-calendar-control{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:20px;padding:14px 16px}.slp-calendar-control label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;margin-bottom:8px}.slp-month-picker{align-items:center;display:flex;gap:12px;margin-bottom:10px}.slp-month-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;width:40px}.slp-month-btn:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.slp-month-label{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;font-weight:600;min-width:120px;text-align:center}.slp-calendar-section{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:28px;overflow:hidden}.slp-calendar-header{background:#047857;color:#fff;padding:12px 16px}.slp-calendar-header h3{font-size:1rem;font-weight:600;margin:0}.slp-calendar-grid{grid-gap:1px;background:#e2e8f0;background:var(--border,#e2e8f0);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);padding:1px}.slp-calendar-cell{background:#fff;background:var(--card-bg,#fff);font-size:.8rem;min-height:64px;padding:6px 8px}.slp-calendar-cell--head{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;text-align:center}.slp-calendar-cell--head,.slp-calendar-cell--pad{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.slp-calendar-day-num{color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:block;font-weight:600;margin-bottom:4px}.slp-calendar-events{display:flex;flex-direction:column;gap:2px}.slp-calendar-bar{border-radius:4px;display:block;font-size:.65rem;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.slp-calendar-bar--holiday{background:#22c55e40;color:#15803d}.slp-calendar-bar--slp{background:#3b82f633;color:#1d4ed8}.slp-calendar-bar--event{background:#dd6b2033;color:#b45309}.slp-activity-header{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);padding:12px 16px}.slp-activity-header h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0}.slp-activity-list{display:flex;flex-direction:column;gap:14px;padding:16px}.slp-empty{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0}.slp-activity-card{border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;box-shadow:0 1px 2px #0000000f;overflow:hidden;padding:0}.slp-activity-card-inner{align-items:flex-start;display:flex;gap:14px;padding:14px 16px}.slp-activity-icon{flex-shrink:0;font-size:1.5rem}.slp-activity-body{flex:1 1;min-width:0}.slp-activity-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 6px}.slp-activity-title-en{font-size:.9rem;font-weight:400}.slp-activity-meta,.slp-activity-title-en{color:#64748b;color:var(--text-secondary,#64748b)}.slp-activity-meta{font-size:.85rem;margin:0 0 6px}.slp-activity-desc{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.85rem;line-height:1.4;margin:0 0 8px}.slp-activity-tags{display:flex;flex-wrap:wrap;gap:6px}.slp-tag{background:#e2e8f0;background:var(--bg-secondary,#e2e8f0);border-radius:999px;color:#64748b;color:var(--text-secondary,#64748b);display:inline-block;font-size:.75rem;font-weight:500;padding:4px 10px}.slp-activity-card--holiday .slp-tag{background:#22c55e33;color:#15803d}.slp-activity-card--slp .slp-tag{background:#3b82f633;color:#1d4ed8}.slp-activity-card--event .slp-tag{background:#dc262626;color:#b91c1c}.slp-results{display:flex;flex-direction:column;gap:24px}.slp-error{color:#dc2626;color:var(--error,#dc2626)}.slp-error,.slp-loading{font-size:.9rem;margin:0}.slp-loading{color:#64748b;color:var(--text-secondary,#64748b)}.slp-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.slp-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.slp-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.slp-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.slp-table td,.slp-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.slp-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.slp-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.slp-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.slp-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}.slp-profile-card{border-radius:12px;padding:16px}.slp-profile-card h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0 0 10px}.slp-json{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;font-size:.75rem;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}@media (max-width:639px){.slp-calendar-cell{font-size:.7rem;min-height:52px;padding:4px 6px}.slp-calendar-bar{font-size:.6rem;padding:1px 4px}.slp-activity-card-inner{flex-direction:column;gap:8px}.slp-run-buttons{flex-direction:column}.slp-run-btn{width:100%}}@media (max-width:430px){.student-learning-profiles-page .hub-attendance-grid.myclass-slp-att-grid{gap:2px 3px;grid-template-columns:repeat(8,minmax(0,1fr))!important}.student-learning-profiles-page .hub-attendance-controls{display:none}.student-learning-profiles-page .hub-attendance-cell.myclass-slp-att-cell{border-radius:8px;gap:4px;padding:8px 3px}.student-learning-profiles-page .myclass-slp-att-cell .mc-att-avatar-ring{height:39px;margin:0 auto 4px;width:39px}.student-learning-profiles-page .myclass-slp-att-cell .myclass-slp-att-meta{font-size:.5rem;gap:2px;line-height:1.25;margin-bottom:2px}.student-learning-profiles-page .myclass-slp-att-event{font-size:.52rem;margin-bottom:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-learning-profiles-page .myclass-slp-att-date{font-size:.48rem}.student-learning-profiles-page .hub-attendance-cell-name{font-size:.58rem;max-width:100%;padding:2px 4px}.student-learning-profiles-page .hub-attendance-cell-name.myclass-slp-att-name--female,.student-learning-profiles-page .hub-attendance-cell-name.myclass-slp-att-name--male{border-radius:5px;padding:2px 5px}.student-learning-profiles-page .hub-attendance-status:not(.myclass-slp-enroll-toggle-btn){border-radius:4px;font-size:.52rem;margin-bottom:2px;padding:1px 4px}.student-learning-profiles-page button.myclass-slp-enroll-toggle-btn.hub-attendance-status{border-radius:5px;margin-bottom:2px;padding:2px 3px}.student-learning-profiles-page .myclass-slp-enroll-toggle-main{font-size:.52rem}.student-learning-profiles-page .myclass-slp-enroll-toggle-sub{font-size:.44rem}}.class-details-modal-overlay{align-items:flex-start;background:#0f172a80;box-sizing:border-box;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:20px 14px;position:fixed;z-index:10040}.class-details-modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 24px 64px #0003;margin:12px auto;max-height:calc(100vh - 40px);max-width:960px;overflow-y:auto;padding:20px 22px 18px;width:100%}.class-details-modal-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.class-details-modal-head h3{color:#0f172a;font-size:1.2rem;margin:0 0 4px}.class-details-modal-sub{color:#334155;font-size:.95rem;margin:0}.class-details-code{color:#64748b;font-weight:500}.class-details-hint{color:#64748b;font-size:.78rem;line-height:1.45;margin:8px 0 0;max-width:720px}.class-details-hint code{background:#f1f5f9;border-radius:4px;font-size:.72rem;padding:1px 5px}.class-details-modal-close{background:#f1f5f9;border:none;border-radius:10px;color:#475569;cursor:pointer;flex-shrink:0;font-size:1.4rem;height:38px;line-height:1;width:38px}.class-details-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.class-details-view-toggle{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;display:inline-flex;overflow:hidden}.class-details-view-toggle button{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px}.class-details-view-toggle button.active{background:#fff;box-shadow:0 1px 2px #0000000f;color:#4f46e5}.class-details-add-btn{background:#fff;border:1px solid #7c3aed;border-radius:10px;color:#5b21b6;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px}.class-details-add-btn:hover{background:#f5f3ff}.class-details-add-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:12px}.class-details-search{border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;margin-bottom:10px;max-width:360px;padding:8px 12px;width:100%}.class-details-add-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:220px;overflow-y:auto}.class-details-add-tile{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:8px;text-align:center}.class-details-add-tile:hover{background:#eef2ff;border-color:#a5b4fc}.class-details-add-avatar{border-radius:50%;height:44px;object-fit:cover;width:44px}.class-details-add-name{color:#1e293b;font-size:.78rem;font-weight:600}.class-details-add-meta{color:#64748b;font-size:.68rem}.class-details-empty,.class-details-loading{color:#64748b;font-size:.9rem;margin:12px 0}.class-details-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c}.class-details-error,.class-details-info{font-size:.85rem;margin:10px 0;padding:10px 12px}.class-details-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;line-height:1.45}.class-details-student-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:16px}.class-details-student-card{align-items:center;background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;padding:12px;text-align:center}.class-details-student-avatar{border-radius:50%;height:56px;margin-bottom:8px;object-fit:cover;width:56px}.class-details-student-name{color:#0f172a;font-size:.9rem;font-weight:700}.class-details-student-id{color:#64748b;font-size:.75rem;margin-bottom:6px}.class-details-pending-badge{background:#ede9fe;border-radius:999px;color:#5b21b6;font-size:.72rem;font-weight:600;margin-bottom:8px;max-width:100%;padding:4px 8px}.class-details-student-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.class-details-student-actions button{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;font-size:.72rem;padding:5px 8px}.class-details-student-actions button.danger{background:#fff5f5;border-color:#fca5a5;color:#b91c1c}.class-details-student-actions button.ghost{border-style:dashed;color:#64748b}.class-details-student-table-wrap{margin-bottom:16px;overflow-x:auto}.class-details-student-table{border-collapse:collapse;font-size:.85rem;width:100%}.class-details-student-table td,.class-details-student-table th{border-bottom:1px solid #e5e7eb;padding:8px 10px;text-align:left}.class-details-student-table th{background:#f8fafc;color:#475569;font-weight:600}.class-details-list-avatar{border-radius:50%;height:36px;object-fit:cover;width:36px}.class-details-list-actions{display:flex;flex-wrap:wrap;gap:4px}.class-details-list-actions button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:.7rem;padding:4px 6px}.class-details-list-actions button.danger{border-color:#fca5a5;color:#b91c1c}.class-details-list-actions button.ghost{border-style:dashed}.class-details-action-pop{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:12px;font-size:.88rem;margin:12px 0;padding:14px}.class-details-action-pop p{margin:0 0 8px}.class-details-select{border:1px solid #cbd5e1;border-radius:8px;margin-bottom:8px;max-width:400px;padding:8px 10px;width:100%}.class-details-mini-label{color:#64748b;font-size:.78rem;margin:6px 0 4px!important}.class-details-textarea{border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.85rem;max-width:480px;padding:8px 10px;resize:vertical;width:100%}.class-details-action-btns{display:flex;gap:8px;margin-top:10px}.class-details-action-btns button{background:#6366f1;border:1px solid #6366f1;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:8px 14px}.class-details-action-btns button.ghost{background:#fff;border-color:#cbd5e1;color:#475569}.class-details-modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:18px;padding-top:14px}.class-details-btn{border:none;border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:600;padding:10px 18px}.class-details-btn:disabled{cursor:not-allowed;opacity:.55}.class-details-btn.ghost{background:#f1f5f9;color:#475569}.class-details-btn.primary{background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff}.class-details-teachers-section{border-top:1px solid #e2e8f0;margin-top:22px;padding-top:18px}.class-details-teachers-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.class-details-teachers-title{color:#0f172a;font-size:1rem;margin:0}.class-details-teachers-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.class-details-teacher-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:12px}.class-details-teacher-card{align-items:center;background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:12px 10px;text-align:center}.class-details-teacher-avatar{border-radius:50%;height:48px;object-fit:cover;width:48px}.class-details-teacher-avatar--ph{align-items:center;background:linear-gradient(135deg,#e0e7ff,#ede9fe);color:#4338ca;display:flex;font-size:1rem;font-weight:700;justify-content:center}.class-details-teacher-name{color:#0f172a;font-size:.85rem;font-weight:700}.class-details-teacher-role{color:#5b21b6;font-size:.72rem;font-weight:600}.class-details-teacher-subj{color:#64748b;font-size:.72rem}.class-details-teacher-edit{background:#fff;border:1px solid #a5b4fc;border-radius:8px;color:#4f46e5;cursor:pointer;font-size:.72rem;font-weight:600;margin-top:6px;padding:5px 10px}.class-details-teacher-edit:hover{background:#eef2ff}.class-details-teacher-table-wrap{margin-bottom:12px;overflow-x:auto}.class-details-teacher-form-pop{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;margin-top:16px;padding:14px 16px}.class-details-teacher-form-pop h4{color:#0f172a;font-size:.95rem;margin:0 0 12px}.class-details-field{color:#475569;display:flex;flex-direction:column;font-size:.8rem;gap:4px;margin-bottom:10px}.class-details-field span{font-weight:600}.class-details-input{border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.85rem;max-width:420px;padding:8px 10px;width:100%}.class-details-teacher-ok{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857;font-size:.85rem;margin:8px 0;padding:8px 10px}.ta-edit-modal-overlay{align-items:flex-start;background:#0f172a73;box-sizing:border-box;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px 12px;position:fixed;z-index:10050}.ta-edit-modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 20px 50px #0000002e;margin:20px auto;max-width:480px;padding:18px 20px 16px;width:100%}.ta-edit-modal-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.ta-edit-modal-head h3{color:#0f172a;font-size:1.1rem;margin:0}.ta-edit-modal-close{background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:1.3rem;height:36px;line-height:1;width:36px}.ta-edit-modal-meta{color:#64748b;font-size:.72rem;margin:0 0 12px}.ta-edit-modal-meta code{background:#f1f5f9;border-radius:4px;font-size:.68rem;padding:2px 6px}.ta-edit-modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.85rem;margin-bottom:12px;padding:8px 10px}.ta-edit-modal-group-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:.76rem;margin:0 0 12px;padding:7px 10px}.ta-edit-field{color:#475569;display:flex;flex-direction:column;font-size:.78rem;gap:4px;margin-bottom:12px}.ta-edit-field span:first-child{font-weight:600}.ta-edit-hint{color:#94a3b8;font-weight:400}.ta-edit-input,.ta-edit-select,.ta-edit-textarea{border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.88rem;padding:8px 10px;width:100%}.ta-edit-textarea{resize:vertical}.ta-edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:12px}.ta-edit-btn{border:none;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 16px}.ta-edit-btn:disabled{cursor:not-allowed;opacity:.55}.ta-edit-btn--ghost{background:#f1f5f9;color:#475569}.ta-edit-btn--primary{background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff}.school-office-admin-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.office-content{margin:0 auto;max-width:1200px;padding:16px}.office-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.office-config-toggle{align-items:center;background:#0000;border:none;border-bottom:1px solid #e2e8f0;border-radius:0;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;display:flex;font:inherit;gap:10px;margin:0;padding:0 0 12px;text-align:left;width:100%}.office-config-toggle:hover .office-config-toggle-title{color:#4f46e5}.office-config-toggle:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.office-config-toggle-chevron{color:#64748b;flex:0 0 1.25em;font-size:.75rem;line-height:1}.office-config-toggle-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;font-weight:700}.office-config-collapsible[hidden]{display:none!important}.office-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.office-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.office-assignment-model{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;margin:0 0 18px;padding:12px 14px}.office-assignment-model-title{color:#334155;font-size:.85rem;font-weight:700;margin:0 0 6px}.office-assignment-model-lead{color:#475569;font-size:.8rem;line-height:1.45;margin:0 0 8px}.office-assignment-model-list{color:#334155;font-size:.78rem;line-height:1.5;margin:0 0 8px;padding-left:1.15rem}.office-assignment-model-list li{margin-bottom:6px}.office-assignment-model-list code{background:#fff;border:1px solid #e2e8f0;border-radius:4px;font-size:.72em;padding:1px 4px}.office-assignment-model-foot{color:#64748b;font-size:.76rem;line-height:1.45;margin:0}.office-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.office-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.office-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.office-config-grid--minimal{grid-template-columns:1fr;max-width:640px}@media (min-width:720px){.office-config-grid--minimal{grid-template-columns:minmax(0,260px) minmax(0,1fr);max-width:none}}.office-config-grid--minimal .office-teacher-avatar-field{grid-column:auto}.office-timetable-class-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:12px 14px}.office-timetable-class-toolbar-label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.office-timetable-class-toolbar-hint{margin:10px 0 0}.office-config-field{display:flex;flex-direction:column;gap:4px}.office-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.office-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.office-teacher-avatar-field{grid-column:1/-1}.office-teacher-avatar-preview-wrap{align-items:center;display:flex;gap:12px;margin:8px 0}.office-teacher-avatar-preview{border:2px solid #e2e8f0;border-radius:8px;height:64px;object-fit:cover;width:64px}.office-teacher-avatar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.office-teacher-avatar-file{font-size:.875rem;max-width:220px}.office-teacher-avatar-btn{min-width:140px}.office-avatar-msg{font-size:.875rem;margin-top:8px}.office-avatar-msg--ok{color:#047857}.office-avatar-msg--err{color:#b91c1c}.office-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.office-context-label{background:#5b21b61a;border-radius:8px;color:#5b21b6;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.office-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.office-backend-banner p{font-size:.9rem;margin:0}.office-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.office-run-groups{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.office-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.office-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.office-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.office-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #7c3aed;border-radius:8px;color:#5b21b6;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.office-run-btn:hover:not(:disabled){background:#5b21b614}.office-run-btn:disabled{cursor:not-allowed;opacity:.7}.office-date-range{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:24px;padding:14px 16px}.office-date-range label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;margin-bottom:8px}.office-date-fields{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.office-date-fields input[type=date]{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:.9rem;padding:8px 10px}.office-date-fields span{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem}.office-results{display:flex;flex-direction:column;gap:24px}.office-group-panel{border-bottom:1px solid #e8ecf1;border-bottom:1px solid var(--border,#e8ecf1);margin-bottom:8px;padding-bottom:20px}.office-group-panel:last-child{border-bottom:none}.office-subnav{-webkit-overflow-scrolling:touch;margin:0 0 14px}.office-subnav-scroll{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0}@media (max-width:639px){.office-subnav-scroll{flex-wrap:nowrap;margin:0 -2px;overflow-x:auto;padding-bottom:10px;padding-left:2px;padding-right:2px;scrollbar-width:thin}}.office-subnav-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:10px 18px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.office-subnav-btn:hover{background:#8b5cf60a;border-color:#c4b5fd;color:#1e293b;color:var(--text-primary,#1e293b)}.office-subnav-btn--active{background:linear-gradient(135deg,#7c3aed1f,#8b5cf614);border-color:#7c3aed;box-shadow:0 1px 3px #7c3aed1f;color:#5b21b6}.office-subpanel{animation:office-subpanel-in .18s ease-out;min-height:100px}@keyframes office-subpanel-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.office-subpanel-empty{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px dashed #e2e8f0;border:1px dashed var(--border,#e2e8f0);border-radius:12px;padding:36px 20px;text-align:center}.office-subpanel-empty-title{color:#334155;color:var(--text-primary,#334155);font-size:1rem;font-weight:600;margin:0 0 8px}.office-subpanel-empty-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;line-height:1.5;margin:0 auto;max-width:440px}.office-section-head{border-bottom:2px solid #5b21b6;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.office-section-head:first-child{margin-top:0}.office-error{color:#dc2626;color:var(--error,#dc2626);font-size:.9rem;margin:0}.office-loading{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0}.office-info-card{border-radius:12px;padding:16px}.office-info-card h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0 0 10px}.office-school-info{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;overflow:hidden}.office-school-info-header{background:#5b21b6;color:#fff;padding:20px 20px 16px}.office-school-info-name{font-size:1.35rem;font-weight:700;letter-spacing:.02em;margin:0 0 4px}.office-school-info-name-en{font-size:.95rem;font-weight:500;margin:0;opacity:.95}.office-school-info-body{display:flex;flex-direction:column;gap:20px;padding:20px}.office-school-info-section{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding-bottom:16px}.office-school-info-section:last-child{border-bottom:0;padding-bottom:0}.office-school-info-section-title{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;font-weight:600;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.office-school-info-text,.office-school-info-text-en{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem;line-height:1.5;margin:0}.office-school-info-text-en{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem}.office-school-info-grid{grid-gap:10px 24px;display:grid;gap:10px 24px;grid-template-columns:1fr}@media (min-width:520px){.office-school-info-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.office-school-info-contact .office-school-info-grid{grid-template-columns:repeat(2,1fr)}}.office-school-info-item{display:flex;flex-direction:column;gap:2px}.office-school-info-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.office-school-info-value{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem}.office-school-info-value a{color:#5b21b6;text-decoration:none}.office-school-info-value a:hover{text-decoration:underline}.office-school-info-link{word-break:break-all}.office-school-info-stats .office-school-info-section-title{margin-bottom:12px}.office-school-info-stat-cards{display:flex;flex-wrap:wrap;gap:12px}.office-school-info-stat-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;min-width:100px;padding:14px 18px;text-align:center}.office-school-info-stat-value{color:#5b21b6;display:block;font-size:1.5rem;font-weight:700;line-height:1.2}.office-school-info-stat-label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.8rem;font-weight:500;margin-top:4px}.office-school-info-facilities{display:flex;flex-wrap:wrap;gap:8px}.office-school-info-facility-tag{background:#5b21b61a;border-radius:8px;color:#5b21b6;font-size:.85rem;font-weight:500;padding:6px 12px}.office-json{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;font-size:.75rem;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.office-calendar-view{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;overflow:hidden}.office-cal-header{background:#5b21b6;color:#fff;padding:12px 16px}.office-cal-header h4{font-size:1rem;font-weight:600;margin:0}.office-cal-month-picker{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);gap:16px;padding:12px 16px}.office-cal-month-btn,.office-cal-month-picker{align-items:center;display:flex;justify-content:center}.office-cal-month-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:1.2rem;height:40px;width:40px}.office-cal-month-btn:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.office-cal-month-label{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;font-weight:600;min-width:100px;text-align:center}.office-cal-grid{grid-gap:1px;background:#e2e8f0;background:var(--border,#e2e8f0);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);padding:1px}.office-cal-cell{background:#fff;background:var(--card-bg,#fff);font-size:.8rem;min-height:64px;padding:6px 8px}.office-cal-cell--head{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;text-align:center}.office-cal-cell--head,.office-cal-cell--pad{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.office-cal-day-num{color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:block;font-weight:600;margin-bottom:4px}.office-cal-cycle-bar{background:#0ea5e933;border-radius:4px;color:#0369a1;display:inline-block;font-size:.65rem;margin-bottom:4px;padding:2px 6px}.office-cal-cell-events{display:flex;flex-direction:column;gap:2px}.office-cal-bar{border-radius:4px;display:block;font-size:.65rem;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.office-cal-bar--school{background:#dc262633;color:#b91c1c}.office-cal-activity-header{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);padding:12px 16px}.office-cal-activity-header h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0}.office-cal-activity-list{display:flex;flex-direction:column;gap:12px;padding:16px}.office-cal-empty{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0}.office-cal-activity-card .office-cal-activity-card-inner{align-items:flex-start;display:flex;gap:12px}.office-cal-activity-icon{flex-shrink:0;font-size:1.25rem}.office-cal-activity-body{flex:1 1;min-width:0}.office-cal-activity-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem;font-weight:600;margin:0 0 4px}.office-cal-activity-title-en{color:#64748b;color:var(--text-secondary,#64748b);font-weight:400}.office-cal-activity-meta{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;margin:0 0 6px}.office-cal-activity-tags{display:flex;flex-wrap:wrap;gap:6px}.office-cal-tag{background:#5b21b626;border-radius:4px;color:#5b21b6;font-size:.75rem;padding:2px 8px}.office-school-news-wrap{margin-top:20px}.office-school-news-list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.office-school-news-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e8ecf1;border:1px solid var(--border,#e8ecf1);border-radius:12px;box-shadow:0 1px 4px #00000012;margin:0;padding:16px 18px}.office-school-news-card-main{display:flex;flex-direction:column;gap:8px}.office-school-news-card-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:700;line-height:1.35;margin:0}.office-school-news-card-title-en{color:#475569;color:var(--text-secondary,#475569);font-size:.9rem;font-weight:500;line-height:1.35;margin:0}.office-school-news-card-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:10px}.office-school-news-card-date{color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.office-school-news-card-status{color:#64748b;color:var(--text-secondary,#64748b);font-weight:500}.office-school-news-card-status--expired{color:#dc2626}.office-school-news-card-body{color:#475569;color:var(--text-secondary,#475569);font-size:.875rem;line-height:1.55;margin:4px 0 0;white-space:pre-wrap;word-break:break-word}.office-enotice-card{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:16px;overflow:hidden;padding:12px 16px}.office-enotice-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px 16px;margin-bottom:10px}.office-enotice-header .office-list-title{margin:0}.office-enotice-category-filter{align-items:center;display:flex;gap:8px}.office-enotice-category-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;font-weight:600}.office-enotice-category-select{background:#fff;background:var(--card-bg,#fff);color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;min-width:140px;padding:6px 12px}.office-enotice-category-select,.office-enotice-refresh-btn{border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px}.office-enotice-refresh-btn{background:#f8fafc;background:var(--bg-secondary,#f8fafc);cursor:pointer;font-size:1rem;line-height:1;padding:6px 10px}.office-enotice-refresh-btn:hover:not(:disabled){background:#e2e8f0;background:var(--border,#e2e8f0)}.office-enotice-refresh-btn:disabled{cursor:not-allowed;opacity:.6}.office-enotice-empty{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:12px 0 0}.office-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.office-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.office-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.office-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.office-table td,.office-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.office-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.office-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.office-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.office-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}.office-data-section{background:#fff;background:var(--card-bg,#fff);border:1px solid #e8ecf1;border:1px solid var(--border,#e8ecf1);border-radius:12px;box-shadow:0 1px 4px #0000000f;margin-top:20px;padding:16px}.office-data-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.office-data-section-head .office-list-title{margin:0}.office-data-section-head-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.office-data-section-head--wrap{align-items:flex-start}.office-by-teacher-filter-wrap{display:flex;flex:1 1 260px;flex-direction:column;gap:6px;min-width:min(100%,340px)}.office-by-teacher-filter-label{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.office-add-staff-btn{background:#fff;border:1px solid #7c3aed;border-radius:10px;color:#5b21b6;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px}.office-add-staff-btn:hover{background:#f5f3ff}.office-staff-card-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px}.office-staff-card-edit-btn{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#4338ca;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 16px}.office-staff-card-edit-btn:hover{background:#eef2ff;border-color:#a5b4fc}.office-class-card-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px}.office-class-card-edit-btn{background:#ecfdf5;border:1px solid #0d9488;border-radius:10px;color:#0f766e;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 16px}.office-class-card-edit-btn:hover{background:#d1fae5}.office-classes-list-edit-hint{color:#64748b;font-size:.85rem;line-height:1.4;margin-top:12px}.office-data-view-toggle{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;display:inline-flex;overflow:hidden}.office-data-view-btn{background:#0000;border:none;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:background .15s,color .15s}.office-data-view-btn--active,.office-data-view-btn:hover{color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.office-data-view-btn--active{background:#fff;background:var(--card-bg,#fff);box-shadow:0 1px 2px #0000000f}.office-person-card-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.office-staff-card-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.office-person-card--staff{align-items:stretch;background:#fafbfc;border-color:#e5e7eb;padding:14px 16px 16px;text-align:left}.office-person-card-status--corner{left:14px;margin:0;position:absolute;top:14px;z-index:1}.office-staff-card-center{align-items:center;display:flex;flex-direction:column;padding:36px 8px 14px;text-align:center;width:100%}.office-staff-card-avatar{background:linear-gradient(145deg,#bbf7d0,#ddd6fe 55%,#c7d2fe)!important;box-shadow:0 2px 8px #16653414;color:#166534!important;font-size:2rem!important;font-weight:700!important;height:88px!important;margin-bottom:14px!important;width:88px!important}.office-staff-card-name{color:#0f172a;font-size:1.125rem;font-weight:700;line-height:1.35;margin:0 0 6px}.office-staff-card-role-en{color:#64748b;font-size:.875rem;font-weight:500;line-height:1.4;margin:0}.office-staff-card-detail{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;margin-top:4px;padding:14px 14px 12px;width:100%}.office-staff-card-field{margin:0 0 12px}.office-staff-card-field:last-of-type{margin-bottom:0}.office-staff-card-label{color:#94a3b8;display:block;font-size:.65rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.office-staff-card-value{color:#1e293b;display:block;font-size:.9rem;line-height:1.45}.office-staff-card-contact-row{align-items:flex-start;display:flex;font-size:.875rem;gap:8px;margin:10px 0 0}.office-staff-card-contact-row:first-of-type{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:10px}.office-staff-card-contact-ico{color:#94a3b8;flex-shrink:0;font-size:.9rem;line-height:1.4}.office-staff-card-link{color:#2563eb;text-decoration:none;word-break:break-all}.office-staff-card-link:hover{text-decoration:underline}.office-staff-card-phone{color:#334155}.office-person-card{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e8ecf1;border:1px solid var(--border,#e8ecf1);border-radius:14px;box-shadow:0 2px 8px #0f172a0a;display:flex;flex-direction:column;padding:18px 16px 16px;position:relative;text-align:center;transition:box-shadow .2s}.office-person-card:hover{box-shadow:0 4px 16px #0f172a14}.office-person-card-top{display:flex;justify-content:flex-start;margin-bottom:8px;width:100%}.office-person-card-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:600;gap:6px;padding:4px 10px;text-transform:capitalize}.office-person-card-status-dot{background:currentColor;border-radius:50%;height:6px;width:6px}.office-person-card-status--active{background:#22c55e1f;color:#15803d}.office-person-card-status--invited{background:#3b82f61f;color:#1d4ed8}.office-person-card-status--inactive{background:#64748b26;color:#475569}.office-person-card-avatar{align-items:center;background:linear-gradient(135deg,#c4b5fd,#86efac);border-radius:10px;color:#1e293b;display:flex;flex-shrink:0;font-size:1.75rem;font-weight:700;height:72px;justify-content:center;margin-bottom:12px;width:72px}.office-person-card-avatar--photo{background:#e2e8f0;overflow:hidden;padding:0}.office-person-card-avatar--photo img{display:block;height:100%;object-fit:cover;width:100%}.office-person-card-name{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.05rem;font-weight:700;line-height:1.3;margin:0 0 4px}.office-person-card-role{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;line-height:1.35;margin:0 0 12px}.office-person-card-detail{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:10px;margin-top:4px;padding:12px 14px;text-align:left;width:100%}.office-person-card-line{color:#334155;color:var(--text-primary,#334155);font-size:.82rem;line-height:1.4;margin:0 0 8px}.office-person-card-line:last-of-type{margin-bottom:0}.office-person-card-label{color:#94a3b8;color:var(--text-secondary,#94a3b8);display:block;font-size:.65rem;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.office-person-card-contact{align-items:flex-start;display:flex;font-size:.8rem;gap:8px;margin:8px 0 0}.office-person-card-contact-icon{flex-shrink:0;opacity:.7}.office-person-card-link{color:#2563eb;text-decoration:none;word-break:break-all}.office-person-card-link:hover{text-decoration:underline}.office-teacher-data-type-pill{background:#22c55e2e;border-radius:999px;color:#15803d;display:inline-block;font-size:.72rem;font-weight:700;margin-bottom:8px;padding:6px 14px}.office-teacher-data-name{font-size:.95rem!important;letter-spacing:.02em}.office-teacher-data-card .office-staff-card-center{padding-top:40px}.office-teacher-data-secondary{color:#64748b;color:var(--text-secondary,#64748b);font-size:.78rem;line-height:1.35;margin:4px 0 0}.office-teacher-data-card-actions{border-top:1px solid #e8ecf1;border-top:1px solid var(--border,#e8ecf1);padding:10px 12px 12px}.office-teacher-data-edit-btn{background:#fff;border:1px solid #a5b4fc;border-radius:8px;color:#4f46e5;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 12px;width:100%}.office-teacher-data-edit-btn:hover{background:#eef2ff}.office-edit-groups-btn{background:#fff;border:1px solid #6366f1;border-radius:10px;color:#4338ca;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 14px}.office-edit-groups-btn:hover{background:#eef2ff}.office-edit-groups-btn--active{background:linear-gradient(135deg,#6366f1,#7c3aed);border-color:#0000;color:#fff}.office-edit-groups-btn--ghost{border-color:#cbd5e1;color:#475569}.office-edit-groups-btn--ghost:hover{background:#f8fafc}.office-edit-groups-btn--publish{border-color:#b45309;color:#92400e}.office-edit-groups-btn--publish:hover{background:#fffbeb}.office-edit-groups-btn--publish-confirm{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#0000;color:#fff}.office-publish-card{background:#fff7ed;border:1px solid #fed7aa;margin:0 0 12px;padding:14px 16px}.office-publish-title{color:#9a3412;font-size:1rem;margin:0 0 6px}.office-publish-desc{color:#7c2d12;font-size:.82rem;margin:0 0 10px}.office-publish-grid{grid-gap:10px 12px;display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.office-publish-grid label{color:#7c2d12;display:flex;flex-direction:column;font-size:.78rem;font-weight:600;gap:4px}.office-publish-grid input{background:#fff;border:1px solid #fdba74;border-radius:8px;color:#1f2937;font-size:.85rem;height:36px;padding:0 10px}.office-publish-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.office-publish-result{font-size:.82rem;font-weight:600;margin:10px 0 0}.office-publish-result.ok{color:#166534}.office-publish-result.err{color:#b91c1c}.office-teacher-data-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px 16px;margin:0 0 12px}.office-teacher-toolbar-hint{color:#64748b;font-size:.8rem}.office-all-teachers-hint{color:#475569;font-size:.82rem;line-height:1.45;margin:0 0 14px}.office-all-teacher-hit{border-radius:12px;cursor:pointer;outline:none}.office-all-teacher-hit:focus-visible{box-shadow:0 0 0 3px #6366f173}.office-chair-card-hit{border-radius:12px;cursor:pointer;outline:none}.office-chair-card-hit:focus-visible{box-shadow:0 0 0 3px #6366f173}.office-chair-card-inner{display:flex;flex-direction:column;height:100%}.office-chair-avatars-row{align-items:center;display:flex;gap:6px;padding:8px 10px 0}.office-chair-avatars-chip{align-items:center;display:inline-flex;position:relative}.office-chair-avatars-dot{background:#10b981;border:1px solid #fff;border-radius:999px;bottom:-1px;height:8px;position:absolute;right:-1px;width:8px;z-index:1}.office-chair-avatars-avatar{align-items:center;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;color:#334155;display:inline-flex;font-size:.68rem;font-weight:700;height:24px;justify-content:center;overflow:hidden;width:24px}.office-chair-avatars-avatar--photo img{height:100%;object-fit:cover;width:100%}.office-chair-avatars-more{color:#64748b;font-size:.68rem;margin-left:2px}.office-chair-members-brief{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:2px 10px 0;padding:8px 10px}.office-chair-members-brief-title{color:#475569;font-size:.7rem;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.office-chair-members-brief-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;max-height:140px;overflow-x:hidden;overflow-y:auto;padding:0 10px 0 0;scrollbar-gutter:stable}.office-chair-members-brief-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.74rem;line-height:1.35;margin:0;padding:6px 8px}.office-chair-members-brief-main{display:flex;flex-direction:column;gap:2px;min-width:0}.office-chair-members-brief-name{color:#0f172a;font-weight:600;word-break:break-word}.office-chair-members-brief-role{color:#64748b;font-size:.66rem;line-height:1.3;text-align:left}.office-grouped-teacher-select-wrap{align-items:center;display:flex;gap:6px}.office-grouped-teacher-more-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;font-size:.72rem;padding:5px 8px;white-space:nowrap}.office-grouped-teacher-more-btn:hover{background:#f8fafc}.office-chair-card-footer{align-items:flex-start;display:flex;flex-direction:column;gap:6px;margin-top:auto;padding:8px 10px 10px}.office-chair-members-pill{background:#eef2ff;border-radius:999px;color:#4338ca;display:inline-block;font-size:.72rem;font-weight:600;padding:4px 10px}.office-chair-no-chair{color:#b45309;font-size:.7rem;line-height:1.35}.office-chair-intro{color:#334155;font-size:.82rem;line-height:1.45;margin:0 0 14px}.office-chair-empty-all{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92400e;font-size:.82rem;line-height:1.45;margin:0;padding:12px 14px}.office-ta-class-empty{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;display:flex;gap:10px;justify-content:space-between;padding:12px}.office-ta-class-empty-text{color:#64748b;font-size:.8rem;margin:0}.office-ta-class-edit-inline{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:0 0 10px;padding:10px 12px}.office-ta-class-edit-title{color:#334155;font-size:.8rem;font-weight:700;margin:0 0 8px}.office-ta-class-edit-fields{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px 10px}.office-ta-class-edit-field{color:#475569;display:flex;flex:1 1 260px;flex-direction:column;font-size:.74rem;gap:4px;min-width:220px}.office-ta-class-edit-note{color:#64748b;font-size:.74rem;margin:8px 0 0}.office-ta-batch-add-wrap{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px 10px;margin:0 0 12px}.office-ta-batch-add-label{color:#475569;display:flex;flex:1 1 260px;flex-direction:column;font-size:.74rem;gap:4px;min-width:220px}.office-ta-script-file-input{display:none}.office-ta-batch-class-picker{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:0 0 14px;padding:10px 12px}.office-ta-batch-class-picker-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.office-ta-batch-class-picker-title{color:#334155;font-size:.78rem;font-weight:700}.office-ta-batch-class-picker-actions{display:flex;gap:8px}.office-ta-batch-class-list{grid-gap:6px 10px;display:grid;gap:6px 10px;grid-template-columns:repeat(4,minmax(0,1fr));max-height:160px;overflow-y:auto;padding-right:6px}.office-ta-batch-class-item{align-items:center;color:#475569;display:inline-flex;font-size:.76rem;gap:6px}.office-ta-batch-class-note{color:#64748b;font-size:.72rem;margin:8px 0 0}@media (max-width:900px){.office-ta-batch-class-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.office-ta-batch-class-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.office-subject-card-hit{border-radius:12px;cursor:pointer}.office-subject-card-hit:focus-visible{box-shadow:0 0 0 3px #6366f173}.office-ta-subject-draft-card{background:#eef2ff;border:1px dashed #a5b4fc;border-radius:12px;color:#3730a3;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:170px;padding:12px;text-align:left}.office-ta-subject-draft-badge{color:#4338ca;font-size:.68rem;font-weight:700}.office-ta-subject-draft-title{color:#312e81;font-size:.92rem;font-weight:700}.office-ta-subject-draft-hint{color:#4f46e5;font-size:.76rem}.office-ta-script-card{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;color:#1e3a8a;display:flex;flex-direction:column;gap:6px;min-height:170px;padding:12px;text-align:left}.office-ta-script-card-title{color:#1e40af;font-size:.92rem;font-weight:700;margin:0}.office-ta-script-card-sub{color:#1d4ed8;font-size:.78rem;margin:0}.office-ta-script-card-del{align-self:flex-start;margin-top:auto}.office-ta-category-grid--compact{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:720px){.office-ta-category-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.office-ta-category-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.office-ta-category-grid--compact{grid-template-columns:repeat(6,minmax(0,1fr))}}.office-full-groups-title{color:#0f172a;font-size:.95rem;margin:20px 0 12px}.office-by-classes-readonly-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;font-size:.82rem;margin:0 0 12px;padding:10px 12px}.office-by-classes-table-wrap{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;overflow-x:auto}.office-by-classes-table{border-collapse:collapse;font-size:.8rem;min-width:720px;width:100%}.office-by-classes-table td,.office-by-classes-table th{border-bottom:1px solid #f1f5f9;padding:10px 12px;text-align:left;vertical-align:top}.office-by-classes-table th{background:#f8fafc;color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.office-by-classes-class-cell{min-width:120px}.office-by-classes-class-link{background:none;border:none;color:#4338ca;cursor:pointer;display:block;font-size:.88rem;font-weight:700;margin:0 0 4px;padding:0;text-align:left;text-decoration:underline}.office-by-classes-class-code{color:#94a3b8;display:block;font-family:ui-monospace,monospace;font-size:.68rem;word-break:break-all}.office-by-classes-select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:.78rem;max-width:200px;padding:6px 8px;width:100%}.office-by-classes-select:disabled{cursor:not-allowed;opacity:.55}.office-by-classes-select--subj{max-width:220px}.office-by-classes-subjects-cell{min-width:200px;vertical-align:top}.office-by-classes-subjects-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.office-by-classes-view-tabs{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;display:inline-flex;flex-wrap:wrap;gap:4px;margin-right:4px;padding:4px}.office-by-classes-view-tab{background:#0000;border:1px solid #0000;border-radius:8px;color:#475569;cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 14px;white-space:nowrap}.office-by-classes-view-tab:hover{background:#fff;color:#334155}.office-by-classes-view-tab--active{background:#fff;border-color:#c4b5fd;box-shadow:0 1px 2px #5b21b614;color:#5b21b6}.office-by-classes-subjects-expanded-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.office-by-classes-class-timetable-btn{background:#f5f3ff;border:1px solid #7c3aed;border-radius:8px;color:#5b21b6;cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 12px}.office-by-classes-class-timetable-btn:hover{background:#ede9fe}.office-by-classes-class-timetable-btn--open{background:#ede9fe;box-shadow:inset 0 1px 2px #5b21b61f}.office-by-class-subj-timetable-badge--btn{cursor:pointer;font:inherit}.office-by-class-subj-timetable-badge--btn:hover{background:#bae6fd;border-color:#38bdf8}.office-by-classes-timetable-row td{background:#fafafa;vertical-align:top}.office-tcsa-inline-editor{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.office-tcsa-edit-title{color:#334155;font-size:.9rem;margin:0 0 10px}.office-tcsa-edit-fields{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px}.office-tcsa-field{color:#64748b;display:flex;flex-direction:column;font-size:.72rem;font-weight:600;gap:4px}.office-tcsa-field--grow{flex:1 1 160px;min-width:140px}.office-tcsa-field input,.office-tcsa-field select{border:1px solid #cbd5e1;border-radius:6px;font-size:.8rem;font-weight:500;padding:6px 8px}.office-tcsa-edit-actions{display:flex;flex-wrap:wrap;gap:8px}.office-tcsa-add-block{border-top:1px dashed #e2e8f0;margin-top:20px;padding-top:16px}.office-tcsa-readonly-hint{margin-top:12px}.office-by-classes-timetable-panel-wrap{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;margin-top:12px;padding:16px}.office-by-classes-timetable-class-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.office-by-classes-timetable-class-row label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;font-weight:600}.office-by-classes-timetable-class-select{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;font-size:.85rem;min-width:14rem;padding:8px 10px}.office-by-classes-subjects-bulk-btn{background:#f5f3ff;border:1px solid #7c3aed;border-radius:8px;color:#5b21b6;cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 12px}.office-by-classes-subjects-bulk-btn:hover{background:#ede9fe}.office-by-classes-subjects-bulk-btn--secondary{background:#fff;border-color:#cbd5e1;color:#475569}.office-by-classes-subjects-bulk-btn--secondary:hover{background:#f8fafc}.office-by-classes-subjects-collapsed{align-items:flex-start;display:flex;flex-direction:column;gap:8px;max-width:min(100%,340px)}.office-by-classes-subjects-collapsed-summary{font-size:.8rem;line-height:1.35}.office-by-classes-subjects-collapsed-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.office-by-classes-collapsed-timetable-toggle{background:#f5f3ff;border-color:#7c3aed;color:#5b21b6}.office-by-classes-collapsed-timetable-toggle:hover{background:#ede9fe}.office-by-classes-collapsed-timetable-toggle--open{background:#ede9fe;box-shadow:inset 0 1px 2px #5b21b61f}.office-by-classes-subjects-row-toggle--show-subjects{background:#fff;border-color:#cbd5e1;color:#475569}.office-by-classes-subjects-row-toggle--show-subjects:hover{background:#f8fafc}.office-by-classes-subjects-row-toggle--script{background:#f5f3ff;border-color:#a78bfa;color:#5b21b6}.office-by-classes-subjects-row-toggle--script:hover:not(:disabled){background:#ede9fe}.office-by-classes-subjects-row-toggle--script:disabled{cursor:not-allowed;opacity:.45}.office-by-classes-subjects-count{color:#334155;font-weight:600}.office-by-classes-subjects-row-toggle{background:#fff;border:1px solid #c4b5fd;border-radius:8px;color:#6d28d9;cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px}.office-by-classes-subjects-row-toggle:hover{background:#f5f3ff}.office-by-classes-subjects-row-toggle--top{margin-bottom:6px}.office-by-classes-subjects-expanded-wrap{align-items:stretch;display:flex;flex-direction:column}.office-by-class-subject-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.office-by-class-subject-row-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.office-by-class-subj-timetable-badge{background:#e0f2fe;border:1px solid #7dd3fc;border-radius:6px;color:#0369a1;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:2px 6px;text-transform:uppercase}.office-by-class-lessons-toggle{align-self:flex-start;margin-top:0}.office-by-class-lessons-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:4px}.office-by-class-lesson-add-bar{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.office-by-class-lesson-add-select{background:#fff;border:1px solid #c4b5fd;border-radius:6px;color:#334155;font-size:.72rem;max-width:8.5rem;padding:4px 8px}.office-lesson-icon-btn{align-items:center;background:#fff;border:1px solid #7c3aed;border-radius:8px;color:#5b21b6;cursor:pointer;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease;width:34px}.office-lesson-icon-btn:hover:not(:disabled){background:#f5f3ff;border-color:#6d28d9;color:#4c1d95}.office-lesson-icon-btn:disabled{cursor:not-allowed;opacity:.45}.office-lesson-icon-btn--delete{border-color:#cbd5e1;color:#64748b;height:32px;width:32px}.office-lesson-icon-btn--delete:hover:not(:disabled){background:#fef2f2;border-color:#f87171;color:#b91c1c}.office-by-class-subject-lessons{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.78rem;margin-top:8px;padding:8px 10px}.office-by-class-lessons-list{list-style:none;margin:6px 0 0;padding:0}.office-by-class-lesson-item{align-items:center;border-bottom:1px solid #e8ecf1;display:flex;flex-wrap:nowrap;gap:8px 12px;justify-content:space-between;padding:4px 0}.office-by-class-lesson-item-main{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:8px 12px;min-width:0}.office-by-class-lesson-item:last-child{border-bottom:none}.office-by-class-lesson-day{color:#334155;font-weight:600;min-width:5.5rem}.office-by-class-lesson-per{color:#5b21b6;font-weight:600;min-width:2rem}.office-by-class-lesson-time{color:#64748b;font-size:.74rem}.office-subject-lessons-error{color:#b91c1c;display:block;font-size:.76rem;margin-top:4px}.office-by-class-subject-row:last-child{margin-bottom:0}.office-by-class-subj-name{color:#475569;font-size:.72rem;font-weight:600}.office-by-classes-muted{color:#94a3b8;font-size:.8rem}.office-agm-subtitle{color:#64748b;font-size:.82rem;margin:0 0 8px}.office-agm-count{color:#475569;font-size:.78rem;margin:0 0 12px}.office-agm-member-list{border:1px solid #e2e8f0;border-radius:10px;list-style:none;margin:0 0 16px;max-height:min(52vh,420px);overflow-y:auto;padding:0}.office-agm-member-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;flex-wrap:nowrap;gap:12px;padding:12px 14px}.office-agm-member-row:last-child{border-bottom:none}.office-agm-member-avatar{align-items:center;background:#e2e8f0;border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;width:44px}.office-agm-member-avatar-img{height:100%;object-fit:cover;width:100%}.office-agm-member-avatar-fallback{color:#475569;font-size:1rem;font-weight:700}.office-agm-member-main{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.office-agm-member-name{color:#0f172a;font-size:.88rem;font-weight:600}.office-agm-member-meta{color:#64748b;font-size:.75rem}.office-agm-member-actions{display:flex;flex-shrink:0;gap:8px;margin-left:auto}.office-agm-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 12px}.office-agm-btn--ghost:hover{background:#f8fafc}.office-agm-btn--danger{background:#fff5f5;border-color:#fecaca;color:#b91c1c}.office-agm-btn--danger:hover:not(:disabled){background:#fee2e2}.office-agm-footer{display:flex;flex-wrap:wrap;gap:10px}.office-ta-edit-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;font-size:.82rem;line-height:1.45;margin:0 0 14px;padding:10px 12px}.office-ta-grouped{display:flex;flex-direction:column;gap:22px}.office-ta-category{background:#fafbfc;border:1px solid #e8ecf1;border:1px solid var(--border,#e8ecf1);border-radius:12px;padding:14px 14px 16px}.office-ta-category-title{color:#0f172a;font-size:1rem;margin:0 0 6px}.office-ta-category-hint{color:#64748b;font-size:.76rem;line-height:1.4;margin:0 0 12px}.office-ta-class-subgroup{border-top:1px dashed #cbd5e1;margin-top:14px;padding-top:12px}.office-ta-class-subgroup:first-of-type{border-top:none;margin-top:0;padding-top:0}.office-ta-class-subtitle{color:#334155;font-size:.92rem;margin:0 0 10px}.office-ta-category-grid{margin-top:0}.office-class-card .office-staff-card-role-en{font-family:ui-monospace,monospace;font-size:.8rem}.office-assignment-card-type-pill{background:#22c55e1f;border-radius:999px;color:#15803d;display:inline-block;font-size:.75rem;font-weight:700;margin-bottom:10px;padding:6px 14px}.office-assignment-card-teacher{font-size:1rem!important;margin:0 0 8px!important}.office-assignment-card-year{margin:0 0 8px!important}.office-assignment-card-title{margin-top:4px}.office-assignment-card-extra{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;line-height:1.45;margin:10px 0 0}.office-friendly-table-wrap{border:1px solid #e8ecf1;border:1px solid var(--border,#e8ecf1);border-radius:10px;overflow-x:auto}.office-friendly-table{border-collapse:collapse;font-size:.875rem;min-width:520px;width:100%}.office-friendly-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);color:#64748b;color:var(--text-secondary,#64748b);font-size:.72rem;font-weight:600;letter-spacing:.03em;padding:12px 14px;text-align:left;text-transform:uppercase}.office-friendly-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border,#f1f5f9);color:#1e293b;color:var(--text-primary,#1e293b);padding:14px;vertical-align:middle}.office-friendly-table tbody tr:hover{background:#f8fafce6}.office-friendly-table tbody tr:last-child td{border-bottom:none}.office-student-class-filter{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px 16px;margin:12px 0 16px;padding:14px 16px}.office-student-class-filter-label{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.875rem;font-weight:600;margin:0}.office-student-class-select{background:#fff;border:1px solid #cbd5e1;border:1px solid var(--border,#cbd5e1);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.9rem;max-width:100%;min-width:220px;padding:8px 12px}.office-student-class-filter-hint{color:#64748b;color:var(--text-secondary,#64748b);flex:1 1 200px;font-size:.78rem;line-height:1.4}.office-by-teacher-load-summary{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:14px 16px}.office-by-teacher-load-summary-head{margin-bottom:12px}.office-by-teacher-load-summary-title{color:#1e293b;font-size:1rem;font-weight:700;margin:0 0 6px}.office-by-teacher-load-summary-meta{color:#475569;font-size:.85rem;font-weight:600;margin:0 0 8px}.office-by-teacher-load-summary-hint{font-size:.78rem;line-height:1.45;margin:0}.office-by-teacher-load-class-chips{font-size:.78rem;line-height:1.4;margin:0 0 10px;word-break:break-word}.office-by-teacher-load-summary-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.office-by-teacher-unified-timetable-wrap{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.office-by-teacher-class-role-badge{background:#ccfbf1;border:1px solid #5eead4;border-radius:6px;color:#0f766e;display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.02em;margin-top:6px;padding:2px 8px;text-transform:uppercase}.office-by-teacher-class-role-badge--vice{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.office-by-teacher-registry-hint{color:#64748b;font-size:.72rem;line-height:1.4;margin:8px 0 0;max-width:22rem}.office-by-teacher-timetable-filter-empty{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:.8rem;line-height:1.45;margin:0 0 12px;padding:10px 12px}.office-by-teacher-expanded-empty{font-size:.8rem;line-height:1.4;margin:8px 0 4px}.office-timetable-script-rules{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;font-size:.78rem;line-height:1.45;margin:8px 0 12px;max-width:52rem;padding:8px 10px}.office-timetable-script-rules-summary{color:#3730a3;cursor:pointer;font-weight:600}.office-timetable-script-rules-body{border-top:1px solid #c7d2fe;margin-top:8px;padding-top:8px}.office-timetable-script-rules-lead{color:#334155;margin:0 0 8px}.office-timetable-script-rules-list{color:#334155;margin:0;padding-left:1.1rem}.office-timetable-script-rules-list li{margin-bottom:6px}@media (max-width:639px){.office-run-buttons{flex-direction:column}.office-run-btn{width:100%}.office-date-fields{align-items:flex-start;flex-direction:column}}.subject-panel-admin-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.sp-content{margin:0 auto;max-width:1200px;padding:16px}.sp-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.sp-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.sp-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.sp-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.sp-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.sp-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.sp-config-field{display:flex;flex-direction:column;gap:4px}.sp-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sp-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.sp-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.sp-context-label{background:#0d94881a;border-radius:8px;color:#0d9488;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.sp-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.sp-backend-banner p{font-size:.9rem;margin:0}.sp-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.sp-run-groups{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.sp-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.sp-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.sp-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.sp-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #0d9488;border-radius:8px;color:#0d9488;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.sp-run-btn:hover:not(:disabled){background:#0d948814}.sp-run-btn:disabled{cursor:not-allowed;opacity:.7}.sp-results{display:flex;flex-direction:column;gap:24px}.sp-section-head{border-bottom:2px solid #0d9488;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.sp-section-head:first-child{margin-top:0}.sp-error{color:#dc2626;color:var(--error,#dc2626)}.sp-error,.sp-loading{font-size:.9rem;margin:0}.sp-loading{color:#64748b;color:var(--text-secondary,#64748b)}.sp-info-card{border-radius:12px;padding:16px}.sp-info-card h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0 0 10px}.sp-json{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;font-size:.75rem;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.sp-calendar-view{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;overflow:hidden}.sp-cal-header{background:#0d9488;color:#fff;padding:12px 16px}.sp-cal-header h4{font-size:1rem;font-weight:600;margin:0}.sp-cal-month-picker{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);gap:16px;padding:12px 16px}.sp-cal-month-btn,.sp-cal-month-picker{align-items:center;display:flex;justify-content:center}.sp-cal-month-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:1.2rem;height:40px;width:40px}.sp-cal-month-btn:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.sp-cal-month-label{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;font-weight:600;min-width:100px;text-align:center}.sp-cal-grid{grid-gap:1px;background:#e2e8f0;background:var(--border,#e2e8f0);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);padding:1px}.sp-cal-cell{background:#fff;background:var(--card-bg,#fff);font-size:.8rem;min-height:64px;padding:6px 8px}.sp-cal-cell--head{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;text-align:center}.sp-cal-cell--head,.sp-cal-cell--pad{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.sp-cal-day-num{color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:block;font-weight:600;margin-bottom:4px}.sp-cal-cycle-bar{background:#0ea5e933;border-radius:4px;color:#0369a1;display:inline-block;font-size:.65rem;margin-bottom:4px;padding:2px 6px}.sp-cal-cell-events{display:flex;flex-direction:column;gap:2px}.sp-cal-bar{border-radius:4px;display:block;font-size:.65rem;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.sp-cal-bar--holiday{background:#22c55e40;color:#15803d}.sp-cal-bar--school{background:#dc262633;color:#b91c1c}.sp-cal-activity-header{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);padding:12px 16px}.sp-cal-activity-header h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0}.sp-cal-activity-list{display:flex;flex-direction:column;gap:12px;padding:16px}.sp-cal-empty{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0}.sp-cal-activity-card .sp-cal-activity-card-inner{align-items:flex-start;display:flex;gap:12px}.sp-cal-activity-icon{flex-shrink:0;font-size:1.25rem}.sp-cal-activity-body{flex:1 1;min-width:0}.sp-cal-activity-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem;font-weight:600;margin:0 0 4px}.sp-cal-activity-title-en{font-weight:400}.sp-cal-activity-meta,.sp-cal-activity-title-en{color:#64748b;color:var(--text-secondary,#64748b)}.sp-cal-activity-meta{font-size:.85rem;margin:0 0 6px}.sp-cal-activity-tags{display:flex;flex-wrap:wrap;gap:6px}.sp-cal-tag{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:4px;color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;padding:2px 8px}.sp-cal-card--holiday .sp-cal-tag{background:#22c55e33;color:#15803d}.sp-cal-card--school .sp-cal-tag{background:#dc262626;color:#b91c1c}.sp-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.sp-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.sp-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.sp-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.sp-table td,.sp-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.sp-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.sp-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.sp-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.sp-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}@media (max-width:639px){.sp-run-buttons{flex-direction:column}.sp-run-btn{width:100%}}.school-committee-admin-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.committee-content{margin:0 auto;max-width:1200px;padding:16px}.committee-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.committee-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.committee-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.committee-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.committee-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.committee-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.committee-config-field{display:flex;flex-direction:column;gap:4px}.committee-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.committee-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.committee-select:disabled{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#64748b;color:var(--text-secondary,#64748b)}.committee-config-hint{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;margin-top:4px}.committee-context-label{background:#7c3aed1a;border-radius:8px;color:#7c3aed;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.committee-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.committee-backend-banner p{font-size:.9rem;margin:0}.committee-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.committee-run-groups{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.committee-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.committee-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.committee-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.committee-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #7c3aed;border-radius:8px;color:#7c3aed;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.committee-run-btn:hover:not(:disabled){background:#7c3aed14}.committee-run-btn:disabled{cursor:not-allowed;opacity:.7}.committee-date-range{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:24px;padding:14px 16px}.committee-date-range label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;margin-bottom:8px}.committee-date-fields{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.committee-date-fields input[type=date]{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:.9rem;padding:8px 10px}.committee-date-fields span{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem}.committee-results{display:flex;flex-direction:column;gap:24px}.committee-section-head{border-bottom:2px solid #7c3aed;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.committee-section-head:first-child{margin-top:0}.committee-error{color:#dc2626;color:var(--error,#dc2626);font-size:.9rem;margin:0}.committee-loading{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0}.committee-info-card{border-radius:12px;padding:16px}.committee-info-card h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0 0 10px}.committee-json{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;font-size:.75rem;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.committee-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.committee-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.committee-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.committee-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.committee-table td,.committee-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.committee-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.committee-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.committee-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.committee-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}@media (max-width:639px){.committee-run-buttons{flex-direction:column}.committee-run-btn{width:100%}.committee-date-fields{align-items:flex-start;flex-direction:column}}.homework-system-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.hw-content{margin:0 auto;max-width:1200px;padding:16px}.hw-config.card-like,.hw-run-groups.card-like{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.hw-config h2,.hw-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.hw-config-note,.hw-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.hw-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.hw-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.hw-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.hw-config-field{display:flex;flex-direction:column;gap:4px}.hw-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hw-config-value,.hw-select{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem}.hw-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:8px 10px}.hw-select:disabled{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9)}.hw-config-hint,.hw-select:disabled{color:#64748b;color:var(--text-secondary,#64748b)}.hw-config-hint{font-size:.75rem;margin-top:4px}.hw-context-label{background:#b453091a;border-radius:8px;color:#b45309;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.hw-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.hw-backend-banner p{font-size:.9rem;margin:0}.hw-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.hw-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.hw-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #b45309;border-radius:8px;color:#b45309;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.hw-run-btn:hover:not(:disabled){background:#b4530914}.hw-run-btn:disabled{cursor:not-allowed;opacity:.7}.hw-results{display:flex;flex-direction:column;gap:24px}.hw-section-head{border-bottom:2px solid #b45309;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.hw-section-head:first-child{margin-top:0}.hw-error{color:#dc2626;color:var(--error,#dc2626)}.hw-error,.hw-loading{font-size:.9rem;margin:0}.hw-loading{color:#64748b;color:var(--text-secondary,#64748b)}.hw-info-card{border-radius:12px;padding:16px}.hw-info-card h4{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0 0 10px}.hw-json{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:8px;font-size:.75rem;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.hw-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.hw-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.hw-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.hw-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.hw-table td,.hw-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.hw-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.hw-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.hw-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.hw-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}@media (max-width:639px){.hw-run-buttons{flex-direction:column}.hw-run-btn{width:100%}}.academic-assessment-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.aa-content{margin:0 auto;max-width:1200px;padding:16px}.aa-portal-tabs{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:4px}.aa-portal-tab{background:#0000;border:none;border-radius:10px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;min-width:140px;padding:12px 16px;transition:background .15s,color .15s}.aa-portal-tab:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.aa-portal-tab.active{background:#2563eb;background:var(--primary-color,#2563eb);color:#fff}.aa-examination-panel.card-like{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.aa-examination-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.aa-config.card-like,.aa-run-groups.card-like{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.aa-config h2,.aa-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.aa-config-note,.aa-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.aa-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.aa-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.aa-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.aa-config-field{display:flex;flex-direction:column;gap:4px}.aa-config-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.aa-config-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px}.aa-config-value,.aa-input,.aa-select{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.aa-input,.aa-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px}.aa-input{min-width:0}.aa-context-label{background:#b453091a;border-radius:8px;color:#b45309;font-size:.9rem;margin:12px 0 0;padding:10px 12px}.aa-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.aa-backend-banner p{font-size:.9rem;margin:0}.aa-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.aa-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.aa-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #b45309;border-radius:8px;color:#b45309;cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 16px}.aa-run-btn:hover:not(:disabled){background:#b4530914}.aa-run-btn:disabled{cursor:not-allowed;opacity:.7}.aa-results{display:flex;flex-direction:column;gap:24px}.aa-section-head{border-bottom:2px solid #b45309;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:20px 0 8px;padding-bottom:6px}.aa-section-head:first-child{margin-top:0}.aa-list-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;padding:12px}.aa-list-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.aa-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.aa-table{border-collapse:collapse;font-size:.8rem;min-width:400px;width:100%}.aa-table td,.aa-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.aa-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.aa-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:160px;overflow:hidden;text-overflow:ellipsis}.aa-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.aa-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}@media (max-width:639px){.aa-run-buttons{flex-direction:column}.aa-run-btn{width:100%}}.examination-center{--ec-primary:#2563eb;--ec-primary-hover:#1d4ed8;--ec-text:#0f172a;--ec-muted:#64748b;--ec-border:#e2e8f0;--ec-bg:#f8fafc;--ec-card:#fff;--ec-radius:12px;color:var(--ec-text);font-size:15px}.examination-center *{box-sizing:border-box}.ec-flash{border-radius:8px;font-size:14px;margin-bottom:16px;padding:10px 14px}.ec-flash.ok{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46}.ec-flash.err{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.ec-flash.warn{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.ec-auth-banner{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;color:#1e40af;font-size:13px;margin-bottom:16px;padding:12px 14px}.ec-tabs-row{border-bottom:1px solid var(--ec-border);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:4px}.ec-tab{background:#0000;border:none;border-radius:8px 8px 0 0;color:var(--ec-muted);cursor:pointer;font-weight:600;padding:10px 16px}.ec-tab:hover{background:var(--ec-bg);color:var(--ec-text)}.ec-tab.active{border-bottom:2px solid var(--ec-primary);color:var(--ec-primary);margin-bottom:-1px}.ec-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.ec-subtab{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:999px;cursor:pointer;font-size:13px;padding:6px 12px}.ec-subtab.active{background:var(--ec-primary);border-color:var(--ec-primary);color:#fff}.ec-page-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.ec-page-head h1{font-size:1.5rem;font-weight:700;margin:0}.ec-page-head p{color:var(--ec-muted);font-size:14px;margin:4px 0 0}.ec-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:background .15s}.ec-btn:disabled{cursor:not-allowed;opacity:.55}.ec-btn-primary{background:var(--ec-primary);color:#fff}.ec-btn-primary:hover:not(:disabled){background:var(--ec-primary-hover)}.ec-btn-secondary{background:var(--ec-bg);border:1px solid var(--ec-border);color:var(--ec-text)}.ec-btn-secondary:hover:not(:disabled){background:#e2e8f0}.ec-btn-ghost{background:#0000;color:var(--ec-muted)}.ec-btn-ghost:hover:not(:disabled){background:var(--ec-bg);color:var(--ec-text)}.ec-btn-sm{font-size:13px;padding:6px 12px}.ec-card{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius);box-shadow:0 1px 2px #0f172a0a;margin-bottom:16px;padding:20px}.ec-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:20px}.ec-stat{background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius);padding:16px;text-align:center}.ec-stat-num{color:var(--ec-primary);font-size:1.75rem;font-weight:700}.ec-stat-label{color:var(--ec-muted);font-size:12px;margin-top:4px}.ec-input,.ec-select,.ec-textarea{background:#1e293b;border:1px solid var(--ec-border);border-radius:8px;color:#f8fafc;font-size:14px;padding:10px 12px;width:100%}.ec-input:focus,.ec-select:focus,.ec-textarea:focus{outline:2px solid var(--ec-primary);outline-offset:1px}.ec-label{color:var(--ec-text);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.ec-field{margin-bottom:14px}.ec-search-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.ec-search-row input{flex:1 1;min-width:200px}.ec-exam-row{align-items:flex-start;background:var(--ec-card);border:1px solid var(--ec-border);border-radius:var(--ec-radius);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px;padding:20px}.ec-badge{border-radius:6px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.ec-badge-purple{background:#ede9fe;color:#5b21b6}.ec-badge-green{background:#d1fae5;color:#065f46}.ec-badge-gray{background:#f1f5f9;color:#475569}.ec-modal-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.ec-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;max-width:560px;overflow:auto;width:100%}.ec-modal-header{align-items:center;border-bottom:1px solid var(--ec-border);display:flex;justify-content:space-between;padding:18px 20px}.ec-modal-header h2{font-size:1.15rem;margin:0}.ec-modal-close{background:#0000;border:none;color:var(--ec-muted);cursor:pointer;font-size:22px;line-height:1}.ec-modal-body{padding:20px}.ec-modal-footer{border-top:1px solid var(--ec-border);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.ec-loading{color:var(--ec-muted);padding:48px;text-align:center}.ec-qtext{line-height:1.45;white-space:pre-wrap;word-break:break-word}.examination-center .ec-bank-qtext .math-rendered,.examination-center .ec-qtext-math .math-rendered{line-height:1.5;white-space:pre-wrap;word-break:break-word}.examination-center .ec-bank-qtext .fraction,.examination-center .ec-qtext-math .fraction{align-items:center;display:inline-flex;flex-direction:column;font-size:.92em;margin:0 .15em;vertical-align:middle}.examination-center .ec-bank-qtext .numerator,.examination-center .ec-qtext-math .numerator{border-bottom:1px solid;line-height:1.2;padding:0 .2em 1px}.examination-center .ec-bank-qtext .denominator,.examination-center .ec-qtext-math .denominator{line-height:1.2;padding:1px .2em 0}.examination-center .ec-bank-qtext .sqrt,.examination-center .ec-qtext-math .sqrt{white-space:nowrap}.examination-center .ec-bank-qtext .sqrt-content,.examination-center .ec-qtext-math .sqrt-content{border-top:1px solid;margin-left:1px;padding:0 .15em}.examination-center .ec-bank-qtext sup,.examination-center .ec-qtext-math sup{font-size:.75em;vertical-align:super}.examination-center .ec-bank-qtext sub,.examination-center .ec-qtext-math sub{font-size:.75em;vertical-align:sub}.examination-center .ec-bank-qtext .math-bold,.examination-center .ec-qtext-math .math-bold{font-weight:700}.ec-grid-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:640px){.ec-grid-2{grid-template-columns:1fr}}.ec-tabs-inner{border-bottom:1px solid var(--ec-border);display:flex;gap:4px;margin-bottom:16px}.ec-tabs-inner button{background:none;border:none;border-bottom:2px solid #0000;color:var(--ec-muted);cursor:pointer;font-weight:600;margin-bottom:-1px;padding:10px 16px}.ec-tabs-inner button.active{border-bottom-color:var(--ec-primary);color:var(--ec-primary)}.ec-result-row.ec-card{margin-bottom:0}.ec-result-row-inner{align-items:center;display:flex;gap:16px;width:100%}.ec-result-ring{align-items:center;background:#fff;border:3px solid var(--ec-border);border-radius:50%;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.ec-result-ring-good{background:#f0fdf4;border-color:#86efac}.ec-result-ring-mid{background:#eff6ff;border-color:#93c5fd}.ec-result-ring-warn{background:#fefce8;border-color:#fde047}.ec-result-ring-bad{background:#fef2f2;border-color:#fca5a5}.ec-result-ring-text{line-height:1.1;text-align:center}.ec-result-pct{display:block;font-size:1rem;font-weight:800}.ec-result-letter{color:var(--ec-muted);display:block;font-size:11px;font-weight:700}.ec-result-body{flex:1 1;min-width:0}.ec-result-title{align-items:center;display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0 0 6px}.ec-result-meta{color:var(--ec-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-bottom:8px}.ec-result-meta span{align-items:center;display:inline-flex;gap:4px}.ec-result-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ec-result-chevron{color:var(--ec-muted);flex-shrink:0}.principal-kpi-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.principal-kpi-content{margin:0 auto;max-width:1100px;padding:16px}.principal-kpi-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.principal-kpi-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.principal-kpi-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.principal-kpi-context-tabs{-webkit-overflow-scrolling:touch;display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.principal-kpi-context-tab{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;flex:0 0 auto;font-size:.875rem;gap:6px;padding:10px 14px;transition:background .2s,border-color .2s,color .2s}.principal-kpi-context-tab:hover{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.principal-kpi-context-tab.active{background:#0e7490;background:var(--primary,#0e7490);border-color:#0e7490;border-color:var(--primary,#0e7490);color:#fff}.principal-kpi-context-icon{font-size:1.1rem}.principal-kpi-selectors{margin-bottom:12px}.principal-kpi-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.principal-kpi-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.principal-kpi-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.95rem;max-width:100%;padding:10px 12px}.principal-kpi-context-banner{background:#0e74901a;background:var(--primary-light,#0e74901a);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);font-size:.95rem;font-weight:500;margin:12px 0;padding:12px 14px}.principal-kpi-year-period{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr 1fr}@media (min-width:500px){.principal-kpi-year-period{grid-template-columns:auto auto}}.principal-kpi-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.principal-kpi-backend-banner p{font-size:.9rem;line-height:1.4;margin:0 0 12px}.principal-kpi-backend-banner code{background:#0000000f;border-radius:4px;font-size:.8em;padding:2px 6px}.principal-kpi-retry-all{background:#fff;border:1px solid #f87171;border-radius:8px;color:#991b1b;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.principal-kpi-retry-all:hover{background:#fee2e2}.principal-kpi-run-groups{margin-bottom:24px;padding:16px}.principal-kpi-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.principal-kpi-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.principal-kpi-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.principal-kpi-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #0e7490;border:1px solid var(--primary,#0e7490);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px}.principal-kpi-run-btn:hover:not(:disabled){background:#0e749014}.principal-kpi-run-btn:disabled{cursor:not-allowed;opacity:.7}.principal-kpi-run-all{background:#0e7490;background:var(--primary,#0e7490);color:#fff}.principal-kpi-run-all:hover:not(:disabled){background:#0c6378}.principal-kpi-summary-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.principal-kpi-card{border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px;text-align:center}.principal-kpi-card-value{font-size:1.75rem;font-weight:700;line-height:1.2}.principal-kpi-card-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.principal-kpi-card--on-track{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.principal-kpi-card--caution{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.principal-kpi-card--behind{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.principal-kpi-card--neutral{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);color:#1a1a2e;color:var(--text-primary,#1a1a2e)}@media (max-width:380px){.principal-kpi-summary-cards{grid-template-columns:1fr}}.principal-kpi-section{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.principal-kpi-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.principal-kpi-section-header h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0}.principal-kpi-refresh{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.8rem;padding:6px 12px}.principal-kpi-refresh:hover:not(:disabled){background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#0e7490;color:var(--primary,#0e7490)}.principal-kpi-refresh:disabled{cursor:not-allowed;opacity:.6}.principal-kpi-error,.principal-kpi-loading{font-size:.9rem;margin:0}.principal-kpi-error{color:#dc2626;color:var(--error,#dc2626)}.principal-kpi-empty{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;margin:0}.principal-kpi-list{margin:0;padding-left:1.25rem}.principal-kpi-list li{margin-bottom:6px}.principal-kpi-muted{color:#64748b;color:var(--text-secondary,#64748b);font-weight:400}.principal-kpi-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.principal-kpi-table{border-collapse:collapse;font-size:.875rem;min-width:320px;width:100%}.principal-kpi-table td,.principal-kpi-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:10px 12px;text-align:left}.principal-kpi-table th{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.principal-kpi-table th,.principal-kpi-table tr:hover td{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.principal-kpi-status{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.principal-kpi-status--on_track{background:#d1fae5;color:#065f46}.principal-kpi-status--caution{background:#fef3c7;color:#92400e}.principal-kpi-status--behind{background:#fee2e2;color:#991b1b}.principal-kpi-board-report{font-size:.9rem}.principal-kpi-board-summary{margin-bottom:12px}.principal-kpi-board-summary p{margin:0 0 6px}.principal-kpi-aggregated{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}@media (max-width:400px){.principal-kpi-aggregated{grid-template-columns:1fr}}.sports-days-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.sports-days-content{margin:0 auto;max-width:1100px;padding:16px}.sports-days-config{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.sports-days-config h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.sports-days-config-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.sports-days-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.sports-days-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.sports-days-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.sports-days-field{display:flex;flex-direction:column;gap:4px}.sports-days-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sports-days-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.sports-days-context-banner{background:#22c55e1a;border-radius:8px;color:#15803d;font-size:.95rem;font-weight:500;margin:12px 0 0;padding:10px 12px}.sports-days-date-range{margin-top:12px}.sports-days-date-range label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;margin-bottom:6px}.sports-days-date-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sports-days-date-inputs input{border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:.9rem;padding:8px 10px}.sports-days-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.sports-days-backend-banner p{font-size:.9rem;margin:0 0 10px}.sports-days-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.sports-days-retry{background:#fff;border:1px solid #f87171;border-radius:8px;color:#991b1b;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.sports-days-retry:hover{background:#fee2e2}.sports-days-run-groups{margin-bottom:24px;padding:16px}.sports-days-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.sports-days-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 14px}.sports-days-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.sports-days-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #22c55e;border-radius:8px;color:#15803d;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px}.sports-days-run-btn:hover:not(:disabled){background:#22c55e14}.sports-days-run-btn:disabled{cursor:not-allowed;opacity:.7}.sports-days-run-all{background:#22c55e;border-color:#22c55e;color:#fff}.sports-days-run-all:hover:not(:disabled){background:#16a34a}.sports-days-section{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.sports-days-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.sports-days-section-header h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;margin:0}.sports-days-refresh{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.8rem;padding:6px 12px}.sports-days-refresh:hover:not(:disabled){background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#15803d}.sports-days-refresh:disabled{cursor:not-allowed;opacity:.6}.sports-days-error,.sports-days-loading{font-size:.9rem;margin:0}.sports-days-error{color:#dc2626;color:var(--error,#dc2626)}.sports-days-empty{font-size:.9rem;margin:0}.sports-days-empty,.sports-days-more{color:#64748b;color:var(--text-secondary,#64748b)}.sports-days-more{font-size:.8rem;margin:8px 0 0}.sports-days-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.sports-days-table{border-collapse:collapse;font-size:.875rem;min-width:280px;width:100%}.sports-days-table td,.sports-days-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:10px 12px;text-align:left}.sports-days-table th{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600}.sports-days-table th,.sports-days-table tr:hover td{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.sports-days-hero{margin-bottom:24px;padding:20px 0 0}.sports-days-hero-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.5rem;font-weight:700;margin:0 0 8px}.sports-days-hero-welcome{color:#64748b;color:var(--text-secondary,#64748b);font-size:.95rem;line-height:1.5;margin:0}.sports-days-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}@media (min-width:500px){.sports-days-stats{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.sports-days-stats{grid-template-columns:repeat(6,1fr)}}.sports-days-stat-card{background:#fff;background:var(--card-bg,#fff);border-image:linear-gradient(90deg,#8b5cf6,#3b82f6) 1;border-radius:12px;border-top:3px solid #0000;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:4px;padding:16px}.sports-days-stat-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600}.sports-days-stat-value{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.5rem;font-weight:700}.sports-days-upcoming{margin-bottom:24px}.sports-days-upcoming-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.15rem;font-weight:700;margin:0 0 16px}.sports-days-upcoming-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:600px){.sports-days-upcoming-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.sports-days-upcoming-grid{grid-template-columns:repeat(3,1fr)}}.sports-days-activity-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px;position:relative}.sports-days-activity-tag{background:#dbeafe;border-radius:6px;color:#1d4ed8;font-size:.75rem;font-weight:600;padding:4px 10px;position:absolute;right:12px;top:12px}.sports-days-activity-name{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0 0 10px}.sports-days-activity-desc,.sports-days-activity-meta{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;margin:0 0 6px}.sports-days-management-section .sports-days-section-header{background:#22c55e;border-radius:12px 12px 0 0;color:#fff;margin:-16px -16px 12px;padding:14px 16px}.sports-days-management-section .sports-days-section-header h3{color:#fff;font-size:1.1rem;margin:0}.sports-days-management-section .sports-days-section-header .sports-days-refresh{background:#ffffff26;border-color:#fff9;color:#fff}.sports-days-management-table thead th{background:#22c55e;color:#fff;font-weight:600}.sports-days-event-name{font-weight:500}.sports-days-toggle{background:#e2e8f0;border-radius:10px;display:inline-block;font-size:12px;height:20px;line-height:20px;text-align:center;width:36px}.sports-days-actions{display:flex;flex-direction:column;gap:6px}.sports-days-btn-edit{background:#3b82f6}.sports-days-btn-edit,.sports-days-btn-view{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px}.sports-days-btn-view{background:#64748b}.sports-days-announcements-section{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.sports-days-announcements-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.25rem;font-weight:700;margin:0}.sports-days-announcements-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:600px){.sports-days-announcements-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.sports-days-announcements-grid{grid-template-columns:repeat(3,1fr)}}.sports-days-announcement-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px}.sports-days-announcement-card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.sports-days-announcement-icon{font-size:1.1rem}.sports-days-announcement-card-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);flex:1 1;font-size:1rem;font-weight:600;margin:0;min-width:0}.sports-days-announcement-tag{border-radius:20px;font-size:.75rem;font-weight:600;padding:4px 10px}.sports-days-announcement-tag--default,.sports-days-announcement-tag--general{background:#dcfce7;color:#166534}.sports-days-announcement-tag--high{background:#ffedd5;color:#c2410c}.sports-days-announcement-content{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;line-height:1.5;margin:0 0 12px}.sports-days-announcement-footer{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.sports-days-announcement-action{background:#dbeafe;border-radius:8px;color:#1d4ed8;font-size:.8rem;padding:6px 12px}.sports-days-announcement-time{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem}.sports-days-results-layout{grid-gap:20px;display:grid;gap:20px;margin-bottom:24px}@media (min-width:900px){.sports-days-results-layout{grid-template-columns:1fr 280px}}.sports-days-results-main{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px}.sports-days-results-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.15rem;font-weight:700;margin:0 0 16px}.sports-days-results-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}@media (min-width:500px){.sports-days-results-grid{grid-template-columns:repeat(3,1fr)}}.sports-days-result-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:14px}.sports-days-result-id{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.7rem;margin-bottom:6px}.sports-days-result-participant{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;font-weight:500;margin:0 0 4px}.sports-days-result-value{color:#15803d;font-size:1rem;font-weight:600}.sports-days-results-sidebar{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px}.sports-days-sidebar-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:700;margin:0 0 12px}.sports-days-sidebar-list{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;line-height:1.8;margin:0;padding-left:20px}.sports-days-registrations-table thead th{background:#dcfce7;color:#166534;font-weight:600}.library-system-page{background:#f5f6fa;background:var(--bg-secondary,#f5f6fa);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,80px)}.library-content{margin:0 auto;max-width:1200px;padding:16px}.card-like{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.library-config h2,.library-run-groups h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;margin:0 0 8px}.library-config-note,.library-run-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.875rem;margin:0 0 16px}.library-config-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr}@media (min-width:600px){.library-config-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.library-config-grid{grid-template-columns:auto 1fr 1fr 1fr}}.library-field{display:flex;flex-direction:column;gap:4px}.library-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.library-value{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:8px 10px}.library-context-banner{background:#0e74901a;background:var(--primary-light,#0e74901a);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);font-size:.9rem;margin:12px 0 0;padding:10px 12px}.library-date-range{margin-top:12px}.library-date-range label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;font-weight:600;margin-bottom:6px}.library-date-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.library-date-inputs input[type=date]{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;font-size:.9rem;padding:8px 10px}.library-backend-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;margin-bottom:20px;padding:14px 16px}.library-backend-banner p{font-size:.9rem;margin:0 0 10px}.library-backend-banner code{background:#0000000f;border-radius:4px;font-size:.85em;padding:2px 6px}.library-retry{background:#fff;border:1px solid #f87171;border-radius:8px;color:#991b1b;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.library-retry:hover{background:#fee2e2}.library-run-groups{margin-bottom:24px}.library-run-buttons{display:flex;flex-wrap:wrap;gap:10px}.library-run-btn{background:#fff;background:var(--card-bg,#fff);border:1px solid #0e7490;border:1px solid var(--primary,#0e7490);border-radius:8px;color:#0e7490;color:var(--primary,#0e7490);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px}.library-run-btn:hover:not(:disabled){background:#0e749014}.library-run-btn:disabled{cursor:not-allowed;opacity:.7}.library-run-all{background:#0e7490;background:var(--primary,#0e7490);border-color:#0e7490;border-color:var(--primary,#0e7490);color:#fff}.library-run-all:hover:not(:disabled){filter:brightness(1.05)}.library-group{margin-bottom:28px}.library-group-title{border-bottom:2px solid #0e7490;border-bottom:2px solid var(--primary,#0e7490);color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:0 0 12px;padding-bottom:6px}.library-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.library-section{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden;padding:16px}.library-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.library-section-header h3{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:600;margin:0}.library-refresh{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.8rem;padding:6px 12px}.library-refresh:hover:not(:disabled){background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);color:#0e7490;color:var(--primary,#0e7490)}.library-refresh:disabled{cursor:not-allowed;opacity:.6}.library-empty,.library-error,.library-loading{font-size:.9rem;margin:8px 0}.library-error{color:#dc2626;color:var(--error,#dc2626)}.library-empty{color:#64748b;color:var(--text-secondary,#64748b)}.library-table-wrap{-webkit-overflow-scrolling:touch;margin-top:8px;overflow-x:auto}.library-table{border-collapse:collapse;font-size:.85rem;min-width:320px;width:100%}.library-table td,.library-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);padding:8px 10px;text-align:left}.library-table th{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;white-space:nowrap}.library-table td{color:#1a1a2e;color:var(--text-primary,#1a1a2e);max-width:180px;overflow:hidden;text-overflow:ellipsis}.library-table tbody tr:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.library-more{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:8px 0 0}.library-group-dashboard{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px;padding:16px}.library-record-title{color:#64748b;color:var(--text-secondary,#64748b);font-size:1rem;font-weight:700;letter-spacing:.04em;margin:0 0 12px;text-transform:uppercase}.library-quick-active{background:#0e74901f!important;border-color:#0e7490!important;border-color:var(--primary,#0e7490)!important;color:#0e7490!important;color:var(--primary,#0e7490)!important}.library-borrowings-summary,.library-services-summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:16px 0}@media (min-width:500px){.library-borrowings-summary,.library-services-summary{grid-template-columns:repeat(4,1fr)}}.library-summary-card{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:12px;text-align:center}.library-summary-value{color:#0e7490;color:var(--primary,#0e7490);display:block;font-size:1.25rem;font-weight:700}.library-summary-label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.75rem;margin-top:4px}.library-banner-inline{margin-top:12px;padding:14px 16px}.library-banner-final{margin-top:24px}.library-block-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:700;margin:0 0 12px}.library-quick-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.library-quick-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #0000000f;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;font-weight:600;gap:8px;padding:16px 8px}.library-quick-btn:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-color:#0e7490;border-color:var(--primary,#0e7490);color:#0e7490;color:var(--primary,#0e7490)}.library-quick-icon{font-size:1.5rem}.library-categories-row{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.library-genre-cards{-webkit-overflow-scrolling:touch;display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.library-genre-card{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-size:.8rem;font-weight:600;gap:6px;padding:12px 8px;width:80px}.library-genre-card:hover{background:#0e749014;border-color:#0e7490;border-color:var(--primary,#0e7490)}.library-genre-icon{font-size:1.4rem}.library-category-list{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.library-category-item{align-items:flex-start;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:10px;display:flex;gap:12px;padding:12px}.library-cat-icon{font-size:1.2rem}.library-cat-desc{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:4px 0 0}.library-top-picks{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.library-book-list{list-style:none;margin:0 0 16px;padding:0}.library-book-item{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);display:flex;gap:12px;padding:12px 0}.library-book-item:last-child{border-bottom:none}.library-book-icon{flex-shrink:0;font-size:1.4rem}.library-book-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:block;font-size:.95rem}.library-book-author{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin:2px 0 0}.library-cta-btn{background:#1a1a2e;background:var(--text-primary,#1a1a2e);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.03em;padding:12px 16px;text-transform:uppercase;width:100%}.library-cta-btn:hover{filter:brightness(1.1)}.library-featured{margin-bottom:24px}.library-featured-banner{background:#e2e8f0;background:var(--bg-secondary,#e2e8f0);border-radius:12px;padding:32px 20px;text-align:center}.library-featured-text{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:700;line-height:1.4;margin:0 0 12px}.library-carousel-dots{display:flex;gap:8px;justify-content:center}.library-dot{background:#0003;border-radius:50%;height:8px;width:8px}.library-dot-active{background:#1a1a2e;background:var(--text-primary,#1a1a2e)}.library-reviews{margin-bottom:24px}.library-reviews-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.library-outline-btn{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:.85rem;padding:8px 14px}.library-outline-btn:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.library-reviews-scroll{-webkit-overflow-scrolling:touch;display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.library-review-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 4px #0000000f;flex-shrink:0;padding:14px;width:260px}.library-review-head{align-items:center;display:flex;gap:8px;margin-bottom:8px}.library-review-avatar{align-items:center;background:#e2e8f0;background:var(--bg-secondary,#e2e8f0);border-radius:50%;display:flex;font-size:1rem;height:32px;justify-content:center;width:32px}.library-review-username{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;font-weight:600}.library-review-stars{color:#eab308;font-size:.9rem;margin-bottom:6px}.library-review-quote{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;line-height:1.4;margin:0 0 10px}.library-review-actions{color:#64748b;color:var(--text-secondary,#64748b);display:flex;font-size:.8rem;gap:12px}.library-search-sort{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.library-filter-block,.library-search-block,.library-sort-block{margin-bottom:14px}.library-filter-block:last-child,.library-search-block:last-child,.library-sort-block:last-child{margin-bottom:0}.library-label{color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.library-newsletter-input,.library-search-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.9rem;padding:10px 12px;width:100%}.library-newsletter-input::placeholder,.library-search-input::placeholder{color:#94a3b8;color:var(--text-secondary,#94a3b8)}.library-filter-chips,.library-sort-chips{display:flex;flex-wrap:wrap;gap:8px}.library-chip{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:.85rem;padding:8px 14px}.library-chip:hover{background:#e2e8f0;background:var(--border,#e2e8f0)}.library-chip-active{background:#1a1a2e;background:var(--text-primary,#1a1a2e);border-color:#1a1a2e;border-color:var(--text-primary,#1a1a2e);color:#fff}.library-newsletter{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:16px}.library-newsletter .library-block-title{margin-bottom:12px}.library-banner{background:#e2e8f0;background:var(--bg-secondary,#e2e8f0);border-radius:12px;padding:24px 16px;text-align:center}.library-banner-text{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1rem;font-weight:700;margin:0 0 12px}.library-banner .library-carousel-dots{margin:0}.modern-login-container{align-items:center;background:linear-gradient(135deg,#1e3a8a,#3730a3 50%,#4c1d95);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:520px;padding:48px;width:100%}.login-header{margin-bottom:32px;text-align:center}.app-logo{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;box-shadow:0 4px 16px #8b5cf64d;display:inline-flex;gap:12px;padding:12px 24px}.app-logo--image-only{background:none;border-radius:0;box-shadow:none;padding:0}.app-logo--image-only .logo-icon-img{display:block;height:240px;max-width:720px;object-fit:contain;width:auto}.logo-icon{font-size:32px}.logo-icon-img{display:block;height:40px;max-width:180px;object-fit:contain;width:auto}.logo-text{color:#fff;font-size:24px;font-weight:700;letter-spacing:-.5px}.welcome-section{margin-bottom:32px;text-align:center}.welcome-section h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.welcome-section p{color:#64748b;font-size:16px;margin:0}.quick-login-toggle{background:linear-gradient(135deg,#f0f2ff,#e9d5ff);border:2px solid #c7d2fe;border-radius:12px;color:#6366f1;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:24px;padding:12px;transition:all .3s ease;width:100%}.quick-login-toggle:hover{background:linear-gradient(135deg,#e0e7ff,#ddd6fe);box-shadow:0 4px 12px #6366f133;transform:translateY(-2px)}.tenant-selection{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:16px;margin-bottom:24px;padding:20px}.tenant-header{align-items:center;display:flex;gap:10px;margin-bottom:16px}.tenant-icon{font-size:20px}.tenant-label{color:#475569;flex:1 1;font-size:14px;font-weight:700}.hide-btn{background:none;border:none;border-radius:8px;color:#6366f1;cursor:pointer;font-size:13px;font-weight:600;padding:4px 12px;transition:all .2s ease}.hide-btn:hover{background:#f0f2ff}.tenant-list{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto;padding-right:8px}.tenant-list::-webkit-scrollbar{width:6px}.tenant-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.tenant-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.tenant-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tenant-item{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:all .3s ease}.tenant-item:hover{background:#f8faff;border-color:#a5b4fc;transform:translateX(4px)}.tenant-item.selected{background:linear-gradient(135deg,#f0f2ff,#f8faff);border-color:#6366f1;box-shadow:0 2px 8px #6366f126}.tenant-info{align-items:center;display:flex;flex:1 1;gap:12px}.tenant-icon-small{font-size:18px}.tenant-details{flex:1 1}.tenant-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:2px}.tenant-code{color:#64748b;font-size:11px;font-weight:500}.selected-check{color:#6366f1;font-size:20px;font-weight:700}.selected-tenant-info{background:linear-gradient(135deg,#f0f2ff,#e9d5ff);border-radius:10px;color:#6366f1;font-size:13px;font-weight:600;margin-top:12px;padding:10px 14px;text-align:center}.continue-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;box-shadow:0 4px 16px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;margin-top:24px;padding:16px;transition:all .3s ease;width:100%}.continue-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 6px 24px #8b5cf666;transform:translateY(-2px)}.continue-btn:disabled{cursor:not-allowed;opacity:.6}.email-login-link{background:none;border:none;color:#6366f1;cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;padding:12px;text-decoration:underline;transition:all .2s ease;width:100%}.email-login-link:hover{color:#4f46e5}.back-to-tenant-btn{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:24px;padding:12px;transition:all .3s ease;width:100%}.back-to-tenant-btn:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateX(-4px)}.current-tenant-display{align-items:center;background:linear-gradient(135deg,#f0f2ff,#e9d5ff);border:2px solid #c7d2fe;border-radius:14px;display:flex;gap:14px;margin-bottom:24px;padding:16px 20px}.tenant-icon-display{font-size:28px}.tenant-info-display{flex:1 1}.tenant-name-display{color:#1e293b;font-size:15px;font-weight:700;margin-bottom:2px}.tenant-code-display{color:#6366f1;font-size:12px;font-weight:600}.back-to-tenant-selection{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;padding:12px;transition:all .3s ease;width:100%}.back-to-tenant-selection:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateX(-4px)}.quick-login-section{margin-bottom:24px}.section-header{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:700;gap:10px;margin-bottom:16px}.section-icon{font-size:18px}.user-roles-grid{display:flex;flex-direction:column;gap:10px}.role-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:14px;padding:14px 16px;text-align:left;transition:all .3s ease}.role-button:hover:not(:disabled){background:#faf5ff;border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626;transform:translateY(-2px)}.role-button:disabled{cursor:not-allowed;opacity:.5}.role-icon{font-size:28px}.role-info{flex:1 1}.role-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:2px}.role-email{color:#64748b;font-size:12px;font-weight:500}.role-arrow{color:#8b5cf6;font-size:20px;font-weight:700}.quick-login-note{color:#64748b;font-size:12px;font-style:italic;margin-top:16px;text-align:center}.email-login-form{margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{color:#475569;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{font-size:18px;left:14px;position:absolute;z-index:1}.input-wrapper input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#1e293b;font-size:15px;padding:14px 14px 14px 46px;transition:all .3s ease;width:100%}.input-wrapper input:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf614;outline:none}.toggle-password{background:none;border:none;border-radius:6px;cursor:pointer;font-size:18px;padding:4px;position:absolute;right:14px;transition:all .2s ease}.toggle-password:hover{background:#f1f5f9}.form-options{justify-content:space-between;margin-bottom:24px}.form-options,.remember-me{align-items:center;display:flex}.remember-me{color:#475569;cursor:pointer;font-size:14px;gap:8px}.remember-me input[type=checkbox]{accent-color:#8b5cf6;cursor:pointer;height:18px;width:18px}.forgot-password{background:none;border:none;color:#6366f1;cursor:pointer;font-size:14px;font-weight:600;text-decoration:none}.forgot-password:hover{text-decoration:underline}.error-message{background:#fee2e2;border:2px solid #fecaca;border-radius:10px;color:#dc2626}.error-message,.success-message{font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px}.success-message{background:#dcfce7;border:2px solid #86efac;border-radius:10px;color:#166534}.signup-title{color:#1e293b;font-size:20px;font-weight:700;margin-bottom:16px;text-align:center}.role-toggle-group{margin-bottom:20px}.role-toggle-label{color:#475569;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.role-toggle-options{display:flex;gap:8px}.role-chip{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 10px;transition:all .2s ease}.role-chip input[type=radio]{display:none}.role-chip--active{background:#eef2ff;border-color:#6366f1;color:#4338ca;font-weight:600}.sign-in-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;box-shadow:0 4px 16px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:16px;transition:all .3s ease;width:100%}.sign-in-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 6px 24px #8b5cf666;transform:translateY(-2px)}.sign-in-btn:disabled{cursor:not-allowed;opacity:.6}.btn-icon{font-size:20px}.form-footer{color:#64748b;font-size:14px;margin-top:20px;text-align:center}.sign-up-link{background:none;border:none;color:#6366f1;cursor:pointer;font-weight:600;text-decoration:none}.sign-up-link:hover{text-decoration:underline}.back-to-quick-login{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;padding:12px;transition:all .3s ease;width:100%}.back-to-quick-login:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateX(-4px)}.login-footer{border-top:1px solid #e2e8f0;color:#94a3b8;font-size:12px;padding-top:24px;text-align:center}.loading-tenants{padding:60px 20px;text-align:center}.spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#8b5cf6;height:40px;margin:0 auto 16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-tenants p{color:#64748b;font-size:16px;font-weight:500}@media (max-width:640px){.login-card{padding:32px 24px}.welcome-section h1{font-size:26px}.tenant-list{max-height:220px}.role-button{padding:12px 14px}.role-icon{font-size:24px}.role-name{font-size:13px}.role-email{font-size:11px}}.bottom-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-surface);background:#fffffff2;border-top:1px solid var(--border-default);bottom:0;box-shadow:var(--shadow-lg);height:64px;justify-content:space-around;left:0;padding:0;position:fixed;right:0;z-index:var(--z-sticky)}.bottom-nav,.bottom-nav-item{align-items:center;display:flex}.bottom-nav-item{background:#0000;border:none;color:var(--text-tertiary);cursor:pointer;flex:1 1;flex-direction:column;gap:var(--spacing-1);height:100%;justify-content:center;min-width:44px;padding:var(--spacing-2);transition:all var(--transition-fast)}.bottom-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.bottom-nav-item.active{color:var(--primary-600);position:relative}.bottom-nav-item.active:before{background:var(--primary-gradient);border-radius:var(--radius-full);content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:40px}.bottom-nav-icon{flex-shrink:0;font-size:var(--text-xl);line-height:1}.bottom-nav-icon-img{display:block;height:36px;min-height:36px;min-width:36px;object-fit:contain;width:36px}@media (max-width:430px){.bottom-nav-icon-img{height:40px;min-height:40px;min-width:40px;width:40px}}.bottom-nav-label{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:1}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.1)}.bottom-nav-item.active .bottom-nav-label{font-weight:var(--font-semibold)}.bottom-nav-item.more-btn .bottom-nav-icon{font-size:2rem;font-weight:700}.more-menu-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.more-menu{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;bottom:80px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:500px;overflow:hidden;position:fixed;transform:translateX(-50%);width:90%;z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.more-menu-header{align-items:center;border-bottom:1px solid #e1e8ed;display:flex;flex-shrink:0;justify-content:space-between;padding:.6rem 1rem}.more-menu-header h3{color:#1a202c;font-size:.95rem;font-weight:600;margin:0}.more-menu-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;transition:all .2s ease;width:28px}.more-menu-close:hover{background:#f1f5f9;color:#1a202c}.more-menu-grid{grid-gap:.5rem;-webkit-overflow-scrolling:touch;display:grid;flex:1 1;gap:.5rem;grid-template-columns:repeat(4,1fr);min-height:0;overflow-x:hidden;overflow-y:auto;padding:.75rem 1rem}.more-menu-item{align-items:center;background:#f8f9fa;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;justify-content:flex-start;min-height:80px;padding:.5rem .35rem;position:relative;transition:all .2s ease}.more-menu-item:hover{background:#e9ecef;transform:translateY(-1px)}.more-menu-item.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000}.more-menu-icon{align-items:center;display:flex;flex-shrink:0;font-size:.9rem;justify-content:center;line-height:1;min-height:48px}.more-menu-icon-img{display:block;flex-shrink:0;height:48px;min-height:48px;min-width:48px;object-fit:contain;width:48px}.more-menu-item.active .more-menu-icon{filter:brightness(0) invert(1)}.more-menu-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a202c;display:-webkit-box;font-size:.6rem;font-weight:500;line-height:1.15;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis}.more-menu-item.active .more-menu-label{color:#fff;font-weight:600}@media (max-width:430px){.more-menu-item{min-height:88px;padding:.5rem .25rem}.more-menu-icon{min-height:52px}.more-menu-icon-img{height:52px;min-height:52px;min-width:52px;width:52px}.more-menu-label{font-size:.58rem}}body.dark-mode .more-menu{background:#1a1f3a}body.dark-mode .more-menu-header{border-bottom-color:#ffffff1a}body.dark-mode .more-menu-header h3{color:#fff}body.dark-mode .more-menu-close{color:#fff9}body.dark-mode .more-menu-close:hover{background:#ffffff1a;color:#fff}body.dark-mode .more-menu-item{background:#ffffff0d}body.dark-mode .more-menu-item:hover{background:#ffffff1a}body.dark-mode .more-menu-label{color:#fff}body.light-mode .more-menu{background:#fff;border:1px solid #e1e8ed}body.light-mode .more-menu-item{background:#f8f9fa}body.light-mode .more-menu-item:hover{background:#e9ecef}body.comfort-mode .more-menu{background:#2d3748}body.comfort-mode .more-menu-header{border-bottom-color:#ffffff26}body.comfort-mode .more-menu-header h3{color:#f7fafc}body.comfort-mode .more-menu-close{color:#cbd5e0}body.comfort-mode .more-menu-close:hover{background:#ffffff1a;color:#fff}body.comfort-mode .more-menu-item{background:#ffffff14}body.comfort-mode .more-menu-item:hover{background:#ffffff1f}body.comfort-mode .more-menu-label{color:#f7fafc}@media (max-width:768px){.bottom-nav{height:calc(64px + env(safe-area-inset-bottom, 0));padding-bottom:env(safe-area-inset-bottom,0)}.more-menu{bottom:90px;max-height:80vh;width:95%}.more-menu-grid{grid-template-columns:repeat(3,1fr)}}.more-menu-item.admin-only{background:#ef44441a;border:1px solid #ef4444}.more-menu-item.admin-only:hover{background:#ef444433;border-color:#dc2626}.more-menu-item.admin-only.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ef4444bf}body.dark-mode .more-menu-item.admin-only.active{border-color:#fca5a5e6}.admin-badge{background:#ef4444;border-radius:2px;color:#fff;font-size:6px;font-weight:700;letter-spacing:.3px;padding:1px 3px;position:absolute;right:2px;top:2px}@media (prefers-color-scheme:dark){.bottom-nav{background:#14141ef2;border-top-color:var(--gray-800)}}.test-mode-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.test-mode-modal{animation:modalSlideIn .3s ease-out;background:#1a1a2e;background:var(--card-bg,#1a1a2e);border-radius:20px;box-shadow:0 20px 60px #00000080;max-height:85vh;max-width:800px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.test-mode-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:24px}.test-mode-header h2{font-size:24px;font-weight:700;margin:0}.close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.test-mode-content{max-height:calc(85vh - 100px);overflow-y:auto;padding:24px}.class-filter-section{margin-bottom:32px}.class-filter-section h3{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:18px;font-weight:600;margin:0 0 16px}.class-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.class-btn{background:#2a2a3e;background:var(--input-bg,#2a2a3e);border:2px solid #3a3a4e;border:2px solid var(--border-color,#3a3a4e);border-radius:12px;cursor:pointer;padding:16px;text-align:center;transition:all .2s ease}.class-btn:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.class-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea66}.class-name{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:18px;font-weight:700;margin-bottom:4px}.class-btn.active .class-name{color:#fff}.class-level{color:#a0a0a0;color:var(--text-secondary,#a0a0a0);font-size:12px}.class-btn.active .class-level{color:#fffc}.student-list-section{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.student-list-section h3{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:18px;font-weight:600;margin:0 0 16px}.search-box{margin-bottom:16px}.search-input{background:#2a2a3e;background:var(--input-bg,#2a2a3e);border:2px solid #3a3a4e;border:2px solid var(--border-color,#3a3a4e);border-radius:12px;color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-input::placeholder{color:#7a7a8e;color:var(--text-secondary,#7a7a8e)}.student-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding-right:8px}.student-list::-webkit-scrollbar{width:6px}.student-list::-webkit-scrollbar-track{background:#2a2a3e;background:var(--input-bg,#2a2a3e);border-radius:3px}.student-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.student-item{align-items:center;background:#2a2a3e;background:var(--input-bg,#2a2a3e);border:2px solid #3a3a4e;border:2px solid var(--border-color,#3a3a4e);border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:16px;text-align:left;transition:all .2s ease;width:100%}.student-item:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea;transform:translateX(4px)}.student-info{flex:1 1}.student-name{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:16px;font-weight:600;margin-bottom:4px}.student-number{color:#a0a0a0;color:var(--text-secondary,#a0a0a0);font-size:13px}.select-arrow{color:#667eea;font-size:20px;font-weight:700}.empty-state,.loading-state{color:#a0a0a0;color:var(--text-secondary,#a0a0a0);padding:40px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-text{color:#a0a0a0;color:var(--text-secondary,#a0a0a0);font-size:16px}.light .test-mode-modal{background:#fff}.light .class-btn,.light .search-input,.light .student-item{background:#f5f5f5;border-color:#e0e0e0}.light .class-name,.light .student-name{color:#1a1a2e}.light .class-level,.light .empty-text,.light .student-number{color:#666}.light .search-input::placeholder{color:#999}.comfort .test-mode-modal{background:#f9f6f0}.comfort .class-btn,.comfort .search-input,.comfort .student-item{background:#fff;border-color:#d4c4a8}.comfort .class-name,.comfort .student-name{color:#3e2723}.comfort .class-level,.comfort .student-number{color:#8d6e63}