@charset "UTF-8";
/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{background-color:#fff;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;text-align:left}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;margin-top:0}p{margin-bottom:1rem;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}a{background-color:initial;color:#007bff;text-decoration:none}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{-ms-overflow-style:scrollbar;margin-bottom:1rem;margin-top:0;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}caption{caption-side:bottom;color:#6c757d;padding-bottom:.75rem;padding-top:.75rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{border:0;border-top:1px solid #0000001a;margin-bottom:1rem;margin-top:1rem}.small,small{font-size:.875em;font-weight:400}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote-footer{color:#6c757d;display:block;font-size:.875em}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#6c757d;font-size:90%}code{word-wrap:break-word;color:#e83e8c;font-size:87.5%}a>code{color:inherit}kbd{background-color:#212529;border-radius:.2rem;color:#fff;font-size:87.5%;padding:.2rem .4rem}kbd kbd{font-size:100%;font-weight:700;padding:0}pre{color:#212529;display:block;font-size:87.5%}pre code{color:inherit;font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;max-width:100%;width:auto}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;max-width:100%;width:auto}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;max-width:100%;width:auto}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;max-width:100%;width:auto}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;max-width:100%;width:auto}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{color:#212529;margin-bottom:1rem;width:100%}.table td,.table th{border-top:1px solid #dee2e6;padding:.75rem;vertical-align:top}.table thead th{border-bottom:2px solid #dee2e6;vertical-align:bottom}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);color:#212529}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{background-color:#343a40;border-color:#454d55;color:#fff}.table .thead-light th{background-color:#e9ecef;border-color:#dee2e6;color:#495057}.table-dark{background-color:#343a40;color:#fff}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:#ffffff0d}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075);color:#fff}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive>.table-bordered{border:0}.form-control{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:initial;border:0}.form-control:focus{background-color:#fff;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;color:#495057;outline:0}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;appearance:none}select.form-control:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{background-color:#fff;color:#495057}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.25rem;line-height:1.5;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.875rem;line-height:1.5;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-control-plaintext{background-color:initial;border:solid #0000;border-width:1px 0;color:#212529;display:block;font-size:1rem;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:.2rem;font-size:.875rem;height:calc(1.5em + .5rem + 2px);line-height:1.5;padding:.25rem .5rem}.form-control-lg{border-radius:.3rem;font-size:1.25rem;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem 1rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{display:block;padding-left:1.25rem;position:relative}.form-check-input{margin-left:-1.25rem;margin-top:.3rem;position:absolute}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{align-items:center;display:inline-flex;margin-right:.75rem;padding-left:0}.form-check-inline .form-check-input{margin-left:0;margin-right:.3125rem;margin-top:0;position:static}.valid-feedback{color:#28a745;display:none;font-size:.875em;margin-top:.25rem;width:100%}.valid-tooltip{background-color:#28a745e6;border-radius:.25rem;color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#28a745;padding-right:calc(1.5em + .75rem)!important}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.was-validated select.form-control:valid,select.form-control.is-valid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-valid,.was-validated .custom-select:valid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#34ce57;border-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #28a74540}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.invalid-feedback{color:#dc3545;display:none;font-size:.875em;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:#dc3545e6;border-radius:.25rem;color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.was-validated select.form-control:invalid,select.form-control.is-invalid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e4606d;border-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #dc354540}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-inline{align-items:center;display:flex;flex-flow:row wrap}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{align-items:center;display:flex;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{align-items:center;display:flex;justify-content:center;padding-left:0;width:auto}.form-inline .form-check-input{flex-shrink:0;margin-left:0;margin-right:.25rem;margin-top:0;position:relative}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{background-color:initial;border:1px solid #0000;border-radius:.25rem;color:#212529;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{background-color:#007bff;border-color:#007bff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem #268fff80}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#0062cc;border-color:#005cbf;color:#fff}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #268fff80}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem #828a9180}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #828a9180}.btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem #48b46180}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#1e7e34;border-color:#1c7430;color:#fff}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #48b46180}.btn-info{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem #3ab0c380}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#117a8b;border-color:#10707f;color:#fff}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #3ab0c380}.btn-warning{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem #deaa0c80}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#d39e00;border-color:#c69500;color:#212529}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #deaa0c80}.btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem #e1536180}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#bd2130;border-color:#b21f2d;color:#fff}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #e1536180}.btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-dark{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem #52585d80}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #52585d80}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary:hover{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem #007bff80}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:initial;color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #007bff80}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:initial;color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-outline-success{border-color:#28a745;color:#28a745}.btn-outline-success:hover{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem #28a74580}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:initial;color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #28a74580}.btn-outline-info{border-color:#17a2b8;color:#17a2b8}.btn-outline-info:hover{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem #17a2b880}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:initial;color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #17a2b880}.btn-outline-warning{border-color:#ffc107;color:#ffc107}.btn-outline-warning:hover{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem #ffc10780}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:initial;color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ffc10780}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem #dc354580}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:initial;color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #dc354580}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:initial;color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-dark{border-color:#343a40;color:#343a40}.btn-outline-dark:hover{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem #343a4080}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:initial;color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #343a4080}.btn-link{color:#007bff;font-weight:400;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;position:relative;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{height:auto;transition:width .35s ease;width:0}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid #0000;border-right:.3em solid #0000;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #00000026;border-radius:.25rem;color:#212529;display:none;float:left;font-size:1rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}@media (min-width:576px){.dropdown-menu-sm-left{left:0;right:auto}.dropdown-menu-sm-right{left:auto;right:0}}@media (min-width:768px){.dropdown-menu-md-left{left:0;right:auto}.dropdown-menu-md-right{left:auto;right:0}}@media (min-width:992px){.dropdown-menu-lg-left{left:0;right:auto}.dropdown-menu-lg-right{left:auto;right:0}}@media (min-width:1200px){.dropdown-menu-xl-left{left:0;right:auto}.dropdown-menu-xl-right{left:auto;right:0}}.dropup .dropdown-menu{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid #0000;border-right:.3em solid #0000;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}.dropright .dropdown-toggle:after{border-bottom:.3em solid #0000;border-left:.3em solid;border-right:0;border-top:.3em solid #0000;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}.dropleft .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:before{border-bottom:.3em solid #0000;border-right:.3em solid;border-top:.3em solid #0000;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{bottom:auto;right:auto}.dropdown-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden}.dropdown-item{background-color:initial;border:0;clear:both;color:#212529;display:block;font-weight:400;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:#e9ecef;color:#16181b;text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:#007bff;color:#fff;text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:initial;color:#adb5bd;pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:#6c757d;display:block;font-size:.875rem;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-item-text{color:#212529;display:block;padding:.25rem 1.5rem}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{align-items:stretch;flex-wrap:wrap;position:relative;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{flex:1 1 auto;margin-bottom:0;min-width:0;position:relative;width:1%}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group>.custom-file{align-items:center;display:flex}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-bottom-left-radius:0;border-top-left-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:flex;font-size:1rem;font-weight:400;line-height:1.5;margin-bottom:0;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-bottom-left-radius:0;border-top-left-radius:0}.custom-control{display:block;min-height:1.5rem;padding-left:1.5rem;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;z-index:1}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{height:1.25rem;left:0;opacity:0;position:absolute;width:1rem;z-index:-1}.custom-control-input:checked~.custom-control-label:before{background-color:#007bff;border-color:#007bff;color:#fff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #007bff40}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{background-color:#b3d7ff;border-color:#b3d7ff;color:#fff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{margin-bottom:0;position:relative;vertical-align:top}.custom-control-label:before{background-color:#fff;border:1px solid #adb5bd;pointer-events:none}.custom-control-label:after,.custom-control-label:before{content:"";display:block;height:1rem;left:-1.5rem;position:absolute;top:.25rem;width:1rem}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#007bff;border-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:#007bff80}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#007bff80}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{border-radius:.5rem;left:-2.25rem;pointer-events:all;width:1.75rem}.custom-switch .custom-control-label:after{background-color:#adb5bd;border-radius:.5rem;height:calc(1rem - 4px);left:calc(-2.25rem + 2px);top:calc(.25rem + 2px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:calc(1rem - 4px)}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#007bff80}.custom-select{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:inline-block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem 1.75rem .375rem .75rem;vertical-align:middle;width:100%}.custom-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.custom-select:focus::-ms-value{background-color:#fff;color:#495057}.custom-select[multiple],.custom-select[size]:not([size="1"]){background-image:none;height:auto;padding-right:.75rem}.custom-select:disabled{background-color:#e9ecef;color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.custom-select-sm{font-size:.875rem;height:calc(1.5em + .5rem + 2px);padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.custom-select-lg{font-size:1.25rem;height:calc(1.5em + 1rem + 2px);padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{height:calc(1.5em + .75rem + 2px);position:relative;width:100%}.custom-file-input{margin:0;opacity:0;overflow:hidden;z-index:2}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;font-weight:400;height:calc(1.5em + .75rem + 2px);left:0;overflow:hidden;z-index:1}.custom-file-label,.custom-file-label:after{color:#495057;line-height:1.5;padding:.375rem .75rem;position:absolute;right:0;top:0}.custom-file-label:after{background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0;bottom:0;content:"Browse";display:block;height:calc(1.5em + .75rem);z-index:3}.custom-range{-webkit-appearance:none;appearance:none;background-color:initial;height:1.4rem;padding:0;width:100%}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-moz-range-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-left:.2rem;margin-right:.2rem;margin-top:0;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{background-color:initial;border-color:#0000;border-width:.5rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;cursor:default;pointer-events:none}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{background-color:initial;border:1px solid #0000;border-top-left-radius:.25rem;border-top-right-radius:.25rem;margin-bottom:-1px}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{background-color:initial;border-color:#0000;color:#6c757d}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#fff;border-color:#dee2e6 #dee2e6 #fff;color:#495057}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.nav-pills .nav-link{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#007bff;color:#fff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{padding:.5rem 1rem;position:relative}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{display:inline-block;font-size:1.25rem;line-height:inherit;margin-right:1rem;padding-bottom:.3125rem;padding-top:.3125rem;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link{padding-left:0;padding-right:0}.navbar-nav .dropdown-menu{float:none;position:static}.navbar-text{display:inline-block;padding-bottom:.5rem;padding-top:.5rem}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:initial;border:1px solid #0000;border-radius:.25rem;font-size:1.25rem;line-height:1;padding:.25rem .75rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{background:50%/100% 100% no-repeat;content:"";display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:#000000e6}.navbar-light .navbar-nav .nav-link{color:#00000080}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:#000000e6}.navbar-light .navbar-toggler{border-color:#0000001a;color:#00000080}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:#00000080}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#000000e6}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#ffffff80}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{border-color:#ffffff1a;color:#ffffff80}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:#ffffff80}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{word-wrap:break-word;background-clip:initial;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;display:flex;flex-direction:column;min-width:0;position:relative}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{background-color:#00000008;border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0;padding:.75rem 1.25rem}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{background-color:#00000008;border-top:1px solid rgba(0,0,0,.125);padding:.75rem 1.25rem}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{border-radius:calc(.25rem - 1px);bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{flex:1 0;margin-bottom:0;margin-left:15px;margin-right:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{background-color:#e9ecef;border-radius:.25rem;flex-wrap:wrap;list-style:none;margin-bottom:1rem;padding:.75rem 1rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{color:#6c757d;content:"/";float:left;padding-right:.5rem}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{border-radius:.25rem;display:flex;list-style:none;padding-left:0}.page-link{background-color:#fff;border:1px solid #dee2e6;color:#007bff;display:block;line-height:1.25;margin-left:-1px;padding:.5rem .75rem;position:relative}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6;color:#0056b3;text-decoration:none;z-index:2}.page-link:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0;z-index:3}.page-item:first-child .page-link{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem;margin-left:0}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{background-color:#007bff;border-color:#007bff;color:#fff;z-index:3}.page-item.disabled .page-link{background-color:#fff;border-color:#dee2e6;color:#6c757d;cursor:auto;pointer-events:none}.pagination-lg .page-link{font-size:1.25rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{border-radius:.25rem;font-size:75%;font-weight:700;line-height:1;padding:.25em .4em;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:initial}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}.badge-primary{background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{background-color:#0062cc;color:#fff}a.badge-primary.focus,a.badge-primary:focus{box-shadow:0 0 0 .2rem #007bff80;outline:0}.badge-secondary{background-color:#6c757d;color:#fff}a.badge-secondary:focus,a.badge-secondary:hover{background-color:#545b62;color:#fff}a.badge-secondary.focus,a.badge-secondary:focus{box-shadow:0 0 0 .2rem #6c757d80;outline:0}.badge-success{background-color:#28a745;color:#fff}a.badge-success:focus,a.badge-success:hover{background-color:#1e7e34;color:#fff}a.badge-success.focus,a.badge-success:focus{box-shadow:0 0 0 .2rem #28a74580;outline:0}.badge-info{background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{background-color:#117a8b;color:#fff}a.badge-info.focus,a.badge-info:focus{box-shadow:0 0 0 .2rem #17a2b880;outline:0}.badge-warning{background-color:#ffc107;color:#212529}a.badge-warning:focus,a.badge-warning:hover{background-color:#d39e00;color:#212529}a.badge-warning.focus,a.badge-warning:focus{box-shadow:0 0 0 .2rem #ffc10780;outline:0}.badge-danger{background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{background-color:#bd2130;color:#fff}a.badge-danger.focus,a.badge-danger:focus{box-shadow:0 0 0 .2rem #dc354580;outline:0}.badge-light{background-color:#f8f9fa;color:#212529}a.badge-light:focus,a.badge-light:hover{background-color:#dae0e5;color:#212529}a.badge-light.focus,a.badge-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80;outline:0}.badge-dark{background-color:#343a40;color:#fff}a.badge-dark:focus,a.badge-dark:hover{background-color:#1d2124;color:#fff}a.badge-dark.focus,a.badge-dark:focus{box-shadow:0 0 0 .2rem #343a4080;outline:0}.jumbotron{background-color:#e9ecef;border-radius:.3rem;margin-bottom:2rem;padding:2rem 1rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{border-radius:0;padding-left:0;padding-right:0}.alert{border:1px solid #0000;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem;position:relative}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{color:inherit;padding:.75rem 1.25rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{background-color:#cce5ff;border-color:#b8daff;color:#004085}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#818182}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{background-color:#e9ecef;border-radius:.25rem;display:flex;font-size:.75rem;height:1rem;line-height:0;overflow:hidden}.progress-bar{background-color:#007bff;color:#fff;display:flex;flex-direction:column;justify-content:center;text-align:center;transition:width .6s ease;white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{align-items:flex-start;display:flex}.media-body{flex:1 1}.list-group{border-radius:.25rem;display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{color:#495057;text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}.list-group-item-action:active{background-color:#e9ecef;color:#212529}.list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);display:block;padding:.75rem 1.25rem;position:relative}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}.list-group-item.active{background-color:#007bff;border-color:#007bff;color:#fff;z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:1px;margin-top:-1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#b8daff;color:#004085}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#9fcdff;color:#004085}.list-group-item-primary.list-group-item-action.active{background-color:#004085;border-color:#004085;color:#fff}.list-group-item-secondary{background-color:#d6d8db;color:#383d41}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#c8cbcf;color:#383d41}.list-group-item-secondary.list-group-item-action.active{background-color:#383d41;border-color:#383d41;color:#fff}.list-group-item-success{background-color:#c3e6cb;color:#155724}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#b1dfbb;color:#155724}.list-group-item-success.list-group-item-action.active{background-color:#155724;border-color:#155724;color:#fff}.list-group-item-info{background-color:#bee5eb;color:#0c5460}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#abdde5;color:#0c5460}.list-group-item-info.list-group-item-action.active{background-color:#0c5460;border-color:#0c5460;color:#fff}.list-group-item-warning{background-color:#ffeeba;color:#856404}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#ffe8a1;color:#856404}.list-group-item-warning.list-group-item-action.active{background-color:#856404;border-color:#856404;color:#fff}.list-group-item-danger{background-color:#f5c6cb;color:#721c24}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#f1b0b7;color:#721c24}.list-group-item-danger.list-group-item-action.active{background-color:#721c24;border-color:#721c24;color:#fff}.list-group-item-light{background-color:#fdfdfe;color:#818182}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#ececf6;color:#818182}.list-group-item-light.list-group-item-action.active{background-color:#818182;border-color:#818182;color:#fff}.list-group-item-dark{background-color:#c6c8ca;color:#1b1e21}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#b9bbbe;color:#1b1e21}.list-group-item-dark.list-group-item-action.active{background-color:#1b1e21;border-color:#1b1e21;color:#fff}.close{color:#000;float:right;font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{background-color:initial;border:0;padding:0}a.close.disabled{pointer-events:none}.toast{background-clip:padding-box;background-color:#ffffffd9;border:1px solid #0000001a;border-radius:.25rem;box-shadow:0 .25rem .75rem #0000001a;flex-basis:350px;font-size:.875rem;max-width:350px;opacity:0}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{align-items:center;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid #0000000d;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);color:#6c757d;display:flex;padding:.25rem .75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{display:none;height:100%;left:0;outline:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1050}.modal-dialog{margin:.5rem;pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{content:"";display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:min-content}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:.3rem;display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{align-items:flex-start;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);display:flex;justify-content:space-between;padding:1rem}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1rem}.modal-title{line-height:1.5;margin-bottom:0}.modal-body{flex:1 1 auto;padding:1rem;position:relative}.modal-footer{align-items:center;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px);border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.75rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:576px){.modal-dialog{margin:1.75rem auto;max-width:500px}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{word-wrap:break-word;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:0;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.tooltip.show{opacity:.9}.tooltip .arrow{display:block;height:.4rem;position:absolute;width:.8rem}.tooltip .arrow:before{border-color:#0000;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{border-top-color:#000;border-width:.4rem .4rem 0;top:0}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{height:.8rem;left:0;width:.4rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{border-right-color:#000;border-width:.4rem .4rem .4rem 0;right:0}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{border-bottom-color:#000;border-width:0 .4rem .4rem;bottom:0}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{height:.8rem;right:0;width:.4rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{border-left-color:#000;border-width:.4rem 0 .4rem .4rem;left:0}.tooltip-inner{background-color:#000;border-radius:.25rem;color:#fff;max-width:200px;padding:.25rem .5rem;text-align:center}.popover{word-wrap:break-word;background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:.3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.5;max-width:276px;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.popover,.popover .arrow{display:block;position:absolute}.popover .arrow{height:.5rem;margin:0 .3rem;width:1rem}.popover .arrow:after,.popover .arrow:before{border-color:#0000;border-style:solid;content:"";display:block;position:absolute}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{border-top-color:#00000040;border-width:.5rem .5rem 0;bottom:0}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{border-top-color:#fff;border-width:.5rem .5rem 0;bottom:1px}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{height:1rem;left:calc(-.5rem - 1px);margin:.3rem 0;width:.5rem}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{border-right-color:#00000040;border-width:.5rem .5rem .5rem 0;left:0}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{border-right-color:#fff;border-width:.5rem .5rem .5rem 0;left:1px}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{border-bottom-color:#00000040;border-width:0 .5rem .5rem;top:0}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{border-bottom-color:#fff;border-width:0 .5rem .5rem;top:1px}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:1px solid #f7f7f7;content:"";display:block;left:50%;margin-left:-.5rem;position:absolute;top:0;width:1rem}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{height:1rem;margin:.3rem 0;right:calc(-.5rem - 1px);width:.5rem}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{border-left-color:#00000040;border-width:.5rem 0 .5rem .5rem;right:0}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{border-left-color:#fff;border-width:.5rem 0 .5rem .5rem;right:1px}.popover-header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);font-size:1rem;margin-bottom:0;padding:.5rem .75rem}.popover-header:empty{display:none}.popover-body{color:#212529;padding:.5rem .75rem}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after{clear:both;content:"";display:block}.carousel-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0;transition:opacity 0s .6s;z-index:0}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{align-items:center;background:none;border:0;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;padding:0;position:absolute;text-align:center;top:0;transition:opacity .15s ease;width:15%;z-index:1}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background:50%/100% 100% no-repeat;display:inline-block;height:20px;width:20px}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m5.25 0-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m2.75 0-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-left:15%;margin-right:15%;padding-left:0;position:absolute;right:0;z-index:15}.carousel-indicators li{background-clip:padding-box;background-color:#fff;border-bottom:10px solid #0000;border-top:10px solid #0000;box-sizing:initial;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s ease;width:30px}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;z-index:10}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{animation:spinner-border .75s linear infinite;border:.25em solid;border-radius:50%;border-right:.25em solid #0000;display:inline-block;height:2rem;vertical-align:-.125em;width:2rem}.spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{animation:spinner-grow .75s linear infinite;background-color:currentcolor;border-radius:50%;display:inline-block;height:2rem;opacity:0;vertical-align:-.125em;width:2rem}.spinner-grow-sm{height:1rem;width:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:initial!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{clear:both;content:"";display:block}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.embed-responsive:before{content:"";display:block}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{white-space:nowrap}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{background-color:#0000;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a;text-shadow:none}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{border-color:#dee2e6;color:inherit}}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(/static/media/fontawesome-webfont.8b43027f47b20503057d.eot);src:url(/static/media/fontawesome-webfont.8b43027f47b20503057d.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(/static/media/fontawesome-webfont.20fd1704ea223900efa9.woff2) format("woff2"),url(/static/media/fontawesome-webfont.f691f37e57f04c152e23.woff) format("woff"),url(/static/media/fontawesome-webfont.1e59d2330b4c6deb84b3.ttf) format("truetype"),url(/static/media/fontawesome-webfont.c1e38fd9e0e74ba58f7a.svg#fontawesomeregular) format("svg")}.fa{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.28571429em}.fa-ul{list-style-type:none;margin-left:2.14285714em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2.14285714em;position:absolute;text-align:center;top:.14285714em;width:2.14285714em}.fa-li.fa-lg{left:-1.85714286em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}

/*!@preserve
 * Tempus Dominus Bootstrap4 v5.37.0 ()
 * Copyright 2016-2020 Jonathan Peterson and contributors
 * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE)
 */.bootstrap-datetimepicker-widget .btn[data-action=clear]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=showHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=showMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=today]:after,.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]:after,.bootstrap-datetimepicker-widget .picker-switch:after,.bootstrap-datetimepicker-widget table th.next:after,.bootstrap-datetimepicker-widget table th.prev:after,.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}body.tempusdominus-bootstrap-datetimepicker-widget-day-click,body.tempusdominus-bootstrap-datetimepicker-widget-day-click *{cursor:pointer!important}body.tempusdominus-bootstrap-datetimepicker-widget-day-click{position:relative!important}.tempusdominus-bootstrap-datetimepicker-widget-day-click-glass-panel{bottom:0;cursor:pointer!important;left:0;position:absolute;right:0;top:0;z-index:999999999999}.bootstrap-datetimepicker-widget .datepicker-days tbody td{cursor:pointer}.bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:14rem}.bootstrap-datetimepicker-widget.dropdown-menu.tempusdominus-bootstrap-datetimepicker-widget-with-calendar-weeks,.bootstrap-datetimepicker-widget.dropdown-menu.tempusdominus-bootstrap-datetimepicker-widget-with-feather-icons{width:16rem}.bootstrap-datetimepicker-widget.dropdown-menu.tempusdominus-bootstrap-datetimepicker-widget-with-calendar-weeks.tempusdominus-bootstrap-datetimepicker-widget-with-feather-icons{width:17rem}@media (min-width:576px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:after,.bootstrap-datetimepicker-widget.dropdown-menu:before{content:"";display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-bottom:7px solid #0003;border-left:7px solid #0000;border-right:7px solid #0000;left:7px;top:-7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-bottom:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;left:8px;top:-6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid #0003;bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #fff;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.float-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.float-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget.dropdown-menu.wider{width:16rem}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{font-size:1.2em;font-weight:700;margin:0;width:54px}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]{font-family:Arial,sans-serif,-apple-system,system-ui,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;height:38px;text-align:center;width:38px}.bootstrap-datetimepicker-widget .btn[data-action=incrementHours]:after{content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]:after{content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action=decrementHours]:after{content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]:after{content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action=showHours]:after{content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action=showMinutes]:after{content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]:after{content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action=clear]:after{content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action=today]:after{content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch:after{content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{height:auto;line-height:inherit;margin:0;padding:0;width:auto}.bootstrap-datetimepicker-widget .picker-switch td span{height:2.5em;line-height:2.5;width:100%}.bootstrap-datetimepicker-widget .picker-switch.picker-switch-with-feathers-icons td span{height:2.8em;line-height:2.8}.bootstrap-datetimepicker-widget table{margin:0;width:100%}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{border-radius:.25rem;text-align:center}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev:after{content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next:after{content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#e9ecef}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{color:#6c757d;cursor:default;font-size:.8em;height:20px;line-height:20px}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#e9ecef;cursor:pointer}.bootstrap-datetimepicker-widget table td.new,.bootstrap-datetimepicker-widget table td.old{color:#6c757d}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{border-color:#0003 #0000 #007bff;border-style:solid;border-width:0 0 7px 7px;bottom:4px;content:"";display:inline-block;position:absolute;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#007bff;color:#fff;text-shadow:0 -1px 0 #00000040}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{border-radius:.25rem;cursor:pointer;display:inline-block;height:54px;line-height:54px;margin-bottom:2px;margin-top:2px;width:54px}.bootstrap-datetimepicker-widget table td span:hover{background:#e9ecef}.bootstrap-datetimepicker-widget table td span.active{background-color:#007bff;color:#fff;text-shadow:0 -1px 0 #00000040}.bootstrap-datetimepicker-widget table td span.old{color:#6c757d}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.bootstrap-datetimepicker-widget .timepicker .timepicker-picker a.btn{color:#007bff;color:var(--blue,#007bff)}.bootstrap-datetimepicker-widget .timepicker .timepicker-picker a.btn:hover{color:#0056b3}.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementHours],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementMinutes],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementSeconds],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementHours],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementMinutes],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementSeconds],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showHours],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showMinutes],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showSeconds],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=togglePeriod],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.day,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.hour,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.minute,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.second{cursor:default;pointer-events:none}.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementHours]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementMinutes]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementSeconds]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementHours]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementMinutes]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementSeconds]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showHours]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showMinutes]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showSeconds]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=togglePeriod]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.day:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.hour:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.minute:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.second:hover{background:none}.input-group [data-toggle=datetimepicker]{cursor:pointer}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a,button{cursor:pointer}.modal-batch-picker .modal-full{margin-left:80;min-width:20%}.batch-picker .tile2{background-color:#fff;border-radius:4px;display:flex;flex:1 1;flex-flow:row nowrap;height:100%;margin-top:5px;max-height:120px;width:80%;width:100%}.batch-picker .bg-color-blue{background-color:#00a8ec!important}.batch-picker .item-ios.item-block .item-inner,.batch-picker .item-md.item-block .item-inner{border-bottom:none;padding-right:8px}.modern-login-container{display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.login-branding{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:60px;position:relative}.login-branding:before{background:#ffffff1a;height:400px;right:-100px;top:-100px;width:400px}.login-branding:after,.login-branding:before{border-radius:50%;content:"";position:absolute}.login-branding:after{background:#ffffff14;bottom:-80px;height:300px;left:-80px;width:300px}.branding-content{color:#fff;max-width:500px;position:relative;z-index:1}.logo-section{align-items:center;display:flex;gap:16px;margin-bottom:24px}.logo-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:16px;font-size:48px;padding:12px}.brand-name{font-size:42px;font-weight:700;letter-spacing:-1px;margin:0}.brand-tagline{font-size:20px;line-height:1.6;margin-bottom:48px;opacity:.95}.feature-list{display:flex;flex-direction:column;gap:20px}.feature-item{font-size:16px;gap:16px;line-height:1.5}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{background:#ffffff40;border-radius:50%;flex-shrink:0;font-weight:700;height:28px;justify-content:center;width:28px}.login-form-section{align-items:center;background:#f9fafb;display:flex;flex:1 1;justify-content:center;padding:60px}.login-form-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000014;max-width:440px;padding:48px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-header h2{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px}.login-header p{color:#6b7280;font-size:16px;margin:0}.modern-login-form{gap:24px}.form-field,.modern-login-form{display:flex;flex-direction:column}.form-field{gap:8px}.form-field label{color:#374151;font-size:14px;font-weight:600}.modern-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;color:#1f2937;font-family:inherit;font-size:16px;padding:14px 16px;transition:all .2s ease;width:100%}.modern-input:hover{background:#fff;border-color:#d1d5db}.modern-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modern-input::placeholder{color:#9ca3af}.modern-login-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px;transition:all .2s ease;width:100%}.modern-login-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.modern-login-btn:active:not(:disabled){transform:translateY(0)}.modern-login-btn:disabled{cursor:not-allowed;opacity:.7}.btn-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.login-footer{margin-top:32px;text-align:center}.footer-text{color:#9ca3af;font-size:13px;margin:0}@media (max-width:1024px){.login-branding{display:none}.login-form-section{flex:1 1}}@media (max-width:640px){.login-form-section{padding:24px}.login-form-container{padding:32px 24px}.login-header h2{font-size:28px}.brand-name{font-size:36px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-form-container{animation:fadeInUp .5s ease}.branding-content{animation:fadeInUp .5s ease .1s backwards}.attendance .full-height1{height:100vh}.attendance .card-body{overflow:scroll}.attendance .form-control{border:none}.attendance .row{border-bottom:1px solid #dedede;margin-bottom:10px}.attendance .col{padding-left:1px;padding-right:1px}.attendance .my-label{padding-top:.5rem}.attendance .mark-all{margin-bottom:10px}.attendance .mark-all button{margin-right:10px}.attendance-image-div{align-items:center;display:flex;margin:10px auto;position:relative;width:500px}.attendance-image{display:block;margin:30px auto;max-height:100%;max-width:100%}.open-attendance-image{align-items:center;background:#00000080;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:20px;font-weight:500;height:95%;justify-content:center;position:absolute;width:100%}.open-attendance-image svg{fill:#fff;width:50px}.attendance-camera-icon{fill:#fff;cursor:pointer;width:25px}.skeleton-loader-container{padding:8px 0}.skeleton-student-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;padding:10px 0}.skeleton-switch{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5 50%,#e8e8e8 75%);background-size:200% 100%;border-radius:12px;flex-shrink:0;height:24px;width:50px}.skeleton-student-info{flex:1 1;margin-left:12px}.skeleton-line{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5 50%,#e8e8e8 75%);background-size:200% 100%;border-radius:6px;height:12px}.skeleton-code{margin-bottom:6px;width:30%}.skeleton-name{width:60%}.image-preview{background:#fff;border:2px solid #838383a8;bottom:40px;left:30px;overflow:scroll;overflow-x:hidden;position:fixed;right:30px;top:40px;z-index:2}.cross-icon-div{display:flex;justify-content:flex-end;width:100%}.cross-icon{cursor:pointer;margin:10px;width:30px}.image-card{align-content:center;align-items:center;border:1px solid #838383a8;border-radius:28px;display:flex;flex-direction:column;margin:10px auto;padding:20px;width:80%}.attendance-card-image{max-height:100%;max-width:100%}.tab-activities .tile{color:#fff;height:100px;padding:2px}.tab-activities .tile-double{height:200px}.tab-activities .tile+.tile{height:90px;margin-top:10px}.tab-activities .tile-icon{font-size:40px;line-height:100px;padding:0;text-align:center}.tab-activities .tile-title{position:relative;text-align:center}.tab-activities .tile-title>h1{color:#fff;font-family:Lato,sans-serif;font-size:24px;font-weight:300;left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.tab-activities .tile-image{background-position:bottom;background-size:cover;text-shadow:1px 1px 0 #000}@media (min-width:600px){.tab-activities .tile{height:150px;padding:4px;transition:all .5s linear}.tab-activities .tile-double{height:300px}.tab-activities .tile+.tile{height:140px;margin-top:10px}.tab-activities .tile-icon{font-size:60px;line-height:150px;padding:0}.tab-activities .tile-title>h1{font-size:32px}}.tab-activities .tile .tile-content{color:#000;color:#fff;font-family:Segoe UI,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-size:9pt;font-weight:400;height:100%;line-height:16px;overflow:hidden;padding:10px 15px;position:relative;text-overflow:ellipsis;vertical-align:top;width:100%}.tab-activities .tile .tile-content:hover{color:#000c}.tab-activities .tile .tile-content:active{color:#0006}.tab-activities .tile .tile-content:hover{color:#fff}.tab-activities .tile .tile-content h1,.tab-activities .tile .tile-content h2,.tab-activities .tile .tile-content h3,.tab-activities .tile .tile-content h4,.tab-activities .tile .tile-content h5,.tab-activities .tile .tile-content h6,.tab-activities .tile .tile-content p{line-height:24px;margin:0;padding:0}.tab-activities .tile .tile-content h1:hover,.tab-activities .tile .tile-content h2:hover,.tab-activities .tile .tile-content h3:hover,.tab-activities .tile .tile-content h4:hover,.tab-activities .tile .tile-content h5:hover,.tab-activities .tile .tile-content h6:hover,.tab-activities .tile .tile-content p:hover{color:#fff}.tab-activities .tile.icon>.tile-content{padding:0}.tab-activities .tile.icon>.tile-content>img{height:48px;left:50%;margin-left:-26px;margin-top:-32px;position:absolute;top:50%;width:48px}.tab-activities .tile.image-slider>.tile-content,.tab-activities .tile.image>.tile-content{padding:0}.tab-activities .tile.image-slider>.tile-content>img,.tab-activities .tile.image>.tile-content>img{height:auto;max-width:100%;min-height:100%;width:100%}.tab-activities .tile.image-set>.tile-content{border:1px solid #1e1e1e;float:left;height:50%;margin:0;padding:0;width:25%!important}.tab-activities .tile .brand,.tab-activities .tile .tile-status{*zoom:1;background-color:initial;bottom:0;left:0;min-height:30px;position:absolute;right:0}.tab-activities .tile .brand:after,.tab-activities .tile .brand:before,.tab-activities .tile .tile-status:after,.tab-activities .tile .tile-status:before{content:"";display:table}.tab-activities .tile .brand:after,.tab-activities .tile .tile-status:after{clear:both}.tab-activities .tile .brand>.badge,.tab-activities .tile .tile-status>.badge{font-smooth:always;bottom:0;color:#fff;font-family:Segoe UI Semibold,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-size:11pt;font-weight:600;height:28px;letter-spacing:.01em;line-height:14pt;margin-bottom:0;margin-right:15px;padding-top:3px;position:absolute;right:5px;text-align:right;width:150px}.tab-activities .tile .brand>.name,.tab-activities .tile .tile-status>.name{font-size:10pt;text-align:left}.tab-activities .tile .brand>.name,.tab-activities .tile .brand>.starttime,.tab-activities .tile .tile-status>.name{font-smooth:always;bottom:0;color:#fff;font-family:Segoe UI,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-weight:400;left:0;margin-bottom:5px;margin-left:15px;position:absolute}.tab-activities .tile .brand>.starttime{font-size:11pt}.tab-activities .tile .brand>.name:hover,.tab-activities .tile .tile-status>.name:hover{color:#fff}.tab-activities .tile .brand>.name>[class*=icon-],.tab-activities .tile .tile-status>.name>[class*=icon-]{font-size:24px}.tab-activities .tile .brand>.icon,.tab-activities .tile .tile-status>.icon{height:32px;margin:5px 15px;width:32px}.tab-activities .tile .brand>.icon>[class*=icon-],.tab-activities .tile .tile-status>.icon>[class*=icon-]{font-size:32px}.tab-activities .tile .brand>.icon>img,.tab-activities .tile .tile-status>.icon>img{height:100%;width:100%}.tab-activities .tile .brand>img~.text,.tab-activities .tile .tile-status>img~.text{left:60px;position:absolute;width:auto}.tab-activities .tile .brand>.text,.tab-activities .tile .tile-status>.text{font-smooth:always;color:#000;color:#fff;font-family:Segoe UI,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-size:9pt;font-weight:400;left:8px;line-height:14px;position:relative;right:50px;top:5px;width:60%}.tab-activities .tile .brand>.text:hover,.tab-activities .tile .tile-status>.text:hover{color:#000c}.tab-activities .tile .brand>.text:active,.tab-activities .tile .tile-status>.text:active{color:#0006}.tab-activities .tile .brand>.text:hover,.tab-activities .tile .tile-status>.text:hover{color:#fff}.tab-activities .tile:hover{outline:3px solid #3a3a3a}.bg-color-blue{background-color:#00a8ec!important}.bg-color-blueLight{background-color:#04aeda!important}.bg-color-blueLight1{background-color:#00a8ec!important}.bg-color-blueDark{background-color:#0071b9!important}.bg-color-green{background-color:#00a300!important}.bg-color-green1{background-color:#04d94b!important}.bg-color-greenLight{background-color:#b8d631!important}.bg-color-greenDark{background-color:#1e7145!important}.bg-color-red{background-color:#c90c12!important}.bg-color-red1{background-color:#db1436!important}.bg-color-yellow{background-color:#ffc40d!important}.bg-color-orange{background-color:#e3a21a!important}.bg-color-orangeDark{background-color:#ed7700!important}.bg-color-pink{background-color:#9f00a7!important}.bg-color-pinkDark{background-color:#7e3878!important}.bg-color-purple{background-color:#63218f!important}.bg-color-maroon{background-color:#cf3a70!important}.bg-color-darken{background-color:#1d1d1d!important}.bg-color-dark{background-color:#2d2d2d!important}.bg-color-lighten{background-color:#d5e7ec!important}.bg-color-white{background-color:#fff!important}.bg-color-grayDark{background-color:#525252!important}.tab-activities .col{padding-left:5px;padding-right:5px}.tab-activities .row{padding-top:10px}.skeleton-container{margin:0 auto;max-width:1400px;padding:24px}.skeleton-avatar,.skeleton-card,.skeleton-card-body,.skeleton-card-header,.skeleton-header,.skeleton-line,.skeleton-list-content,.skeleton-list-item,.skeleton-search,.skeleton-stat-card,.skeleton-stat-icon,.skeleton-stat-label,.skeleton-stat-value,.skeleton-subtitle,.skeleton-table-cell,.skeleton-title{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#e8e8e8,#f5f5f5 50%,#e8e8e8);background-size:1000px 100%;border-radius:8px}.skeleton-header{margin-bottom:32px}.skeleton-title{height:40px;margin-bottom:8px;width:300px}.skeleton-subtitle{height:20px;width:200px}.skeleton-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.skeleton-stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;min-height:100px;padding:20px}.skeleton-stat-icon{border-radius:8px;flex-shrink:0;height:48px;width:48px}.skeleton-stat-content{flex:1 1}.skeleton-stat-label{height:16px;margin-bottom:8px;width:80px}.skeleton-stat-value{height:32px;width:60px}.skeleton-search{height:48px;margin-bottom:24px;width:100%}.skeleton-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.skeleton-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.skeleton-card-header{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#f5f5f5,#fafafa 50%,#f5f5f5);background-size:1000px 100%;height:60px}.skeleton-card-body{padding:16px}.skeleton-line{border-radius:4px;height:16px;margin-bottom:12px}.skeleton-line.short{width:60%}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-list-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;padding:16px}.skeleton-avatar{border-radius:50%;flex-shrink:0;height:48px;width:48px}.skeleton-list-content{flex:1 1}.skeleton-table{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.skeleton-table-header{background:#f9fafb}.skeleton-table-header,.skeleton-table-row{grid-gap:16px;border-bottom:1px solid #e5e7eb;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding:16px}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-cell{height:20px}.skeleton-button-list{display:flex;flex-direction:column;gap:16px}.skeleton-button{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#f5f5f5,#fafafa 50%,#f5f5f5);background-size:1000px 100%;border-radius:8px;height:56px;width:100%}@media (max-width:768px){.skeleton-cards-grid,.skeleton-stats-grid,.skeleton-table-header,.skeleton-table-row{grid-template-columns:1fr}}.followup-search-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:40px auto;max-width:800px;padding:0 24px}.followup-search-box{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001f;overflow:hidden;transition:all .3s ease}.followup-search-box:hover{box-shadow:0 12px 32px #00000029;transform:translateY(-2px)}.followup-search-text{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:28px;font-weight:700;margin:0;padding:24px 32px;text-align:center}.followup-date-container{grid-gap:24px;background:#f8fafc;display:grid;gap:24px;grid-template-columns:1fr 1fr;padding:32px}.followup-right-border{border-right:1px solid #e2e8f0;padding-right:12px}.search-date-wrapper{align-items:center;display:flex;gap:16px}.search-calendar-container{fill:#667eea;flex-shrink:0;height:48px;width:48px}.followup-search-label{color:#64748b;display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.folowup-search-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:18px;font-weight:600;outline:none;padding:10px 14px;transition:all .2s ease;width:100%}.folowup-search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.folowup-search-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(50%);opacity:.6}.folowup-search-input::-webkit-calendar-picker-indicator:hover{opacity:1}.followup-search-btn-container{align-items:flex-end;background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:20px;padding:24px 32px}.followup-select-container{display:flex;flex:1 1;flex-direction:column}.followup-select-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:16px;font-weight:500;outline:none;padding:12px 14px;transition:all .2s ease}.followup-select-btn:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.followup-select-btn:hover{border-color:#667eea}.followup-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;height:48px;margin-left:auto;min-width:140px;transition:all .3s ease}.followup-btn:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.followup-btn:active{transform:translateY(0)}.no-followups{background:#fee2e2;border-left:4px solid #dc2626;border-radius:12px;color:#dc2626;font-size:16px;font-weight:600;margin-top:24px;padding:16px 24px;text-align:center}@media (max-width:768px){.followup-search-container{margin:24px auto;padding:0 16px}.followup-search-text{font-size:22px;padding:20px 24px}.followup-date-container{gap:20px;grid-template-columns:1fr;padding:24px}.followup-right-border{border-bottom:1px solid #e2e8f0;border-right:none;padding-bottom:20px;padding-right:0}.search-calendar-container{height:40px;width:40px}.folowup-search-input{font-size:16px}.followup-search-btn-container{align-items:stretch;flex-direction:column;padding:20px 24px}.followup-btn{margin-left:0;margin-top:16px;width:100%}}.sidebar-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.sidebar{background:#fff;box-shadow:2px 0 20px #0003;display:flex;flex-direction:column;height:100vh;left:-320px;overflow-y:auto;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1001}@media (min-width:1024px){.sidebar{left:0;width:280px}.sidebar.collapsed{width:80px}.sidebar-overlay{display:none}}@media (max-width:1023px){.sidebar.open{left:0}}.sidebar-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #ffffff1a;color:#fff;display:flex;justify-content:space-between;min-height:70px;padding:1.5rem}.sidebar.collapsed .sidebar-header{justify-content:center;padding:1.5rem .5rem}.sidebar-header h2{font-size:1.3rem;font-weight:700;margin:0}.close-button,.collapse-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.close-button{font-size:2rem}.close-button:hover,.collapse-button:hover{background:#ffffff4d;transform:scale(1.1)}.close-button:hover{transform:rotate(90deg)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.menu-group{margin-bottom:1.5rem}.menu-group:last-child{margin-bottom:0}.group-title{color:#95a5a6;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:.25rem;padding:.5rem 1.5rem;text-transform:uppercase}.sidebar.collapsed .group-title{display:none}.sidebar.collapsed .menu-group{margin-bottom:.5rem}.menu-item{align-items:center;background:none;border:none;border-left:4px solid #0000;cursor:pointer;display:flex;gap:1rem;padding:.875rem 1.5rem;position:relative;text-align:left;transition:all .2s ease;width:100%}.sidebar.collapsed .menu-item{gap:0;justify-content:center;padding:.875rem .5rem}.menu-item:hover{background:linear-gradient(90deg,#667eea14,#0000);border-left-color:#667eea}.menu-item.active{background:linear-gradient(90deg,#667eea1f,#0000);border-left-color:#667eea}.menu-item.active .menu-label{color:#667eea;font-weight:700}.menu-item.active .menu-icon{background:linear-gradient(135deg,#667eea20,#764ba230)}.menu-icon{align-items:center;background:linear-gradient(135deg,#667eea10,#764ba210);border-radius:10px;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.menu-item:hover .menu-icon{transform:scale(1.1)}.menu-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.sidebar.collapsed .menu-content{display:none}.menu-label{color:#2c3e50;font-size:.95rem;font-weight:600}.menu-description,.menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-description{color:#7f8c8d;font-size:.75rem;line-height:1.3}.menu-arrow{color:#bdc3c7;flex-shrink:0;font-size:1.2rem;transition:all .2s ease}.sidebar.collapsed .menu-arrow{display:none}.menu-item:hover .menu-arrow{color:#667eea;transform:translateX(4px)}.sidebar-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;flex-direction:column;justify-content:center;min-height:70px;padding:1.5rem;text-align:center}.sidebar.collapsed .sidebar-footer{padding:1rem .5rem}.footer-text{color:#495057;font-size:.85rem;font-weight:600;margin:0 0 .5rem}.footer-version{color:#adb5bd;font-size:.75rem;margin:0}.footer-icon{font-size:1.5rem}.sidebar.collapsed .footer-text,.sidebar.collapsed .footer-version{display:none}@media (max-width:480px){.sidebar{left:-300px;width:280px}.sidebar-header{padding:1.25rem}.sidebar-header h2{font-size:1.15rem}.menu-item{padding:.75rem 1.25rem}.menu-icon{font-size:1.3rem;height:36px;width:36px}.menu-label{font-size:.9rem}.group-title,.menu-description{font-size:.7rem}.group-title{padding:.5rem 1.25rem}}@media (min-width:481px) and (max-width:1023px){.sidebar{left:-320px;width:300px}}.sidebar-nav::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track{background:#f1f1f1}.sidebar-nav::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover{background:#555}.sidebar.open{animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .menu-item{position:relative}.sidebar.collapsed .menu-item:hover:after{background:#2c3e50;border-radius:6px;box-shadow:0 4px 12px #00000026;color:#fff;content:attr(title);font-size:.875rem;margin-left:10px;padding:.5rem 1rem;white-space:nowrap}.sidebar.collapsed .menu-item:hover:after,.sidebar.collapsed .menu-item:hover:before{left:100%;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1002}.sidebar.collapsed .menu-item:hover:before{border:6px solid #0000;border-right-color:#2c3e50;content:"";margin-left:4px}.workspace-tab-bar{-ms-overflow-style:none;align-items:center;border-bottom:1px solid #edebe9;display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding:0;scrollbar-width:none}.workspace-tab-bar::-webkit-scrollbar{display:none}.workspace-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#605e5c;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:400;gap:6px;padding:10px 16px;position:relative;transition:all .15s ease;white-space:nowrap}.workspace-tab:hover{background:#f3f2f1;color:#242424}.workspace-tab.active{border-bottom-color:#667eea;color:#242424;font-weight:600}.workspace-tab-icon{font-size:16px;line-height:1}.workspace-tab-name{line-height:1}.workspace-tab-settings{align-items:center;background:#0000;border:none;border-radius:4px;color:#a19f9d;cursor:pointer;display:none;font-family:inherit;font-size:12px;height:20px;justify-content:center;margin-left:2px;padding:0;width:20px}.workspace-tab:hover .workspace-tab-settings{display:flex}.workspace-tab-settings:hover{background:#edebe9;color:#605e5c}.workspace-add-btn{align-items:center;background:#0000;border:1px dashed #d2d0ce;border-radius:6px;color:#a19f9d;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:18px;height:32px;justify-content:center;margin-left:4px;transition:all .15s ease;width:32px}.workspace-add-btn:hover{background:#f0f0ff;border-color:#667eea;color:#667eea}.workspace-context-menu{animation:contextMenuFadeIn .12s ease-out;background:#fff;border-radius:8px;box-shadow:0 6px 20px #00000026,0 1px 4px #00000014;min-width:160px;padding:4px 0;position:fixed;z-index:200}.context-menu-item{background:#0000;color:#323130;font-family:inherit;gap:8px;padding:8px 16px;transition:background .1s ease}.context-menu-item:hover{background:#f3f2f1}.context-menu-item.danger{color:#d13438}.context-menu-item.danger:hover{background:#fdf3f4}.context-menu-icon{font-size:14px;text-align:center;width:18px}.workspace-dialog-overlay{align-items:center;animation:overlayFadeIn .15s ease-out;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:300}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.workspace-dialog{animation:dialogSlideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 16px 48px #0003;max-width:90vw;padding:24px;width:400px}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.workspace-dialog h3{color:#242424;font-size:18px;font-weight:600;margin:0 0 20px}.workspace-dialog-field{margin-bottom:16px}.workspace-dialog-field label{color:#605e5c;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.workspace-dialog-field input{border:1px solid #d2d0ce;border-radius:6px;box-sizing:border-box;color:#242424;font-family:inherit;font-size:14px;outline:none;padding:8px 12px;transition:border-color .15s ease;width:100%}.workspace-dialog-field input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.emoji-picker-grid{display:flex;flex-wrap:wrap;gap:6px}.emoji-picker-btn{align-items:center;background:#0000;border:1px solid #edebe9;border-radius:8px;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .12s ease;width:36px}.emoji-picker-btn:hover{background:#f3f2f1;border-color:#d2d0ce}.emoji-picker-btn.selected{background:#f0f0ff;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.workspace-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px}.workspace-dialog-actions button{border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:8px 20px;transition:all .15s ease}.btn-cancel{border:1px solid #d2d0ce;color:#605e5c}.btn-cancel:hover{background:#f3f2f1}.btn-primary-ws{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.btn-primary-ws:hover{box-shadow:0 4px 12px #667eea4d}.btn-primary-ws:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.feature-card-ws{position:relative}.card-workspace-pin{align-items:center;background:#ffffffe6;border:none;border-radius:6px;box-shadow:0 1px 4px #0000001a;color:#a19f9d;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:all .15s ease;width:28px;z-index:2}.feature-card-ws:hover .card-workspace-pin{opacity:1}.card-workspace-pin:hover{background:#fff;box-shadow:0 2px 8px #00000026;color:#667eea}.card-workspace-remove{align-items:center;background:#d134381a;border:none;border-radius:50%;color:#d13438;cursor:pointer;display:flex;font-family:inherit;font-size:12px;height:24px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:all .15s ease;width:24px;z-index:2}.feature-card-ws:hover .card-workspace-remove{opacity:1}.card-workspace-remove:hover{background:#d1343833}.workspace-popover{animation:contextMenuFadeIn .12s ease-out;background:#fff;border-radius:10px;box-shadow:0 8px 24px #00000026,0 1px 4px #00000014;max-width:280px;min-width:220px;padding:8px 0;position:fixed;z-index:200}.workspace-popover-header{color:#a19f9d;font-size:11px;font-weight:600;letter-spacing:.05em;padding:8px 16px 4px;text-transform:uppercase}.workspace-popover-item{align-items:center;background:#0000;border:none;color:#323130;cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:10px;padding:8px 16px;text-align:left;transition:background .1s ease;width:100%}.workspace-popover-item:hover{background:#f3f2f1}.workspace-popover-item.disabled{cursor:default;opacity:.5}.workspace-popover-item.disabled:hover{background:#0000}.workspace-popover-check{align-items:center;border:1.5px solid #d2d0ce;border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:11px;height:18px;justify-content:center;transition:all .12s ease;width:18px}.workspace-popover-check.checked{background:#667eea;border-color:#667eea}.workspace-popover-ws-icon{flex-shrink:0;font-size:14px}.workspace-popover-ws-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-empty-state{color:#a19f9d;grid-column:1/-1;padding:48px 24px;text-align:center}.workspace-empty-state p{font-size:15px;margin:0 0 8px}.workspace-empty-state p:first-child{color:#605e5c;font-size:17px;font-weight:500}@media (max-width:768px){.workspace-tab{font-size:13px;padding:8px 12px}.workspace-tab-settings{display:none!important}.workspace-dialog{padding:20px;width:95vw}.card-workspace-pin,.card-workspace-remove{opacity:1}}@media (max-width:480px){.workspace-tab-bar{margin-bottom:12px}.workspace-tab{font-size:12px;gap:4px;padding:6px 10px}.workspace-tab-icon{font-size:14px}}.loading{bottom:0;height:2em;margin:auto;overflow:visible;right:0;width:2em;z-index:9999999}.loading,.loading:before{left:0;position:fixed;top:0}.loading:before{background-color:#0000004d;content:"";display:block;height:100%;width:100%}.loading.dark:before{background-color:#eee!important}.loading span,.loading span span{background:#f6f6f6;box-shadow:2px 2px 2px #888;display:block;padding:10px 0 0;position:absolute;text-align:center;width:150px;z-index:99999}.loading.dark span{background-color:initial!important;box-shadow:none!important}.loading .content{color:#444;font-size:1.3rem;padding:10px 4px 4px;width:100%}.css-z3kss3,.loading .content{display:inline-block}.loading.blue span{height:10px;overflow:hidden;position:absolute;top:50px;width:84px}.loading.blue .content{color:#fff;margin-left:-40px;margin-top:-50px;position:absolute;width:150px}.loading.blue:before{background-color:#444349!important}.loading.blue a>i{animation:wait 4s infinite;border-radius:50%;height:10px;position:absolute;width:10px}.loading.blue a>i:first-of-type{background:#ff0;left:-28px}.loading.blue a>i:nth-of-type(2){animation-delay:.8s;background:#90ee90;left:-21px}.loading.blue a>i:nth-of-type(3){animation-delay:.16s;background:red;left:-14px}@keyframes wait{0%{left:-7px}30%{left:52px}60%{left:22px}to{left:100px}}.css-16j4cxn,.css-1aqqk1k{height:45px;left:50px!important;position:absolute;top:0;width:45px!important}.test-dashboard-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.test-dashboard-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:95%}.test-dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.test-dashboard-header h2{font-size:22px;font-weight:600;margin:0}.btn-close-dashboard{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;width:36px}.btn-close-dashboard:hover{background:#ffffff4d;transform:rotate(90deg)}.test-dashboard-body{flex:1 1;overflow-y:auto;padding:24px}.test-dashboard-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.dashboard-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;position:relative;top:2px;transition:all .2s}.dashboard-tab.active,.dashboard-tab:hover{background:#667eea0d;color:#667eea}.dashboard-tab.active{border-bottom-color:#667eea}.test-info-card-compact{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px 24px}.test-info-line{align-items:center;color:#111827;display:flex;flex-wrap:wrap;font-size:14px;gap:16px;line-height:1.6}.test-info-item{align-items:center;display:flex;gap:6px}.test-info-separator{color:#9ca3af;font-weight:700}.test-metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.metric-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:12px;padding:16px}.metric-card:hover{box-shadow:0 4px 12px #0000001a}.metric-icon{background:#667eea1a;font-size:28px;height:48px;width:48px}.metric-value{font-size:24px}.question-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:24px}.question-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center;transition:all .2s}.question-chart-card:hover{box-shadow:0 4px 12px #0000001a}.question-chart-card h6{color:#111827;font-size:14px;font-weight:600;margin:0 0 12px}.donut-chart{margin-bottom:12px}.circular-chart{display:block;margin:0 auto;max-height:120px;max-width:120px}.circle{fill:none;stroke-width:2.8}.circle.correct{stroke:#2ca32c}.circle.wrong{stroke:#d42b2c}.circle.not-attempted{stroke:#789}.percentage{fill:#111827;text-anchor:middle;font-family:sans-serif;font-size:.5em;font-weight:700}.question-stats{display:flex;flex-direction:column;font-size:12px;gap:6px}.question-stats .stat{align-items:center;display:flex;gap:6px;justify-content:center}.stat-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.stat.correct .stat-dot{background:#2ca32c}.stat.wrong .stat-dot{background:#d42b2c}.stat.not-attempted .stat-dot{background:#789}.pagination-controls{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:16px;justify-content:center;margin-top:16px;padding:16px 0}.pagination-info{color:#6b7280;font-size:14px}.student-performance-tab .analytics-table{font-size:14px}.status-badge{display:inline-block}.status-completed{background:#d1fae5;color:#065f46}.status-in-progress{background:#fef3c7;color:#92400e}.status-not-started{background:#f3f4f6;color:#374151}.score-badge{display:inline-block;font-weight:600}.score-good{background:#d1fae5;color:#065f46}.score-average{background:#fef3c7;color:#92400e}.score-poor{background:#fee2e2;color:#991b1b}.analytics-loading{color:#6b7280;padding:80px 20px}.analytics-loading p{font-size:15px}@media (max-width:768px){.test-dashboard-modal{border-radius:0;max-height:100vh;max-width:100%;width:100%}.test-dashboard-header{border-radius:0}.question-charts-grid,.test-metrics-grid{grid-template-columns:repeat(2,1fr)}.test-dashboard-tabs{overflow-x:auto}.dashboard-tab{font-size:13px;padding:10px 16px;white-space:nowrap}}@media (max-width:480px){.question-charts-grid,.test-metrics-grid{grid-template-columns:1fr}}.modal-dialog.step-analytics-modal{height:95vh!important;margin:2.5vh auto!important;max-width:95vw!important;width:95vw!important}.modal-dialog.step-analytics-modal .modal-content{border:none!important;border-radius:16px!important;box-shadow:0 25px 50px -12px #0006!important;display:flex!important;flex-direction:column!important;height:95vh!important;overflow:hidden!important}.modal-dialog.step-analytics-modal .modal-header{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border-bottom:none!important;border-radius:16px 16px 0 0!important;color:#fff!important;flex-shrink:0!important;padding:1.5rem 2.5rem!important}.modal-dialog.step-analytics-modal .modal-title{color:#fff!important;font-size:2rem!important;font-weight:700!important}.modal-dialog.step-analytics-modal .modal-title .step-name{font-size:1.6rem!important;font-weight:400!important;opacity:.95!important}.modal-dialog.step-analytics-modal .modal-body{background:#f9fafb!important;flex:1 1!important;min-height:0!important;overflow-y:auto!important;padding:0!important}.modal-dialog.step-analytics-modal .modal-footer{background:#fff!important;border-top:2px solid #e5e7eb!important;flex-shrink:0!important;padding:1.25rem 2.5rem!important}.analytics-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.analytics-loading p{color:#6b7280;font-size:14px;margin-top:16px}.analytics-tabs{background:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:10}.analytics-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:18px 32px;transition:all .2s}.analytics-tab:hover{background:#f3f4f6;color:#374151}.analytics-tab.active{background:#fff;border-bottom-color:#2563eb;color:#2563eb}.analytics-tab-content{margin:0 auto;max-width:1600px;padding:32px}.analytics-card{border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px 0 #0000000d;margin-bottom:28px;padding:28px}.analytics-card.step-info-compact{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px solid #e5e7eb;margin-bottom:24px;padding:20px 28px}.step-info-line{align-items:center;color:#111827;display:flex;flex-wrap:wrap;font-size:15px;gap:16px;line-height:1.6}.step-info-item strong{color:#374151;font-weight:700;margin-right:6px}.step-info-separator{color:#d1d5db;font-weight:600}.status-badge-inline{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;margin-left:6px;padding:4px 12px}.status-badge-inline.active{background:#d1fae5;color:#065f46}.status-badge-inline.inactive{background:#fee2e2;color:#991b1b}.analytics-card h5{border-bottom:2px solid #e5e7eb;color:#111827;font-size:20px;font-weight:700;margin-bottom:24px;padding-bottom:16px}.analytics-card h6{color:#374151;font-size:16px;font-weight:600;margin-bottom:16px}.info-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-item{background:#f9fafb;gap:6px}.info-value{color:#111827}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.metric-card{align-items:flex-start;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;padding:24px;transition:all .2s}.metric-card:hover{background:#f3f4f6;border-color:#3b82f6;box-shadow:0 8px 16px -4px #3b82f626;transform:translateY(-2px)}.metric-icon{font-size:32px;line-height:1}.metric-content{flex:1 1}.metric-label{font-size:13px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.metric-value{font-size:36px;line-height:1.1}.metric-subtitle{color:#9ca3af;font-size:13px;font-weight:500;margin-top:6px}.trends-grid{grid-gap:12px;display:grid;gap:12px;margin-bottom:20px}.trend-item{align-items:center;background:#f9fafb;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.trend-label{color:#6b7280;font-size:13px;font-weight:500}.trend-value{color:#111827;font-size:13px;font-weight:600}.trend-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px}.trend-badge.trend-up{background:#d1fae5;color:#065f46}.trend-badge.trend-down{background:#fee2e2;color:#991b1b}.trend-badge.trend-stable{background:#dbeafe;color:#1e40af}.activity-timeline{margin-top:16px}.activity-timeline table{font-size:13px}.activity-timeline thead th{background:#f9fafb;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.phase-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.phase-summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.phase-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;margin-bottom:12px;padding-bottom:8px}.phase-icon{font-size:20px}.phase-name{color:#374151;font-size:13px;font-weight:600}.phase-stats{grid-gap:8px;display:grid;gap:8px}.phase-stat{align-items:center;display:flex;font-size:12px;justify-content:space-between}.phase-stat .stat-label{color:#6b7280}.phase-stat .stat-value{color:#111827;font-weight:600}.phase-selector{background:#f9fafb;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:20px}.phase-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.phase-btn:hover{border-color:#3b82f6;color:#3b82f6}.phase-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;color:#fff}.analytics-table{font-size:13px;margin-bottom:0}.analytics-table thead th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px;text-transform:uppercase}.analytics-table tbody td{border-bottom:1px solid #f3f4f6;padding:12px;vertical-align:middle}.analytics-table tbody tr:hover{background:#f9fafb}.analytics-table tbody tr:last-child td{border-bottom:none}.phase-badge,.score-badge,.status-badge,.type-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.phase-badge{background:#e0e7ff;color:#4338ca}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-moderate{background:#fef3c7;color:#92400e}.status-badge.status-inactive{background:#fee2e2;color:#991b1b}.score-badge.score-good{background:#d1fae5;color:#065f46}.score-badge.score-average{background:#fef3c7;color:#92400e}.score-badge.score-poor{background:#fee2e2;color:#991b1b}.progress-container{background:#f3f4f6;border-radius:4px;height:24px;overflow:hidden;position:relative}.progress-bar{background:linear-gradient(90deg,#3b82f6,#2563eb);height:100%;transition:width .3s ease}.progress-label{color:#111827;font-size:11px;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.effectiveness-rating{display:flex;gap:2px}.star{filter:grayscale(100%);font-size:14px;opacity:.3}.star.filled{filter:grayscale(0);opacity:1}.students-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;padding:20px}.summary-card.alert-card{background:#fef2f2;border-color:#fca5a5}.summary-icon{font-size:32px}.summary-content{flex:1 1}.summary-label{color:#6b7280;font-weight:500}.summary-value{color:#111827;font-size:28px}.students-controls{background:#f9fafb;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:16px}.filter-group label{color:#374151;font-size:12px;margin:0}.filter-group .form-control{font-size:13px}.at-risk-row{background:#fef2f2!important}.at-risk-badge{font-size:16px;margin-left:8px}.completion-pct{color:#6b7280;font-size:11px}.tests-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.tests-controls{background:#f9fafb;border-radius:8px;margin-bottom:24px;padding:16px}.performance-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.performance-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.performance-card h6{border-bottom:1px solid #e5e7eb;color:#111827;font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.performance-metrics{gap:12px}.perf-metric,.performance-metrics{display:flex;flex-direction:column}.perf-metric{gap:4px}.perf-label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.perf-value{color:#111827;font-size:13px;font-weight:600}.perf-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.perf-bar-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);height:100%;transition:width .3s ease}.score-range{align-items:center;display:flex;gap:8px;margin-top:4px}.range-label{color:#9ca3af;font-size:10px;font-weight:600}.range-bar{background:#e5e7eb;border-radius:6px;flex:1 1;height:12px;position:relative}.range-fill{background:linear-gradient(90deg,#fbbf24,#10b981);border-radius:6px;height:100%;position:absolute;top:0}.range-avg{background:#ef4444;border-radius:2px;height:16px;position:absolute;top:-2px;transform:translateX(-2px);width:4px}.pass-fail-bar{border-radius:6px;display:flex;font-size:11px;font-weight:600;height:32px;margin-top:4px;overflow:hidden}.pass-section{background:#10b981}.fail-section,.pass-section{align-items:center;color:#fff;display:flex;justify-content:center;transition:width .3s ease}.fail-section{background:#ef4444}.analytics-card.alert-card{background:#fef2f2;border-color:#fca5a5}.analytics-card.alert-card h5{color:#991b1b}.analytics-card.alert-card ul{margin-top:12px;padding-left:20px}.analytics-card.alert-card li{color:#7f1d1d;margin-bottom:8px}@media (max-width:768px){.metrics-grid,.phase-summary-grid,.students-summary,.tests-summary{grid-template-columns:1fr}.phase-selector,.students-controls{flex-direction:column}.analytics-tab{font-size:12px;padding:12px 8px}}.lesson-plan .full-height1{height:100vh}.lesson-plan .card-body{overflow:scroll}.lesson-plan .form-control{border:none}.lesson-plan .row{border-bottom:1px solid #dedede}.lesson-plan .col{padding-left:1px;padding-right:1px}.lesson-plan .my-label{padding-top:.5rem}.course-name-wrapper{font-size:14px;margin:5px 0;opacity:.8}.custom-radio .form-check-input{margin-left:-1.55rem;margin-top:-.5rem;position:absolute;z-index:1}.custom-radio{display:flex}.btn-analytics-small{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 1px 3px 0 #3b82f64d;cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;padding:4px 8px;transition:all .15s ease}.btn-analytics-small:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 3px 6px 0 #3b82f666;transform:translateY(-1px)}.btn-analytics-small:active{box-shadow:0 1px 3px 0 #3b82f64d;transform:translateY(0)}.btn-change-status{background:#0000;border:1px solid #6b7280;border-radius:4px;color:#6b7280;cursor:pointer;font-size:14px;padding:2px 8px;transition:all .15s ease}.btn-change-status:hover{background:#6b7280;color:#fff}.status-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;min-width:140px;position:absolute;top:100%;z-index:1000}.status-option{cursor:pointer;font-size:13px;padding:8px 12px;transition:background .1s ease;white-space:nowrap}.status-option:first-child{border-radius:6px 6px 0 0}.status-option:last-child{border-radius:0 0 6px 6px}.status-option:hover{background:#f3f4f6}.status-option.active{background:#dbeafe;font-weight:500}.step-locked{background-color:#fef2f2;opacity:.6}.btn-request-access{background:#0000;border:1px solid #f59e0b;border-radius:4px;color:#f59e0b;cursor:pointer;font-size:.7rem;padding:2px 6px;transition:all .15s ease;white-space:nowrap}.btn-request-access:hover{background:#f59e0b;color:#fff}.lock-badge{background:#dc2626;border-radius:10px;color:#fff;display:inline-block;font-size:.65rem;margin-left:6px;padding:1px 6px;vertical-align:middle}.access-badge{align-items:center;border-radius:4px;display:inline-flex;flex-direction:column;font-size:.65rem;line-height:1.3;padding:2px 8px;text-align:center;white-space:nowrap}.access-badge-time{font-size:.55rem;margin-top:1px;opacity:.75}.access-badge-pending{background:#fef3c7;border:1px solid #f59e0b;color:#92400e}.access-badge-approved{background:#d1fae5;border:1px solid #10b981;color:#065f46}.access-badge-approved-inline{background:#d1fae5;border:1px solid #10b981;border-radius:10px;color:#065f46;display:inline-block;font-size:.6rem;margin-left:6px;padding:1px 6px;vertical-align:middle}.access-badge-rejected{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.access-badge-remarks{color:#6b7280;display:block;font-size:.55rem;margin-top:2px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-rejected-group{align-items:center;display:flex;flex-direction:column;gap:2px}.btn-request-access-sm{font-size:.6rem;margin-top:2px;padding:1px 4px}.step-analytics-page{background:#f3f4f6;display:flex;flex-direction:column;min-height:100vh}.analytics-page-header{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 6px -1px #0000001a;color:#fff;padding:1.5rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{gap:1.5rem;max-width:1600px}.btn-back{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.btn-back:hover{background:#ffffff4d;transform:translateX(-2px)}.page-title{flex:1 1;font-size:1.75rem}.analytics-page-body{flex:1 1;margin:0 auto;max-width:1600px;padding:2rem;width:100%}.analytics-loading-page{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:100px 20px;text-align:center}.analytics-loading-page p{color:#6b7280;font-size:16px;margin-top:16px}.analytics-error-page{margin:0 auto;max-width:600px;padding:40px 20px}.analytics-page-tabs{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:8px;margin-bottom:2rem;padding:8px}.analytics-page-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:16px 24px;transition:all .2s}.analytics-page-tab:hover{background:#f3f4f6;color:#374151}.analytics-page-tab.active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 6px -1px #3b82f64d;color:#fff}.analytics-page-content{background:#0000}@media (max-width:768px){.analytics-page-header{padding:1rem}.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.page-title{font-size:1.25rem}.analytics-page-body{padding:1rem}.analytics-page-tabs{flex-direction:column}.analytics-page-tab{padding:12px 16px}}:root{--bg:#f8f9fc;--panel:#fff;--panel2:#fafbfc;--text:#1e293b;--muted:#475569;--line:#6b728026;--good:#10b981;--warn:#f59e0b;--bad:#ef4444;--accent:#667eea;--accent2:#764ba2;--chip:#f3f4f6;--shadow:0 4px 20px #00000014;--radius:12px;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}.class-review-dashboard,.class-review-dashboard *{color:inherit}.class-review-dashboard *{box-sizing:border-box}.class-review-dashboard{background:linear-gradient(135deg,#f8f9fc,#fafbfc);color:#1e293b!important;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;font-family:var(--sans);margin:0;min-height:100vh}.class-review-dashboard div,.class-review-dashboard h1,.class-review-dashboard h2,.class-review-dashboard h3,.class-review-dashboard h4,.class-review-dashboard label,.class-review-dashboard p,.class-review-dashboard span{color:inherit}.app{margin:0 auto;max-width:1220px;padding:22px}.topbar{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow);color:#fff;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:16px 24px}.titlewrap,.topbar{align-items:center;display:flex}.titlewrap{flex-shrink:1;gap:12px;min-width:0}.fc-icon{background:#fff3;border:1px solid #ffffff4d;border-radius:12px;color:#fff;display:grid;font-weight:800;height:44px;letter-spacing:.2px;place-items:center;width:44px}.topbar h1{color:#fff!important;font-size:16px;font-weight:800;margin:0;white-space:nowrap}.topbar .subtitle{color:#ffffffd9!important;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{flex-wrap:wrap;gap:10px;justify-content:flex-end}.actions,.chip{align-items:center;display:flex}.chip{background:#ffffff26;border:1px solid #ffffff40;border-radius:999px;cursor:default;gap:8px;padding:8px 12px;white-space:nowrap}.btn,.chip{color:#fff;font-size:12px}.btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;font-weight:700;padding:10px 16px}.btn:hover{background:#ffffff4d}.btn.secondary{background:#ffffff1a;border-color:#fff3}.btn.secondary:hover{background:#ffffff26}.btn.grade-ai{background:#22c55e;border-color:#16a34a}.btn.grade-ai:hover{background:#16a34a}.layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:250px 1fr;margin-top:16px}.side{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow);padding:16px;position:-webkit-sticky;position:sticky;top:16px}.content{display:flex;flex-direction:column;gap:16px}.navtitle{color:#475569!important;font-size:11px;font-weight:700;letter-spacing:.5px;margin:2px 8px 12px;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:6px}.nav button{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#1e293b!important;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:space-between;min-height:42px;padding:10px 12px;text-align:left;transition:all .2s;width:100%}.nav button:hover{background:#f3f4f6;background:var(--chip)}.nav button.active{background:linear-gradient(135deg,#667eea1a,#764ba20d);border-color:#667eea4d;color:#667eea;color:var(--accent)}.pill{background:#f3f4f6;background:var(--chip);border-radius:999px;color:#64748b!important;flex-shrink:0;font-size:10px;font-weight:700;padding:4px 8px;white-space:nowrap}.pill,.threshold-list{border:1px solid #6b728026;border:1px solid var(--line)}.threshold-list{border-radius:8px;color:#475569;font-size:11px;line-height:1.6;margin:6px 0 0;padding:10px 10px 10px 26px}.threshold-list li{margin:0}.threshold-list strong{color:#1e293b}.grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.card{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow);grid-column:span 12;padding:20px}.card h2{align-items:center;color:#1e293b!important;display:flex;font-size:14px;font-weight:800;gap:10px;justify-content:space-between;letter-spacing:.2px;margin:0}.card h2 .hint{color:#64748b!important;font-size:11px;font-weight:600}.kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-top:16px}.kpi{background:linear-gradient(135deg,#fafbfc,#f8f9fc);border:1px solid #6b728026;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:8px;min-height:96px;padding:16px;transition:all .2s}.kpi:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.kpi .label{color:#64748b!important;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.kpi .value{color:#1e293b!important;font-size:24px;font-weight:900;letter-spacing:.2px}.kpi .sub{color:#64748b!important;font-size:11px;line-height:1.4}.bar{background:#e5e7eb;border:none;border-radius:999px;height:8px;overflow:hidden}.bar>span{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:999px;display:block;height:100%;width:0}.split{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.2fr .8fr;margin-top:12px}.insights{display:flex;flex-direction:column;gap:10px;margin-top:12px}.insight{align-items:flex-start;background:#fafbfc;background:var(--panel2);border:1px solid #6b728026;border:1px solid var(--line);border-radius:10px;display:flex;gap:12px;padding:12px 14px}.dot{background:#667eea;background:var(--accent);border-radius:999px;box-shadow:0 0 0 4px #667eea1f;flex-shrink:0;height:10px;margin-top:5px;width:10px}.dot.good{background:#10b981;background:var(--good);box-shadow:0 0 0 4px #10b9811f}.dot.warn{background:#f59e0b;background:var(--warn);box-shadow:0 0 0 4px #f59e0b1f}.dot.bad{background:#ef4444;background:var(--bad);box-shadow:0 0 0 4px #ef44441f}.insight .t{color:#1e293b!important;font-size:13px;font-weight:700;margin:0}.insight .d{color:#475569!important;font-size:12px;line-height:1.5;margin-top:4px}.donut-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:16px}.donut-chart-card{align-items:center;display:flex;flex-direction:column;gap:10px}.donut-svg{height:120px;transform:rotate(-90deg);width:120px}.donut-circle{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease-out}.donut-bg{stroke:#e5e7eb}.donut-correct{stroke:#10b981}.donut-wrong{stroke:#ef4444}.donut-not-attempted{stroke:#9ca3af}.donut-label{color:#1e293b!important;font-size:13px;font-weight:700;text-align:center}.donut-stats{display:flex;flex-direction:column;font-size:11px;gap:4px;width:100%}.donut-stat-row{align-items:center;display:flex;gap:6px;justify-content:center}.donut-stat-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.donut-stat-dot.correct{background:#10b981}.donut-stat-dot.wrong{background:#ef4444}.donut-stat-dot.not-attempted{background:#9ca3af}.donut-stat-text,.donut-summary{color:#64748b!important;font-weight:600}.donut-summary{font-size:13px;margin-top:8px;padding:12px;text-align:center}.three-phase-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr}.phase-column{background:#fafbfc;background:var(--panel2);border:2px solid #0000;border-radius:10px;padding:16px}.phase-column.pre{border-color:#667eea4d}.phase-column.in{border-color:#10b9814d}.phase-column.post{border-color:#f59e0b4d}.phase-header{border-bottom:2px solid #6b728026;border-bottom:2px solid var(--line);margin-bottom:16px;padding-bottom:12px;text-align:center}.phase-icon{font-size:32px;margin-bottom:8px}.phase-title{color:#1e293b!important;font-size:16px;font-weight:800;margin-bottom:4px}.phase-subtitle{color:#64748b!important;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.phase-metrics{display:flex;flex-direction:column;gap:12px}.phase-metric{align-items:center;display:flex;justify-content:space-between}.phase-metric-label{color:#64748b!important;font-size:12px;font-weight:600}.phase-metric-value{color:#1e293b!important;font-size:18px;font-weight:800}.phase-metric-right{align-items:flex-end;display:flex;flex-direction:column}.phase-metric-sub{color:#94a3b8!important;font-size:10px;font-weight:500;margin-top:-2px}.baseline-endline-container{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:1fr auto 1fr}.baseline-quiz,.endline-quiz{text-align:center}.quiz-donut-large{height:180px;margin:0 auto 12px;width:180px}.quiz-score{color:#1e293b!important;font-size:48px;font-weight:900;line-height:1}.quiz-outof{color:#64748b!important;font-size:18px;font-weight:600}.quiz-title{color:#1e293b!important;font-size:14px;font-weight:700;text-align:center}.improvement-arrow{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:2px solid #10b9814d;border-radius:10px;padding:20px;text-align:center}.improvement-icon{font-size:40px}.improvement-text{color:#059669;font-size:14px;font-weight:700;text-align:center}.improvement-value{color:#10b981;font-size:28px;font-weight:900}.improvement-students{color:#64748b!important;font-size:11px;margin-top:8px;text-align:center}table{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-collapse:initial;border-radius:10px;border-spacing:0;margin-top:12px;overflow:hidden;width:100%}thead th{background:#fafbfc;background:var(--panel2);border-bottom:2px solid #6b728026;border-bottom:2px solid var(--line);color:#64748b!important;font-size:11px;font-weight:800;letter-spacing:.5px;padding:12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}tbody td{border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);color:#1e293b!important;font-size:13px;font-weight:600;padding:12px;vertical-align:top}tbody tr:hover{background:#f3f4f6;background:var(--chip)}tbody tr{cursor:pointer;transition:all .2s}.tag{align-items:center;background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:999px;color:#64748b!important;display:inline-flex;font-size:11px;font-weight:700;gap:6px;padding:5px 10px;white-space:nowrap}.tag.good{background:#10b9811a;border-color:#10b9814d;color:#059669}.tag.warn{background:#f59e0b1a;border-color:#f59e0b4d;color:#d97706}.tag.bad{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.controls{flex-wrap:wrap;margin-top:12px}.controls,.field{display:flex;gap:10px}.field{align-items:center;background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:8px;flex:1 1 260px;padding:10px 12px}.field label{color:#64748b!important;font-size:11px;font-weight:700;white-space:nowrap}.field input,.field select{background:#0000;border:none;color:#1e293b!important;font-size:13px;font-weight:600;outline:none;width:100%}.two{grid-gap:16px;grid-template-columns:1fr 1fr}.three,.two{display:grid;gap:16px}.three{grid-gap:16px;grid-template-columns:1fr 1fr 1fr}.hide{display:none}.mono{color:#64748b!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-family:var(--mono);font-size:11px}.class-review-dashboard .row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:10px 0}.class-review-dashboard .row .name{color:#1e293b!important;font-size:13px;font-weight:700}.class-review-dashboard .row .meta{color:#64748b!important;font-size:11px}@media (max-width:980px){.three-phase-summary{grid-template-columns:1fr}.baseline-endline-container{gap:20px;grid-template-columns:1fr}.improvement-arrow{transform:rotate(90deg)}.layout{grid-template-columns:1fr}.side{position:relative;top:0}.kpis{grid-template-columns:1fr 1fr}.split,.three,.two{grid-template-columns:1fr}}@media (max-width:560px){.actions{justify-content:flex-start}.kpis{grid-template-columns:1fr}}.pdf-section{margin:10px 0}.pdf-resource-row{background:#fafbfc;background:var(--panel2);border:1px solid #6b728026;border:1px solid var(--line);border-radius:8px;margin:6px 0;padding:10px 12px}.pdf-resource-row:hover{background:#f0f4ff;border-color:#667eea;border-color:var(--accent)}.pdf-name{color:#1e293b;color:var(--text);font-size:13px;font-weight:600;margin-bottom:4px}.pdf-meta{color:#475569;color:var(--muted);font-size:11px;margin-bottom:8px}.pdf-resource-row .bar{background:#6b728026;background:var(--line);border-radius:3px;height:6px;overflow:hidden}.pdf-resource-row .bar span{background:linear-gradient(90deg,#667eea,#764ba2);background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:3px;display:block;height:100%;transition:width .3s ease}.warning-tag{background:#fef3c7;border-radius:4px;color:#f59e0b;color:var(--warn);display:inline-block;font-size:11px;font-weight:500;margin-top:6px;padding:3px 8px}.info-icon{align-items:center;background:#eef2ff;border-radius:50%;color:#667eea;color:var(--accent);cursor:pointer;display:inline-flex;font-size:10px;height:16px;justify-content:center;margin-left:6px;transition:all .2s;vertical-align:middle;width:16px}.info-icon:hover{background:#667eea;background:var(--accent);color:#fff;transform:scale(1.1)}.class-review-dashboard .btn-generate-ai{align-items:center;background:linear-gradient(135deg,#8b5cf6,#a855f7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s;white-space:nowrap}.class-review-dashboard .btn-generate-ai:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#9333ea);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.class-review-dashboard .btn-generate-ai:disabled{cursor:not-allowed;opacity:.6;transform:none}.class-review-dashboard .btn-generate-ai .spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.class-review-dashboard .ai-error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.class-review-dashboard .ai-assessment{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-left:3px solid #8b5cf6;border-radius:8px;color:#5b21b6;font-size:13px;margin-bottom:12px;padding:12px 14px}.class-review-dashboard .ai-assessment strong{color:#6d28d9;margin-right:6px}.class-review-dashboard .insight.ai-insight{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-left:3px solid #8b5cf6;position:relative}.class-review-dashboard .insight.ai-insight.priority-high{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left-color:#f59e0b}.class-review-dashboard .insight.ai-insight.priority-medium{border-left-color:#8b5cf6}.class-review-dashboard .insight.ai-insight.priority-low{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left-color:#22c55e}.class-review-dashboard .insight .time-badge{background:#8b5cf626;border-radius:12px;color:#7c3aed;display:inline-block;font-size:11px;font-weight:500;margin-left:8px;padding:2px 8px;vertical-align:middle}.class-review-dashboard .insight.priority-high .time-badge{background:#f59e0b26;color:#b45309}.class-review-dashboard .dot.info{background-color:#8b5cf6}.in-class-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.in-class-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-in-class{border:1px solid #6b728026;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .2s}.btn-in-class.flash{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.btn-in-class.flash:hover{opacity:.9;transform:translateY(-1px)}.btn-in-class.tracker{background:linear-gradient(135deg,#10b981,#059669);border-color:#0000;color:#fff}.btn-in-class.tracker:hover{opacity:.9;transform:translateY(-1px)}.btn-in-class.tracker.active{background:#667eea;background:var(--accent);border-color:#667eea;border-color:var(--accent);color:#fff}.engagement-tracker{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:10px;isolation:isolate;margin-top:8px;padding:16px}.engagement-tracker .name-cell span{background:#0000!important;border:none!important;border-radius:0!important;display:block;padding:0!important}.engagement-tracker-loading{color:#475569;color:var(--muted);padding:20px;text-align:center}.engagement-header{align-items:center;border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.engagement-title h3{font-size:14px;font-weight:700;margin:0}.engagement-status{color:#475569;color:var(--muted);font-size:11px;margin-top:4px}.saving-indicator{color:#667eea;color:var(--accent)}.saved-indicator{color:#10b981;color:var(--good)}.engagement-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-engagement{background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:5px;color:#1e293b;color:var(--text);cursor:pointer;font-size:11px;font-weight:600;padding:6px 12px;transition:all .2s}.btn-engagement:hover{background:#e5e7eb}.btn-engagement:disabled{cursor:not-allowed;opacity:.5}.btn-engagement.flash{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.btn-engagement.quiz{background:#10b981;background:var(--good);border-color:#0000;color:#fff}.btn-engagement.save{background:#667eea;background:var(--accent);border-color:#0000;color:#fff}.autosave-toggle{align-items:center;color:#475569;color:var(--muted);cursor:pointer;display:flex;font-size:11px;gap:4px}.autosave-toggle input{cursor:pointer}.engagement-error{align-items:center;background:#ef44441a;border-radius:6px;color:#ef4444;color:var(--bad);display:flex;font-size:12px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.engagement-error button{background:none;border:none;color:#ef4444;color:var(--bad);cursor:pointer;font-size:11px;font-weight:600}.engagement-filters{display:flex;gap:10px;margin-bottom:12px}.search-input{border:1px solid #6b728026;border:1px solid var(--line);border-radius:6px;font-size:12px;padding:8px 12px}.search-input:focus{border-color:#667eea;border-color:var(--accent)}.filter-select{border:1px solid #6b728026;border:1px solid var(--line);border-radius:6px;font-size:12px;padding:8px 12px}.engagement-table-wrapper{max-height:400px;overflow-x:auto;overflow-y:auto}.engagement-table{border-collapse:collapse;font-size:12px;width:100%}.engagement-table thead{background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:1}.engagement-table th{border-bottom:2px solid #6b728026;border-bottom:2px solid var(--line);color:#475569;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.3px;padding:8px 10px;text-align:left;text-transform:uppercase}.engagement-table td{background:#fff;border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);padding:8px 10px}.engagement-table .col-center{text-align:center}.engagement-table .student-row{background:#fff}.engagement-table .student-row:hover,.engagement-table .student-row:hover td{background:#f8fafc}.engagement-table .student-name{background:#fff!important;min-width:180px}.engagement-table .name-cell{background:#0000!important;display:flex;flex-direction:column}.engagement-table .name-cell .name{color:#1e293b!important;font-weight:600}.engagement-table .name-cell .id,.engagement-table .name-cell .name{background:#0000!important;border:none!important;border-radius:0!important;padding:0!important}.engagement-table .name-cell .id{color:#64748b!important;font-size:10px}.hands-up-group{gap:4px}.hands-up-btn,.hands-up-group{align-items:center;display:inline-flex}.hands-up-btn{background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:4px;cursor:pointer;justify-content:center;min-width:32px;padding:4px 8px;transition:all .15s}.hands-up-btn:hover{background:#667eea1a;border-color:#667eea;border-color:var(--accent)}.hands-up-btn:active{transform:scale(.95)}.hands-up-btn:disabled{cursor:default;opacity:.35}.hands-up-btn:disabled:hover{background:#f3f4f6;background:var(--chip);border-color:#6b728026;border-color:var(--line)}.hands-icon{color:#667eea;color:var(--accent);font-size:14px;font-weight:700;line-height:1}.hands-up-group>.hands-count{font-weight:600;min-width:20px;text-align:center}.poll-score{color:#475569;color:var(--muted);font-weight:500}.participation-select,.role-select{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:4px;cursor:pointer;font-size:11px;max-width:120px;padding:5px 8px;width:100%}.participation-select:focus,.role-select:focus{border-color:#667eea;border-color:var(--accent);outline:none}.participation-select.level-high{background:#10b9811a;border-color:#10b981;border-color:var(--good)}.participation-select.level-medium{background:#f59e0b1a;border-color:#f59e0b;border-color:var(--warn)}.participation-select.level-low{background:#ef44441a;border-color:#ef4444;border-color:var(--bad)}.no-students{color:#475569;color:var(--muted);font-size:13px;padding:20px;text-align:center}.flash-quiz-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.flash-quiz-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;color:#1e293b;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:90%}.flash-quiz-modal .flash-quiz-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #6b728026;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.flash-quiz-header h2{color:#fff;font-size:16px;font-weight:700;margin:0}.flash-quiz-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;width:28px}.flash-quiz-header .close-btn:hover{background:#ffffff4d}.flash-quiz-error{align-items:center;background:#ef44441a;color:#ef4444;display:flex;font-size:12px;justify-content:space-between;padding:10px 16px}.flash-quiz-error button{background:none;border:none;color:#ef4444;cursor:pointer;font-weight:600}.flash-quiz-content{flex:1 1;overflow-y:auto;padding:16px 20px}.flash-quiz-content .loading,.no-questions{color:#475569;padding:40px;text-align:center}.no-questions p{margin:8px 0}.quiz-info{align-items:center;border-bottom:1px solid #6b728026;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.quiz-name{color:#1e293b;font-weight:600}.history-btn{background:#f3f4f6;border:1px solid #6b728026;border-radius:4px;cursor:pointer;font-size:11px;padding:6px 12px}.history-btn:hover{background:#e5e7eb}.question-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.question-card{border:2px solid #6b728026;border-radius:8px;cursor:pointer;padding:12px 14px;transition:all .15s}.question-card:hover{background:#667eea08;border-color:#667eea}.question-card.selected{background:#667eea14;border-color:#667eea}.question-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.question-num{background:#667eea;border-radius:4px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px}.question-concept{color:#475569;flex:1 1;font-size:11px}.question-stat{border-radius:10px;font-size:10px;font-weight:600;padding:2px 6px}.question-stat.low{background:#ef444426;color:#ef4444}.question-stat.medium{background:#f59e0b26;color:#b45309}.question-stat.high{background:#10b98126;color:#10b981}.question-text{color:#1e293b;font-size:13px;line-height:1.4;margin-bottom:8px}.question-options{display:flex;flex-wrap:wrap;gap:6px}.option-preview{background:#f3f4f6;border-radius:3px;color:#475569;font-size:10px;padding:2px 6px}.flash-settings{border-top:1px solid #6b728026;margin-top:16px;padding-top:16px}.flash-settings label{align-items:center;color:#333;display:flex;font-size:12px;gap:10px}.flash-settings select{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;font-size:12px;padding:6px 10px}.flash-actions{border-top:1px solid #6b728026;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:16px}.cancel-btn{border:1px solid #6b728026;border-radius:6px;font-size:13px;padding:10px 20px}.cancel-btn:hover{background:#f3f4f6}.flash-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px;transition:all .2s}.flash-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.flash-btn:disabled{cursor:not-allowed;opacity:.5}.flash-quiz-content.active-session{text-align:center}.flash-quiz-content .session-timer{margin-bottom:12px}.flash-quiz-content .session-timer .time{color:#1e293b;font-size:36px;font-weight:700}.flash-quiz-content .session-timer .time.urgent{animation:pulse 1s infinite;color:#ef4444}.flash-quiz-content .session-timer .timer-label{color:#475569;display:block;font-size:11px;margin-top:2px}.flash-quiz-content .active-question{background:#fafbfc;border-radius:8px;margin-bottom:14px;padding:14px}.flash-quiz-content .active-question .question-text{color:#1e293b;font-size:14px;margin-bottom:6px}.flash-quiz-content .active-question .question-concept{color:#475569;font-size:11px}.flash-quiz-content .live-stats{margin-bottom:14px;text-align:left}.flash-quiz-content .stat-row{align-items:center;border-bottom:1px solid #6b728026;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.flash-quiz-content .stat-label{color:#475569;font-size:13px}.flash-quiz-content .stat-value{color:#1e293b;font-size:14px;font-weight:600}.flash-quiz-content .options-results{margin-top:12px}.flash-quiz-content .option-result{align-items:center;background:#fafbfc;border:1px solid #6b72801f;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 10px;margin-bottom:6px;padding:10px 12px}.flash-quiz-content .option-letter{align-items:center;background:#e8eaf6;border-radius:50%;color:#667eea;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.flash-quiz-content .option-result .option-text{color:#1e293b;flex:1 1;font-size:13px;min-width:0;text-align:left}.flash-quiz-content .option-bar{background:#e5e7eb;border-radius:3px;flex-basis:100%;height:6px;margin-left:38px;overflow:hidden}.flash-quiz-content .bar-fill{background:#667eea;border-radius:3px;height:100%;transition:width .3s ease}.flash-quiz-content .bar-fill.correct{background:#10b981}.flash-quiz-content .option-count{color:#475569;font-size:12px;font-weight:600;text-align:right;width:30px}.flash-quiz-content .session-actions{margin-top:16px}.flash-quiz-content .close-quiz-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px}.flash-quiz-content .close-quiz-btn:disabled{cursor:not-allowed;opacity:.5}.flash-quiz-content.results-view{text-align:center}.flash-quiz-content .results-summary{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:16px}.flash-quiz-content .result-stat{background:#fafbfc;border-radius:8px;min-width:90px;padding:12px 20px}.flash-quiz-content .result-stat .value{color:#1e293b;display:block;font-size:24px;font-weight:700}.flash-quiz-content .result-stat .label{color:#475569;font-size:11px;text-transform:uppercase}.flash-quiz-content .result-stat.correct .value{color:#10b981}.comparison-box{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:8px;margin-bottom:20px;padding:16px}.comparison-header{color:#475569;font-size:12px;font-weight:600;margin-bottom:12px}.comparison-stats{align-items:center;display:flex;gap:20px;justify-content:center}.compare-stat .label{color:#475569;display:block;font-size:11px}.compare-stat .value{font-size:24px;font-weight:700}.compare-arrow{font-size:20px}.improvement{border-radius:12px;display:inline-block;font-size:14px;font-weight:700;padding:4px 10px}.improvement.positive{background:#10b98126;color:#10b981}.improvement.negative{background:#ef444426;color:#ef4444}.final-options-results{margin-top:20px;text-align:left}.final-options-results .option-result{border-radius:6px;padding:10px}.final-options-results .option-result.correct{background:#10b98114}.option-text{flex:1 1;font-size:12px;text-align:left}.correct-badge{background:#10b981;border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px}.results-actions{border-top:1px solid #6b728026;display:flex;gap:12px;justify-content:center;margin-top:20px;padding-top:16px}.flash-another-btn{background:#fff;border:1px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px}.flash-another-btn:hover{background:#667eea0d}.done-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px}.history-view{text-align:left}.back-btn{background:#f3f4f6;border:1px solid #6b728026;border-radius:4px;font-size:12px;margin-bottom:16px;padding:8px 14px}.back-btn:hover{background:#e5e7eb}.no-history{color:#475569;padding:40px;text-align:center}.history-list{gap:10px}.history-item{background:#fafbfc;border:1px solid #6b728026;padding:12px 14px}.history-question{font-size:13px;font-weight:500;margin-bottom:6px}.history-stats{color:#475569;display:flex;font-size:11px;gap:16px}.history-time{color:#475569;font-size:10px;margin-top:6px}.insight.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.insight.clickable:hover{box-shadow:0 2px 8px #00000014;transform:translateX(4px)}.insight .click-hint{color:#6366f1;font-size:.75em;font-weight:400;margin-left:8px;opacity:0;transition:opacity .15s ease}.insight.clickable:hover .click-hint{opacity:1}.filter-badge{align-items:center;background:#eef2ff;border-radius:16px;color:#4338ca;display:inline-flex;font-size:.8em;font-weight:500;gap:8px;margin-left:12px;padding:4px 12px}.clear-filter{background:none;border:none;color:#6366f1;cursor:pointer;font-size:1.2em;line-height:1;padding:0 4px}.clear-filter:hover{color:#4338ca}.phase-column.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.phase-column.clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.signals-compact{padding:12px 14px!important}.sc-section{border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:8px}.sc-section.sc-section-last,.sc-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sc-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}.sc-label{color:#64748b!important;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.3px;min-width:90px;text-transform:uppercase}.sc-chips{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.sc-chip{align-items:center;background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:999px;color:#64748b!important;display:inline-flex;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}.sc-chip.good{background:#10b9811a;border-color:#10b9814d;color:#059669!important}.sc-chip.warn{background:#f59e0b1a;border-color:#f59e0b4d;color:#d97706!important}.sc-chip.bad{background:#ef44441a;border-color:#ef44444d;color:#dc2626!important}.sc-chip.muted{background:#f5f5f5;border-color:#e5e5e5;color:#999!important}.sc-val{color:#1e293b!important;flex-shrink:0;font-size:12px;font-weight:600;white-space:nowrap}.sc-tracked{color:#999!important;font-size:11px;font-weight:500;margin-left:4px}.sc-bar{flex:1 1;height:6px!important;max-width:140px;min-width:60px}@media (max-width:980px){.sc-label{margin-bottom:2px;min-width:100%}.sc-bar{flex-basis:100%;max-width:100%}}.date-scroll .scrolling-wrapper{overflow-x:auto;padding-bottom:20px;padding-top:20px}.date-scroll .card{background-color:#dcdcdc;margin-right:5px;min-width:60px}.date-scroll .card-head{text-align:center}.date-scroll .date-active{background:#73ad21;border-radius:50%;color:ivory;display:inline-block;height:28px;width:28px}.date-scroll .date-label{font-size:small;font-weight:500;padding-bottom:2px;text-align:center}.one-line-text{white-space:nowrap}.no-data-container{align-items:center;border:.5px solid #4040401a;display:flex;flex-grow:1;justify-content:center;margin:0}.no-data-max-height{display:block;grid-row-end:span 100}.sticky-text-vertical{position:-webkit-sticky;position:sticky;top:50%;z-index:0}@media (max-width:750px){.no-data-text{font-size:16px}}@media print{.no-data-max-height{display:flex}.sticky-text-vertical{position:static}.no-data-text{color:#000!important}}.activity-slot-container{border:.5px solid #4040401a;flex-grow:1;overflow:overlay}.slot-data-container .timelist{margin-bottom:0!important}.activity-slot-time{color:#fff!important}@media (max-width:750px){.activity-slot-batch{font-size:16px;margin-bottom:0}.activity-slot-topic{font-size:14px;margin-bottom:0}.activity-slot-time{font-size:12px;margin-bottom:0}}@media print{.activity-slot-batch,.activity-slot-time,.activity-slot-topic{color:#000!important}}.timetable{transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.timetable{margin-left:280px}}.timetable-menu-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.5rem;left:1rem;line-height:1;padding:10px 12px;position:fixed;top:1rem;transition:all .3s ease;z-index:999}.timetable-menu-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}@media (max-width:1023px){.timetable-menu-btn{align-items:center;display:flex;justify-content:center}}.time-table-heading{align-items:center;display:flex;gap:10px}.time-table-back{font-size:24px;font-weight:500}.timetable .timelist{margin-bottom:5px;padding:5px}.timetable .label-topic{color:bisque;display:inline-block}.timetable .label-room{color:#0ff;float:right}.timetable .card-body{max-height:480px}.timetable-header{display:flex;justify-content:space-between}.timetable-button-container{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background-color:#fff6;border:.5px solid #4040401a;border-radius:12px;display:flex;height:45px;justify-content:space-around;margin:10px;-webkit-user-select:none;user-select:none}.timetable-button{align-items:center;border-radius:10px;color:#1d1d1f;cursor:pointer;display:flex;height:38px;justify-content:center;margin:0 3px;width:90px}.timetable-button.active{background:#f5f5f5;border:.5px solid #4040401a}.weekly-timetable-container{grid-column-gap:5px;column-gap:5px;display:grid;grid-template-columns:120px 1fr 1fr 1fr 1fr 1fr 1fr 1fr;padding:0 15px 15px}.weekly-column{grid-row-gap:5px;display:grid;row-gap:5px}.day-details-weekly-timetable{align-items:center;background:#efefef;border:.5px solid #4040401a;display:flex;flex-direction:column;justify-content:center;padding:5px;text-align:center}.weekly-timetable-download-wrapper{display:flex;justify-content:space-between;padding:0 20px}.weekly-timetable-download{align-items:center;background:#f5f5f5;border:1px solid #82828229;border-radius:7px;cursor:pointer;display:flex;gap:5px;margin:10px 0;max-width:150px;padding:10px}.donwload-icon-container{width:20px}.slot-data-container{display:flex;flex-direction:column;row-gap:5px}@media (max-width:750px){.time-table-heading{font-size:24px}.time-table-back{font-size:20px}.weekly-timetable-container{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;margin:0 0 10px 10px;overflow-x:scroll;padding:0}.sticky-container{background:#fff;left:0;position:-webkit-sticky;position:sticky;z-index:1}.day-details-weekly-timetable{font-size:13px;min-width:125px}}@media print{.weekly-timetable-container{overflow:visible}.timetable-button-container,.weekly-timetable-download{display:none}}.modern-home{background:#f8f9fa}.modern-content{max-width:1200px;padding:20px}.home-nav{border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001a}.home-nav-content{max-width:1200px;padding:16px 20px}.brand{color:#1a1a1a;font-size:18px;font-weight:700;gap:10px}.brand-text{color:#1a1a1a;letter-spacing:-.02em}.back-button{align-items:center;background:#2c3e50;border-radius:6px;display:flex;gap:6px}.back-button:hover{background:#34495e;transform:translateX(-2px)}.back-button:active{transform:scale(.98)}.user-avatar{fill:#0078d4;height:28px;width:28px}.search-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:24px;padding:24px}.search-title{color:#2c3e50;font-size:18px;font-weight:700;letter-spacing:.5px;margin:0 0 20px;text-align:center;text-transform:uppercase}.search-filters{grid-gap:16px;align-items:end;display:grid;grid-template-columns:auto auto auto}.filter-group{gap:8px}.filter-group-button{align-self:end}.filter-label{color:#333;font-size:14px;font-weight:600}.date-input,.select-input,.text-input{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-size:14px;padding:8px 12px}.date-input:disabled,.select-input:disabled,.text-input:disabled{background:#f5f5f5;cursor:not-allowed}.search-button{background:#2c3e50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.search-button:hover:not(:disabled){background:#34495e}.search-button:disabled{cursor:not-allowed;opacity:.6}.activities-section{background:#2c3e50;border-radius:8px;margin-bottom:16px;padding:16px 24px}.activities-title{color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.loading-container{flex-direction:column;min-height:60vh;text-align:center}.spinner{border:4px solid #0000001a;border-top-color:#2c3e50;margin-bottom:16px}.loading-container p{color:#605e5c;font-size:16px;font-weight:500}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.error-message{color:#a4262c;font-size:16px;margin-bottom:16px}.retry-button{background:#2c3e50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.retry-button:hover{background:#34495e}.retry-button:active{transform:scale(.98)}.no-activities{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.no-activities-icon{font-size:64px;margin-bottom:16px}.no-activities p{color:#605e5c;font-size:16px;margin:0}.activities-container{display:flex;flex-direction:column;gap:24px}.date-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:16px;overflow:hidden}.date-header{background:#2c3e50;gap:12px;padding:12px 16px}.date-badge{align-items:center;display:flex;gap:16px}.date-day{color:#fff;font-size:36px;font-weight:700;line-height:1;min-width:50px;text-align:center}.date-weekday{color:#fff;font-size:16px;font-weight:600;line-height:1.2;text-transform:capitalize}.date-month{color:#ffffffe6;font-size:12px;font-weight:400;line-height:1.2}.activities-list{padding:0}.activity-card{grid-column-gap:32px;align-items:center;border-bottom:1px solid #f3f2f1;column-gap:32px;display:grid;grid-template-columns:180px 1fr 1fr 200px;padding:20px;transition:background .15s ease}.activity-card:last-child{border-bottom:none}.activity-card:hover{background:#faf9f8}.activity-time{align-items:center;display:flex}.time-label{background:#f0f0f0;border:1px solid #e0e0e0;border-radius:4px;color:#2c3e50;display:block;font-size:13px;font-weight:600;padding:8px 12px;text-align:center;white-space:nowrap}.activity-details{display:contents}.activity-row{display:flex;flex-direction:column;gap:4px}.activity-label{color:#666;font-size:11px;font-weight:700;letter-spacing:.5px;line-height:1;text-transform:uppercase}.activity-batch{color:#1a1a1a;font-size:16px;font-weight:600}.activity-batch,.activity-course{word-wrap:break-word;line-height:1.5;overflow-wrap:break-word}.activity-course{color:#333;font-size:15px;font-weight:500}.activity-topic{align-self:flex-start;background:#f3f2f1;border-radius:4px;color:#605e5c;display:inline-block;font-size:13px;font-weight:400;margin-top:2px;padding:4px 10px}.action-button{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;text-align:center;transition:all .2s ease}.attendance-button{background:#5cb85c;color:#fff}.attendance-button:hover{background:#4cae4c}@media (max-width:768px){.modern-content{padding:16px}.home-nav-content{padding:12px 16px}.brand-text,.user-name{display:none}.search-filters{grid-template-columns:1fr}.search-section{padding:16px}.search-title{font-size:16px}.activities-section{padding:12px 16px}.activities-title{font-size:14px}.activities-container{gap:16px}.date-section{border-radius:8px}.date-header{padding:12px 16px}.date-day{font-size:28px}.date-weekday{font-size:14px}.date-month{font-size:12px}.activity-card{gap:16px;grid-template-columns:1fr;padding:16px}.activity-time{width:auto}.time-label{font-size:13px;padding:5px 10px}.activity-batch{font-size:16px}.activity-course{font-size:14px}.activity-topic{font-size:12px}.activity-details{display:flex;flex-direction:column;gap:12px}}@media (max-width:480px){.modern-content{padding:12px}.back-button{font-size:14px;padding:6px 12px}.timetable-header{margin-bottom:24px}.timetable-title{font-size:20px}}.qr-reader .qr-scan-area{position:relative}.qr-reader .qr-scan-area .qr-scanner{max-width:100%}.qr-reader .qr-scan-area .qr-area{align-items:center;display:flex;height:calc(100% - 50px);justify-content:center;position:absolute;top:0;width:100%}.qr-reader .qr-scan-area .qr-area .area{border:2px solid red;height:200px;width:200px}.qr-reader .qrCountBox{font-size:20px}.play-area-sub{align-items:center;background:#121212;display:flex;height:100vh;justify-content:center}.nav-bar{display:flex;left:10px;padding:10px;position:fixed;top:10px;z-index:1}.nav-bar-icon{fill:#fff;cursor:pointer;margin:10px;width:40px}.image-capture-detail{background:#121212;border-radius:100%;color:#fff;cursor:pointer;font-size:20px;font-weight:500;padding:2px;position:absolute;right:17px;top:8px}.image-capture-detail p{display:contents}#stream{border-radius:24px;height:90vh;position:fixed;top:20px}.loading-camera{color:#fff;font-size:20px;font-weight:600}.button-group{align-items:center;bottom:0;display:flex;flex-direction:column;justify-content:space-evenly;position:fixed;right:40px;top:0}.camera-icon{stroke-width:25px;stroke:#1d1d1f;fill:#fff;width:70px}.camera-icon:hover{cursor:pointer}.camera-icon:active{transform:scale(.9)}.small-camera-icon{width:50px}.capture-area{align-items:center;background-color:#000000e6;display:flex;flex-direction:column;height:100%;justify-content:space-evenly;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:1}.display-image{height:500px;width:auto}.popup-text{color:#fff;font-size:20px;font-weight:600}@media (max-width:1200px){.nav-bar{left:auto;right:10px}.button-group{bottom:20px;flex-direction:row;left:0;right:0;top:auto}}@media (max-width:420px){#stream{height:90vh;position:fixed;top:0;width:100%}}*{font-family:Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;letter-spacing:.5px}.mentoring-chat .ce-chat-list,.mentoring-chat .ce-chats-container{background-color:#f0f0f0!important}.mentoring-chat .ce-active-chat-card{background-color:#cabcdc!important;border:4px solid #cabcdc!important;border-radius:0!important}.mentoring-chat .ce-chat-subtitle-text{color:#595959!important}.mentoring-chat .ce-chat-form-container{padding-bottom:20px!important}.mentoring-chat .ce-text-input{border:1px solid #3b2a50!important;border-radius:6px!important}.mentoring-chat .ce-primary-button{background-color:#7554a0!important;border-radius:6px!important;bottom:1px;position:relative}.mentoring-chat .ce-danger-button{background-color:#fff!important;border-radius:22px!important}.mentoring-chat .ce-settings{background-color:#f0f0f0!important}.mentoring-chat .ce-autocomplete-input,.mentoring-chat .ce-autocomplete-options{border:1px solid #3b2a50!important;border-radius:6px!important}.mentoring-chat .ce-autocomplete-options{background-color:#fff!important}.mentoring-chat .ce-chat-settings-container{padding-top:12px!important}.mentoring-chat .ce-chat-avatars-row{display:none!important}.mentoring-chat .chat-feed{background-color:#f0f0f0;height:100%;overflow:scroll;width:100%}.mentoring-chat .chat-title-container{padding:18px;text-align:center;width:calc(100% - 36px)}.mentoring-chat .chat-title{color:#7554a0;font-size:24px;font-weight:800}.mentoring-chat .chat-subtitle{color:#7554a0;font-size:12px;font-weight:600;padding-top:4px}.mentoring-chat .mentoring-chat .message-row{display:flex;float:left;margin-left:18px;width:100%}.mentoring-chat .message-block{display:inline-block;width:100%}.mentoring-chat .message-avatar{background-position:50%;background-repeat:no-repeat;background-size:48px;border-radius:22px;color:#fff;height:44px;text-align:center;width:44px}.mentoring-chat .message{border-radius:6px;font-size:16px;max-width:60%;padding:12px}.mentoring-chat .message-image{border-radius:6px;height:30vw;margin-right:18px;max-height:200px;max-width:200px;min-height:100px;min-width:100px;object-fit:cover}.mentoring-chat .read-receipts{bottom:6px;position:relative}.mentoring-chat .read-receipt{background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:13px;height:13px;margin:1.5px;width:13px}.mentoring-chat .message-form-container{background-color:#f0f0f0;bottom:0;margin-bottom:36px;padding:18px;position:absolute;width:100%}.mentoring-chat .message-form{background-color:#fff;border:1px solid #3b2a50;border-radius:6px;overflow:hidden}.mentoring-chat .message-input{background-color:#fff;border:1px solid #fff;font-size:15px;height:40px;outline:none;padding:0 18px;width:calc(100% - 132px)}.mentoring-chat .image-button{cursor:pointer;height:100%;padding:0 12px}.mentoring-chat .send-button{background-color:#fff;border:1px solid #fff;cursor:pointer;height:42px;padding:0 18px}.mentoring-chat .send-icon{position:relative;top:1px;transform:rotate(-90deg)}.mentoring-chat .picture-icon{font-size:14px;position:relative;top:1px}*,:after,:before{box-sizing:border-box;font-size:62,5%;margin:0;padding:0}.mentoring-chat .wrapper{align-items:center;background:#7554a0;background:linear-gradient(90deg,#7554a0 7%,#7554a0 17%,#6a5fa8 29%,#6367ae 44%,#5774b8 66%,#4687c6 83%,#2ca3db 96%,#16bced 100%,#00d4ff 0);display:flex;height:100vh;justify-content:center;width:100%}.mentoring-chat .input{background-color:#fff;border:none;border-bottom:.3rem solid #0000;border-radius:.2rem;color:#333;display:block;font-size:1.2rem;margin:0 auto 25px;outline:none;padding:1.5rem 2rem;transition:all .3s;width:90%}.mentoring-chat .form{width:400px}.mentoring-chat .title{color:#fff;font-size:2.3em;margin-bottom:30px;text-align:center;width:100%}.mentoring-chat .button{background-color:#fff;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:22px;margin:5px;padding:20px;text-align:center;text-transform:uppercase;transition:all .4s;width:200px;width:90%}.mentoring-chat .button span{cursor:pointer;display:inline-block;position:relative;transition:.4s}.mentoring-chat .button span:after{content:"\00bb";opacity:0;position:absolute;right:-20px;top:0;transition:.5s}.mentoring-chat .button:hover span{padding-right:25px}.mentoring-chat .button:hover span:after{opacity:1;right:0}@media screen and (min-width:1024px){.mentoring-chat .ce-chat-card{width:245px}.mentoring-chat .ce-settings-container{width:100%}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,.react-datepicker__week-number--keyboard-selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__week-number--keyboard-selected{background-color:#2a87d0;border-radius:.3rem;color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:hover,.react-datepicker__month-text--holidays:hover,.react-datepicker__quarter-text--holidays:hover,.react-datepicker__year-text--holidays:hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--selected:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__year-text--in-range:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--selected:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:initial}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.followUpContainer{background:#2f3c47;font-family:Inter;min-height:100vh;padding:70px 0 20px}.display-none{display:none!important}.user-info-wrapper{min-height:95px;position:relative}.enquiry-component-container{background:#fff;width:95vw}.enquiry-component-container,.user-details{border:1px solid #eceef0;border-radius:7px;box-shadow:0 20px 40px 0 #11181c14;margin:auto}.user-details{background:#fff7ed;left:0;position:absolute;right:0;text-align:center;top:-50px;width:85vw}.user-card{align-items:center;display:grid;grid-template-columns:1fr .4fr;padding:15px 20px}.user-name-wrapper{text-align:left}.user-extra-info{display:flex;font-weight:500;gap:6px;margin-top:5px;opacity:.8}.side-borders{border-left:1px solid #4b4c4d;border-right:1px solid #4b4c4d;padding:0 5px}.right-border{border-right:1px solid #eceef0;padding-right:5px}.user-image{background:#fff;border:1px solid #eceef0;border-radius:7px;display:none;margin:15px auto;width:150px}.calling-user-name{font-family:Inter;font-size:30px;font-weight:700;letter-spacing:.32px;margin-bottom:0;overflow-wrap:break-word;text-align:left}.calling-button-wrapper{display:flex;flex-direction:row;gap:13px;justify-content:center;list-style-type:none;margin-bottom:0}.calling-button{background:#fff;padding:5px;width:40px}.assigned-to,.calling-button{border:1px solid #eceef0;border-radius:7px}.assigned-to{align-items:center;background-color:#ecc189;display:flex;flex-direction:row;gap:5px;justify-content:center;margin:20px;padding:7px}.assigned-to-container{display:flex;font-size:14px;justify-content:flex-end;padding:0 20px 10px}.assigned-to-container .detail-heading{font-size:14px}.coversation-heading{column-gap:4px;display:flex;flex-wrap:wrap;font-size:15px;font-weight:600;margin-bottom:5px}.previous-coversation-wrapper{border-bottom:1px solid #eceef0;margin:0 20px;padding:10px 0}.details-wrapper{margin:40px 20px 0}.details-wrapper,.details-wrapper-heading{border:1px solid #eceef0;border-radius:7px}.details-wrapper-heading{background:#f5f5f5;font-family:Inter;font-size:16px;font-weight:600;left:20px;padding:5px;position:relative;top:-20px}.details-container{grid-gap:10px;display:grid;font-family:Inter;gap:10px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:0 20px 20px}.call-status-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.detail-heading{font-family:Inter,sans-serif;font-size:18px;font-weight:700;margin-right:5px}.detail-container{font-family:Inter,sans-serif;font-weight:500;opacity:.8}.radio-button-wrapper{align-items:center;display:flex;font-family:Inter,sans-serif;gap:5px}.enquiry-flex-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.enquiry-date{max-width:250px}.potential-joining-text{font-size:10px;margin:0 7px;opacity:.8}.potential-joining-date{color:#2c81f6}.next-step-radio{background-color:#efefef;border:1px solid #eceef0;border-radius:7px;margin:10px;padding:7px;text-align:center}.folloup-seen-all-wrapper{align-items:center;display:flex;font-family:Inter,sans-serif;height:90vh;justify-content:center}.followup-seen-all-container{background:var(--light);border:1px solid #eceef0;border-radius:7px;margin:20px;padding:20px}.followup-tick-mark-wrapper{display:flex;justify-content:center;margin:0 0 10px}.followup-tick-mark-container{fill:var(--success);align-items:center;border:3px solid var(--success);border-radius:50%;box-sizing:initial;display:flex;height:80px;justify-content:center;padding:20px;width:80px}.followup-caught-up-text{font-size:24px;font-weight:600}.followup-caught-up-description,.followup-caught-up-text{display:block;font-family:Inter,sans-serif;text-align:center}.followup-caught-up-description{opacity:.8}.seen-all-home-link{color:#007bff;cursor:pointer;font-family:Inter,sans-serif;font-weight:500}.gap-5{gap:5px}.followup-error-imoji{align-items:center;display:flex;height:125px;justify-content:center;width:150px}.follow-up-error-container{width:80vw}.followup-showing-text{display:block;font-size:14px;margin:7px 0;opacity:.8;text-align:center}@media (max-width:768px){.react-date-picker-wrapper{width:100%}.detail-heading{font-size:14px;font-weight:600;margin-bottom:0}.enquiry-flex-wrapper{column-gap:3px;row-gap:0}.followup-date{height:30px;padding:0 10px}.radio-button-wrapper{font-size:14px}.followups-save-button{font-size:14px;margin:0 5px;padding:5px}}.followup{height:800px;margin:0 auto;max-width:80%}.header{max-width:100%;min-width:530px}@media (max-width:768px){.followUpContainer{margin:0 auto;width:100%}}.details{text-align:left}.ConversationTable table thead tr th{border:2px solid #337ab7b5;text-align:center}.ConversationTable thead tr{border:1px solid #000;width:100%}.ConversationTable th{padding:2px 10px;width:-webkit-fit-content;width:fit-content}.calledby{margin-left:20px;margin-right:10px;margin-top:20px}.calledon{margin-left:10px;margin-right:10px}.previous{border:1px solid #ccc;padding:10px;width:100%}@media (max-width:768px){.followup{margin:0 5%;width:90%}.ConversationTable{font-size:12px}.ConversationTable td,.ConversationTable th{padding:4px}.calledby,.calledon{margin:10px}}.profile-page{background:#f3f4f6;margin:0;min-height:100vh;padding:0}.profile-container{margin:0 auto;max-width:1200px}.profile-back-nav{padding:20px 40px 0}.profile-back-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.profile-back-btn:hover{background:#f9fafb;border-color:#d1d5db;transform:translateX(-2px)}.profile-header{background:#fff;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;position:relative}.profile-header-bg{background:linear-gradient(135deg,#667eea,#764ba2);height:200px}.profile-header-content{align-items:flex-end;display:flex;gap:24px;padding:0 40px 32px;position:relative}.profile-avatar-wrapper{margin-top:-80px;position:relative}.profile-avatar{background:#fff;border:6px solid #fff;border-radius:50%;box-shadow:0 4px 12px #00000026;height:160px;object-fit:cover;width:160px}.profile-status-indicator{background:#10b981;border:4px solid #fff;border-radius:50%;bottom:12px;height:24px;position:absolute;right:12px;width:24px}.profile-header-info{flex:1 1;padding-bottom:8px}.profile-name{color:#1f2937;font-size:32px;font-weight:600;line-height:1.2;margin:0 0 4px}.profile-role{color:#667eea;font-size:16px;font-weight:500;margin:0 0 4px}.profile-email{color:#6b7280;font-size:14px;margin:0}.profile-content{grid-gap:24px;display:grid;gap:24px;padding:0 40px 40px}.profile-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.profile-card-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.profile-card-header h2{color:#1f2937;font-size:18px;font-weight:600;margin:0}.profile-card-body{padding:24px}.profile-info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.profile-info-item label{color:#6b7280;display:block;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.profile-info-value{color:#1f2937;font-size:16px;font-weight:500}.profile-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.profile-stat-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;padding:16px}.profile-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.profile-stat-content{flex:1 1}.profile-stat-label{color:#6b7280;font-size:12px;font-weight:500;margin-bottom:4px}.profile-stat-value{color:#1f2937;font-size:24px;font-weight:700;line-height:1}.profile-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.profile-action-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 20px;transition:all .2s}.profile-action-btn:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.profile-action-btn.secondary{border-color:#e5e7eb}.profile-action-btn.danger{background:#fef2f2;border-color:#fecaca;color:#dc2626}.profile-action-btn.danger:hover{background:#fee2e2;border-color:#fca5a5}.profile-action-icon{font-size:20px;line-height:1}.profile-action-text{flex:1 1;text-align:left}@media (max-width:768px){.profile-header-content{align-items:center;flex-direction:column;padding:0 20px 24px;text-align:center}.profile-avatar-wrapper{margin-top:-80px}.profile-name{font-size:24px}.profile-content{padding:0 20px 40px}.profile-actions,.profile-info-grid,.profile-stats-grid{grid-template-columns:1fr}}.tab-profile .card{display:none}.tab-profile .card .card-heading{margin:0;padding:0 20px}.tab-profile .card .card-heading.simple{border-bottom:1px solid #e5e5e5;color:#777;font-size:20px;font-weight:300}.tab-profile .card .card-heading.image img{border:0;border-radius:50%;display:inline-block;height:46px;margin-right:15px;vertical-align:top;width:46px}.tab-profile .card .card-heading.image .card-heading-header{display:inline-block;vertical-align:top}.tab-profile .card .card-heading.image .card-heading-header h3{color:#262626;font-size:14px;line-height:16px;margin:0}.tab-profile .card .card-heading.image .card-heading-header span{color:#999;font-size:12px}.tab-profile .card .card-body{margin-top:20px;padding:0 20px}.tab-profile .card .card-media{margin:0 -14px;padding:0 20px}.tab-profile .card .card-media img{max-height:100%;max-width:100%}.tab-profile .card .card-actions{margin:20px 0 0;min-height:30px;padding:0 20px 20px}.tab-profile .card .card-comments{background-color:#f8f8f8;margin:0;padding:20px}.tab-profile .card .card-comments .comments-collapse-toggle{margin:0 20px 12px;padding:0}.tab-profile .card .card-comments .comments-collapse-toggle a,.tab-profile .card .card-comments .comments-collapse-toggle span{color:#999;font-size:12px;overflow:hidden;padding-right:5px;text-overflow:ellipsis;white-space:nowrap}.tab-profile .card-comments .media-heading{font-size:13px;font-weight:700}.tab-profile .card.people{display:inline-block;height:300px;margin-left:20px;overflow:hidden;padding-top:0;position:relative;vertical-align:top;width:170px}.tab-profile .card.people:first-child{margin-left:0}.tab-profile .card.people .card-top{background-color:#fff;display:inline-block;height:150px;left:0;position:absolute;top:0;width:170px}.tab-profile .card.people .card-top.green{background-color:#53a93f}.tab-profile .card.people .card-top.blue{background-color:#427fed}.tab-profile .card.people .card-info{background:#fff;box-sizing:border-box;display:inline-block;height:101px;overflow:hidden;position:absolute;top:150px;width:100%}.tab-profile .card.people .card-info .title{color:#404040;display:block;font-size:16px;font-weight:700;line-height:18px;margin:8px 14px 0;overflow:hidden}.tab-profile .card.people .card-info .desc{color:#737373;display:block;font-size:12px;line-height:16px;margin:8px 14px 0;overflow:hidden;text-overflow:ellipsis}.tab-profile .card.people .card-bottom{bottom:0;box-sizing:border-box;display:inline-block;left:0;line-height:29px;padding:10px 20px;position:absolute;text-align:center;width:100%}.tab-profile .card.hovercard{background-color:#d6e0e233;overflow:hidden;padding-top:0;position:relative;text-align:center}.tab-profile .card.hovercard .cardheader{background:url(/static/media/banner.b5a19386497d50dfcbfb.jpg);background-size:cover;height:175px}.tab-profile .card.hovercard .avatar{margin-bottom:-50px;position:relative;top:-50px}.tab-profile .card.hovercard .avatar img{border:5px solid #ffffff80;border-radius:50%;height:150px;max-height:150px;max-width:150px;width:150px}.tab-profile .card.hovercard .info{padding:4px 8px 10px}.tab-profile .card.hovercard .info .title{color:#007bff;font-size:24px;line-height:1;margin-bottom:4px;vertical-align:middle}.tab-profile .card.hovercard .info .desc{color:#737373;font-size:12px;line-height:20px;overflow:hidden;text-overflow:ellipsis}.tab-profile .card.hovercard .bottom{margin-bottom:17px;padding:0 20px}.tab-profile .btn{border-radius:50%;height:32px;line-height:18px;width:32px}.category-header{background:var(--primary);color:#fff;font-size:22px;font-weight:600;justify-content:flex-start;padding:5px 20px;position:-webkit-sticky;position:sticky;top:0}.category-header-text{margin:auto}.test-details-wrapper{grid-gap:20px;border-radius:7px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:40px}.test-analysis-category-name{background:var(--blue);border-radius:7px 7px 0 0;color:#fff;display:block;font-size:18px;font-weight:500;padding:10px 0 10px 10px}.test-analysis-category-wrapper{border:1px solid #eceef0;box-shadow:0 20px 40px 0 #11181c14}.test-analysis-test-detail{border-bottom:1px solid #0003;font-weight:600}.test-analysis-test-container{display:grid;grid-template-columns:.2fr 1fr;padding:2px 0 3px 10px}.test-analysis-button-wrapper{border-top:1px solid #0003;display:flex;justify-content:flex-end;padding:10px}.test-analysis-more-button{color:var(--blue);cursor:pointer;font-weight:700}.test-list-div{align-items:center;display:flex}.test-list-div .test-list-arrow{margin-left:auto}.test-list-course-name{display:block;font-weight:600;padding-bottom:5px}.test-list-batch-name{display:block;font-size:14px}.tde-batches-container{background:#fff;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.header{align-items:center;gap:20px}.header h1{flex:1 1}.loading{font-size:20px}.error-message{background:#000;border-radius:12px;box-shadow:0 2px 8px #00000026;color:#fff;padding:20px}.no-batches{background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;color:#000;font-size:20px;padding:60px;text-align:center}.batches-grid{grid-gap:24px;gap:24px}.batch-card{background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.batch-card:before{background:#000;content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.batch-card:hover:before{transform:scaleX(1)}.batch-card:hover{background:#f0f0f0;border-color:#d0d0d0;box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.batch-card-header{border-bottom:1px solid #d8d8d8;margin-bottom:20px;padding-bottom:16px}.batch-name{color:#000;font-size:20px;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin:0}.batch-id{background:#000;border-radius:20px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px}.batch-card-body{margin-bottom:20px}.batch-info{display:flex;flex-direction:column;gap:14px}.info-item{background:#ececec;border:1px solid #e0e0e0;transition:all .2s ease}.info-item:hover{background:#e5e5e5;border-color:#d0d0d0}.info-label{align-items:center;display:flex;min-width:80px}.info-label:before{color:#000;content:"•";font-size:20px;margin-right:8px}.info-value{color:#000;flex:1 1;font-size:14px;text-align:right}.batch-card-footer{display:flex;justify-content:flex-end;padding-top:8px}.select-button{align-items:center;background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.select-button:hover{background:#333;box-shadow:0 4px 12px #0003;transform:translateX(4px)}@media (max-width:768px){.tde-batches-container{padding:15px}.header{align-items:flex-start;flex-direction:column}.header h1{font-size:20px}.batches-grid{grid-template-columns:1fr}.batch-card{padding:15px}}.tde-tests-container{background:#fff;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.header{background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:16px;margin-bottom:32px;padding:20px 24px}.header-content{gap:12px}.header h1{color:#000;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0}.batch-code{border-radius:20px;font-size:16px;margin:0;padding:8px 16px}.back-button,.batch-code{background:#000;color:#fff;font-weight:600}.back-button{align-self:flex-start;border:none;border-radius:8px;padding:10px 24px;transition:all .3s ease}.back-button:hover{background:#333;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.loading{background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;color:#000;padding:60px;text-align:center}.spinner{border:4px solid #e0e0e0;border-top-color:#000;margin:0 auto 20px}.loading p{font-size:20px;margin:0}.error-container{background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:60px;text-align:center}.error-icon{font-size:60px;margin-bottom:20px}.error-message{color:#000;font-size:18px;margin-bottom:24px}.no-tests{background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;color:#000;padding:80px 20px}.no-tests-icon{font-size:80px;margin-bottom:20px}.no-tests p{font-size:20px;margin:0}.tests-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.test-card{align-items:center;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer;display:flex;gap:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.test-card:before{background:#000;content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.test-card:hover:before{transform:scaleX(1)}.test-card:hover{background:#f0f0f0;border-color:#d0d0d0;box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.test-icon{align-items:center;background:#ececec;border:1px solid #e0e0e0;border-radius:12px;display:flex;flex-shrink:0;font-size:40px;height:60px;justify-content:center;width:60px}.test-content{flex:1 1;min-width:0}.test-name{color:#000;font-size:18px;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis}.test-id{background:#000;border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.test-arrow{color:#000;flex-shrink:0;font-size:24px;font-weight:700;transition:transform .3s ease}.test-card:hover .test-arrow{transform:translateX(4px)}@media (max-width:768px){.header,.tde-tests-container{padding:16px}.header h1{font-size:24px}.batch-code{font-size:14px;padding:6px 12px}.tests-grid{gap:16px;grid-template-columns:1fr}.test-card{padding:20px}.test-icon{font-size:32px;height:50px;width:50px}.test-name{font-size:16px}}.ar-reports{background-color:#f8f9fa;min-height:100vh}.ar-reports .card{border:none;box-shadow:0 4px 6px #0000001a}.ar-reports .form-label{color:#495057;display:block;font-weight:600;margin-bottom:.5rem;text-align:left}.ar-reports .form-control{border:1px solid #ced4da;border-radius:.375rem;padding:.5rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.ar-reports .form-control:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40;outline:0}.ar-reports .form-actions{padding:1rem 0;text-align:center}.ar-reports .btn{border-radius:.375rem;font-weight:500;padding:.5rem 1rem}.ar-reports .btn-primary{background-color:#0d6efd;border-color:#0d6efd}.ar-reports .btn-primary:hover{background-color:#0b5ed7;border-color:#0a58ca}.ar-reports .btn-primary:disabled{background-color:#0d6efd;border-color:#0d6efd;opacity:.65}.ar-reports .btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.ar-reports .btn-secondary:hover{background-color:#5c636a;border-color:#565e64}.ar-reports .btn-success{background-color:#198754;border-color:#198754}.ar-reports .btn-success:hover{background-color:#157347;border-color:#146c43}.ar-reports .alert{border:none;border-radius:.5rem;padding:1rem}.ar-reports .alert-danger{background-color:#f8d7da;color:#721c24}.ar-reports .report-result{margin-top:2rem}.ar-reports .report-result .card{border:2px solid #198754}.ar-reports .report-result .card-header{background-color:#f8f9fa;border-bottom:1px solid #198754}.ar-reports .me-2{margin-right:.5rem}.ar-reports .mb-0{margin-bottom:0}.ar-reports .mb-2{margin-bottom:.5rem}.ar-reports .mb-3{margin-bottom:1rem}.ar-reports .mt-3{margin-top:1rem}.ar-reports .mt-4{margin-top:1.5rem}.ar-reports .input-group{position:relative}.ar-reports .input-group .btn-outline-secondary{align-items:center;background-color:#fff;border-bottom-left-radius:0;border-color:#ced4da;border-left:solid #ced4da;border-top-left-radius:0;border-width:1px;color:#6c757d;display:flex;height:calc(1.5em + 1rem + 2px);margin-left:-1px;padding:.5rem .75rem;transition:all .15s ease-in-out}.ar-reports .input-group .btn-outline-secondary:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#495057;z-index:2}.ar-reports .input-group .btn-outline-secondary:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40;z-index:3}.ar-reports .input-group .form-control{border-bottom-right-radius:0;border-top-right-radius:0;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem .75rem;z-index:1}.ar-reports .input-group .form-control:focus{z-index:2}.ar-reports .input-group .form-control:focus+.btn-outline-secondary{border-color:#86b7fe;margin-left:-2px}.ar-reports .input-group .fa-refresh{font-size:14px}@media (max-width:768px){.ar-reports .col-md-6{margin-bottom:1rem}.ar-reports .btn{margin-bottom:.5rem;width:100%}.ar-reports .btn:last-child{margin-bottom:0}.ar-reports .input-group .btn{margin-bottom:0;width:auto}}.agent-dashboard{background-color:#f8fafc;color:#1e293b;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji;min-height:100vh}.hero{background:radial-gradient(800px 300px at 5% -10%,#60a5fa33,#0000),radial-gradient(900px 500px at 110% -20%,#c084fc33,#0000),linear-gradient(120deg,#0ea5e9,#7c3aed);border-radius:0 0 1.5rem 1.5rem;color:#fff;padding:2rem 2rem 2.5rem}.header-container{margin:0 auto;max-width:80rem}.hero h1{font-size:2.25rem;font-weight:700;letter-spacing:-.025em;margin:0}.hero p{margin-bottom:0;margin-top:.25rem;opacity:.9}.commission-selector{align-items:center;background:#ffffff26;border-radius:1rem;display:flex;gap:.75rem;padding:.75rem}.commission-selector span{font-size:.875rem;opacity:.9}.commission-selector select{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:1px solid #ffffff4d;border-radius:.75rem;color:#fff;font-size:.875rem;padding:.25rem .75rem}.commission-selector select option{background:#334155;color:#fff}.main-content{margin:0 auto;max-width:80rem;padding:1.5rem}.chart-card,.kpi-card{background:#fff;border-radius:1rem;box-shadow:0 12px 30px #0f172a14;padding:1.5rem}.kpi-row-1{grid-gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.25rem}.kpi-row-1,.kpi-row-2{display:grid;gap:1.25rem}.kpi-row-2{grid-gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.kpi-label{font-size:.875rem;margin:0 0 .25rem}.kpi-value{font-size:2.25rem;font-weight:600;margin:0}.bonus-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.sample-rule-badge{background:#eef2ff;border-radius:9999px;color:#4338ca;font-size:.75rem;padding:.125rem .5rem}.bonus-note,.projection-note{color:#64748b;font-size:.75rem;margin:.25rem 0 0}.spark-chart{height:60px;margin-top:.75rem}.charts-row-1,.charts-row-2{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:1.5rem}.charts-row-1{grid-template-columns:1fr 2fr}.charts-row-2{grid-template-columns:1fr 1fr}@media (max-width:1024px){.charts-row-1,.charts-row-2{grid-template-columns:1fr}}.chart-card h3{margin:0 0 1rem}.table-section{margin-top:2rem}.table-filters{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.filter-group{align-items:center;gap:.75rem}.filter-group label{color:#64748b;font-size:.875rem}.filter-group input,.filter-group select{border:1px solid #cbd5e1;border-radius:.75rem;font-size:.875rem;padding:.5rem .75rem}.filter-group input{min-width:200px}.table-container{background:#fff;border-radius:1rem;box-shadow:0 12px 30px #0f172a14;overflow-x:auto}table{border-collapse:collapse;font-size:.875rem;min-width:100%}thead{background:#f1f5f9}td,th{padding:.75rem;text-align:left}td.text-right,th.text-right{text-align:right}tbody tr{border-top:1px solid #e2e8f0}.view-button{background:#f1f5f9;border-radius:.5rem;font-size:.875rem;padding:.25rem .75rem;transition:background-color .2s}.view-button:hover{background:#e2e8f0}.badge{border-radius:9999px;font-size:.75rem;padding:.125rem .625rem}.badge-paid{background:#dcfce7;color:#166534}.badge-partial{background:#fef9c3;color:#92400e}.badge-pending{background:#fee2e2;color:#991b1b}.agent-dashboard .modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0206178c;display:none;inset:0;justify-content:center;position:fixed;z-index:1050}.agent-dashboard .modal.active{display:flex}.agent-dashboard .modal-card{background:#fff;border-radius:1rem;box-shadow:0 12px 30px #0f172a14;padding:1.5rem;width:min(720px,92vw)}.agent-dashboard .modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.agent-dashboard .modal-header h3{font-size:1.25rem;font-weight:600;margin:0}.agent-dashboard .close-button{background:#f1f5f9;border:none;border-radius:.5rem;cursor:pointer;padding:.5rem .75rem;transition:background-color .2s}.agent-dashboard .close-button:hover{background:#e2e8f0}.agent-dashboard .modal-content{grid-gap:1rem;display:grid;font-size:.875rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.agent-dashboard .modal-field-full{grid-column:1/-1}.field-label{color:#64748b;margin:0 0 .25rem}.field-value{font-weight:500;margin:0}.progress-bar{background:#f1f5f9;height:.5rem;margin:.5rem 0}.progress-fill{background:linear-gradient(90deg,#0ea5e9,#7c3aed);height:.5rem}.progress-text{color:#64748b;font-size:.75rem;margin:.5rem 0 0}@media (max-width:768px){.hero{padding:1.5rem}.hero h1{font-size:1.875rem}.header-content{align-items:flex-start;flex-direction:column}.commission-selector{align-self:stretch;justify-content:space-between}.main-content{padding:1rem}.kpi-row-1,.kpi-row-2{grid-template-columns:1fr}.filter-group{align-items:stretch;flex-direction:column}.filter-group input{min-width:auto}.table-filters{align-items:stretch;flex-direction:column}.modal-content{grid-template-columns:1fr}}@media (max-width:640px){.kpi-value{font-size:1.875rem}.hero h1{font-size:1.5rem}}.resource-pool-browser{z-index:1060!important}.resource-pool-browser .modal-dialog{margin:1.75rem auto;max-width:95vw!important;width:95vw!important;z-index:1060}@media (min-width:1200px){.resource-pool-browser .modal-dialog{max-width:1600px!important}}@media (min-width:992px){.resource-pool-browser .modal-dialog{max-width:1400px!important}}.resource-pool-browser .modal-body{max-width:100%;min-height:400px;overflow-x:hidden;padding:1.25rem 1.5rem}.resource-pool-browser .modal-content{max-width:100%;width:100%}.resource-pool-browser .row.g-3{align-items:stretch;margin-left:0;margin-right:0}.resource-pool-browser .row.g-3>*{padding-left:.75rem;padding-right:.75rem}.resource-pool-browser .row.g-3>:first-child{padding-left:0}.resource-pool-browser .row.g-3>:last-child{padding-right:0}.resource-pool-browser .input-group{display:flex;width:100%}.resource-pool-browser .input-group-lg{height:48px}.resource-pool-browser .input-group-lg .btn,.resource-pool-browser .input-group-lg .form-control,.resource-pool-browser .input-group-lg .form-select{font-size:1rem;height:48px;padding:.75rem 1rem}.resource-pool-browser .input-group-text{align-items:center;background-color:#f8f9fa;border-color:#dee2e6;display:flex;justify-content:center;padding:.75rem 1rem}.resource-pool-browser .form-control,.resource-pool-browser .form-select{border-color:#dee2e6}.resource-pool-browser .form-control:focus,.resource-pool-browser .form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40}.resource-pool-table{border:1px solid #dee2e6;border-radius:.375rem;margin-top:1rem;max-height:500px;overflow-x:hidden;overflow-y:auto;width:100%}.resource-pool-table .table{margin-bottom:0;table-layout:fixed;width:100%}.resource-pool-table .table thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.resource-pool-table .table thead th{border-bottom:2px solid #dee2e6;font-weight:600;padding:.75rem;white-space:nowrap}.resource-pool-table .table tbody td{word-wrap:break-word;overflow-wrap:break-word;padding:.75rem;vertical-align:middle}.resource-pool-table .table tbody td:first-child{min-width:450px;overflow:visible}.resource-pool-table .resource-type-badge{align-items:center;border-radius:.3rem;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;line-height:1.3;margin-left:.5rem;padding:.3rem .6rem;vertical-align:middle;white-space:nowrap}.resource-pool-table .table tbody td .d-flex.align-items-center.gap-2{align-items:center;flex-wrap:nowrap;gap:0!important;margin-bottom:.25rem}.resource-pool-table .table tbody td .fw-semibold{display:inline-block;flex:0 1 auto;font-size:.95rem;margin-bottom:0;white-space:normal;word-break:break-word}.resource-pool-table .table tbody td>.d-flex{gap:.75rem;overflow:visible}.resource-pool-table .table tbody tr{transition:background-color .2s ease}.resource-pool-table .table tbody tr:hover{background-color:#f8f9fa}.resource-pool-table .table tbody tr.clickable{cursor:pointer}.resource-pool-table .table tbody tr.table-active{background-color:#e7f1ff}.resource-pool-table .table tbody td .d-flex{gap:.5rem}.resource-pool-table .table tbody td .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-pool-footer{background-color:#f8f9fa;border-radius:0 0 .375rem .375rem;border-top:1px solid #dee2e6;margin-top:-1px;padding:12px}.resource-pool-browser .modal-xl{max-width:1140px}.resource-pool-table::-webkit-scrollbar{width:8px}.resource-pool-table::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 .375rem .375rem 0}.resource-pool-table::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.resource-pool-table::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.resource-pool-browser .modal-dialog{margin:1rem auto;max-width:95%}.resource-pool-browser .col-md-4,.resource-pool-browser .col-md-8{flex:0 0 100%;max-width:100%;width:100%}.resource-pool-table{max-height:400px}}.ai-generate-modal .modal-content{border:none;border-radius:16px;box-shadow:0 20px 60px #00000026;overflow:hidden}.ai-generate-modal .modal-dialog{transition:max-width .3s ease}.aigm-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.aigm-header-content{align-items:center;display:flex;gap:12px}.aigm-header-icon{animation:aigm-sparkle 2s ease-in-out infinite}@keyframes aigm-sparkle{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}.aigm-header h3{font-size:16px;font-weight:600;margin:0}.aigm-subtitle{font-size:12px;margin:2px 0 0;opacity:.85}.aigm-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .2s;width:30px}.aigm-close:hover{background:#ffffff4d}.aigm-choice-body{padding:24px}.aigm-choice-description{color:#6b7280;font-size:14px;margin:0 0 16px;text-align:center}.aigm-choice-card{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:16px;margin-bottom:12px;padding:16px 20px;text-align:left;transition:all .2s ease;width:100%}.aigm-choice-card:last-child{margin-bottom:0}.aigm-choice-card:hover{background:#f8f7ff;border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-1px)}.aigm-choice-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.aigm-choice-quick .aigm-choice-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.aigm-choice-custom .aigm-choice-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.aigm-choice-text h4{color:#1f2937;font-size:15px;font-weight:600;margin:0 0 4px}.aigm-choice-text p{color:#6b7280;font-size:13px;line-height:1.4;margin:0}.aigm-chat-body{display:flex;flex-direction:column;height:500px;max-height:65vh}.aigm-messages{background:#f9fafb;flex:1 1;overflow-y:auto;padding:16px 20px}.aigm-message{animation:aigm-msgIn .3s ease;display:flex;gap:10px;margin-bottom:12px}@keyframes aigm-msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.aigm-message-user{justify-content:flex-end}.aigm-message-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.aigm-message-content{border-radius:12px;font-size:13px;line-height:1.5;max-width:80%;padding:10px 14px}.aigm-message-user .aigm-message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:4px;color:#fff;white-space:pre-wrap}.aigm-message-assistant .aigm-message-content{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#1f2937}.aigm-message-content p{margin:6px 0}.aigm-message-content p:first-child{margin-top:0}.aigm-message-content p:last-child{margin-bottom:0}.aigm-message-content strong{font-weight:600}.aigm-message-content ol,.aigm-message-content ul{margin:6px 0;padding-left:20px}.aigm-message-content li{margin:2px 0}.aigm-message-content em{font-style:italic}.aigm-typing{background:#fff;border:1px solid #e5e7eb;border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:10px 14px}.aigm-typing span{animation:aigm-typingDot 1.4s infinite;background:#9ca3af;border-radius:50%;height:7px;width:7px}.aigm-typing span:nth-child(2){animation-delay:.2s}.aigm-typing span:nth-child(3){animation-delay:.4s}@keyframes aigm-typingDot{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.aigm-chips-container{background:#fff;border-top:1px solid #f3f4f6;padding:8px 20px}.aigm-chips{display:flex;flex-wrap:wrap;gap:6px}.aigm-chip{background:#fff;border:1px solid #d1d5db;border-radius:16px;color:#4b5563;cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:all .15s ease;white-space:nowrap}.aigm-chip:hover{background:#f8f7ff;border-color:#667eea;color:#667eea}.aigm-chip-selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.aigm-chip-selected:hover{border-color:#0000;color:#fff;opacity:.9}.aigm-input-area{background:#fff;border-top:1px solid #e5e7eb;padding:12px 20px 16px}.aigm-input-row{display:flex;gap:8px;margin-bottom:12px}.aigm-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:13px;outline:none;padding:10px 14px;transition:all .2s}.aigm-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.aigm-send{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s;width:40px}.aigm-send:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.aigm-send:disabled{cursor:not-allowed;opacity:.5}.aigm-actions{align-items:center;display:flex;justify-content:space-between}.aigm-btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.aigm-btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.aigm-btn-generate{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 20px;transition:all .2s}.aigm-btn-generate:hover:not(:disabled){box-shadow:0 4px 16px #667eea4d;transform:translateY(-1px)}.aigm-btn-generate:disabled{cursor:not-allowed;opacity:.5}.aigm-generating-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd9;border-radius:16px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.aigm-generating-content{text-align:center}.aigm-generating-content p{color:#374151;font-size:15px;font-weight:600;margin:12px 0 4px}.aigm-generating-hint{color:#9ca3af!important;font-size:12px!important;font-weight:400!important}.aigm-generating-docs-hint{align-items:center;color:#667eea!important;display:flex;font-size:13px!important;font-weight:500!important;gap:5px;margin:4px 0 2px!important}.aigm-course-docs-badge{color:#667eea;gap:5px;margin:4px 0 0}.aigm-chat-docs-banner,.aigm-course-docs-badge{align-items:center;display:flex;font-size:12px;font-weight:500}.aigm-chat-docs-banner{background:#f0ecff;border-bottom:1px solid #e0d9fc;color:#6d5acd;flex-shrink:0;gap:6px;padding:6px 16px}.aigm-strict-tag{background:#ede9fe;border-radius:4px;color:#7c3aed;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;margin-left:4px;padding:1px 6px;text-transform:uppercase}.aigm-spinner{animation:aigm-spin 1s linear infinite;color:#667eea}@keyframes aigm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.aigm-error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;gap:10px;margin:12px 16px;padding:10px 14px}.aigm-error-retry{background:#fff;border:1px solid #dc2626;border-radius:6px;color:#dc2626;cursor:pointer;font-size:12px;font-weight:500;margin-left:auto;padding:4px 12px;white-space:nowrap}.aigm-error-retry:hover{background:#fef2f2}.aigm-review-body{display:flex;flex-direction:column;max-height:70vh;overflow-y:auto}.aigm-rejected-badge{color:#fbbf24;font-weight:600}.aigm-resource-list{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px 20px}.aigm-resource-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:all .2s ease}.aigm-resource-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.aigm-resource-rejected{background:#fef2f2;border-color:#fecaca;opacity:.5}.aigm-resource-rejected .aigm-resource-name{color:#9ca3af;text-decoration:line-through}.aigm-resource-header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.aigm-resource-info{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.aigm-resource-icon{flex-shrink:0;font-size:20px;text-align:center;width:32px}.aigm-resource-details{display:flex;flex-direction:column;min-width:0}.aigm-resource-name{color:#1f2937;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aigm-resource-type{color:#9ca3af;font-size:11px;font-weight:500}.aigm-resource-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.aigm-phase-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;max-width:140px;outline:none;padding:4px 8px}.aigm-phase-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.aigm-resource-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .15s;width:30px}.aigm-resource-btn:hover{background:#f9fafb}.aigm-resource-expand:hover{border-color:#667eea;color:#667eea}.aigm-resource-reject{color:#9ca3af}.aigm-resource-reject:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.aigm-resource-restore{border-color:#059669;color:#059669}.aigm-resource-restore:hover{background:#ecfdf5}.aigm-resource-preview{animation:aigm-previewIn .2s ease;border-top:1px solid #f3f4f6;padding:0 14px 14px}@keyframes aigm-previewIn{0%{max-height:0;opacity:0}to{max-height:800px;opacity:1}}.aigm-youtube-embed{background:#000;border-radius:8px;margin-top:12px;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.aigm-youtube-embed iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.aigm-article-preview{background:#f9fafb;border-radius:8px;color:#374151;font-size:13px;line-height:1.6;margin-top:12px;max-height:200px;overflow-y:auto;padding:12px}.aigm-article-preview p{margin:6px 0}.aigm-article-preview p:first-child{margin-top:0}.aigm-article-preview p:last-child{margin-bottom:0}.aigm-url-preview{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;gap:6px;margin-top:12px;padding:10px 12px}.aigm-url-preview a{color:#0369a1;font-size:13px;text-decoration:none;word-break:break-all}.aigm-url-preview a:hover{text-decoration:underline}.aigm-url-preview svg{color:#0369a1;flex-shrink:0}.aigm-replace-section{border-top:1px solid #f3f4f6;padding:12px 20px}.aigm-btn-replace{align-items:center;background:#fff;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s;width:100%}.aigm-btn-replace:hover:not(:disabled){background:#f8f7ff;border-color:#667eea;color:#667eea}.aigm-btn-replace:disabled{cursor:not-allowed;opacity:.5}.aigm-replace-input-area{display:flex;flex-direction:column;gap:8px}.aigm-replace-label{color:#6b7280;font-size:12px;margin:0}.aigm-replace-row{display:flex;gap:8px}.aigm-replace-row .aigm-input{flex:1 1}.aigm-btn-replace-go{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:8px 14px;transition:all .2s;white-space:nowrap}.aigm-btn-replace-go:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.aigm-btn-replace-go:disabled{cursor:not-allowed;opacity:.5}.aigm-btn-replace-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:12px;padding:8px 12px;white-space:nowrap}.aigm-btn-replace-cancel:hover{background:#f9fafb}.aigm-confirm-bar{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 20px}.aigm-confirm-right{align-items:center;display:flex;gap:10px}@media (max-width:768px){.aigm-chat-body{height:60vh}.aigm-message-content{max-width:90%}.aigm-review-body{max-height:80vh}.aigm-resource-header{flex-wrap:wrap}.aigm-resource-actions{justify-content:flex-end;width:100%}.aigm-question-header{flex-wrap:wrap}.aigm-question-actions{justify-content:flex-end;width:100%}}.aigm-blooms-checkbox{align-items:flex-start;background:#f0f0ff;border:1px solid #d0d0f0;border-radius:10px;cursor:pointer;display:flex;gap:10px;margin:0 0 12px;padding:12px 16px;transition:background .15s}.aigm-blooms-checkbox:hover{background:#e8e8ff}.aigm-blooms-checkbox input[type=checkbox]{accent-color:#667eea;cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.aigm-blooms-label{display:flex;flex-direction:column;gap:2px}.aigm-blooms-title{color:#333;font-size:14px;font-weight:600}.aigm-blooms-desc{color:#666;font-size:12px;line-height:1.3}.aigm-course-docs-toggle{margin:0 0 12px}.aigm-course-docs-modes{background:#f8f8ff;border-radius:8px;display:flex;flex-direction:column;gap:6px;margin:4px 0 0 38px;padding:8px 12px}.aigm-radio-option{align-items:flex-start;color:#333;cursor:pointer;display:flex;font-size:13px;gap:8px;line-height:1.4}.aigm-radio-option input[type=radio]{accent-color:#667eea;cursor:pointer;height:16px;margin-top:2px;width:16px}.aigm-radio-desc{color:#666;font-weight:400}.aigm-course-docs-list{background:#f5f7fa;border-radius:6px;font-size:13px;margin:8px 0 0;padding:8px 12px}.aigm-course-docs-count{color:#444;display:block;font-weight:600;margin-bottom:4px}.aigm-course-docs-names{list-style:none;margin:0;max-height:120px;overflow-y:auto;padding:0}.aigm-course-docs-names li{color:#555;line-height:1.4;padding:2px 0}.aigm-course-docs-names li:before{content:"\1F4C4";font-size:12px;margin-right:6px}.aigm-doc-type{color:#999;font-size:12px}.aigm-question-list{display:flex;flex-direction:column;gap:8px}.aigm-question-card{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;transition:opacity .2s,border-color .2s}.aigm-question-card:hover{border-color:#c0c0e0}.aigm-question-rejected{background:#fef8f8;border-color:#f0c0c0;opacity:.5}.aigm-question-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.aigm-question-info{align-items:flex-start;display:flex;flex:1 1;gap:10px;min-width:0}.aigm-question-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:26px;justify-content:center;margin-top:1px;min-width:30px;padding:0 6px}.aigm-question-text-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}.aigm-question-stem{color:#222;font-size:13.5px;line-height:1.45}.aigm-blooms-tag{align-self:flex-start;background:#eef0ff;border-radius:4px;color:#5a5faa;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.aigm-question-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.aigm-question-details{border-top:1px solid #f0f0f0;margin-top:0;padding:0 14px 14px}.aigm-question-choices{display:flex;flex-direction:column;gap:6px;margin-top:10px}.aigm-question-choice{align-items:center;background:#f8f8fa;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:8px 10px;transition:background .15s}.aigm-choice-correct{background:#e8f5e9;border:1px solid #a5d6a7}.aigm-choice-letter{align-items:center;background:#e0e0e0;border-radius:50%;color:#555;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.aigm-choice-correct .aigm-choice-letter{background:#66bb6a;color:#fff}.aigm-choice-text{flex:1 1;min-width:0}.aigm-choice-check{color:#43a047;flex-shrink:0}.aigm-question-explanation{background:#fff8e1;border-radius:6px;color:#5d4037;font-size:12.5px;line-height:1.45;margin-top:10px;padding:10px 12px}.learning-modules-container{margin:0 auto;max-width:1400px;padding:24px}.learning-modules-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.learning-modules-header h1{color:#111827;font-size:24px;font-weight:600;margin:0}.header-actions{gap:10px}.btn-primary{background:#2563eb;transition:background .2s}.btn-primary:hover{background:#1d4ed8}.btn-secondary:hover{border-color:#9ca3af;color:#111827}.learning-modules-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.search-input{flex:1 1;max-width:400px;min-width:200px;padding:10px 16px}.filter-select{border:1px solid #d1d5db;cursor:pointer;font-size:14px;min-width:150px;padding:10px 16px}.filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.sort-group{align-items:center;display:flex;gap:4px}.sort-group .filter-select{border-radius:8px 0 0 8px;min-width:130px}.sort-order-btn{background:#fff;border:1px solid #d1d5db;border-left:none;border-radius:0 8px 8px 0;cursor:pointer;font-size:14px;padding:10px 14px;transition:all .2s}.sort-order-btn:hover{background:#f3f4f6}.empty-message,.error-message,.loading-message{color:#6b7280;font-size:14px;padding:40px 20px;text-align:center}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.empty-message{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.link-button{background:none;border:none;color:#2563eb;cursor:pointer;font-size:inherit;margin-left:4px;padding:0;text-decoration:underline}.link-button:hover{color:#1d4ed8}.learning-modules-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.learning-modules-table{border-collapse:collapse;width:100%}.learning-modules-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.learning-modules-table th{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.learning-modules-table td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px;padding:10px 12px;vertical-align:middle}.learning-modules-table tbody tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer;transition:background .15s}.clickable-row:hover{background:#eef2ff}.type-badge{background:#dbeafe;color:#1e40af;display:inline-block;font-size:11px;padding:3px 10px;white-space:nowrap}.id-badge{background:#f3f4f6;border-radius:10px;color:#6b7280;display:inline-block;font-family:Courier New,monospace;font-size:10px;font-weight:600;margin-left:8px;padding:2px 8px;vertical-align:middle}.code-short{cursor:help;display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dates-cell{font-size:9px;line-height:1.2;min-width:100px;white-space:nowrap;width:100px}.date-modified{color:#374151;font-weight:500}.date-created{color:#9ca3af;margin-top:0}.action-buttons{align-items:center;flex-wrap:nowrap;gap:6px}.btn-edit{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:6px;box-shadow:0 1px 3px 0 #2563eb4d;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .15s cubic-bezier(.4,0,.2,1)}.btn-edit:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 8px 0 #2563eb66;transform:translateY(-1px)}.btn-edit:active{box-shadow:0 1px 3px 0 #2563eb4d;transform:translateY(0)}.btn-enable{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.btn-enable:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 8px 0 #22c55e66;transform:translateY(-1px)}.btn-disable{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.btn-disable:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px 0 #ef444466;transform:translateY(-1px)}.btn-disable:disabled,.btn-enable:disabled{cursor:not-allowed;opacity:.7}.learning-modules-footer{margin-top:16px;text-align:right}.count-text{color:#6b7280;font-size:13px}.lms-container{--bg:#f8fafc;--card:#fff;--border:#e5e7eb;--text:#0f172a;--muted:#64748b;--accent:#3b82f6;--good:#10b981;--warn:#f59e0b;--bad:#ef4444;background:var(--bg)!important;color:var(--text)!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.lms-container h1{font-size:28px;margin:0 0 4px}.lms-container .muted{color:var(--muted)}.lms-container .card{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:14px;box-shadow:0 1px 3px #0000000a;padding:16px}.lms-container .grid{grid-gap:20px;display:grid;gap:20px;margin-top:20px}.lms-container .g-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.lms-container .g-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.lms-container .kpi{font-size:28px;font-weight:700}.lms-container .row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.lms-container .pill{background:#eef2ff;border-radius:999px;color:#3730a3;font-size:12px;font-weight:600;padding:4px 8px}.lms-container table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.lms-container thead th{background:#f1f5f9;color:var(--muted);font-size:12px;letter-spacing:.04em;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}.lms-container td,.lms-container th{border-bottom:1px solid var(--border);padding:8px}.lms-container .heat{border-radius:6px;font-weight:600;text-align:center}.lms-container .right{text-align:right}.lms-container .section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.lms-container .btn{background:#fff;border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:12px;padding:4px 8px}.lms-container .btn:hover{background:#f8fafc}.lms-container .tiny{font-size:12px}.lms-container canvas{display:block;max-width:100%}.lms-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.lms-container ul{list-style-type:disc;margin:0;padding-left:20px}.lms-container li{margin-bottom:4px}@media (max-width:768px){.lms-container{max-width:100%;padding:16px}.lms-container h1{font-size:22px}.lms-container .kpi{font-size:24px}.lms-container .card{padding:12px}.lms-container .grid{gap:16px}.lms-container .g-2,.lms-container .g-3{grid-template-columns:1fr}.lms-container .card{overflow-x:auto}.lms-container table{font-size:12px;min-width:600px}.lms-container td,.lms-container th{padding:6px 4px}.lms-header{align-items:flex-start;flex-direction:column}@media (max-width:480px){.lms-container table{font-size:11px}}}.ds-modal.modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ds-modal .modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:90%}.ds-modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.ds-modal .modal-header h3{color:#0f172a;font-size:20px;margin:0}.ds-modal .modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.ds-modal .modal-close:hover{background:#f1f5f9;color:#0f172a}.ds-modal .modal-body{flex:1 1;margin:24px;overflow-y:auto}.data-source-info{border-radius:8px;margin-bottom:20px;padding:16px}.data-source-info strong{display:block;font-size:16px;margin-bottom:8px}.data-source-info p{font-size:14px;margin:0;opacity:.9}.api-url-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.api-url-box strong{color:#0f172a;display:block;font-size:14px;margin-bottom:8px}.explanation-box{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:8px;margin-bottom:20px;padding:16px}.explanation-box strong{color:#0f172a;display:block;margin-bottom:8px}.explanation-box p{color:#475569;font-size:14px;line-height:1.6;margin:0}.records-section{margin-top:20px}.records-section strong{color:#0f172a;display:block;margin-bottom:12px}.records-list{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.records-list pre{word-wrap:break-word;color:#334155;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.6;margin:0;white-space:pre-wrap}.no-records{color:#64748b;font-style:italic;padding:40px 20px;text-align:center}.ds-modal .modal-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:16px 24px}.btn-close{background:#3b82f6;border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.btn-close:hover{background:#2563eb}.academic-dashboard{background-color:#f9fafb;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.academic-dashboard{margin-left:280px}}.dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;padding-left:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.dashboard-header .mobile-menu-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;flex-shrink:0;justify-content:center;padding:10px;transition:all .3s ease}.dashboard-header .mobile-menu-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}@media (max-width:1023px){.dashboard-header .mobile-menu-btn{display:flex}}.header-content{max-width:1280px;padding:1.5rem 1rem}.header-text{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.dashboard-title{color:#111827;font-size:1.875rem;font-weight:700;margin:0}.dashboard-subtitle{color:#6b7280;margin-top:.25rem}.header-actions{gap:.5rem}.filter-button{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.filter-button:hover{background-color:#1d4ed8}.search-section{margin-top:1.5rem}.search-bar{position:relative;width:100%}.search-icon{color:#9ca3af;left:1rem}.search-input{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;padding:.75rem 3rem}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.search-clear{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;padding:.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.search-clear:hover{color:#4b5563}.dashboard-content{margin:0 auto;max-width:1280px;padding:2rem 1rem}.stats-grid{grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.stats-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.stats-card:hover{box-shadow:0 4px 6px #0000001a}.stats-card-clickable{cursor:pointer}.stats-card-clickable:hover{border-color:#3b82f6;box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.stats-card-clickable:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.stats-card-content{align-items:center;display:flex;justify-content:space-between}.stats-info{flex:1 1}.stats-title{color:#6b7280;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.stats-value{color:#111827;font-size:1.875rem;font-weight:700;margin:0}.stats-subtitle{font-size:.8rem;font-weight:600;margin:.25rem 0 0}.stats-icon{border-radius:.5rem;padding:.75rem}.icon-blue{background-color:#dbeafe;color:#2563eb}.icon-green{background-color:#d1fae5;color:#059669}.icon-purple{background-color:#e9d5ff;color:#7c3aed}.icon-orange{background-color:#fed7aa;color:#ea580c}.icon-yellow{color:#eab308}.loading-container{padding:3rem}.spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;height:3rem;width:3rem}.cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}@media (max-width:768px){.cards-grid{grid-template-columns:1fr}}.student-card{border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:box-shadow .2s}.student-card:hover{box-shadow:0 4px 6px #0000001a}.student-card-header{background:linear-gradient(90deg,#2563eb,#1d4ed8);color:#fff;padding:1.5rem}.student-header-content{align-items:flex-start;display:flex;justify-content:space-between}.student-name{font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.student-course{color:#ffffffe6;font-size:.875rem;margin:0}.overall-score-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border-radius:.5rem;padding:.5rem 1rem;text-align:center}.score-value{font-size:1.5rem}.score-label{color:#ffffffe6;font-size:.75rem}.student-card-body{padding:1.5rem}.student-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.info-item{align-items:center;color:#374151;gap:.75rem}.info-icon{flex-shrink:0}.info-label{color:#6b7280;margin-bottom:.125rem}.info-value{font-size:.875rem}.test-summary{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.test-header{justify-content:space-between;margin-bottom:.5rem}.test-header,.test-title{align-items:center;display:flex}.test-title{color:#111827;font-weight:600;gap:.5rem}.expand-button{align-items:center;background:none;border:none;color:#2563eb;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.25rem;transition:color .2s}.expand-button:hover{color:#1d4ed8}.quick-stats{grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(3,1fr);text-align:center}.stat-box{background:#f9fafb;border-radius:.5rem;padding:.75rem}.stat-value{font-size:1.125rem}.stat-label{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-tests{color:#6b7280;margin-top:1rem;padding-top:1rem;text-align:center}.no-tests,.test-details{border-top:1px solid #e5e7eb}.test-details{background:#f9fafb;padding:1.5rem}.test-results-chart{display:flex;flex-direction:column;gap:1rem}.chart-title{align-items:center;color:#111827;display:flex;font-weight:600;gap:.5rem;margin:0 0 .5rem}.test-result-item{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.test-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.test-info{flex:1 1}.test-name{color:#111827;font-weight:500;margin:0 0 .25rem}.test-meta{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:1rem}.test-category{background:#dbeafe;border-radius:.25rem;color:#1e40af;padding:.125rem .5rem}.test-percentage{text-align:right}.percentage-value{font-size:1.5rem;font-weight:700}.percentage-value.positive{color:#059669}.percentage-value.negative{color:#dc2626}.progress-container{margin-bottom:1rem}.progress-bar{background-color:#e5e7eb;height:.75rem;width:100%}.progress-bar,.progress-fill{border-radius:9999px}.progress-fill.positive{background-color:#10b981}.progress-fill.negative{background-color:#ef4444}.sections-breakdown{margin-top:1rem}.sections-title{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.5rem}.sections-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.section-item{align-items:center;background:#f9fafb;border-radius:.375rem;display:flex;font-size:.875rem;justify-content:space-between;padding:.5rem}.section-info{flex:1 1;min-width:0}.section-name{color:#111827;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-keyword{color:#6b7280;font-size:.75rem}.section-score{flex-shrink:0;margin-left:.5rem;text-align:right}.section-percentage{font-weight:700}.section-percentage.positive{color:#059669}.section-percentage.negative{color:#dc2626}.section-marks{color:#6b7280;font-size:.75rem}.load-more-container{display:flex;justify-content:center;margin-top:2rem}.load-more-button{background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.load-more-button:hover{background-color:#1d4ed8}.no-results{padding:3rem}.no-results-icon{color:#9ca3af;margin:0 auto 1rem}.no-results-title{color:#111827;font-size:1.125rem;font-weight:500;margin:0 0 .5rem}.no-results-text{color:#6b7280;margin:0}@media (max-width:640px){.dashboard-title{font-size:1.5rem}.header-text{align-items:flex-start;flex-direction:column}.quick-stats,.sections-grid,.student-info-grid{grid-template-columns:1fr}}.ai-chat-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:24px;transition:all .3s ease;width:56px;z-index:1000}.ai-chat-button:hover{box-shadow:0 6px 16px #667eea80;transform:translateY(-2px)}.ai-chat-button:active{transform:translateY(0)}.ai-chat-badge{animation:pulse-badge 2s infinite;background:#ef4444;border:2px solid #fff;height:12px;right:8px;top:8px;width:12px}.ai-chat-badge,.ai-chat-pulse{border-radius:50%;position:absolute}.ai-chat-pulse{animation:pulse-ring 2s cubic-bezier(.455,.03,.515,.955) infinite;background:#667eea66;height:56px;width:56px}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.5}}.ai-chat-overlay{animation:fadeIn .2s ease;background:#0000004d;left:0;z-index:1001}.ai-chat-overlay,.ai-chat-panel{bottom:0;position:fixed;right:0;top:0}.ai-chat-panel{animation:slideInRight .3s ease;background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;max-width:90vw;width:420px;z-index:1002}.ai-chat-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.ai-chat-header-content{align-items:center;display:flex;gap:12px}.ai-chat-header-icon{animation:sparkle 2s ease-in-out infinite}.ai-chat-header h3{font-size:18px;font-weight:600;margin:0}.ai-chat-header p{font-size:13px;margin:2px 0 0;opacity:.9}.ai-chat-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .2s;width:32px}.ai-chat-close:hover{background:#ffffff4d}.ai-chat-messages{background:#f9fafb;flex:1 1;overflow-y:auto;padding:24px}.ai-chat-welcome{color:#6b7280;padding:40px 20px;text-align:center}.ai-chat-welcome-icon{color:#667eea;margin-bottom:16px}.ai-chat-welcome h4{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.ai-chat-welcome p{font-size:14px;line-height:1.5;margin:0}.ai-chat-message{animation:messageSlideIn .3s ease;display:flex;gap:12px;margin-bottom:16px}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-chat-message-user{justify-content:flex-end}.ai-chat-message-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.ai-chat-message-content{border-radius:12px;font-size:14px;line-height:1.5;max-width:75%;padding:12px 16px}.ai-chat-message-user .ai-chat-message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:4px;color:#fff;white-space:pre-wrap}.ai-chat-message-assistant .ai-chat-message-content{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#1f2937}.ai-chat-message-content h1,.ai-chat-message-content h2,.ai-chat-message-content h3,.ai-chat-message-content h4{color:#1f2937;font-weight:600;margin:12px 0 8px}.ai-chat-message-content h1:first-child,.ai-chat-message-content h2:first-child,.ai-chat-message-content h3:first-child,.ai-chat-message-content h4:first-child{margin-top:0}.ai-chat-message-content h1{font-size:18px}.ai-chat-message-content h2{font-size:16px}.ai-chat-message-content h3{font-size:15px}.ai-chat-message-content h4{font-size:14px}.ai-chat-message-content p{line-height:1.6;margin:8px 0}.ai-chat-message-content p:first-child{margin-top:0}.ai-chat-message-content p:last-child{margin-bottom:0}.ai-chat-message-content ol,.ai-chat-message-content ul{margin:8px 0;padding-left:24px}.ai-chat-message-content li{line-height:1.5;margin:4px 0}.ai-chat-message-content strong{color:#111827;font-weight:600}.ai-chat-message-content em{font-style:italic}.ai-chat-message-content code{background:#f3f4f6;border-radius:3px;color:#ef4444;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.ai-chat-message-content pre{background:#1f2937;border-radius:6px;color:#f9fafb;margin:8px 0;overflow-x:auto;padding:12px}.ai-chat-message-content pre code{background:none;color:inherit;font-size:13px;padding:0}.ai-chat-message-content blockquote{border-left:3px solid #667eea;color:#6b7280;font-style:italic;margin:8px 0;padding-left:12px}.ai-chat-message-content a{color:#667eea;text-decoration:none}.ai-chat-message-content a:hover{text-decoration:underline}.ai-chat-message-content hr{border:none;border-top:1px solid #e5e7eb;margin:12px 0}.ai-chat-typing{background:#fff;border:1px solid #e5e7eb;border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:12px 16px}.ai-chat-typing span{animation:typing 1.4s infinite;background:#9ca3af;border-radius:50%;height:8px;width:8px}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.ai-chat-quick-prompts{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;padding:16px 24px}.ai-chat-quick-prompts-title{color:#6b7280;font-size:13px;font-weight:600;margin:0 0 12px}.ai-chat-quick-prompts-grid{display:flex;flex-direction:column;gap:8px}.ai-chat-quick-prompt{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:12px 16px;text-align:left;transition:all .2s}.ai-chat-quick-prompt:hover{background:#eff6ff;border-color:#3b82f6;color:#1e40af;transform:translateX(4px)}.ai-chat-quick-prompt svg{color:#667eea;flex-shrink:0}.ai-chat-input-container{background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;padding:16px 24px}.ai-chat-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:14px;outline:none;padding:12px 16px;transition:all .2s}.ai-chat-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.ai-chat-send{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s;width:44px}.ai-chat-send:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.ai-chat-send:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.ai-chat-panel{width:100vw}.ai-chat-button{bottom:16px;right:16px}}.ai-insights-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;overflow:hidden;transition:all .3s ease}.ai-insights-card.collapsed{cursor:pointer}.ai-insights-card.collapsed:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.ai-insights-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.ai-insights-title{align-items:center;display:flex;font-size:16px;font-weight:600;gap:12px}.ai-insights-icon{animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}.ai-insights-timestamp{font-size:12px;font-weight:400;margin-left:8px;opacity:.9}.ai-insights-actions{align-items:center;display:flex;gap:8px}.ai-insights-collapse-btn,.ai-insights-expand-btn,.ai-insights-refresh-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.ai-insights-collapse-btn:hover,.ai-insights-expand-btn:hover,.ai-insights-refresh-btn:hover{background:#ffffff4d}.ai-insights-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.spinning{animation:spin 1s linear infinite}.ai-insights-content{min-height:100px;padding:24px}.ai-insights-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.ai-insights-loading p{font-size:14px;margin-top:16px}.ai-insights-error{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:16px;padding:20px}.error-icon{flex-shrink:0;font-size:24px}.error-content{flex:1 1}.error-title{color:#dc2626;font-size:14px;font-weight:600;margin:0 0 4px}.error-message{color:#991b1b;font-size:13px;line-height:1.5;margin:0 0 12px}.error-retry-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s}.error-retry-btn:hover{background:#b91c1c}.ai-insights-markdown{color:#1f2937;font-size:14px;line-height:1.6}.ai-insights-refreshing{align-items:center;background:#eff6ff;border-radius:8px;color:#3b82f6;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;margin-top:16px;padding:12px}@media (max-width:768px){.ai-insights-card{margin-bottom:16px}.ai-insights-content{padding:16px}.ai-insights-timestamp{display:none}}.academic-year-filter{align-items:center;display:flex;gap:8px;position:relative}.year-filter-icon{color:#6b7280;flex-shrink:0}.year-filter-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;font-size:14px;gap:8px;min-width:250px;padding:8px 14px;transition:all .2s ease}.year-filter-button:hover{border-color:#3b82f6;box-shadow:0 2px 6px #3b82f633}.year-filter-text{color:#374151;flex:1 1;font-weight:500}.year-filter-count{color:#6b7280;font-size:13px}.year-filter-chevron{color:#6b7280;flex-shrink:0;transition:transform .2s ease}.year-filter-chevron.open{transform:rotate(180deg)}.year-filter-dropdown{animation:dropdownSlideIn .2s ease;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;max-height:400px;min-width:300px;overflow-y:auto;position:absolute;top:calc(100% + 4px);z-index:1000}.year-filter-header{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.year-filter-option{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 16px;transition:background-color .15s ease}.year-filter-option:hover{background-color:#f9fafb}.year-filter-checkbox{accent-color:#3b82f6;cursor:pointer;height:16px;width:16px}.year-filter-label{align-items:center;color:#374151;cursor:pointer;display:flex;flex:1 1;font-size:14px;gap:6px}.year-filter-student-count{color:#6b7280;font-size:13px;margin-left:auto}.year-filter-divider{background-color:#e5e7eb;height:1px;margin:4px 0}.year-filter-actions{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;padding:12px 16px}.year-filter-apply-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s ease}.year-filter-apply-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.year-filter-apply-btn:active{transform:translateY(0)}.year-filter-cancel-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.year-filter-cancel-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.director-dashboard{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1400px;padding:24px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.director-dashboard{margin-left:280px}}.academic-overview{background:#f9fafb;margin:0 auto;max-width:1600px;min-height:100vh;padding:32px}.overview-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.overview-header h1{color:#111827;font-size:32px;font-weight:700;margin:0 0 8px}.overview-header p{color:#6b7280;font-size:16px;margin:0}.btn-secondary{border:1px solid #d1d5db;color:#374151;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.kpi-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.kpi-card{align-items:center;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014;padding:24px;transition:all .2s}.kpi-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.kpi-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.kpi-content{flex:1 1}.kpi-value{color:#111827;line-height:1;margin-bottom:4px}.kpi-percentage{margin-left:8px}.kpi-label,.kpi-percentage{color:#6b7280;font-size:14px;font-weight:500}.dashboard-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(2,1fr)}.dashboard-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.card-header{background:#fafbfc;border-bottom:1px solid #e5e7eb;padding:20px 24px}.card-title{align-items:center;color:#111827;display:flex;gap:10px}.card-title h3{font-size:16px;font-weight:600;margin:0}.card-content{padding:0}.program-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background .2s}.program-item:last-child{border-bottom:none}.program-item:hover{background:#f9fafb}.program-info{flex:1 1}.program-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.program-code{background:#eff6ff;color:#3b82f6}.program-name{color:#111827;font-size:15px;font-weight:600;margin-bottom:4px}.program-meta{color:#6b7280;font-size:13px}.program-stats{gap:8px}.program-stats,.stat-badge{align-items:center;display:flex}.stat-badge{border-radius:6px;color:#065f46;font-size:12px;font-weight:600;gap:4px;padding:6px 12px}.stat-badge.warning{background:#fef3c7;color:#92400e}.centre-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:20px 24px;transition:background .2s}.centre-item:last-child{border-bottom:none}.centre-item:hover{background:#f9fafb}.centre-info{margin-bottom:12px}.centre-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.centre-risk{font-size:14px}.centre-code{background:#f3f4f6;border-radius:6px;color:#374151;font-size:12px;font-weight:600;padding:4px 10px}.centre-name{color:#111827;font-size:15px;font-weight:600;margin-bottom:4px}.centre-meta{color:#6b7280;font-size:13px}.centre-stats{display:flex;flex-direction:column;gap:8px}.stat-label{flex-shrink:0;width:80px}.progress-bar{background:#f3f4f6;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.stat-value{color:#111827;font-size:13px;font-weight:600;text-align:right;width:50px}.stat-warning{background:#fef2f2;border-radius:4px;color:#dc2626;font-size:12px;margin-top:4px;padding:4px 8px}.metrics-content{padding:32px 24px!important}.metric-large{border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:32px;text-align:center}.metric-value{color:#111827;font-size:56px;font-weight:700;line-height:1;margin-bottom:8px}.metric-label{color:#374151;font-size:16px;font-weight:600;margin-bottom:4px}.metric-subtitle{color:#6b7280;font-size:14px}.metric-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.metric-item{background:#f9fafb;border-radius:8px;gap:16px;padding:16px}.metric-icon{align-items:center;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.metric-icon.green{background:#dcfce7;color:#166534}.metric-icon.orange{background:#fef3c7;color:#92400e}.metric-num{color:#111827;font-size:24px;font-weight:700}.metric-text{color:#6b7280;font-size:13px;font-weight:500}.action-item{align-items:center;background:#fafbfc;border-left:4px solid;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px 20px}.action-item:last-child{margin-bottom:0}.action-item.high{background:#fef2f2;border-left-color:#ef4444}.action-item.medium{background:#fffbeb;border-left-color:#f59e0b}.action-item.low{background:#f0fdf4;border-left-color:#10b981}.action-icon{flex-shrink:0;font-size:20px}.action-details{flex:1 1}.action-title{color:#111827;font-size:14px;font-weight:600;margin-bottom:2px}.action-meta{color:#6b7280;font-size:12px}.btn-action{border:1px solid #d1d5db;color:#374151;padding:6px 16px}.btn-action:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}@media (max-width:1200px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.kpi-grid,.metric-grid{grid-template-columns:1fr}}.professional-back-button{align-items:center;background:#0000;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-bottom:16px;padding:6px 14px;transition:all .2s ease}.professional-back-button:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.professional-back-button svg{transition:transform .2s ease}.professional-back-button:hover svg{transform:translateX(-2px)}.professional-header-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:28px;padding:20px 28px}.professional-title-section{align-items:center;display:flex;gap:16px}.professional-icon-wrapper{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea33;color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.professional-title-content{align-items:center;display:flex;flex:1 1;gap:12px}.professional-title-content h1{color:#1f2937;font-size:24px;font-weight:700;line-height:1;margin:0}.professional-code-badge{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:6px;color:#3b82f6;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px}.director-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.mobile-menu-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:none;padding:10px;transition:all .3s ease}.mobile-menu-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}@media (max-width:1023px){.mobile-menu-btn{display:flex}}.director-title{align-items:center;display:flex;gap:16px}.director-title svg{color:#3b82f6}.director-title h1{color:#1f2937;font-size:32px;font-weight:700;margin:0}.batch-subtitle,.course-code-subtitle,.director-title p{color:#6b7280;font-size:14px;margin:4px 0 0}.director-actions,.home-btn{display:flex;gap:8px}.home-btn{align-items:center;background:#10b981;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.home-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.ai-insights-btn{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.ai-insights-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-2px)}.matrix-view-btn{align-items:center;background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.matrix-view-btn:hover{background:#7c3aed;box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.view-all-students-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .2s}.view-all-students-btn:hover{background:#2563eb}.breadcrumb{font-size:14px;gap:8px;margin-bottom:24px}.breadcrumb,.breadcrumb button{align-items:center;display:flex}.breadcrumb button{background:none;border:none;border-radius:4px;color:#3b82f6;cursor:pointer;gap:4px;padding:4px 8px;transition:background .2s}.breadcrumb button:hover{background:#eff6ff}.breadcrumb span{color:#9ca3af}.stats-grid{margin-bottom:32px;margin-top:20px}.director-search{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;margin-bottom:32px;padding:12px 16px}.director-search svg{color:#9ca3af}.director-search input{border:none;color:#1f2937;flex:1 1;font-size:14px;outline:none}.director-search input::placeholder{color:#9ca3af}.courses-section{margin-bottom:40px}.courses-section h2{align-items:center;color:#1f2937;display:flex;font-size:24px;font-weight:600;gap:12px;margin-bottom:24px}.courses-section h2 svg{color:#3b82f6}.courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.course-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:24px;transition:all .2s}.course-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.course-card-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:20px}.course-icon{align-items:center;background:#eff6ff;border-radius:8px;color:#3b82f6;display:flex;height:48px;justify-content:center;width:48px}.course-title h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 4px}.course-code{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 8px}.course-metrics{grid-gap:16px;border-bottom:1px solid #f3f4f6;border-top:1px solid #f3f4f6;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px;padding:16px 0}.metric{align-items:center;display:flex;gap:8px}.metric svg{color:#9ca3af}.metric-content{display:flex;flex-direction:column}.metric-value{color:#1f2937;font-size:18px;font-weight:600}.metric-label{color:#6b7280;font-size:12px}.course-toppers{margin-bottom:16px}.toppers-header{align-items:center;color:#6b7280;display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:12px}.toppers-header svg{color:#f59e0b}.toppers-list{display:flex;flex-direction:column;gap:8px}.topper-item{align-items:center;display:flex;font-size:13px;gap:8px}.topper-rank{color:#f59e0b;font-weight:700;min-width:24px}.topper-name{color:#374151;flex:1 1}.topper-score{color:#10b981;font-weight:600}.course-card-footer{text-align:right}.view-details{color:#3b82f6;font-size:14px;font-weight:600}.batches-section{margin-bottom:40px}.batches-section h2{align-items:center;color:#1f2937;display:flex;font-size:24px;font-weight:600;gap:12px;margin-bottom:24px}.batches-section h2 svg{color:#8b5cf6}.batches-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.batch-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;padding:20px;transition:all .2s}.batch-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.batch-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.batch-title h4{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 4px}.batch-code{background:#f3f4f6;border-radius:3px;color:#6b7280;font-size:11px;padding:2px 6px}.at-risk-badge{border-radius:6px;padding:4px 8px}.batch-metrics-grid{grid-gap:12px;border-bottom:1px solid #f3f4f6;border-top:1px solid #f3f4f6;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px;padding:12px 0}.batch-metric{align-items:center;display:flex;gap:8px}.batch-metric svg{color:#9ca3af;flex-shrink:0}.batch-metric-value{color:#1f2937;font-size:16px;font-weight:600}.batch-metric-label{color:#6b7280;font-size:11px}.batch-toppers{margin-bottom:12px}.batch-toppers-header{align-items:center;color:#6b7280;display:flex;font-size:12px;font-weight:600;gap:6px;margin-bottom:10px}.batch-toppers-header svg{color:#f59e0b}.batch-toppers-list{display:flex;flex-direction:column;gap:6px}.batch-topper-item{align-items:center;display:flex;font-size:12px;gap:6px}.batch-topper-rank{color:#f59e0b;font-weight:700;min-width:20px}.batch-topper-name{color:#374151;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-topper-score{color:#10b981;font-weight:600}.batch-card-footer{text-align:right}.view-batch{color:#8b5cf6;font-size:13px;font-weight:600}.batch-filters{display:flex;gap:12px;margin-bottom:16px}.filter-definitions{background:#f9fafb;border-left:3px solid #3b82f6;border-radius:8px;color:#4b5563;display:flex;font-size:13px;gap:24px;margin-bottom:24px;padding:12px 16px}.definition-item{align-items:center;display:flex;gap:8px}.definition-icon{color:#3b82f6;flex-shrink:0}.definition-item strong{color:#1f2937}.filter-btn{border-radius:8px;gap:8px;padding:10px 16px;transition:all .2s}.filter-btn:hover{border-color:#3b82f6;color:#3b82f6}.filter-btn.active{background:#3b82f6;border-color:#3b82f6}.filter-btn svg{height:18px;width:18px}.ranking-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.ranking-title-row h2{color:#1f2937;font-size:24px;font-weight:600;margin:0}.sort-toggle{align-items:center;color:#6b7280;display:flex;gap:6px}.sort-btn,.sort-label{color:#6b7280;font-size:13px;font-weight:500}.sort-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;padding:5px 12px;transition:all .15s ease}.sort-btn:hover{border-color:#3b82f6;color:#3b82f6}.sort-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.student-code-badge{background:#eff6ff;border-radius:4px;color:#3b82f6;display:inline-block;font-size:15px;font-weight:600;margin-right:8px;padding:3px 10px;vertical-align:middle}.students-ranking h2{color:#1f2937;font-size:24px;font-weight:600;margin-bottom:24px}.ranking-grid{display:flex;flex-direction:column;gap:16px}.ranking-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px}.ranking-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:16px;margin-bottom:16px;padding-bottom:16px}.rank-badge{border-radius:8px;flex-shrink:0;font-size:16px;font-weight:700;height:48px;width:48px}.rank-badge.rank-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.rank-badge.rank-silver{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#fff}.rank-badge.rank-bronze{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.rank-badge.rank-default{background:#f3f4f6;color:#6b7280}.student-info-header{flex:1 1}.student-info-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 4px}.student-email{color:#6b7280;margin:0}.pdf-menu-container{position:relative}.pdf-download-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.pdf-download-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.pdf-download-btn:active{box-shadow:0 2px 4px #3b82f633;transform:translateY(0)}.pdf-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.pdf-menu-dropdown{animation:slideDown .2s ease;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #0000001a;min-width:280px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:999}.pdf-menu-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:13px;font-weight:600;padding:12px 16px}.pdf-menu-option{background:#fff;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;padding:12px 16px;text-align:left;transition:background .15s ease;width:100%}.pdf-menu-option:last-child{border-bottom:none}.pdf-menu-option:hover{background:#f9fafb}.pdf-menu-option-label{color:#111827;font-size:13px;font-weight:600;margin-bottom:4px}.pdf-menu-option-desc{color:#6b7280;font-size:11px;line-height:1.4}.batch-pdf-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease}.batch-pdf-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.batch-pdf-download-btn:active{box-shadow:0 2px 6px #10b9814d;transform:translateY(0)}.pdf-menu-large{max-height:80vh;max-width:500px;min-width:400px;overflow-y:auto}.pdf-filters-container{padding:8px}.pdf-filter-section{border-bottom:1px solid #f3f4f6;padding:12px}.pdf-filter-section:last-child{border-bottom:none}.pdf-filter-label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.pdf-preset-selection{padding:8px}.pdf-checkbox-group{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:4px}.pdf-checkbox-label{align-items:center;border-radius:4px;color:#4b5563;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px;transition:background .15s ease}.pdf-checkbox-label:hover{background:#f9fafb}.pdf-checkbox-label input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:16px;width:16px}.pdf-toggle-label{color:#111827;font-weight:500;padding:10px}.pdf-filter-empty{color:#9ca3af;font-size:12px;font-style:italic;padding:8px}.pdf-date-inputs{align-items:center;display:flex;gap:8px}.pdf-date-inputs span{color:#6b7280;font-size:12px}.pdf-date-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;flex:1 1;font-size:13px;padding:8px 10px;transition:border-color .15s ease,box-shadow .15s ease}.pdf-date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.pdf-filter-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;margin-top:8px;padding:12px}.pdf-action-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s ease}.pdf-cancel-btn{background:#f3f4f6;color:#6b7280}.pdf-cancel-btn:hover{background:#e5e7eb;color:#374151}.pdf-download-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 4px #3b82f633;color:#fff}.pdf-download-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.pdf-download-btn-primary:active{box-shadow:0 2px 4px #3b82f633;transform:translateY(0)}.pdf-number-input-group{display:flex;flex-direction:column;gap:6px}.pdf-number-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100px}.pdf-number-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.pdf-input-hint{color:#6b7280;font-size:11px;line-height:1.4}.score-badge{border-radius:6px;font-size:18px;font-weight:700;padding:8px 16px}.ranking-metrics{grid-gap:16px;border-bottom:1px solid #f3f4f6;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:16px;padding-bottom:16px}.ranking-metric{display:flex;flex-direction:column;gap:4px}.ranking-metric .metric-label{color:#6b7280;font-size:12px}.ranking-metric .metric-value{color:#1f2937;font-size:16px;font-weight:600}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{border:4px solid #f3f4f6;border-top-color:#3b82f6;height:48px;width:48px}.loading-spinner p{color:#6b7280;font-size:14px;margin-top:16px}.no-results{color:#6b7280}.no-results p{font-size:16px}@media (max-width:768px){.director-dashboard{padding:16px}.director-header{align-items:flex-start;flex-direction:column;gap:16px}.batches-grid,.courses-grid,.stats-grid{grid-template-columns:1fr}.batch-filters{flex-wrap:wrap}.filter-definitions{flex-direction:column;gap:8px}.batch-metrics-grid,.course-metrics{grid-template-columns:1fr}}.school-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;transition:all .2s ease}.school-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.school-card-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:20px}.school-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.school-info h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.school-code{background:#eff6ff;border-radius:4px;color:#3b82f6;display:inline-block;font-size:12px;font-weight:600;margin-top:4px;padding:4px 8px}.school-stats{display:flex;flex-direction:column;gap:12px}.stat-item{gap:12px}.stat-item svg{color:#6b7280;flex-shrink:0}.stat-content{display:flex;flex-direction:column}.stat-label{margin-bottom:2px}.stat-value{font-size:18px}.stat-subtitle{font-size:12px;font-weight:600;margin-top:2px}.school-card .card-footer{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.school-card .view-details{color:#3b82f6;font-size:14px;font-weight:600}.matrix-view{padding:24px}.matrix-legend{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:24px;padding:16px 24px}.matrix-legend h3{color:#6b7280;font-size:14px;font-weight:600;margin:0 0 12px}.legend-items{display:flex;flex-wrap:wrap;gap:24px}.legend-item{color:#4b5563;display:flex;font-size:13px;gap:8px}.legend-color{border:1px solid #d1d5db;border-radius:4px;height:24px;width:24px}.matrix-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;max-height:calc(100vh - 300px);overflow-x:auto;overflow-y:auto;padding:16px}.matrix-table{border-collapse:collapse;min-width:1200px;width:100%}.matrix-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.matrix-header-corner{background:#f9fafb;border:1px solid #e5e7eb;color:#1f2937;font-weight:700;left:0;min-width:200px;padding:16px;position:-webkit-sticky;position:sticky;z-index:12}.matrix-header-school,.matrix-header-total{background:#f9fafb;border:1px solid #e5e7eb;color:#1f2937;font-weight:600;min-width:120px;padding:12px;text-align:center;z-index:11}.matrix-header-school.clickable{cursor:pointer;transition:background .2s ease}.matrix-header-school.clickable:hover{background:#dbeafe;color:#1e40af}.matrix-header-total{background:#eff6ff;box-shadow:-2px 0 4px #0000000d;font-weight:700;position:-webkit-sticky;position:sticky;right:0;z-index:11}.school-header-content{display:flex;flex-direction:column;gap:4px}.school-header-content .school-name{color:#1f2937;font-size:13px;font-weight:600}.school-header-content .school-code{color:#6b7280;font-size:11px;font-weight:500}.matrix-row-header{background:#f9fafb;border:1px solid #e5e7eb;box-shadow:2px 0 4px #0000000d;color:#1f2937;font-weight:500;left:0;padding:12px 16px;position:-webkit-sticky;position:sticky;z-index:5}.course-header-content{display:flex;flex-direction:column;gap:2px}.course-header-content .course-name{color:#1f2937;font-size:13px;font-weight:600}.course-header-content .course-code{color:#6b7280;font-size:11px;font-weight:500}.matrix-cell{border:1px solid #e5e7eb;padding:8px;text-align:center;transition:all .2s ease}.matrix-cell.clickable{cursor:pointer}.matrix-cell.clickable:hover{border-color:#3b82f6;box-shadow:0 4px 12px #00000026;transform:scale(1.05);z-index:1}.matrix-cell.empty{background:#f3f4f6;color:#d1d5db}.cell-content{color:#fff;flex-direction:column;font-weight:600}.cell-content,.cell-students{align-items:center;display:flex;gap:4px}.cell-students{font-size:16px}.cell-batches{font-size:11px;opacity:.9}.cell-empty{color:#d1d5db;font-size:14px}.matrix-total-cell{background:#eff6ff;border:1px solid #e5e7eb;box-shadow:-2px 0 4px #0000000d;color:#1f2937;font-weight:700;padding:12px;position:-webkit-sticky;position:sticky;right:0;text-align:center;z-index:6}.matrix-total-cell.clickable{cursor:pointer;transition:background .2s ease,color .2s ease}.matrix-total-cell.clickable:hover{background:#bfdbfe;color:#1e40af}.matrix-total-row{background:#eff6ff}.matrix-total-row .matrix-row-header{background:#eff6ff;font-weight:700}.matrix-grand-total{background:#dbeafe;color:#1e40af;font-size:16px}.matrix-settings-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;position:relative;transition:all .2s ease}.matrix-settings-btn:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.hidden-count-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.matrix-context-menu{animation:contextMenuFadeIn .15s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:200px;overflow:hidden;position:fixed;z-index:1000}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;overflow:hidden;padding:10px 16px;text-overflow:ellipsis;white-space:nowrap}.context-menu-item{align-items:center;background:#fff;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 16px;text-align:left;transition:background .15s ease;width:100%}.context-menu-item:hover{background:#fef2f2;color:#dc2626}.matrix-settings-panel{animation:slideInRight .3s ease-out;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px;z-index:999}.settings-panel-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.settings-panel-header h3{color:#1f2937;font-size:18px;font-weight:700;margin:0}.close-panel-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.close-panel-btn:hover{background:#f3f4f6;color:#1f2937}.settings-panel-content{flex:1 1;overflow-y:auto;padding:24px}.no-hidden-courses{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.no-hidden-courses p{color:#6b7280;font-size:16px;font-weight:600;margin:16px 0 8px}.no-hidden-courses span{color:#9ca3af;font-size:13px}.hidden-courses-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.hidden-courses-list{display:flex;flex-direction:column;gap:8px}.hidden-course-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s ease}.hidden-course-item:hover{background:#f3f4f6;border-color:#d1d5db}.hidden-course-info{flex:1 1;min-width:0}.hidden-course-name{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden-course-code{color:#6b7280;font-family:Monaco,Courier New,monospace;font-size:12px}.unhide-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s ease}.unhide-btn:hover{background:#ecfdf5;border-color:#10b981;color:#10b981}.program-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;min-height:320px;padding:24px;transition:all .2s}.program-card:hover{border-color:#8b5cf6;box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.program-card-header{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.program-title{align-items:flex-start;display:flex;flex:1 1;gap:12px}.program-icon{color:#8b5cf6;flex-shrink:0;margin-top:2px}.program-title h4{color:#1f2937;font-size:18px;font-weight:600;line-height:1.3;margin:0 0 6px}.program-code{background:#f3e8ff;border-radius:6px;color:#7c3aed;display:inline-block;letter-spacing:.3px;padding:4px 10px}.at-risk-badge,.program-code{font-size:12px;font-weight:600}.at-risk-badge{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;gap:4px;padding:6px 10px;white-space:nowrap}.at-risk-badge svg{flex-shrink:0;height:14px;width:14px}.program-metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.program-metric{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:10px;padding:12px}.program-metric svg{color:#6b7280;flex-shrink:0}.program-metric-value{color:#1f2937;font-size:20px;font-weight:700;line-height:1;margin-bottom:4px}.program-metric-label{color:#6b7280;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.program-top-performers{flex:1 1;margin-bottom:16px}.top-performers-header{align-items:center;color:#6b7280;display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:12px}.top-performers-header svg{color:#f59e0b;height:16px;width:16px}.top-performers-list{display:flex;flex-direction:column;gap:8px}.top-performer-item{align-items:center;background:#fffbeb;border-radius:6px;display:flex;font-size:13px;gap:10px;padding:8px 12px}.performer-rank{background:#fff;border-radius:4px;color:#f59e0b;font-size:12px;font-weight:700;min-width:28px;padding:4px 8px;text-align:center}.performer-name{color:#374151;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performer-score{color:#10b981;font-size:14px;font-weight:700}.program-card-footer{border-top:1px solid #e5e7eb;margin-top:auto;padding-top:16px;text-align:right}.view-details-link{color:#8b5cf6;font-size:14px;font-weight:600;transition:color .2s}.program-card:hover .view-details-link{color:#7c3aed}.programs-section{margin-bottom:40px}.programs-section h2{align-items:center;color:#1f2937;display:flex;font-size:24px;font-weight:600;gap:12px;margin-bottom:24px}.programs-section h2 svg{color:#8b5cf6}.programs-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.schools-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:1024px){.programs-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.program-metrics-grid{grid-template-columns:1fr}}@media (max-width:768px){.programs-grid,.schools-grid{grid-template-columns:1fr}.program-card{min-height:auto}.program-metrics-grid{gap:12px}}.no-programs{color:#9ca3af;padding:80px 20px;text-align:center}.no-programs svg{height:64px;margin-bottom:16px;opacity:.3;width:64px}.no-programs p{color:#6b7280;font-size:16px;font-weight:500}.doubts-dashboard{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.doubts-dashboard .dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.doubts-dashboard .header-title h1{color:#1f2937;font-size:22px;font-weight:700;margin:0}.doubts-dashboard .header-title p{color:#9ca3af;font-size:13px;margin:2px 0 0}.doubts-dashboard .refresh-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#4b5563;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .15s}.doubts-dashboard .refresh-btn:hover{background:#e5e7eb}.doubts-dashboard .skeleton{animation:shimmer 1.5s ease-in-out infinite;background:#e5e7eb;background-image:linear-gradient(90deg,#e5e7eb,#f3f4f6 40%,#e5e7eb 80%);background-size:200% 100%;border-radius:4px}.doubts-dashboard .skeleton-text{border-radius:3px}.doubts-dashboard .stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.doubts-dashboard .stat-card{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;display:block;padding:16px 20px;transition:box-shadow .2s}.doubts-dashboard .stat-card:hover{box-shadow:0 2px 8px #0000001f}.doubts-dashboard .stat-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.doubts-dashboard .stat-label{color:#6b7280;flex-shrink:1;font-size:13px;font-weight:500;letter-spacing:.01em;margin:0;width:auto}.doubts-dashboard .stat-icon{align-items:center;border-radius:8px;color:#fff;display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.doubts-dashboard .stat-icon.stat-total{background:#6366f1}.doubts-dashboard .stat-icon.stat-escalated{background:#ef4444}.doubts-dashboard .stat-icon.stat-resolved{background:#10b981}.doubts-dashboard .stat-icon.stat-satisfaction{background:#3b82f6}.doubts-dashboard .stat-value{color:#1f2937;font-size:28px;font-weight:700;line-height:1.2;margin:0;text-align:left;width:auto}.doubts-dashboard .stat-sub{color:#9ca3af;font-size:12px;margin:4px 0 0}.doubts-dashboard .dashboard-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:0;margin-bottom:20px}.doubts-dashboard .tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:-1px;padding:10px 16px;transition:color .15s,border-color .15s}.doubts-dashboard .tab:hover{color:#4b5563}.doubts-dashboard .tab.active{border-bottom-color:#6366f1;color:#6366f1}.doubts-dashboard .doubts-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:20px}.doubts-dashboard .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.doubts-dashboard .section-header h2{color:#1f2937;font-size:18px;font-weight:700;margin:0}.doubts-dashboard .filters{display:flex;gap:12px}.doubts-dashboard .status-filter{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.doubts-dashboard .doubts-list{display:flex;flex-direction:column;gap:8px}.doubts-dashboard .doubt-card{border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.doubts-dashboard .doubt-card:hover{border-color:#6366f1;box-shadow:0 1px 4px #6366f11a}.doubts-dashboard .doubt-card.escalated{background:#fef2f2;border-left:3px solid #ef4444}.doubts-dashboard .doubt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.doubts-dashboard .student-info{align-items:center;color:#1f2937;display:flex;gap:8px;min-width:0}.doubts-dashboard .student-avatar{align-items:center;background:#6366f1;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.doubts-dashboard .student-info strong{display:inline;font-size:13px}.doubts-dashboard .doubt-context-inline{color:#9ca3af;display:inline;font-size:12px;margin-left:6px}.doubts-dashboard .doubt-meta{align-items:center;display:flex;flex-shrink:0;font-size:12px;gap:6px}.doubts-dashboard .doubt-time{color:#9ca3af;font-size:11px}.doubts-dashboard .doubt-question-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#374151;display:-webkit-box;font-size:13px;line-height:1.4;margin:0;overflow:hidden}.doubts-dashboard .escalation-reason{align-items:center;background:#fff7ed;border-radius:4px;color:#ea580c;display:flex;font-size:11px;gap:4px;margin-top:4px;padding:3px 8px}.doubts-dashboard .status-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 8px}.doubts-dashboard .status-orange{background:#fff7ed;color:#ea580c}.doubts-dashboard .status-blue{background:#eff6ff;color:#2563eb}.doubts-dashboard .status-red{background:#fef2f2;color:#dc2626}.doubts-dashboard .status-green{background:#f0fdf4;color:#16a34a}.doubts-dashboard .status-gray{background:#f3f4f6;color:#6b7280}.doubts-dashboard .priority-badge{border-radius:8px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.doubts-dashboard .priority-gray{background:#f3f4f6;color:#6b7280}.doubts-dashboard .priority-blue{background:#dbeafe;color:#1e40af}.doubts-dashboard .priority-orange{background:#fed7aa;color:#c2410c}.doubts-dashboard .priority-red{background:#fecaca;color:#b91c1c}.doubts-dashboard .students-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:20px}.doubts-dashboard .students-section h2{font-size:18px;font-weight:700;margin:0 0 16px}.doubts-dashboard .students-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.doubts-dashboard .student-card{border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:14px;transition:all .15s}.doubts-dashboard .student-card:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f126;transform:translateY(-1px)}.doubts-dashboard .student-card:active{transform:translateY(0)}.doubts-dashboard .student-filter-banner{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:12px;padding:10px 16px}.doubts-dashboard .student-filter-banner span{color:#4338ca;font-size:14px;font-weight:500}.doubts-dashboard .clear-filter-btn{background:none;border:1px solid #a5b4fc;border-radius:4px;color:#4338ca;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .15s}.doubts-dashboard .clear-filter-btn:hover{background:#4338ca;color:#fff}.doubts-dashboard .student-header{align-items:center;border-bottom:1px solid #e5e7eb;color:#1f2937;display:flex;gap:10px;margin-bottom:10px;padding-bottom:10px}.doubts-dashboard .student-stats{display:flex;flex-direction:column;gap:6px}.doubts-dashboard .stat-row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.doubts-dashboard .stat-row.small{color:#9ca3af;font-size:11px}.doubts-dashboard .escalated-count{color:#ef4444}.doubts-dashboard .resolved-count{color:#10b981}.doubts-dashboard .analytics-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:20px}.doubts-dashboard .analytics-section h2{font-size:18px;font-weight:700;margin:0 0 6px}.doubts-dashboard .section-description{color:#6b7280;font-size:13px;margin:0 0 16px}.doubts-dashboard .topics-list{display:flex;flex-direction:column;gap:8px}.doubts-dashboard .topic-card{align-items:center;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:14px;padding:12px 16px;transition:all .15s}.doubts-dashboard .topic-card:hover{border-color:#6366f1;box-shadow:0 1px 4px #6366f11a}.doubts-dashboard .topic-rank{align-items:center;background:#6366f1;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.doubts-dashboard .topic-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.doubts-dashboard .topic-info strong{color:#1f2937;font-size:14px}.doubts-dashboard .course-name{color:#9ca3af;font-size:12px}.doubts-dashboard .topic-stats{align-items:center;display:flex;gap:14px}.doubts-dashboard .topic-count,.doubts-dashboard .topic-escalated{align-items:center;display:flex;font-size:12px;font-weight:600;gap:4px}.doubts-dashboard .topic-count{color:#3b82f6}.doubts-dashboard .topic-escalated{color:#ef4444}.doubts-dashboard .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.doubts-dashboard .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:800px;overflow:auto;width:100%}.doubts-dashboard .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.doubts-dashboard .modal-header h3{color:#1f2937;font-size:18px;font-weight:700;margin:0}.doubts-dashboard .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:22px;justify-content:center;padding:4px;transition:all .15s}.doubts-dashboard .close-btn:hover{background:#f3f4f6;color:#4b5563}.doubts-dashboard .modal-body{padding:20px}.doubts-dashboard .doubt-detail-section{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:14px}.doubts-dashboard .detail-row{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.doubts-dashboard .detail-row:last-child{border-bottom:none}.doubts-dashboard .detail-label{color:#6b7280;font-weight:500}.doubts-dashboard .conversation-section h4{color:#1f2937;font-size:14px;font-weight:700;margin:16px 0 8px}.doubts-dashboard .ai-response-box,.doubts-dashboard .question-box,.doubts-dashboard .teacher-response-box{border-radius:8px;font-size:14px;line-height:1.6;padding:14px}.doubts-dashboard .question-box{background:#eff6ff;border-left:3px solid #3b82f6;color:#1e40af}.doubts-dashboard .ai-response-box{background:#f0fdf4;border-left:3px solid #10b981;color:#065f46}.doubts-dashboard .teacher-response-box{background:#fef3c7;border-left:3px solid #f59e0b;color:#92400e}.doubts-dashboard .conversation-history{border:1px solid #e5e7eb;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.doubts-dashboard .dd-message{border-bottom:1px solid #e5e7eb;display:block;margin-bottom:16px;padding-bottom:16px}.doubts-dashboard .dd-message:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.doubts-dashboard .dd-message>strong{color:#6b7280;display:block;font-size:12px;letter-spacing:.03em;margin-bottom:6px;text-transform:uppercase}.doubts-dashboard .dd-message p{color:#1f2937;font-size:14px;line-height:1.6;margin:6px 0}.doubts-dashboard .dd-message p:first-of-type{margin-top:0}.doubts-dashboard .dd-message p:last-child{margin-bottom:0}.doubts-dashboard .ai-response-box h1,.doubts-dashboard .ai-response-box h2,.doubts-dashboard .ai-response-box h3,.doubts-dashboard .ai-response-box h4,.doubts-dashboard .ai-response-box h5,.doubts-dashboard .ai-response-box h6,.doubts-dashboard .dd-message-assistant h1,.doubts-dashboard .dd-message-assistant h2,.doubts-dashboard .dd-message-assistant h3,.doubts-dashboard .dd-message-assistant h4,.doubts-dashboard .dd-message-assistant h5,.doubts-dashboard .dd-message-assistant h6{color:inherit;display:block;font-weight:600;line-height:1.3;margin:14px 0 6px}.doubts-dashboard .ai-response-box h1:first-child,.doubts-dashboard .ai-response-box h2:first-child,.doubts-dashboard .ai-response-box h3:first-child,.doubts-dashboard .dd-message-assistant h1:first-child,.doubts-dashboard .dd-message-assistant h2:first-child,.doubts-dashboard .dd-message-assistant h3:first-child{margin-top:0}.doubts-dashboard .ai-response-box h1,.doubts-dashboard .dd-message-assistant h1{font-size:18px}.doubts-dashboard .ai-response-box h2,.doubts-dashboard .dd-message-assistant h2{font-size:16px}.doubts-dashboard .ai-response-box h3,.doubts-dashboard .dd-message-assistant h3{font-size:15px}.doubts-dashboard .ai-response-box h4,.doubts-dashboard .dd-message-assistant h4{font-size:14px}.doubts-dashboard .ai-response-box p,.doubts-dashboard .dd-message-assistant p{display:block;font-size:14px;line-height:1.6;margin:6px 0}.doubts-dashboard .ai-response-box ol,.doubts-dashboard .ai-response-box ul,.doubts-dashboard .dd-message-assistant ol,.doubts-dashboard .dd-message-assistant ul{display:block;margin:8px 0;padding-left:24px}.doubts-dashboard .ai-response-box li,.doubts-dashboard .dd-message-assistant li{display:list-item;font-size:14px;line-height:1.5;margin:4px 0}.doubts-dashboard .ai-response-box strong,.doubts-dashboard .dd-message-assistant strong{font-weight:600}.doubts-dashboard .ai-response-box em,.doubts-dashboard .dd-message-assistant em{font-style:italic}.doubts-dashboard .ai-response-box code,.doubts-dashboard .dd-message-assistant code{background:#0000000f;border-radius:3px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;padding:1px 4px}.doubts-dashboard .ai-response-box pre,.doubts-dashboard .dd-message-assistant pre{background:#1f2937;border-radius:6px;color:#f9fafb;margin:8px 0;overflow-x:auto;padding:12px}.doubts-dashboard .ai-response-box pre code,.doubts-dashboard .dd-message-assistant pre code{background:none;color:inherit;padding:0}.doubts-dashboard .ai-response-box blockquote,.doubts-dashboard .dd-message-assistant blockquote{border-left:3px solid #d1d5db;color:#6b7280;font-style:italic;margin:8px 0;padding-left:12px}.doubts-dashboard .teacher-response-box h1,.doubts-dashboard .teacher-response-box h2,.doubts-dashboard .teacher-response-box h3,.doubts-dashboard .teacher-response-box h4{color:inherit;display:block;font-weight:600;margin:14px 0 6px}.doubts-dashboard .teacher-response-box h1:first-child,.doubts-dashboard .teacher-response-box h2:first-child{margin-top:0}.doubts-dashboard .teacher-response-box p{display:block;line-height:1.6;margin:6px 0}.doubts-dashboard .teacher-response-box ol,.doubts-dashboard .teacher-response-box ul{display:block;margin:8px 0;padding-left:24px}.doubts-dashboard .teacher-response-box li{display:list-item;line-height:1.5;margin:4px 0}.doubts-dashboard .teacher-response-section{border-top:2px solid #e5e7eb;margin-top:20px;padding-top:20px}.doubts-dashboard .response-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;margin-bottom:10px;padding:10px;resize:vertical;width:100%}.doubts-dashboard .response-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.doubts-dashboard .resolve-btn{align-items:center;background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .15s}.doubts-dashboard .resolve-btn:hover{background:#4f46e5;box-shadow:0 2px 4px #6366f14d}.doubts-dashboard .empty-state{color:#9ca3af;padding:48px 20px;text-align:center}.doubts-dashboard .empty-state p{font-size:14px;margin:8px 0 0}@media (max-width:1024px){.doubts-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.doubts-dashboard{padding:16px}.doubts-dashboard .dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.doubts-dashboard .stats-grid{grid-template-columns:1fr}.doubts-dashboard .dashboard-tabs{flex-wrap:nowrap;overflow-x:auto}.doubts-dashboard .students-grid{grid-template-columns:1fr}.doubts-dashboard .doubt-header{align-items:flex-start;flex-direction:column;gap:4px}.doubts-dashboard .student-info,.doubts-dashboard .topic-card{flex-wrap:wrap}.doubts-dashboard .modal-content{max-height:95vh}}.rubric-evaluation-button-container{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:20px 0;padding:20px}.rubric-stats-card{background:#fff;border-radius:8px;padding:20px}.stats-row{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-around;margin-bottom:20px}.stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{color:#666;font-size:12px;margin-bottom:5px}.stat-value{color:#333;font-size:24px}.stat-value.highlight{color:#667eea}.rubric-evaluation-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;margin-bottom:10px;padding:15px 25px;transition:all .3s ease;width:100%}.rubric-evaluation-button:hover:not(:disabled){box-shadow:0 6px 12px #667eea4d;transform:translateY(-2px)}.rubric-evaluation-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.button-icon{font-size:20px}.button-icon.spinning{animation:spin 1s linear infinite}.refresh-stats-button{background:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:14px;padding:10px;transition:all .2s ease;width:100%}.refresh-stats-button:hover:not(:disabled){background:#e0e0e0}.refresh-stats-button:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#fee;border:1px solid #fcc;color:#c33;margin-top:10px}.results-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.results-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.results-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #eee;color:#fff;display:flex;justify-content:space-between;padding:20px}.results-modal-header h3{font-size:20px;margin:0}.close-button{border-radius:50%;color:#fff;font-size:28px;transition:background .2s}.close-button:hover{background:#fff3}.results-summary{grid-gap:15px;background:#f9f9f9;border-bottom:1px solid #eee;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:20px}.summary-item{background:#fff;box-shadow:0 2px 4px #0000000d;padding:15px}.summary-item.success{border-left:4px solid #4caf50}.summary-item.warning{border-left:4px solid #ff9800}.summary-item.error{border-left:4px solid #f44336}.summary-label{color:#666;margin-bottom:5px;text-align:center}.summary-value{color:#333}.results-details{flex:1 1;overflow-y:auto;padding:20px}.results-details h4{color:#333;font-size:16px;margin-bottom:15px;margin-top:0}.results-table{display:flex;flex-direction:column;gap:10px}.result-row{align-items:center;background:#f9f9f9;border-left:4px solid #ddd;border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;padding:12px}.result-row.scored{background:#f1f8f4;border-left-color:#4caf50}.result-row.skipped{background:#fff8f1;border-left-color:#ff9800}.result-row.error{background:#fff1f0;border-left-color:#f44336}.result-submission-id{color:#333;font-weight:600;min-width:120px}.result-status{background:#e0e0e0;border-radius:4px;color:#666;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.result-score{color:#4caf50;font-weight:600}.result-error,.result-reason{color:#666;flex:1 1;font-size:13px;min-width:200px}.result-error{color:#f44336}.results-modal-footer{background:#f9f9f9;border-top:1px solid #eee;display:flex;justify-content:flex-end;padding:20px}.close-button-footer{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s}.close-button-footer:hover{background:#5568d3}@media (max-width:768px){.stats-row{flex-direction:column}.results-summary{grid-template-columns:1fr}.result-row{align-items:flex-start;flex-direction:column}.result-error,.result-reason,.result-submission-id{min-width:auto;width:100%}}.rubric-evaluation-page{background:#f5f7fa;min-height:100vh;padding:20px}.page-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;gap:16px;margin-bottom:24px;padding:24px}.mobile-menu-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s}.mobile-menu-btn:hover{background:#f0f0f0}.header-content{flex:1 1}.page-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:28px;font-weight:700}.page-subtitle{color:#718096;font-size:14px;margin:8px 0 0}.page-content{margin:0 auto;max-width:1200px}.help-card,.info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.help-card h3,.info-card h2{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 16px}.info-card ol{color:#4a5568;margin:0;padding-left:24px}.info-card ol li{line-height:1.6;margin-bottom:12px}.help-card ul{color:#4a5568;margin:0;padding-left:24px}.help-card ul li{line-height:1.6;margin-bottom:8px}.help-card strong{color:#667eea;font-weight:600}@media (max-width:768px){.rubric-evaluation-page{padding:12px}.page-header{padding:16px}.page-title{font-size:22px}.page-subtitle{font-size:13px}.help-card,.info-card{padding:16px}}.ai-grading-studio{--bg:#0b1220;--panel:#0f1a2e;--panel-2:#111f36;--panel-3:#0d172a;--border:#ffffff14;--muted:#ffffffa6;--muted2:#ffffff73;--text:#ffffffeb;--accent:#7c5cff;--accent2:#2dd4bf;--warn:#f59e0b;--good:#22c55e;--bad:#ef4444;--shadow:0 10px 30px #00000059;--radius:14px;--radius2:18px;--gap:12px;--topbar-h:56px;--rail-w:308px;--drawer-w:360px;--drawer-w-compact:56px;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 800px at 10% -10%,#7c5cff59,#0000 55%),radial-gradient(900px 700px at 110% 10%,#2dd4bf2e,#0000 55%),var(--bg);color:var(--text);display:grid;font-family:var(--sans);grid-template-rows:var(--topbar-h) 1fr;inset:0;overflow:hidden;position:fixed;z-index:9999}.ai-grading-studio *,.ai-grading-studio :after,.ai-grading-studio :before{box-sizing:border-box}.ai-grading-studio aside,.ai-grading-studio details,.ai-grading-studio header,.ai-grading-studio label,.ai-grading-studio li,.ai-grading-studio main,.ai-grading-studio section,.ai-grading-studio summary,.ai-grading-studio ul{background:none;border:none;color:inherit;font:inherit;line-height:inherit;margin:0;padding:0}.ai-grading-studio input:not([type=checkbox]):not([type=radio]):not(#drawerToggle){-webkit-appearance:none;appearance:none}.ai-grading-studio input:not([type=checkbox]):not([type=radio]):not(#drawerToggle),.ai-grading-studio textarea{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);font-family:inherit;font-size:13px;outline:none;padding:10px}.ai-grading-studio textarea{line-height:1.4;min-height:120px;resize:vertical;width:100%}.ai-grading-studio select{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;outline:none;padding:10px}.ai-grading-studio select option{background:var(--panel);color:var(--text)}.ai-grading-studio input:focus,.ai-grading-studio select:focus,.ai-grading-studio textarea:focus{border-color:#7c5cff73}.ai-grading-studio button{color:var(--text);cursor:pointer;font-family:inherit}.ai-grading-studio a{color:inherit;text-decoration:none}.ai-grading-studio p{margin:0}.ai-grading-studio .topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#0f1a2ef2,#0f1a2ec7);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.ai-grading-studio .brand,.ai-grading-studio .topbar .center,.ai-grading-studio .topbar .left,.ai-grading-studio .topbar .right{align-items:center;display:flex;gap:10px}.ai-grading-studio .brand{background:#ffffff08;border:1px solid var(--border);border-radius:999px;padding:8px 10px}.ai-grading-studio .brand>div{display:flex;flex-direction:column;gap:2px}.ai-grading-studio .logo{background:linear-gradient(135deg,#7c5cff,#2dd4bf);border-radius:10px;box-shadow:0 8px 20px #7c5cff40;flex-shrink:0;height:28px;width:28px}.ai-grading-studio .brand strong{color:var(--text);display:block;font-size:13px;font-weight:700;letter-spacing:.2px}.ai-grading-studio .crumbs{color:var(--muted);display:block;font-size:12px}.ai-grading-studio .pill{align-items:center;background:#ffffff08;border:1px solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;font-size:12px;gap:8px;padding:7px 10px;white-space:nowrap}.ai-grading-studio .dot{background:var(--good);border-radius:99px;box-shadow:0 0 0 4px #22c55e24;flex-shrink:0;height:7px;width:7px}.ai-grading-studio .navbtn{align-items:center;background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;gap:8px;justify-content:center;padding:8px 10px;transition:transform .08s ease,background .15s ease}.ai-grading-studio .navbtn:hover{background:#ffffff0f}.ai-grading-studio .navbtn:active{transform:translateY(1px)}.ai-grading-studio .navbtn.primary{background:linear-gradient(135deg,#7c5cff,#7c5cffbf);border-color:#7c5cff73;box-shadow:0 10px 24px #7c5cff38}.ai-grading-studio .navbtn.primary:hover{background:linear-gradient(135deg,#7c5cff,#7c5cffd9)}.ai-grading-studio .navbtn.primary:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .navbtn.ghost{background:#0000;border-color:#ffffff1f}.ai-grading-studio .navbtn.ghost:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .kbd{background:#0000002e;border:1px solid #ffffff1f;border-radius:8px;color:var(--muted);font-family:var(--mono);font-size:11px;padding:3px 6px}.ai-grading-studio .view-toggle-switch{background:#ffffff0f;border:1px solid var(--border);border-radius:10px;display:flex;gap:4px;padding:3px}.ai-grading-studio .view-toggle-switch .toggle-btn{background:#0000;border:none;border-radius:8px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.ai-grading-studio .view-toggle-switch .toggle-btn:hover{background:#ffffff0f;color:var(--text)}.ai-grading-studio .view-toggle-switch .toggle-btn.active{background:#7c5cff2e;box-shadow:0 2px 6px #00000026;color:var(--text)}.ai-grading-studio .layout{grid-gap:0;background:#0000;display:grid;gap:0;grid-template-columns:var(--rail-w) 1fr var(--drawer-w);grid-template-rows:1fr;height:calc(100vh - var(--topbar-h))}.ai-grading-studio .rail{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0}.ai-grading-studio .railHead{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:12px 12px 10px}.ai-grading-studio .railHead h3{color:var(--muted);font-size:12px;letter-spacing:.5px;margin:0;text-transform:uppercase}.ai-grading-studio .railBody{flex:1 1;overflow:auto;padding:12px}.ai-grading-studio .search{display:flex;gap:10px;margin-bottom:10px}.ai-grading-studio .input{background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--text);flex:1 1;font:inherit;font-size:13px;outline:none;padding:10px}.ai-grading-studio .input:focus{border-color:#7c5cff73}.ai-grading-studio select.input{-webkit-appearance:auto;appearance:auto;cursor:pointer;margin-bottom:10px}.ai-grading-studio select.input option{background:var(--panel);color:var(--text)}.ai-grading-studio .chipRow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.ai-grading-studio .chip{align-items:center;background:#ffffff08;border:1px solid #ffffff1f;border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;gap:8px;padding:7px 10px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ai-grading-studio .chip:hover{background:#ffffff0f}.ai-grading-studio .chip.active{background:#7c5cff24;border-color:#7c5cff73;color:var(--text)}.ai-grading-studio .list{display:flex;flex-direction:column;gap:10px}.ai-grading-studio .item{grid-gap:10px;background:#ffffff08;border:1px solid #ffffff1a;border-radius:var(--radius);cursor:pointer;display:grid;gap:10px;grid-template-columns:1fr auto;padding:10px;position:relative;transition:border-color .15s ease,background .15s ease}.ai-grading-studio .item:hover{background:#ffffff0d;border-color:#ffffff29}.ai-grading-studio .item.active{background:#7c5cff1a;border-color:#7c5cff8c}.ai-grading-studio .itemTop{align-items:center;display:flex;gap:8px}.ai-grading-studio .avatar{background:linear-gradient(135deg,#fff3,#ffffff0f);border:1px solid #ffffff1f;border-radius:10px;color:#fffc;display:grid;flex-shrink:0;font-size:11px;font-weight:600;height:28px;place-items:center;text-transform:uppercase;width:28px}.ai-grading-studio .name{font-size:13px;font-weight:650}.ai-grading-studio .sub{color:var(--muted2);font-size:12px;margin-top:3px}.ai-grading-studio .badge{all:unset;background:#0000001f!important;border:1px solid #ffffff1f!important;border-radius:999px!important;box-sizing:border-box;color:var(--muted)!important;display:inline-block;font-family:inherit;font-size:11px!important;font-weight:400;line-height:1;padding:5px 8px!important;text-align:center;vertical-align:initial;white-space:nowrap}.ai-grading-studio .badge.good{background:#22c55e1f!important;border-color:#22c55e59!important;color:#a7f3d0f2!important}.ai-grading-studio .badge.warn{background:#f59e0b1a!important;border-color:#f59e0b59!important;color:#fde68af2!important}.ai-grading-studio .badge.bad{background:#ef44441a!important;border-color:#ef444459!important;color:#fca5a5f2!important}.ai-grading-studio .submission-actions{border-top:1px solid #ffffff14;display:none;gap:6px;grid-column:1/-1;margin-top:6px;padding-top:6px}.ai-grading-studio .item:hover .submission-actions{display:flex}.ai-grading-studio .submission-actions button{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;color:var(--muted);cursor:pointer;flex:1 1;font-family:inherit;font-size:10px;font-weight:600;padding:5px 8px;transition:all .15s ease}.ai-grading-studio .submission-actions button:hover{background:#ffffff14;color:var(--text)}.ai-grading-studio .submission-actions .btn-delete:hover{background:#ef444426;border-color:#ef444459;color:#fca5a5f2}.ai-grading-studio .submission-actions .btn-reset-grade:hover{background:#f59e0b26;border-color:#f59e0b59;color:#fde68af2}.ai-grading-studio .submission-actions .btn-clear-data:hover{background:#ef44441a;border-color:#ef444440;color:#fca5a5e6}.ai-grading-studio .submission-actions .btn-reset-session:hover{background:#3b82f626;border-color:#3b82f659;color:#93c5fdf2}.ai-grading-studio .submission-score{border-top:1px solid #ffffff0f;color:var(--accent2);font-size:11px;font-weight:600;grid-column:1/-1;margin-top:4px;padding-top:4px}.ai-grading-studio .error-message{background:#ef44441f;border:1px solid #ef444440;border-radius:8px;color:#fca5a5f2;font-size:12px;font-weight:500;margin-bottom:10px;padding:8px 10px}.ai-grading-studio .main{background:#0d172a66;display:flex;flex-direction:column;min-width:0}.ai-grading-studio .mainHead{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f1a2eb3,#0f1a2e59);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 14px}.ai-grading-studio .titleBlock{display:flex;flex-direction:column;gap:4px;min-width:0}.ai-grading-studio .titleRow{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ai-grading-studio .titleRow h2{font-size:14px;letter-spacing:.2px;margin:0}.ai-grading-studio .metaRow{color:var(--muted2);display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.ai-grading-studio .tabs{align-items:center;border-bottom:none!important;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}.ai-grading-studio .tab{background:#ffffff08;border:1px solid #ffffff1f;border-bottom:none!important;border-radius:999px;color:var(--muted);cursor:pointer;font-size:12px;padding:7px 10px;text-decoration:none!important;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ai-grading-studio .tab:hover{background:#ffffff0f}.ai-grading-studio .tab.active{background:#2dd4bf1a;border-color:#2dd4bf73;color:var(--text)}.ai-grading-studio .viewerWrap{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow:hidden;padding:14px}.ai-grading-studio .viewer{background:linear-gradient(180deg,#111f36d9,#0d172ad9);border:1px solid #ffffff1a;border-radius:var(--radius2);box-shadow:var(--shadow);flex:1 1;min-height:0;overflow:auto;position:relative}.ai-grading-studio .viewerToolbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#111f36f2,#111f36b3);border-bottom:1px solid #ffffff1a;display:flex;gap:10px;justify-content:space-between;padding:10px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.ai-grading-studio .toolGroup{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ai-grading-studio .tool{background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;color:var(--muted);cursor:pointer;font-size:12px;padding:7px 10px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ai-grading-studio .tool:hover{background:#ffffff0f}.ai-grading-studio .tool.active{background:#7c5cff24;border-color:#7c5cff73;color:var(--text)}.ai-grading-studio .viewerBody{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:46px 1fr;min-height:200px;padding:14px}.ai-grading-studio .viewerBody.no-lines{display:block}.ai-grading-studio .lines{color:#ffffff4d;font-family:var(--mono);font-size:12px;line-height:1.8;text-align:right;-webkit-user-select:none;user-select:none}.ai-grading-studio .content{color:#ffffffeb;font-size:14px;line-height:1.65;padding-right:10px}.ai-grading-studio .content h4{color:#ffffffe6;font-size:13px;margin:0 0 10px}.ai-grading-studio .content .muted{color:var(--muted)}.ai-grading-studio .formatted-data{color:var(--text);font-size:13px;overflow:visible}.ai-grading-studio .data-row{border-bottom:1px solid #ffffff0f;display:flex;gap:12px;padding:8px 0}.ai-grading-studio .data-row:last-child{border-bottom:none}.ai-grading-studio .data-key{color:var(--accent2);flex-shrink:0;font-weight:600;min-width:150px}.ai-grading-studio .data-value{color:var(--text);word-break:break-word}.ai-grading-studio .data-group{border-left:3px solid #ffffff1a;margin:12px 0;overflow:visible;padding-left:16px}.ai-grading-studio .data-label{color:var(--accent);font-size:14px;font-weight:700;margin-bottom:8px;overflow:visible;white-space:nowrap}.ai-grading-studio .data-nested{margin-left:12px}.ai-grading-studio .data-array{display:flex;flex-direction:column;gap:8px}.ai-grading-studio .array-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;padding:12px}.ai-grading-studio .depth-0{border-left-color:var(--accent)}.ai-grading-studio .depth-1{border-left-color:var(--accent2)}.ai-grading-studio .depth-2{border-left-color:var(--warn)}.ai-grading-studio .content-box{background:#0003;border:1px solid #ffffff14;border-radius:10px;color:var(--text);font-size:13px;grid-column:1/-1;line-height:1.5;max-height:600px;overflow-y:auto;padding:12px}.ai-grading-studio .content-box.json-view{background:#0000004d;color:#2dd4bfe6;font-family:var(--mono)}.ai-grading-studio .content-box.json-view pre{word-wrap:break-word;margin:0;white-space:pre-wrap}.ai-grading-studio .content-box.formatted-view{background:#ffffff05}.ai-grading-studio .view-toggle{display:flex;gap:6px}.ai-grading-studio .toggle-btn{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.ai-grading-studio .toggle-btn.active{background:#7c5cff24;border-color:#7c5cff73;color:var(--text)}.ai-grading-studio .toggle-btn:hover:not(.active){background:#ffffff0f;color:var(--text)}.ai-grading-studio .callout{background:#7c5cff14;border:1px solid #7c5cff38;border-radius:14px;margin:12px 0;padding:12px}.ai-grading-studio .callout strong{color:#e9e4fff2}.ai-grading-studio .quote{background:#2dd4bf12;border:1px solid #2dd4bf38;border-radius:14px;color:#dcfce7eb;margin:12px 0;padding:12px}.ai-grading-studio details{background:#ffffff08;border:1px solid #ffffff1a;border-radius:var(--radius2)}.ai-grading-studio summary{align-items:center;border-bottom:1px solid #ffffff14;cursor:pointer;display:flex;gap:10px;justify-content:space-between;list-style:none;padding:12px;-webkit-user-select:none;user-select:none}.ai-grading-studio summary::-webkit-details-marker{display:none}.ai-grading-studio .sumLeft{align-items:center;display:flex;gap:10px}.ai-grading-studio .caret{border-bottom:2px solid #ffffff73;border-right:2px solid #ffffff73;flex-shrink:0;height:10px;margin-right:2px;transform:rotate(-45deg);transition:transform .15s ease;width:10px}.ai-grading-studio details[open] .caret{transform:rotate(45deg)}.ai-grading-studio .sumTitle{font-size:13px;font-weight:650}.ai-grading-studio .sumMeta{color:var(--muted2);font-size:12px}.ai-grading-studio .detailsBody{color:var(--muted);font-size:13px;line-height:1.55;max-height:400px;overflow-y:auto;padding:12px}.ai-grading-studio .kpiRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ai-grading-studio .kpi{all:unset;aspect-ratio:unset!important;background:#0000001f!important;border:1px solid #ffffff1a!important;border-radius:999px!important;box-sizing:border-box;color:#fffc!important;display:inline-block;font-family:inherit;font-size:12px!important;height:auto!important;line-height:1;min-height:0!important;min-width:0!important;padding:7px 10px!important;white-space:nowrap;width:auto!important}.ai-grading-studio .drawer{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-left:1px solid var(--border);display:flex;flex-direction:column;max-height:calc(100vh - var(--topbar-h));min-height:0;min-width:0;overflow:hidden;position:relative}.ai-grading-studio #drawerToggle{display:none}.ai-grading-studio .drawerHead{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:12px 12px 10px}.ai-grading-studio .drawerHead h3{color:var(--muted);font-size:12px;letter-spacing:.5px;margin:0;text-transform:uppercase}.ai-grading-studio .drawerBody{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px}.ai-grading-studio .card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:var(--radius2);padding:12px}.ai-grading-studio .fieldLabel{color:var(--muted2);font-size:12px;margin-bottom:6px}.ai-grading-studio .scoreRow{align-items:center;display:flex;gap:10px}.ai-grading-studio .scoreInput{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:10px}.ai-grading-studio .scoreInput:focus{border-color:#7c5cff73}.ai-grading-studio .outOf{color:var(--muted2);font-size:12px;white-space:nowrap}.ai-grading-studio .card textarea{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);font-family:inherit;font-size:13px;line-height:1.4;min-height:120px;outline:none;padding:10px;resize:vertical;width:100%}.ai-grading-studio .card textarea:focus{border-color:#7c5cff73}.ai-grading-studio .drawerFooter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#0f1a2e8c,#0f1a2ed9);border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;padding:12px}.ai-grading-studio .btn{align-items:center;background:#ffffff08;border:1px solid #ffffff1f;border-radius:14px;color:var(--text);cursor:pointer;display:inline-flex;flex:1 1;font:inherit;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 12px;transition:transform .08s ease,background .15s ease}.ai-grading-studio .btn:hover{background:#ffffff0f}.ai-grading-studio .btn:active{transform:translateY(1px)}.ai-grading-studio .btn.primary{background:linear-gradient(135deg,#7c5cff,#7c5cffbf);border-color:#7c5cff73;box-shadow:0 10px 24px #7c5cff38;flex:1.3 1}.ai-grading-studio .btn.primary:hover{background:linear-gradient(135deg,#7c5cff,#7c5cffd9)}.ai-grading-studio .btn.primary:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .drawerToggleLabel{align-items:center;background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:16px;height:36px;justify-content:center;transition:background .15s ease;-webkit-user-select:none;user-select:none;width:36px}.ai-grading-studio .drawerToggleLabel:hover{background:#ffffff0f}.ai-grading-studio #drawerToggle:checked~.layout{grid-template-columns:var(--rail-w) 1fr var(--drawer-w-compact)}.ai-grading-studio #drawerToggle:checked~.layout .drawer .drawerBody,.ai-grading-studio #drawerToggle:checked~.layout .drawer .drawerFooter,.ai-grading-studio #drawerToggle:checked~.layout .drawer .drawerHead h3{display:none}.ai-grading-studio .ai-results-compact{background:#2dd4bf14;border:1px solid #2dd4bf40;border-radius:10px;margin-top:10px;max-height:350px;overflow-y:auto;padding:10px}.ai-grading-studio .ai-score-compact{color:#dcfce7eb;font-size:13px;margin-bottom:8px}.ai-grading-studio .ai-score-compact strong{color:var(--accent2)}.ai-grading-studio .ai-feedback-compact{margin-bottom:8px}.ai-grading-studio .ai-feedback-compact strong{color:var(--accent2);font-size:12px}.ai-grading-studio .ai-feedback-compact p{color:var(--muted);font-size:12px;line-height:1.4;margin:4px 0 0;max-height:150px;overflow-y:auto;padding-right:4px}.ai-grading-studio .ai-criteria-compact{border-top:1px solid #2dd4bf26;margin-top:8px;padding-top:8px}.ai-grading-studio .ai-criteria-compact>strong{color:var(--accent2);display:block;font-size:12px;margin-bottom:4px}.ai-grading-studio .criterion-item-compact{grid-gap:4px;background:#0000001f;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr auto;margin-bottom:4px;padding:6px 8px}.ai-grading-studio .criterion-item-compact .criterion-name{color:var(--accent2);font-size:11px;font-weight:600}.ai-grading-studio .criterion-item-compact .criterion-score{color:var(--text);font-size:11px;font-weight:700}.ai-grading-studio .criterion-item-compact .criterion-feedback{color:var(--muted);font-size:11px;grid-column:1/-1;line-height:1.3;margin:2px 0 0}.ai-grading-studio .rubric-panel{background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:var(--radius);padding:12px}.ai-grading-studio .rubric-panel h3{color:#fde68af2;font-size:13px;font-weight:700;margin:0 0 8px}.ai-grading-studio .rubric-info{background:#00000026;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:8px;padding:6px 8px}.ai-grading-studio .rubric-code{color:#fde68acc;font-family:var(--mono);font-size:12px;font-weight:600}.ai-grading-studio .rubric-maxscore{color:var(--warn);font-size:13px;font-weight:700}.ai-grading-studio .rubric-levels{display:flex;flex-direction:column;gap:6px}.ai-grading-studio .rubric-level{background:#0000001f;border-left:3px solid var(--warn);border-radius:8px;padding:6px 8px}.ai-grading-studio .level-header{display:flex;justify-content:space-between;margin-bottom:3px}.ai-grading-studio .level-name{color:#fde68af2;font-size:12px;font-weight:700}.ai-grading-studio .level-score{color:var(--warn);font-size:11px;font-weight:700}.ai-grading-studio .level-description{color:var(--muted);font-size:11px;line-height:1.4;margin:0}.ai-grading-studio .empty-state{align-items:center;color:var(--muted2);display:flex;font-size:16px;height:100%;justify-content:center;min-height:300px}.ai-grading-studio .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.ai-grading-studio .modal-content{animation:modalSlideIn .3s ease-out;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #00000080;color:var(--text);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.ai-grading-studio .modal-header{align-items:center;background:#0000;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:24px 28px}.ai-grading-studio .modal-header h3{color:var(--text);font-size:20px;font-weight:700;margin:0}.ai-grading-studio .modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--muted);cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;line-height:1;transition:all .2s;width:36px}.ai-grading-studio .modal-close:hover{background:#ffffff0f;color:var(--text)}.ai-grading-studio .modal-body{padding:28px}.ai-grading-studio .modal-warning{align-items:flex-start;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:16px 20px}.ai-grading-studio .warning-icon{flex-shrink:0;font-size:24px}.ai-grading-studio .modal-warning p{color:#fde68af2;font-size:15px;font-weight:600;line-height:1.5;margin:0}.ai-grading-studio .modal-info{background:#ffffff08;border:1px solid var(--border);border-radius:12px;padding:20px}.ai-grading-studio .modal-info p{color:var(--text);font-size:14px;line-height:1.6;margin:0 0 12px}.ai-grading-studio .modal-info ul{margin:8px 0 16px 20px;padding:0}.ai-grading-studio .modal-info li{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:6px}.ai-grading-studio .modal-note{background:#7c5cff1a;border:1px solid #7c5cff40;border-radius:8px;color:var(--accent)!important;font-weight:600;margin-bottom:0!important;margin-top:16px!important;padding:12px}.ai-grading-studio .modal-options{display:flex;flex-direction:column;gap:16px}.ai-grading-studio .modal-checkbox{align-items:flex-start;background:#ffffff08;border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.ai-grading-studio .modal-checkbox:hover{background:#7c5cff0f;border-color:#7c5cff66}.ai-grading-studio .modal-checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.ai-grading-studio .checkbox-content{display:flex;flex-direction:column;gap:4px}.ai-grading-studio .checkbox-content strong{color:var(--text);font-size:14px;font-weight:600}.ai-grading-studio .checkbox-description{color:var(--muted);font-size:13px;line-height:1.4}.ai-grading-studio .modal-error{background:#ef44441f;border:1px solid #ef444440;border-radius:8px;color:#fca5a5f2;font-size:13px;font-weight:600;margin-top:16px;padding:12px 16px}.ai-grading-studio .modal-footer{background:#0000001a;border-radius:0 0 16px 16px;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.ai-grading-studio .btn-modal-cancel,.ai-grading-studio .btn-modal-confirm{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s}.ai-grading-studio .btn-modal-cancel{background:#ffffff0d;border:1px solid var(--border);color:var(--muted)}.ai-grading-studio .btn-modal-cancel:hover{background:#ffffff14;color:var(--text)}.ai-grading-studio .btn-modal-confirm{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.ai-grading-studio .btn-modal-confirm:hover:not(:disabled){box-shadow:0 8px 20px #ef444459;transform:translateY(-2px)}.ai-grading-studio .btn-modal-confirm:disabled{cursor:not-allowed;opacity:.4;transform:none}.ai-grading-studio .modal-danger{border:2px solid #ef444473}.ai-grading-studio .modal-danger-warning{background:#ef44441f!important;border:1px solid #ef444459!important}.ai-grading-studio .modal-danger-warning p{color:#fca5a5f2!important}.ai-grading-studio .modal-danger-info{background:#ef44440f!important;border:1px solid #ef444433!important}.ai-grading-studio .modal-danger-info li{color:#fca5a5e6!important;font-weight:600}.ai-grading-studio .modal-danger-note{background:#ef44441f!important;border:1px solid #ef444459!important;border-radius:8px;color:#fca5a5f2!important;font-weight:700!important;margin-bottom:0!important;margin-top:16px!important;padding:16px!important;text-align:center}.ai-grading-studio .modal-confirmation{background:#f59e0b14;border:1px solid #f59e0b40;border-radius:8px;margin-top:16px;padding:16px;text-align:center}.ai-grading-studio .modal-confirmation p{color:#fde68af2;font-size:15px;font-weight:700;margin:0}.ai-grading-studio .btn-modal-danger{background:linear-gradient(135deg,#dc2626,#991b1b);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s}.ai-grading-studio .btn-modal-danger:hover{box-shadow:0 8px 20px #dc262680;transform:translateY(-2px)}.ai-grading-studio .student-submissions-section{border-top:1px solid var(--border);display:flex;flex:1 1;flex-direction:column;margin-top:12px;min-height:0}.ai-grading-studio .student-submissions-section .railHead{padding:8px 0}.ai-grading-studio .student-submissions-section .railHead h4{color:var(--text);font-size:12px;font-weight:600;margin:0}.ai-grading-studio .drawer .rubric-card{background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:var(--radius);margin-bottom:12px}.ai-grading-studio .drawer .rubric-card[open]{background:#f59e0b14}.ai-grading-studio .drawer .rubric-summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:10px 12px}.ai-grading-studio .drawer .rubric-summary::-webkit-details-marker{display:none}.ai-grading-studio .drawer .rubric-summary .fieldLabel{color:#fde68af2;font-size:12px}.ai-grading-studio .drawer .rubric-max{background:#f59e0b26;border-radius:4px;color:var(--warn);font-size:11px;font-weight:600;padding:2px 6px}.ai-grading-studio .drawer .rubric-levels-compact{max-height:200px;overflow-y:auto;padding:8px 12px 12px}.ai-grading-studio .drawer .rubric-level-compact{background:#00000026;border-left:3px solid #f59e0b59;border-radius:6px;margin-bottom:6px;padding:8px 10px}.ai-grading-studio .drawer .rubric-level-compact:last-child{margin-bottom:0}.ai-grading-studio .drawer .level-header-compact{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.ai-grading-studio .drawer .level-name{color:var(--text);font-size:12px;font-weight:600}.ai-grading-studio .drawer .level-score{color:var(--warn);font-size:11px;font-weight:600}.ai-grading-studio .drawer .level-description-compact{color:var(--muted);font-size:11px;line-height:1.4;margin:0}.ai-grading-studio .student-rail{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ai-grading-studio .rail-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px}.ai-grading-studio .rail-header h3{color:var(--text);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.ai-grading-studio .rail-filters,.ai-grading-studio .rail-search{border-bottom:1px solid var(--border);padding:8px 12px}.ai-grading-studio .rail-filters{display:flex;gap:8px}.ai-grading-studio .rail-filters .filter-select{background:#00000024;border:1px solid #ffffff1f;border-radius:6px;color:var(--text);cursor:pointer;flex:1 1;font-size:11px;outline:none;padding:6px 8px}.ai-grading-studio .rail-filters .filter-select option{background:var(--panel);color:var(--text)}.ai-grading-studio .student-list{flex:1 1;max-height:40%;min-height:120px;overflow-y:auto;padding:8px}.ai-grading-studio .student-item{background:#ffffff08;border:1px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:4px;padding:10px 12px;transition:all .15s ease}.ai-grading-studio .student-item:hover{background:#ffffff0d;border-color:#ffffff1a}.ai-grading-studio .student-item.active{background:#7c5cff1f;border-color:#7c5cff73}.ai-grading-studio .student-item .student-name{color:var(--text);font-size:13px;font-weight:600;margin-bottom:4px}.ai-grading-studio .student-item .student-meta{display:flex;flex-wrap:wrap;gap:6px}.ai-grading-studio .badge-avg,.ai-grading-studio .badge-pending,.ai-grading-studio .badge-total{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px}.ai-grading-studio .badge-pending{background:#f59e0b26;color:#fde68af2}.ai-grading-studio .badge-total{background:#7c5cff26;color:#c4b5fdf2}.ai-grading-studio .badge-avg{background:#22c55e26;color:#a7f3d0f2}.ai-grading-studio .rail-empty,.ai-grading-studio .rail-loading{color:var(--muted);font-size:13px;padding:24px 16px;text-align:center}.ai-grading-studio .submission-list{border-top:1px solid var(--border);display:flex;flex:1 1;flex-direction:column;min-height:0}.ai-grading-studio .submission-list-header{align-items:center;background:#7c5cff14;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 12px}.ai-grading-studio .submission-list-header strong{color:var(--text);font-size:12px}.ai-grading-studio .submission-count{background:#7c5cff33;border-radius:10px;color:var(--text);font-size:11px;padding:2px 8px}.ai-grading-studio .submission-items{flex:1 1;overflow-y:auto;padding:8px}.ai-grading-studio .submission-item{background:#ffffff08;border:1px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:4px;padding:10px 12px;transition:all .15s ease}.ai-grading-studio .submission-item:hover{background:#ffffff0d;border-color:#ffffff1a}.ai-grading-studio .submission-item.active{background:#2dd4bf1f;border-color:#2dd4bf73}.ai-grading-studio .submission-item .submission-name{color:var(--text);font-size:12px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-grading-studio .submission-item .submission-info{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:8px}.ai-grading-studio .status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ai-grading-studio .status-dot.status-pending{background:var(--warn)}.ai-grading-studio .status-dot.status-review{background:var(--accent)}.ai-grading-studio .status-dot.status-graded{background:var(--good)}.ai-grading-studio .grading-main{background:#0d172a66;display:flex;flex-direction:column;overflow:hidden}.ai-grading-studio .grading-main .grading-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f1a2eb3,#0f1a2e59);border-bottom:1px solid var(--border);padding:16px}.ai-grading-studio .grading-main .grading-content-scroll{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px}.ai-grading-studio .grading-form-section{display:flex;flex-direction:column;gap:16px}.ai-grading-studio .ai-section{display:flex;flex-direction:column;gap:10px}.ai-grading-studio .btn-ai{background:linear-gradient(135deg,#2dd4bfd9,#2dd4bfa6);border:1px solid #2dd4bf73;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s ease}.ai-grading-studio .btn-ai:hover:not(:disabled){background:linear-gradient(135deg,#2dd4bff2,#2dd4bfbf);box-shadow:0 4px 12px #2dd4bf40}.ai-grading-studio .btn-ai:disabled{cursor:not-allowed;opacity:.6}.ai-grading-studio .ai-results{background:#2dd4bf14;border:1px solid #2dd4bf40;border-radius:8px;padding:10px}.ai-grading-studio .ai-results .ai-score{color:var(--accent2);font-size:14px;font-weight:600;margin-bottom:6px}.ai-grading-studio .ai-results .ai-feedback{color:var(--muted);font-size:12px;line-height:1.4}.ai-grading-studio .score-row{align-items:center;display:flex;gap:8px}.ai-grading-studio .search-input{background:#ffffff08;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;outline:none;padding:8px 12px;width:100%}.ai-grading-studio .search-input::placeholder{color:var(--muted2)}.ai-grading-studio .search-input:focus{border-color:#7c5cff73}.ai-grading-studio .error-toast{align-items:center;animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ef444426;border:1px solid #ef444459;border-radius:10px;bottom:20px;box-shadow:0 4px 16px #0000004d;color:#fca5a5f2;display:flex;font-size:14px;gap:12px;justify-content:space-between;max-width:400px;padding:16px;position:fixed;right:20px;z-index:1000}.ai-grading-studio .error-toast button{align-items:center;background:#0000;border:none;border-radius:4px;color:#fca5a5f2;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.ai-grading-studio .error-toast button:hover{background:#ef444426}.ai-grading-studio .grading-panel{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ai-grading-studio .grading-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f1a2eb3,#0f1a2e59);border-bottom:1px solid var(--border);padding:16px}.ai-grading-studio .grading-header .header-info h2{color:var(--text);font-size:16px;font-weight:700;margin:0 0 8px}.ai-grading-studio .grading-header .submission-meta-row{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.ai-grading-studio .grading-header .submission-meta-row span{color:var(--muted)}.ai-grading-studio .grading-header .submission-meta-row strong{color:var(--text)}.ai-grading-studio .grading-content-scroll{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px}.ai-grading-studio .submission-section{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ai-grading-studio .submission-section.collapsible{cursor:default}.ai-grading-studio .section-header{align-items:center;background:linear-gradient(180deg,#0f1a2e80,#0f1a2e40);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 16px}.ai-grading-studio .section-header.clickable{cursor:pointer;transition:background .2s ease}.ai-grading-studio .section-header.clickable:hover{background:linear-gradient(180deg,#0f1a2ea6,#0f1a2e59)}.ai-grading-studio .section-header h3{color:var(--text);font-size:13px;font-weight:600;margin:0}.ai-grading-studio .section-header .collapse-icon{color:var(--muted);font-size:12px}.ai-grading-studio .section-content{background:#0000;color:var(--text);padding:16px}.ai-grading-studio .section-content .json-view{background:#0003;border-radius:8px;color:#2dd4bfe6;font-family:var(--mono);font-size:12px;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.ai-grading-studio .grading-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.ai-grading-studio .grading-left-column{display:flex;flex-direction:column;gap:12px}.ai-grading-studio .grading-left-column .rubric-panel{background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:var(--radius);overflow:hidden}.ai-grading-studio .grading-left-column .rubric-panel .section-header{background:#f59e0b1a;border-bottom:1px solid #f59e0b33}.ai-grading-studio .grading-left-column .rubric-panel .section-header h3{color:#fde68af2}.ai-grading-studio .rubric-content{padding:12px}.ai-grading-studio .rubric-max-score{background:#0000001f;border-radius:8px;color:var(--warn);display:inline-block;font-size:12px;font-weight:600;margin-bottom:12px;padding:6px 10px}.ai-grading-studio .grading-form{display:flex;flex-direction:column;gap:16px}.ai-grading-studio .ai-evaluate-section{margin-bottom:8px}.ai-grading-studio .btn-ai-compact{background:linear-gradient(135deg,#2dd4bfd9,#2dd4bfa6);border:1px solid #2dd4bf73;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s ease;width:100%}.ai-grading-studio .btn-ai-compact:hover:not(:disabled){background:linear-gradient(135deg,#2dd4bff2,#2dd4bfbf);box-shadow:0 4px 12px #2dd4bf40}.ai-grading-studio .btn-ai-compact:disabled{cursor:not-allowed;opacity:.6}.ai-grading-studio .form-group{display:flex;flex-direction:column;gap:6px}.ai-grading-studio .form-group label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ai-grading-studio .score-input-wrapper{align-items:center;display:flex;gap:8px}.ai-grading-studio .score-input{background:#00000024;border:1px solid #ffffff1f;border-radius:10px;color:var(--text);flex:1 1;font-family:inherit;font-size:16px;font-weight:600;outline:none;padding:10px 12px}.ai-grading-studio .score-input:focus{border-color:#7c5cff73}.ai-grading-studio .max-score{color:var(--muted);font-size:14px;font-weight:500}.ai-grading-studio .comments-textarea,.ai-grading-studio .feedback-textarea{background:#00000024;border:1px solid #ffffff1f;border-radius:10px;color:var(--text);font-family:inherit;font-size:13px;line-height:1.5;min-height:100px;outline:none;padding:12px;resize:vertical;width:100%}.ai-grading-studio .comments-textarea:focus,.ai-grading-studio .feedback-textarea:focus{border-color:#7c5cff73}.ai-grading-studio .grading-actions{margin-top:12px}.ai-grading-studio .btn-submit{background:linear-gradient(135deg,#7c5cff,#7c5cffbf);border:1px solid #7c5cff73;border-radius:10px;box-shadow:0 4px 12px #7c5cff38;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease;width:100%}.ai-grading-studio .btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#7c5cff,#7c5cffd9);box-shadow:0 6px 16px #7c5cff4d}.ai-grading-studio .btn-submit:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .filters{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding:8px 12px}.ai-grading-studio .filter-group{display:flex;flex-direction:column;gap:4px}.ai-grading-studio .filter-group>label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ai-grading-studio .filter-select{background:#00000024;border:1px solid #ffffff1f;border-radius:8px;color:var(--text);cursor:pointer;font-size:12px;outline:none;padding:8px 10px}.ai-grading-studio .filter-select:focus{border-color:#7c5cff73}.ai-grading-studio .filter-select option{background:var(--panel);color:var(--text)}.ai-grading-studio .btn-refresh{background:#ffffff08;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.ai-grading-studio .btn-refresh:hover:not(:disabled){background:#ffffff0f;color:var(--text)}.ai-grading-studio .btn-refresh:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .grading-panel .status-badge{all:unset;border-radius:6px;display:inline-block;font-size:11px;font-weight:500;padding:4px 8px}.ai-grading-studio .status-badge.status-pending{background:#f59e0b1f;border:1px solid #f59e0b40;color:#fde68af2}.ai-grading-studio .status-badge.status-review{background:#7c5cff1f;border:1px solid #7c5cff40;color:#c4b5fdf2}.ai-grading-studio .status-badge.status-graded{background:#22c55e1f;border:1px solid #22c55e40;color:#a7f3d0f2}.ai-grading-studio .debug-info-box{background:#7c5cff1a;border:1px solid #7c5cff40;border-radius:8px;color:var(--muted);font-size:11px;margin-bottom:8px;padding:8px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.ai-grading-studio .debug-info-box div{color:var(--muted);margin-bottom:2px}.ai-grading-studio .markdown-content{color:var(--text);font-size:13px;line-height:1.6}.ai-grading-studio .markdown-content h1,.ai-grading-studio .markdown-content h2,.ai-grading-studio .markdown-content h3,.ai-grading-studio .markdown-content h4,.ai-grading-studio .markdown-content h5,.ai-grading-studio .markdown-content h6{color:var(--text);font-weight:700;line-height:1.3;margin:12px 0 8px}.ai-grading-studio .markdown-content h1{font-size:18px}.ai-grading-studio .markdown-content h2{font-size:16px}.ai-grading-studio .markdown-content h3{font-size:14px}.ai-grading-studio .markdown-content h4{font-size:13px}.ai-grading-studio .markdown-content h5,.ai-grading-studio .markdown-content h6{font-size:12px}.ai-grading-studio .markdown-content p{margin:8px 0}.ai-grading-studio .markdown-content strong{color:var(--accent2);font-weight:700}.ai-grading-studio .markdown-content em{color:#ffffffd9;font-style:italic}.ai-grading-studio .markdown-content ol,.ai-grading-studio .markdown-content ul{margin:8px 0;padding-left:20px}.ai-grading-studio .markdown-content li{line-height:1.5;margin:4px 0}.ai-grading-studio .markdown-content ul li{list-style-type:disc}.ai-grading-studio .markdown-content ol li{list-style-type:decimal}.ai-grading-studio .markdown-content code{background:#00000040;border-radius:4px;color:var(--accent2);font-family:var(--mono);font-size:12px;padding:2px 6px}.ai-grading-studio .markdown-content pre{background:#0000004d;border:1px solid #ffffff14;border-radius:8px;margin:10px 0;overflow-x:auto;padding:12px}.ai-grading-studio .markdown-content pre code{background:none;color:#2dd4bfe6;font-size:12px;padding:0}.ai-grading-studio .markdown-content blockquote{background:#7c5cff14;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;color:#ffffffd9;margin:10px 0;padding:10px 14px}.ai-grading-studio .markdown-content hr{border:none;border-top:1px solid #ffffff1f;margin:16px 0}.ai-grading-studio .markdown-content a{color:var(--accent);text-decoration:underline}.ai-grading-studio .markdown-content a:hover{color:#7c5cffd9}.ai-grading-studio .markdown-content table{border-collapse:collapse;font-size:12px;margin:10px 0;width:100%}.ai-grading-studio .markdown-content td,.ai-grading-studio .markdown-content th{border:1px solid #ffffff1f;padding:8px 10px;text-align:left}.ai-grading-studio .markdown-content th{background:#ffffff0d;color:var(--accent2);font-weight:600}.ai-grading-studio .markdown-content td{background:#0000001a}.ai-grading-studio .feedback-view{background:#0000001a;border:1px solid #ffffff14;border-radius:10px;min-height:60px;padding:12px}.ai-grading-studio .feedback-view .markdown-content{font-size:13px}.ai-grading-studio .criterion-feedback{color:var(--muted);font-size:11px;line-height:1.4}.ai-grading-studio .criterion-feedback strong{color:var(--accent2);font-weight:600}.ai-grading-studio .criterion-feedback ol,.ai-grading-studio .criterion-feedback ul{margin:4px 0;padding-left:16px}.ai-grading-studio .criterion-feedback li{margin:2px 0}.ai-grading-studio .ai-feedback-compact .markdown-content{color:var(--muted);font-size:12px}.ai-grading-studio .ai-feedback-compact .markdown-content strong{color:var(--accent2)}.ai-grading-studio .ai-feedback-compact .markdown-content p{margin:4px 0}@media (max-width:1100px){:root{--rail-w:280px;--drawer-w:320px}}@media (max-width:980px){.ai-grading-studio{height:auto;min-height:100vh;overflow:visible}.ai-grading-studio .layout{grid-template-columns:1fr;height:auto}.ai-grading-studio .rail{display:none}.ai-grading-studio .drawer{border-left:none;border-top:1px solid var(--border)}.ai-grading-studio #drawerToggle{display:none}.ai-grading-studio .student-centric-view .studio-layout{grid-template-columns:1fr}}@media (max-width:1400px){.ai-grading-studio .student-list-panel{width:240px}.ai-grading-studio .summary-stats{grid-template-columns:1fr 1fr}}.test-browser-modal .modal-body{max-height:70vh;overflow-y:auto}.test-browser-modal .test-browser-table{max-height:55vh;overflow-y:auto}.test-browser-modal .table{margin-bottom:0}.test-browser-modal .table tbody tr{cursor:default}.test-browser-modal .table tbody tr:hover{background-color:rgba(0,0,0,.025)}.test-browser-modal .table tbody tr.table-active{background-color:#1987541a;border-left:3px solid #198754}.test-browser-modal .modal-footer{border-top:1px solid #dee2e6;padding:1rem 1.5rem}.study-resources-page{background-color:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.study-resources-page .filter-panel{padding:16px 20px!important}.study-resources-page .filter-panel .filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.study-resources-page .filter-panel .results-count{border-left:1px solid #dee2e6;color:#6c757d;font-size:14px;margin-left:auto;padding-left:16px;white-space:nowrap}.study-resources-page .filter-panel .results-count strong{color:#495057;font-weight:600}.study-resources-page .filter-panel .input-group{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.study-resources-page .filter-panel .input-group .input-group-text{background-color:#fff;border:none;color:#6c757d;font-size:14px;padding:8px 12px}.study-resources-page .filter-panel .input-group .form-control{border:none;box-shadow:none;font-size:14px;height:38px;padding:8px 12px}.study-resources-page .filter-panel .input-group .form-control:focus{box-shadow:none}.study-resources-page .filter-panel .input-group:focus-within{border-color:#86b7fe;box-shadow:0 0 0 3px #0d6efd1f}.study-resources-page .filter-panel .form-select{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;font-size:14px;height:38px;padding:8px 36px 8px 14px;transition:border-color .15s ease,box-shadow .15s ease}.study-resources-page .filter-panel .form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 3px #0d6efd1f}.study-resources-page .filter-panel .btn-primary{align-items:center;border-radius:8px;display:inline-flex;font-size:14px;font-weight:500;gap:6px;height:38px;padding:8px 20px}.study-resources-page h2{color:#2c3e50;font-weight:600}.study-resources-page .table{margin-bottom:0}.study-resources-page .table thead th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600}.study-resources-page .table tbody tr{transition:background-color .2s ease}.study-resources-page .table tbody tr:hover{background-color:#f1f3f5}.study-resources-page .card{border:none;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.study-resources-page .btn{transition:all .2s ease}.study-resources-page .btn:hover{box-shadow:0 .25rem .5rem #0000001a;transform:translateY(-1px)}.study-resources-page .table .btn-outline-primary{background-color:#fff;border-color:#0d6efd;color:#0d6efd}.study-resources-page .table .btn-outline-primary:hover{background-color:#0d6efd;border-color:#0d6efd;color:#fff}.study-resources-page .table .btn-outline-danger{background-color:#fff;border-color:#dc3545;color:#dc3545}.study-resources-page .table .btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.study-resources-page .table .btn-sm{border-width:1.5px;font-size:.875rem;font-weight:500;padding:.375rem .75rem}.study-resources-page .badge{border:none;border-radius:.375rem;display:inline-block;font-size:.75rem;font-weight:500;height:auto;padding:.3em .6em;white-space:nowrap;width:auto}.modal .badge{border-radius:.375rem!important;display:inline-block!important;font-size:.75em!important;font-weight:500!important;height:auto!important;line-height:1!important;padding:.25em .5em!important;vertical-align:middle!important;white-space:nowrap!important;width:auto!important}.modal .badge.bg-secondary{background-color:#6c757d!important;color:#fff!important}.modal .badge.bg-primary{background-color:#0d6efd!important;color:#fff!important}.modal .badge.bg-success{background-color:#198754!important;color:#fff!important}.modal .badge.bg-warning{background-color:#ffc107!important;color:#000!important}.modal .badge.bg-danger{background-color:#dc3545!important;color:#fff!important}.modal .badge.bg-info{background-color:#0dcaf0!important;color:#000!important}.modal .form-label{align-items:center!important;display:flex!important;flex-wrap:wrap!important;gap:.5rem!important}.study-resources-page .table-responsive{overflow:visible}.study-resources-page .card:has(.table-responsive){overflow:visible}.study-resources-page .card:has(.table-responsive) .card-body{min-height:200px;overflow:visible}.study-resources-page .dropdown-menu{position:absolute!important}.study-resources-page .dropdown-menu.show{z-index:1050}.study-resources-page .table td,.study-resources-page .table th{vertical-align:middle}.study-resources-page .table td [title="Click to change rubric"]{border-radius:4px;padding:4px 8px;transition:background-color .15s ease}.study-resources-page .table td [title="Click to change rubric"]:hover{background-color:#e9ecef}.study-resources-page .table td [title="Click to change rubric"] .text-muted{color:#6c757d!important}.study-resources-page .table td [title="Click to change rubric"]:hover .text-muted{color:#0d6efd!important}.study-resources-page .text-truncate{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-resources-page .table .input-group-text{background-color:#fff;border-right:none}.study-resources-page .table .input-group .form-control{border-left:none}.study-resources-page .table .input-group .form-control:focus{border-color:#ced4da;box-shadow:none}.study-resources-page .table .input-group .form-control:focus+.input-group-text{border-color:#ced4da}.modal-dialog.study-resources-modal.modal-lg{max-width:800px}.modal-dialog.study-resources-modal .modal-content{border:none;border-radius:.5rem;box-shadow:0 .5rem 1rem #00000026}.modal-dialog.study-resources-modal .modal-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.modal-dialog.study-resources-modal .modal-header .btn-close,.modal-dialog.study-resources-modal .modal-header .close{background-color:initial;border:0;color:#000;cursor:pointer;font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;padding:0;text-shadow:none}.modal-dialog.study-resources-modal .modal-header .btn-close:hover,.modal-dialog.study-resources-modal .modal-header .close:hover{color:#000;opacity:.75}.modal-dialog.study-resources-modal .modal-header .btn-close:focus,.modal-dialog.study-resources-modal .modal-header .close:focus{box-shadow:none;opacity:1;outline:none}.modal-dialog.study-resources-modal .modal-header .btn-close:before,.modal-dialog.study-resources-modal .modal-header .close:before{color:#000;content:"×";font-size:2rem;line-height:1}.modal-dialog.study-resources-modal .modal-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6}.form-label{font-weight:500;margin-bottom:.5rem}.form-control:focus,.form-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}textarea.form-control{font-family:Courier New,Courier,monospace;font-size:.9rem;resize:vertical}.progress{border-radius:.375rem;font-size:.875rem;height:1.5rem}.study-resources-page .text-center svg{opacity:.5}@media (max-width:992px){.study-resources-page .filter-panel .filter-row{gap:12px}.study-resources-page .filter-panel .results-count{border-left:none;border-top:1px solid #dee2e6;margin-left:0;margin-top:8px;padding-left:0;padding-top:12px;text-align:right;width:100%}}@media (max-width:768px){.study-resources-page h2{font-size:1.5rem}.study-resources-page .d-flex.justify-content-between{flex-direction:column;gap:1rem}.study-resources-page .filter-panel .filter-row{gap:10px}.study-resources-page .filter-panel .form-select,.study-resources-page .filter-panel .input-group{flex:1 1 100%!important;width:100%!important}.study-resources-page .filter-panel .btn-primary{justify-content:center;width:100%}.study-resources-page .table{font-size:.875rem}.study-resources-page .btn-sm{font-size:.75rem;padding:.25rem .5rem}}.study-resources-page .alert,.study-resources-page .card{animation:fadeIn .3s ease}.study-resource-form-drawer.offcanvas,.study-resource-form-drawer.offcanvas.offcanvas-end,.study-resource-view-drawer.offcanvas,.study-resource-view-drawer.offcanvas.offcanvas-end{background-clip:padding-box!important;background-color:#fff!important;border-left:1px solid #0000001a!important;bottom:0!important;box-shadow:-4px 0 15px #00000026!important;display:flex!important;flex-direction:column!important;left:auto!important;max-width:100%!important;outline:0!important;position:fixed!important;right:0!important;top:0!important;visibility:visible!important;z-index:1055!important}.study-resource-form-drawer.offcanvas.show,.study-resource-view-drawer.offcanvas.show{transform:none!important}.study-resource-view-drawer.offcanvas{width:420px!important}.study-resource-form-drawer.offcanvas{width:520px!important}.study-resource-form-drawer .offcanvas-header,.study-resource-view-drawer .offcanvas-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;flex-shrink:0}.study-resource-form-drawer .offcanvas-body,.study-resource-view-drawer .offcanvas-body{flex:1 1;overflow-y:auto}.offcanvas-backdrop,body>.offcanvas-backdrop{background-color:#000!important}.offcanvas-backdrop.show{opacity:.5!important}.study-resource-form-drawer .badge,.study-resource-view-drawer .badge{border-radius:.375rem!important;display:inline-block!important;font-size:.85em!important;font-weight:500!important;height:auto!important;line-height:1.2!important;overflow:visible!important;padding:.35em .65em!important;text-overflow:clip!important;vertical-align:initial!important;white-space:nowrap!important;width:auto!important}.study-resource-form-drawer .badge.bg-primary,.study-resource-view-drawer .badge.bg-primary{background-color:#0d6efd!important;color:#fff!important}.study-resource-form-drawer .badge.bg-secondary,.study-resource-view-drawer .badge.bg-secondary{background-color:#6c757d!important;color:#fff!important}.study-resource-form-drawer .badge.bg-success,.study-resource-view-drawer .badge.bg-success{background-color:#198754!important;color:#fff!important}.study-resource-form-drawer .badge.bg-warning,.study-resource-view-drawer .badge.bg-warning{background-color:#ffc107!important;color:#000!important}.study-resource-form-drawer .badge.bg-danger,.study-resource-view-drawer .badge.bg-danger{background-color:#dc3545!important;color:#fff!important}.study-resource-form-drawer .badge.bg-info,.study-resource-view-drawer .badge.bg-info{background-color:#0dcaf0!important;color:#000!important}.study-resource-form-drawer .badge.bg-dark,.study-resource-view-drawer .badge.bg-dark{background-color:#212529!important;color:#fff!important}.study-resource-form-drawer .badge.bg-light,.study-resource-view-drawer .badge.bg-light{background-color:#f8f9fa!important;color:#212529!important}.grid-report-page{padding:16px}.grid-report-page .btn-primary{background:#0d6efd;border:none;border-radius:4px;box-shadow:none;font-size:.85rem;font-weight:600;padding:5px 18px;transform:none}.grid-report-page .btn-primary:hover:not(:disabled){background:#0b5ed7;box-shadow:none;transform:none}.grid-report-page .btn-primary:disabled{background:#6c757d;opacity:.65}.grid-report-page h4{font-weight:600;margin-bottom:16px}.grid-report-card{overflow:visible!important}.grid-report-scroll-container{max-height:calc(100vh - 280px);min-width:100%;overflow:auto;position:relative;width:0}.grid-report-table{border-collapse:initial!important;border-spacing:0;font-size:.82rem;min-width:100%}.grid-report-table td,.grid-report-table th{border:1px solid #dee2e6;padding:4px 8px}.grid-report-corner-cell{min-width:160px;will-change:transform;z-index:3!important}.grid-report-col-header,.grid-report-corner-cell{background:#e9ecef!important;position:-webkit-sticky!important;position:sticky!important;top:0!important}.grid-report-col-header{font-size:.78rem;font-weight:600;padding:6px 10px!important;text-align:center;white-space:nowrap;z-index:2!important}.grid-report-total-header{background:#d6d8db!important}.grid-report-row-header{background:#f8f9fa!important;font-size:.8rem;font-weight:500;max-width:220px;min-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;will-change:transform;z-index:1}.grid-report-page-total-row td,.grid-report-page-total-row th{background:#e8f0fe!important;border-top:2px solid #adb5bd;font-style:italic;font-weight:600}.grid-report-page-total-row .grid-report-row-header{background:#e8f0fe!important}.grid-report-total-row td,.grid-report-total-row th{background:#f0f0f0!important;font-weight:700}.grid-report-total-row .grid-report-row-header{background:#f0f0f0!important}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-bar{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#e9ecef 25%,#f5f5f5 50%,#e9ecef 75%);background-size:200px 100%;border-radius:3px;display:inline-block;height:14px}.skeleton-bar-num{margin-left:auto;width:32px}.grid-report-empty{color:#6c757d;padding:60px 0;text-align:center}.grid-report-empty h5{margin-bottom:8px}.grid-report-empty p{font-size:.85rem}.approve-modules-container{background:#fafafa;min-height:100vh;padding:0}.approve-modules-header{background:#fff;border-bottom:1px solid #e0e0e0;margin-bottom:0;padding:20px 24px}.header-content{gap:16px;margin:0 auto;max-width:1400px}.back-button{background:#0000;border:1px solid #e0e0e0;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.back-button:hover{background:#f5f5f5;border-color:#333}.page-title{color:#000;font-size:20px;font-weight:600;margin:0}.approve-modules-content{margin:0 auto;max-width:1400px;padding:24px}.filters-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.search-bar{margin-bottom:16px}.search-input{border:1px solid #e0e0e0;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;padding:10px 14px;transition:border-color .2s ease}.search-input:focus{border-color:#333}.search-input::placeholder{color:#999}.status-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{align-items:center;border:1px solid #e0e0e0;border-radius:4px;color:#333;display:flex;font-size:13px;gap:6px;transition:all .2s ease}.filter-btn:hover{background:#fafafa;border-color:#333}.filter-btn.active{background:#000;border-color:#000}.filter-btn .count{background:#f0f0f0;border-radius:10px;color:#666;font-size:11px;min-width:20px;padding:2px 8px;text-align:center}.filter-btn.active .count{background:#fff3;color:#fff}.students-list{display:flex;flex-direction:column;gap:12px}.student-card{border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:border-color .2s ease}.student-card:hover{border-color:#bbb}.student-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.bulk-actions{flex-shrink:0;gap:8px}.bulk-approve-btn,.bulk-reject-btn{border:1px solid;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s ease}.bulk-approve-btn{background:#fff;border-color:#16a34a;color:#16a34a}.bulk-approve-btn:hover{background:#16a34a;color:#fff}.bulk-reject-btn{background:#fff;border-color:#dc2626;color:#dc2626}.bulk-reject-btn:hover{background:#dc2626;color:#fff}.student-name{color:#000;font-size:16px;margin:0 0 6px}.student-email{color:#666;font-size:13px;margin:0 0 4px}.student-id{color:#999;font-size:12px;margin:0}.student-status{flex-shrink:0}.status-badge{border:1px solid;letter-spacing:.3px}.status-badge.approved{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.status-badge.rejected{background:#fef2f2;border-color:#fecaca;color:#991b1b}.status-badge.pending{background:#fef3c7;border-color:#fde68a;color:#92400e}.status-badge.toReview{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.modules-section{margin-bottom:0}.modules-title{color:#333;font-size:13px;font-weight:600;margin:0 0 10px}.modules-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.module-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;padding:14px;transition:border-color .2s ease}.module-item:hover{border-color:#bbb}.module-info{display:flex;flex-direction:column;gap:8px}.module-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.module-header-right{align-items:center;display:flex;gap:8px}.module-name{color:#000;flex:1 1;font-size:14px;font-weight:500}.module-quick-actions{display:flex;gap:4px}.quick-approve-btn,.quick-reject-btn{background:#fff;border:1px solid;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;min-width:28px;padding:4px 10px;transition:all .2s ease}.quick-approve-btn{border-color:#16a34a;color:#16a34a}.quick-approve-btn:hover{background:#16a34a;color:#fff}.quick-reject-btn{border-color:#dc2626;color:#dc2626}.quick-reject-btn:hover{background:#dc2626;color:#fff}.module-date{color:#999;font-size:11px}.module-action-info{background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-top:4px;padding:10px}.module-action-info p{color:#666;font-size:12px;margin:0 0 4px}.module-action-info p:last-child{margin-bottom:0}.module-action-info.rejected{background:#fef2f2;border-color:#fecaca}.module-actions{display:flex;gap:8px;margin-top:4px}.approval-info,.rejection-info{background:#fafafa;border-left:2px solid;border-radius:4px;margin-bottom:12px;padding:12px}.approval-info p,.rejection-info p{color:#333;font-size:13px;margin:0 0 6px}.approval-info p:last-child,.rejection-info p:last-child{margin-bottom:0}.approval-info{border-left-color:#16a34a}.rejection-info{border-left-color:#dc2626}.action-buttons{display:flex;gap:8px;margin-top:12px}.module-actions .approve-btn,.module-actions .reject-btn{border:1px solid;border-radius:4px;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.module-actions .approve-btn{background:#fff;border-color:#16a34a;color:#16a34a}.module-actions .approve-btn:hover{background:#16a34a;color:#fff}.module-actions .reject-btn{background:#fff;border-color:#dc2626;color:#dc2626}.module-actions .reject-btn:hover{background:#dc2626;color:#fff}.no-results{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:60px 20px;text-align:center}.no-results p{color:#666;font-size:14px;margin:0}.no-modules{background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;padding:20px;text-align:center}.no-modules p{color:#999;font-size:13px;margin:0}.error-state,.loading-state{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:60px 20px;text-align:center}.error-state p,.loading-state p{color:#666;font-size:14px;margin:0 0 16px}.retry-btn{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s ease}.retry-btn:hover{background:#000;border-color:#000;color:#fff}.module-name-wrapper{display:flex;flex:1 1;flex-direction:column;gap:4px}.module-code{color:#999;font-size:11px;font-weight:400}.module-stream{color:#666;font-size:11px}.student-mobile{color:#999;font-size:12px;margin:4px 0 0}.approve-modules-container .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.approve-modules-container .modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow:auto;width:100%}.approve-modules-container .modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.approve-modules-container .modal-header h3{color:#000;font-size:18px;font-weight:600;margin:0}.approve-modules-container .modal-close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.approve-modules-container .modal-close-btn:hover{background:#f0f0f0;color:#000}.approve-modules-container .modal-body{padding:20px}.remarks-label{color:#333;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.remarks-textarea{border:1px solid #e0e0e0;border-radius:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;outline:none;padding:10px;resize:vertical;transition:border-color .2s ease;width:100%}.remarks-textarea:focus{border-color:#333}.approve-modules-container .modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:8px;justify-content:flex-end;padding:20px}.modal-cancel-btn,.modal-submit-btn{border:1px solid;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s ease}.modal-cancel-btn{background:#fff;border-color:#e0e0e0;color:#666}.modal-cancel-btn:hover{background:#f5f5f5;border-color:#bbb}.modal-submit-btn{background:#000;border-color:#000;color:#fff}.modal-submit-btn:hover:not(:disabled){background:#333}.modal-submit-btn:disabled{background:#e0e0e0;border-color:#e0e0e0;color:#999;cursor:not-allowed}@media (max-width:768px){.approve-modules-content{padding:16px}.page-title{font-size:18px}.student-header{flex-direction:column;gap:10px}.bulk-actions{width:100%}.bulk-approve-btn,.bulk-reject-btn{flex:1 1}.status-filters{flex-direction:column}.filter-btn{justify-content:space-between;width:100%}.module-header{flex-wrap:wrap}.module-header-right{justify-content:space-between;width:100%}.action-buttons{flex-direction:column}.approve-btn,.reject-btn{width:100%}}.shared-header-nav{display:none}.shared-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.nav-left{align-items:center;display:flex;gap:.75rem}.hamburger-button{background:#fff3;border:none;border-radius:6px;cursor:pointer;display:none;padding:.5rem .75rem;transition:all .3s ease}.hamburger-button:hover{background:#ffffff4d}.hamburger-icon{color:#fff;display:block;font-size:1.5rem;line-height:1}.nav-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.home-btn{background:#ffffff40;color:#fff;font-size:1.2rem;padding:.5rem .75rem}.home-btn:hover{background:#ffffff59;transform:scale(1.05)}.back-btn{background:#ffffff26}.back-btn:hover{background:#ffffff40}.nav-center{display:flex;flex:1 1;justify-content:flex-start;padding:0 1rem}@media (min-width:768px){.nav-center{justify-content:center}}.nav-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0;text-align:center;text-shadow:1px 1px 3px #0003}.nav-right{align-items:center;display:flex}.user-info{background:#ffffff26;border-radius:50px;gap:.75rem;padding:.5rem 1rem;transition:all .3s ease}.user-info:hover{background:#ffffff40}.user-name{color:#fff;font-size:.95rem;font-weight:600}.user-avatar{align-items:center;background:#fff;border:2px solid #ffffff80;display:flex;height:36px;justify-content:center;overflow:hidden;width:36px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-avatar svg{color:#667eea;height:20px;width:20px}.breadcrumbs{align-items:center;border-top:1px solid #fff3;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.breadcrumb-link{background:none;border:none;border-radius:4px;color:#ffffffe6;cursor:pointer;font-size:.9rem;padding:.25rem .5rem;transition:all .2s ease}.breadcrumb-link:hover{background:#ffffff26;color:#fff}.breadcrumb-separator{color:#fff9;font-size:1rem}.breadcrumb-current{color:#fff;font-size:.9rem;font-weight:600;padding:.25rem .5rem}@media (max-width:1024px){.shared-header-nav{padding:1rem 1.5rem}.nav-title{font-size:1.3rem}}@media (max-width:1023px){.hamburger-button{display:block}}@media (max-width:768px){.shared-header-nav{padding:.75rem 1rem}.nav-left,.shared-header-content{gap:.5rem}.back-btn{display:none}.nav-center{padding:0 .5rem}.nav-title{font-size:1.1rem}.user-name{display:none}.user-info{padding:.4rem}.user-avatar{height:32px;width:32px}.breadcrumbs{font-size:.85rem}}@media (max-width:480px){.home-btn,.nav-title{font-size:1rem}.home-btn{padding:.4rem .6rem}.breadcrumbs{margin-top:.5rem;padding-top:.5rem}}.Home .full-height1{height:100vh}.Home .tab-footer{padding:0}.Home .tab-content{padding-top:0}.Home .card-body{overflow:scroll}.Home a.active:hover{color:#fff}.home-header-container{align-items:center;display:flex;justify-content:space-between}.home-header-text{flex:1 1;margin:auto;text-align:center}.user-profile-icon{fill:#fff;cursor:pointer;width:30px}@media (max-width:768px){.Home .full-height1{height:90vh}}.modern-home{background:#f3f4f6;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.modern-home{margin-left:280px}}.modern-content{margin:0 auto;max-width:1400px;padding:24px}.home-nav{background:#fff;border-bottom:1px solid #edebe9;box-shadow:0 1px 0 0 #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:100}.home-nav-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:12px 24px}.hamburger-button-home{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.5rem;line-height:1;padding:8px 12px;transition:all .3s ease}.hamburger-button-home:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}.hamburger-button-home:active{transform:scale(.95)}@media (max-width:1023px){.hamburger-button-home{display:block}}.brand{align-items:center;color:#242424;display:flex;font-size:16px;font-weight:600;gap:12px}.brand-icon{font-size:24px}.brand-text{color:#242424;letter-spacing:-.01em}.nav-actions{gap:16px}.nav-actions,.user-info{align-items:center;display:flex}.user-info{background:#0000;border-radius:4px;cursor:pointer;gap:8px;padding:6px 12px;transition:background .1s ease}.user-info:hover{background:#f3f2f1}.user-info:active{background:#edebe9}.user-avatar{fill:#605e5c;background:#e8e6e4;border:1px solid #d2d0ce;border-radius:50%;height:32px;width:32px}.user-name{color:#323130;font-size:14px;font-weight:400}.hero-section{margin:0 auto;max-width:1400px;padding:32px 24px 24px}.hero-content{text-align:left}.hero-title{color:#242424;font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}.hero-subtitle{color:#605e5c;font-size:14px;font-weight:400;margin:0}.features-container{margin:0 auto;max-width:1400px;padding:0 24px 48px}.features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:24px}.feature-card{background:#fff;border:1px solid #edebe9;border-radius:8px;box-shadow:0 .3px .9px #00000012,0 1.6px 3.6px #0000000a;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .15s cubic-bezier(.4,0,.2,1)}.feature-card:hover{border-color:#d2d0ce;box-shadow:0 3.2px 7.2px #00000021,0 .6px 1.8px #0000001c;transform:translateY(-2px)}.feature-card:active{transform:scale(.98);transition:all .06s}.card-content{align-items:flex-start;display:flex;gap:16px}.card-icon{align-items:center;display:flex;filter:none;flex-shrink:0;font-size:40px;height:48px;justify-content:center;width:48px}.card-text{flex:1 1;min-width:0}.card-title{color:#242424;font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.card-description{color:#605e5c;font-size:14px;line-height:1.4;margin:0}.card-arrow{display:none}.quick-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1400px;padding:0 24px 48px}.stat-card{box-shadow:0 2px 8px #00000014;gap:16px}.stat-card:hover{box-shadow:0 8px 16px #0000001f}.stat-icon{background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0;font-size:36px}.stat-info{flex:1 1}.stat-value{color:#1e293b;font-size:28px}.stat-label{font-size:13px}@media (max-width:768px){.hero-title{font-size:32px}.hero-subtitle{font-size:16px}.features-grid{gap:16px;grid-template-columns:1fr}.feature-card{padding:24px 20px}.card-icon{font-size:40px}.card-title{font-size:20px}.quick-stats{grid-template-columns:1fr}.home-nav-content{padding:12px 16px}.brand-text,.user-name{display:none}}@media (max-width:480px){.hero-section{padding:32px 16px 24px}.features-container,.quick-stats{padding-left:16px;padding-right:16px}}.sa-hero{margin-bottom:32px}.sa-back-btn{background:#0000;border:1px solid #8a8886;border-radius:4px;color:#0078d4;font-weight:500;margin-bottom:24px;padding:8px 16px;transition:all .1s ease}.sa-back-btn:hover{background:#f3f2f1;border-color:#605e5c}.sa-back-btn:active{background:#edebe9}.sa-title{color:#242424;font-weight:600;letter-spacing:-.02em;line-height:1.3}.sa-subtitle{color:#605e5c;font-size:14px;font-weight:400}.sa-modules-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:48px}.sa-module-card{background:#fff;border:1px solid #edebe9;border-radius:12px;box-shadow:0 1px 3px #00000014;cursor:pointer;display:flex;flex-direction:column;padding:28px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.sa-module-card:hover{border-color:#0078d4;box-shadow:0 12px 24px #0000001f;transform:translateY(-4px)}.sa-module-card:active{transform:translateY(-2px);transition:all .06s}.sa-module-icon{font-size:48px;line-height:1;margin-bottom:16px}.sa-module-title{color:#242424;font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}.sa-module-description{color:#605e5c;flex:1 1;font-size:13px;line-height:1.5;margin:0 0 16px}.sa-module-arrow{align-self:flex-start;color:#0078d4;font-size:16px;font-weight:600;transition:transform .2s}.sa-module-card:hover .sa-module-arrow{transform:translateX(4px)}.sa-stats-section{background:#fff;border:1px solid #edebe9;border-radius:8px;box-shadow:0 .3px .9px #00000012,0 1.6px 3.6px #0000000a;margin:0 auto;max-width:1400px;padding:24px}.sa-stats-title{color:#242424;font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 20px}.sa-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.sa-stat-card{background:#f3f4f6;border:1px solid #edebe9;border-radius:4px}.sa-stat-value{color:#242424;font-weight:600;margin-bottom:4px}.sa-stat-label{color:#605e5c;font-size:13px;font-weight:500}@media (max-width:768px){.student-affairs-container{padding:16px}.sa-modules-grid{grid-template-columns:1fr}.sa-stats-grid{grid-template-columns:repeat(2,1fr)}.sa-title{font-size:24px}.sa-subtitle{font-size:14px}}.hostel-rooms-container{background:#f3f4f6;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:24px}.hr-header{margin:0 auto 24px;max-width:1400px}.hr-back-btn{background:#0000;border:1px solid #8a8886;border-radius:4px;color:#0078d4;cursor:pointer;font-size:14px;font-weight:400;margin-bottom:16px;padding:8px 16px;transition:all .1s ease}.hr-back-btn:hover{background:#f3f2f1;border-color:#605e5c}.hr-back-btn:active{background:#edebe9}.hr-title{color:#242424;font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}.hr-subtitle{color:#605e5c;font-size:14px;font-weight:400;margin:0}.hr-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:0 auto 24px;max-width:1400px}.hr-filter-select{background:#fff;border:1px solid #8a8886;border-radius:4px;color:#242424;cursor:pointer;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;font-weight:400;padding:8px 12px;transition:all .1s ease}.hr-filter-select:hover{border-color:#605e5c}.hr-filter-select:focus{border-color:#0078d4;box-shadow:0 0 0 1px #0078d4;outline:none}.hr-refresh-btn{background:#0000;border:1px solid #8a8886;border-radius:4px;color:#242424;cursor:pointer;font-size:14px;font-weight:400;padding:8px 16px;transition:all .1s ease}.hr-refresh-btn:hover{background:#f3f2f1;border-color:#605e5c}.hr-refresh-btn:active{background:#edebe9}.hr-loading{color:#605e5c;margin:0 auto;max-width:1400px;padding:60px 20px;text-align:center}.hr-spinner{animation:spin 1s linear infinite;border:3px solid #edebe9;border-radius:50%;border-top-color:#0078d4;height:40px;margin:0 auto 16px;width:40px}.hr-rooms-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto;max-width:1400px}.hr-room-card{background:#fff;border:1px solid #edebe9;border-radius:8px;box-shadow:0 .3px .9px #00000012,0 1.6px 3.6px #0000000a;overflow:hidden;transition:all .15s cubic-bezier(.4,0,.2,1)}.hr-room-card:hover{border-color:#d2d0ce;box-shadow:0 3.2px 7.2px #00000021,0 .6px 1.8px #0000001c;transform:translateY(-2px)}.hr-room-header{align-items:center;background:#f3f4f6;border-bottom:1px solid #edebe9;display:flex;justify-content:space-between;padding:16px}.hr-room-number{color:#242424;font-size:18px;font-weight:600}.hr-room-type{background:#fff;border:1px solid #edebe9;border-radius:4px;color:#605e5c;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.hr-room-body{padding:20px}.hr-room-info{align-items:center;border-bottom:1px solid #f3f2f1;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.hr-room-info:last-of-type{border-bottom:none}.hr-info-label{color:#605e5c;font-size:13px;font-weight:500}.hr-info-value{color:#242424;font-size:13px;font-weight:600}.hr-amenities{border-top:1px solid #f3f2f1;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding-top:16px}.hr-amenity{align-items:center;background:#f3f4f6;color:#605e5c;display:flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px}.hr-amenity,.hr-occupants{border:1px solid #edebe9;border-radius:4px}.hr-occupants{background:#faf9f8;margin:16px 0;padding:12px}.hr-occupants-header{color:#242424;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.hr-occupant{align-items:center;border-top:1px solid #edebe9;display:flex;font-size:13px;gap:6px;padding:6px 0}.hr-occupant:first-of-type{border-top:none;padding-top:0}.hr-occupant-bed{color:#0078d4;font-weight:600;min-width:50px}.hr-occupant-name{color:#242424;flex:1 1;font-weight:500}.hr-occupant-code{color:#605e5c;font-size:12px}.hr-status-badge{border-radius:4px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-top:12px;padding:8px 16px;text-align:center;width:100%}.hr-no-results{color:#605e5c;font-size:16px;font-weight:400;margin:0 auto;max-width:1400px;padding:60px 20px;text-align:center}@media (max-width:768px){.hostel-rooms-container{padding:16px}.hr-rooms-grid{grid-template-columns:1fr}.hr-filters{flex-direction:column}.hr-filter-select,.hr-refresh-btn{width:100%}.hr-title{font-size:24px}.hr-subtitle{font-size:14px}}.hr-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.hr-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.hr-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e5e7eb;border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:24px}.hr-modal-header h2{font-size:20px;font-weight:600;margin:0}.hr-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;line-height:1;transition:all .2s;width:36px}.hr-modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.hr-modal-body{padding:24px}.hr-modal-room-info{background:#f9fafb;border-radius:12px;margin-bottom:24px;padding:16px}.hr-modal-room-info p{color:#374151;font-size:14px;margin:8px 0}.hr-modal-room-info strong{color:#1f2937}.hr-action-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:20px}.hr-action-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:16px;transition:all .2s}.hr-action-btn:hover:not(:disabled){box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.hr-action-btn:disabled{cursor:not-allowed;opacity:.5}.hr-action-checkin{border-color:#10b981;color:#10b981}.hr-action-checkin:hover:not(:disabled){background:#ecfdf5;border-color:#059669}.hr-action-checkout{border-color:#f59e0b;color:#f59e0b}.hr-action-checkout:hover:not(:disabled){background:#fffbeb;border-color:#d97706}.hr-action-maintenance{border-color:#ef4444;color:#ef4444}.hr-action-maintenance:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.hr-action-lock{border-color:#6b7280;color:#6b7280}.hr-action-lock:hover:not(:disabled){background:#f9fafb;border-color:#4b5563}.hr-action-form{margin-top:20px}.hr-action-form h3{color:#1f2937;font-size:18px;margin:0 0 16px}.hr-form-group{margin-bottom:16px}.hr-form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.hr-form-input{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px;transition:border-color .2s;width:100%}.hr-form-input:focus{border-color:#667eea;outline:none}.hr-form-actions{display:flex;gap:12px;margin-top:20px}.hr-btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.hr-btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.hr-btn-submit:disabled{cursor:not-allowed;opacity:.6}.hr-btn-cancel{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.hr-btn-cancel:hover{background:#f9fafb;border-color:#d1d5db}@media (max-width:640px){.hr-action-buttons{grid-template-columns:1fr}.hr-modal{max-height:95vh}.hr-modal-body,.hr-modal-header{padding:20px}}.mess-facilities-container{background:#f3f4f6;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:24px}.mf-header{margin:0 auto 24px;max-width:1400px}.mf-back-btn{background:#0000;border:1px solid #8a8886;border-radius:4px;color:#0078d4;cursor:pointer;font-size:14px;font-weight:400;margin-bottom:16px;padding:8px 16px;transition:all .1s ease}.mf-back-btn:hover{background:#f3f2f1;border-color:#605e5c}.mf-back-btn:active{background:#edebe9}.mf-title{color:#242424;font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}.mf-subtitle{color:#605e5c;font-size:14px;font-weight:400;margin:0}.mf-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:0 auto 24px;max-width:1400px}.mf-filter-select{background:#fff;border:1px solid #8a8886;border-radius:4px;color:#242424;cursor:pointer;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;font-weight:400;padding:8px 12px;transition:all .1s ease}.mf-filter-select:hover{border-color:#605e5c}.mf-filter-select:focus{border-color:#0078d4;box-shadow:0 0 0 1px #0078d4;outline:none}.mf-refresh-btn{background:#0000;border:1px solid #8a8886;border-radius:4px;color:#242424;cursor:pointer;font-size:14px;font-weight:400;padding:8px 16px;transition:all .1s ease}.mf-refresh-btn:hover{background:#f3f2f1;border-color:#605e5c}.mf-refresh-btn:active{background:#edebe9}.mf-loading{color:#605e5c;margin:0 auto;max-width:1400px;padding:60px 20px;text-align:center}.mf-spinner{animation:spin 1s linear infinite;border:3px solid #edebe9;border-radius:50%;border-top-color:#0078d4;height:40px;margin:0 auto 16px;width:40px}.mf-facilities-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));margin:0 auto;max-width:1400px}.mf-facility-card{background:#fff;border:1px solid #edebe9;border-radius:8px;box-shadow:0 .3px .9px #00000012,0 1.6px 3.6px #0000000a;overflow:hidden;transition:all .15s cubic-bezier(.4,0,.2,1)}.mf-facility-card:hover{border-color:#d2d0ce;box-shadow:0 3.2px 7.2px #00000021,0 .6px 1.8px #0000001c;transform:translateY(-2px)}.mf-facility-header{align-items:center;background:#f3f4f6;border-bottom:1px solid #edebe9;display:flex;justify-content:space-between;padding:16px}.mf-facility-name{color:#242424;font-size:18px;font-weight:600}.mf-facility-type{background:#fff;border:1px solid #edebe9;border-radius:4px;color:#605e5c;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.mf-facility-body{padding:20px}.mf-facility-info{align-items:center;border-bottom:1px solid #f3f2f1;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.mf-facility-info:last-of-type{border-bottom:none}.mf-info-label{color:#605e5c;font-size:13px;font-weight:500}.mf-info-value{color:#242424;font-size:13px;font-weight:600}.mf-operating-hours{background:#f9fafb;border:1px solid #edebe9;border-radius:4px;margin:20px 0;padding:16px}.mf-section-title{color:#242424;font-size:14px;font-weight:600;margin:0 0 12px}.mf-time-slot{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.mf-time-slot:last-child{margin-bottom:0}.mf-meal-type{color:#605e5c;font-size:13px;font-weight:500}.mf-time{color:#242424;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;font-weight:600}.mf-amenities{border-top:1px solid #f3f2f1;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding-top:16px}.mf-amenity{align-items:center;background:#f3f4f6;border:1px solid #edebe9;border-radius:4px;color:#605e5c;display:flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px}.mf-status-badge{border-radius:4px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-top:12px;padding:8px 16px;text-align:center;width:100%}.mf-no-results{color:#605e5c;font-size:16px;font-weight:400;margin:0 auto;max-width:1400px;padding:60px 20px;text-align:center}@media (max-width:768px){.mess-facilities-container{padding:16px}.mf-facilities-grid{grid-template-columns:1fr}.mf-filters{flex-direction:column}.mf-filter-select,.mf-refresh-btn{width:100%}.mf-title{font-size:24px}.mf-subtitle{font-size:14px}}.mess-menu-container{background:#f3f4f6;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:24px}.mm-header{margin:0 auto 24px;max-width:1400px}.mm-back-btn{background:#0000;border:1px solid #8a8886;border-radius:4px;color:#0078d4;cursor:pointer;font-size:14px;font-weight:400;margin-bottom:16px;padding:8px 16px;transition:all .1s ease}.mm-back-btn:hover{background:#f3f2f1;border-color:#605e5c}.mm-back-btn:active{background:#edebe9}.mm-title{color:#242424;font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}.mm-subtitle{color:#605e5c;font-size:14px;font-weight:400;margin:0}.mm-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:0 auto 24px;max-width:1400px}.mm-filter-select{background:#fff;border:1px solid #8a8886;border-radius:4px;color:#242424;cursor:pointer;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;font-weight:400;padding:8px 12px;transition:all .1s ease}.mm-filter-select:hover{border-color:#605e5c}.mm-filter-select:focus{border-color:#0078d4;box-shadow:0 0 0 1px #0078d4;outline:none}.mm-refresh-btn{background:#0000;border:1px solid #8a8886;border-radius:4px;color:#242424;cursor:pointer;font-size:14px;font-weight:400;padding:8px 16px;transition:all .1s ease}.mm-refresh-btn:hover{background:#f3f2f1;border-color:#605e5c}.mm-refresh-btn:active{background:#edebe9}.mm-loading{color:#605e5c;margin:0 auto;max-width:1400px;padding:60px 20px;text-align:center}.mm-spinner{animation:spin 1s linear infinite;border:3px solid #edebe9;border-radius:50%;border-top-color:#0078d4;height:40px;margin:0 auto 16px;width:40px}.mm-menu-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin:0 auto;max-width:1400px}.mm-menu-card{background:#fff;border:1px solid #edebe9;border-radius:8px;box-shadow:0 .3px .9px #00000012,0 1.6px 3.6px #0000000a;overflow:hidden;transition:all .15s cubic-bezier(.4,0,.2,1)}.mm-menu-card:hover{border-color:#d2d0ce;box-shadow:0 3.2px 7.2px #00000021,0 .6px 1.8px #0000001c;transform:translateY(-2px)}.mm-card-header{background:#f3f4f6;border-bottom:1px solid #edebe9;padding:16px;position:relative}.mm-day-badge{background:#fff;border:1px solid #edebe9;border-radius:4px;color:#242424;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding:6px 16px;text-transform:uppercase}.mm-meal-info{align-items:center;display:flex;gap:10px}.mm-meal-icon{font-size:24px}.mm-meal-name{color:#242424;font-size:16px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.mm-card-body{padding:20px}.mm-facility-section{border-bottom:1px solid #f3f2f1;margin-bottom:20px;padding-bottom:20px}.mm-facility-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.mm-facility-name{align-items:center;color:#242424;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px}.mm-facility-icon{font-size:16px}.mm-items-list{margin:12px 0}.mm-item{align-items:flex-start;background:#f9fafb;border-radius:4px;display:flex;gap:8px;margin-bottom:8px;padding:8px}.mm-item:last-child{margin-bottom:0}.mm-item-bullet{color:#605e5c;font-weight:700;margin-top:2px}.mm-item-name{color:#242424;flex:1 1;font-size:13px;font-weight:500}.mm-item-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mm-calories,.mm-non-veg-badge,.mm-veg-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:4px 10px}.mm-veg-badge{background:#d1fae5;color:#065f46}.mm-non-veg-badge{background:#fee2e2;color:#991b1b}.mm-calories{background:#fef3c7;color:#92400e}.mm-special-notes{align-items:flex-start;background:#eff6ff;border-left:3px solid #0078d4;border-radius:4px;display:flex;gap:8px;margin-top:12px;padding:12px}.mm-notes-icon{font-size:16px;margin-top:2px}.mm-notes-text{color:#1e40af;flex:1 1;font-size:13px;font-weight:500;line-height:1.5}.mm-no-results{color:#605e5c;font-size:16px;font-weight:400;margin:0 auto;max-width:1400px;padding:60px 20px;text-align:center}@media (max-width:768px){.mess-menu-container{padding:16px}.mm-menu-grid{grid-template-columns:1fr}.mm-filters{flex-direction:column}.mm-filter-select,.mm-refresh-btn{width:100%}.mm-title{font-size:24px}.mm-meal-name,.mm-subtitle{font-size:14px}}.sa-modal.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.sa-modal .modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.sa-modal .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px 24px 16px}.sa-modal .modal-header h2{color:#1a202c;font-size:20px;font-weight:600;margin:0}.sa-modal .modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.sa-modal .modal-close:hover{background:#edf2f7;color:#2d3748}.modal-form{padding:24px}.modal-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b}.modal-error,.modal-success{font-size:14px;margin-bottom:20px;padding:12px 16px}.modal-success{background:#d1fae5;border:1px solid #6ee7b7;border-radius:8px;color:#065f46}.form-row{margin-bottom:16px}.form-group label{color:#4a5568}.form-group .required{color:#dc2626}.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:#fff;border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-hint{color:#718096;display:block;font-size:12px;margin-top:4px}.checkbox-label span{font-weight:500}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn-primary,.btn-secondary{font-size:14px;padding:10px 24px;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d}.btn-secondary{border:1px solid #cbd5e0;color:#4a5568}.btn-secondary:hover{background:#edf2f7;border-color:#a0aec0}@media (max-width:768px){.sa-modal .modal-content{border-radius:12px 12px 0 0;max-height:95vh;max-width:100%}.sa-modal .form-row{grid-template-columns:1fr}.sa-modal .modal-header{padding:20px 16px 12px}.sa-modal .modal-form{padding:20px 16px}.sa-modal .modal-actions{flex-direction:column-reverse}.sa-modal .btn-primary,.sa-modal .btn-secondary{width:100%}}.hab-committee-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.hab-header{margin-bottom:32px}.hab-back-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;margin-bottom:12px;padding:8px 0;transition:color .2s}.hab-back-btn:hover{color:#5568d3;text-decoration:underline}.hab-title{color:#1a202c;font-size:32px;font-weight:700;margin:0 0 8px}.hab-subtitle{color:#718096;font-size:16px;margin:0}.hab-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.hab-filters{display:flex;flex:1 1;gap:12px}.hab-filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s}.hab-filter-select:hover{border-color:#cbd5e0}.hab-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.hab-add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:transform .2s}.hab-add-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.hab-loading{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.hab-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}.hab-empty{color:#718096;padding:80px 20px;text-align:center}.hab-empty p:first-child{color:#4a5568;font-size:18px;font-weight:600;margin-bottom:8px}.hab-empty-hint{color:#a0aec0;font-size:14px}.hab-members-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-bottom:32px}.hab-member-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s}.hab-member-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.hab-member-header{align-items:flex-start;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-left:4px solid #667eea;display:flex;gap:16px;padding:20px;position:relative}.hab-member-icon{align-items:center;background:#fff;border-radius:50%;display:flex;flex-shrink:0;font-size:32px;height:48px;justify-content:center;width:48px}.hab-member-info{flex:1 1}.hab-member-name{color:#1a202c;font-size:18px;font-weight:600;margin:0 0 4px}.hab-member-email{color:#718096;font-size:13px;margin:0 0 4px}.hab-member-phone{color:#4a5568;font-size:13px;margin:0}.hab-status-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:16px;top:16px}.hab-member-body{display:flex;flex-direction:column;gap:12px;padding:20px}.hab-member-field{display:flex;flex-direction:column;gap:4px}.hab-member-field label{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.hab-member-field span{color:#2d3748;font-size:14px}.hab-position-tag{border-radius:6px;color:#fff;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px;width:-webkit-fit-content;width:fit-content}.hab-remarks{color:#718096;font-size:13px;font-style:italic}.hab-member-actions{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:8px;padding:16px 20px}.hab-action-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.hab-edit-btn{border-color:#667eea;color:#667eea}.hab-edit-btn:hover{background:#667eea;color:#fff}.hab-history-btn{color:#718096}.hab-history-btn:hover{background:#edf2f7;border-color:#cbd5e0}.hab-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:32px}.hab-stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:20px;text-align:center}.hab-stat-card h4{font-size:14px;font-weight:500;margin:0 0 8px;opacity:.9}.hab-stat-value{font-size:32px;font-weight:700;margin:0}@media (max-width:768px){.hab-committee-container{padding:16px}.hab-title{font-size:24px}.hab-members-grid{grid-template-columns:1fr}.hab-actions{align-items:stretch}.hab-actions,.hab-filters{flex-direction:column}}.staff-assignments-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:1600px;padding:24px}.sa-header{margin-bottom:32px}.sa-back-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;margin-bottom:12px;padding:8px 0;transition:color .2s}.sa-back-btn:hover{color:#5568d3;text-decoration:underline}.sa-title{color:#1a202c;font-size:32px;font-weight:700;margin:0 0 8px}.sa-subtitle{color:#718096;font-size:16px;margin:0}.sa-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.sa-filters{display:flex;flex:1 1;flex-wrap:wrap;gap:12px}.sa-filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;min-width:150px;padding:10px 16px;transition:all .2s}.sa-filter-select:hover{border-color:#cbd5e0}.sa-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.sa-add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:transform .2s;white-space:nowrap}.sa-add-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.sa-loading{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.sa-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}.sa-empty{color:#718096;padding:80px 20px;text-align:center}.sa-empty p:first-child{color:#4a5568;font-size:18px;font-weight:600;margin-bottom:8px}.sa-empty-hint{color:#a0aec0;font-size:14px}.sa-groups{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}.sa-group{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.sa-group-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.sa-group-header h2{color:#1a202c;font-size:20px;font-weight:600;margin:0}.sa-group-count{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:13px;font-weight:600;padding:4px 12px}.sa-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.sa-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 6px #00000014;overflow:hidden;transition:all .3s}.sa-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-4px)}.sa-card-header{align-items:flex-start;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-left:4px solid #667eea;display:flex;gap:12px;padding:16px;position:relative}.sa-icon{align-items:center;background:#fff;border-radius:50%;display:flex;flex-shrink:0;font-size:28px;height:44px;justify-content:center;width:44px}.sa-info{flex:1 1;min-width:0}.sa-name{align-items:center;color:#1a202c;display:flex;flex-wrap:wrap;font-size:16px;font-weight:600;gap:8px;margin:0 0 4px}.sa-primary-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:10px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.sa-designation{color:#718096;font-size:13px;margin:0 0 4px}.sa-hostel{color:#4a5568;font-size:12px;margin:0}.sa-status-badge{border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;position:absolute;right:12px;top:12px}.sa-card-body{gap:12px;padding:16px}.sa-card-body,.sa-field{display:flex;flex-direction:column}.sa-field{gap:4px}.sa-field label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.sa-field span{color:#2d3748;font-size:14px}.sa-type-tag{border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;width:-webkit-fit-content;width:fit-content}.sa-responsibilities{display:flex;flex-wrap:wrap;gap:6px}.sa-duty-tag{background:#edf2f7;border-radius:6px;color:#4a5568;font-size:12px;font-weight:500;padding:4px 10px}.sa-card-actions{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:8px;padding:12px 16px}.sa-action-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.sa-edit-btn{border-color:#667eea;color:#667eea}.sa-edit-btn:hover{background:#667eea;color:#fff}.sa-history-btn{color:#718096}.sa-history-btn:hover{background:#edf2f7;border-color:#cbd5e0}.sa-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:32px}.sa-stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:20px}.sa-stat-card h4{font-size:14px;font-weight:500;margin:0 0 8px;opacity:.9}.sa-stat-value{font-size:32px;font-weight:700;margin:0}@media (max-width:1024px){.sa-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:768px){.staff-assignments-container{padding:16px}.sa-title{font-size:24px}.sa-cards-grid{grid-template-columns:1fr}.sa-actions{align-items:stretch}.sa-actions,.sa-filters{flex-direction:column}.sa-filter-select{min-width:auto}}.hostel-allocations-page{margin:0 auto;max-width:1200px;padding:20px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.hostel-allocations-page{margin-left:280px}}.hostel-allocations-page .mobile-menu-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.5rem;left:1rem;line-height:1;padding:10px 12px;position:fixed;top:1rem;transition:all .3s ease;z-index:999}.hostel-allocations-page .mobile-menu-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}@media (max-width:1023px){.hostel-allocations-page .mobile-menu-btn{align-items:center;display:flex;justify-content:center}}.page-header{margin-bottom:30px}.page-header h1{color:#333;margin:10px 0 5px}.page-header .subtitle{color:#666;margin:0}.back-btn{background:none;border:none;color:#06c;padding:5px 0}.back-btn:hover{text-decoration:underline}.error,.loading{font-size:16px;padding:40px;text-align:center}.error{color:#dc3545}.allocations-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.allocations-table{border-collapse:collapse;width:100%}.allocations-table td,.allocations-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.allocations-table th{background:#f8f9fa;color:#333;font-weight:600}.allocations-table tbody tr:hover{background:#f8f9fa}.hostel-name{font-weight:500}.percentage{font-size:14px}.percentage,.total{font-family:monospace;text-align:center}.total{font-weight:600}.total.valid{color:#28a745}.total.invalid{color:#dc3545}.edit-btn{background:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 16px;white-space:nowrap}.edit-btn:hover{background:#0052a3}.hostel-allocations-page .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.hostel-allocations-page .modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.hostel-allocations-page .modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px 20px}.hostel-allocations-page .modal-header h2{color:#333;font-size:18px;margin:0}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:24px}.close-btn:hover{color:#333}.hostel-allocations-page .modal-body{padding:20px}.allocation-row{margin-bottom:20px}.allocation-row label{color:#333;display:block;font-weight:500;margin-bottom:8px}.input-group{align-items:center;display:flex;margin-bottom:8px}.input-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100px}.input-group input:focus{border-color:#06c;outline:none}.percent-sign{color:#666;margin-left:8px}.remarks-input{border:1px solid #ddd;border-radius:4px;font-size:13px;padding:8px 12px;width:100%}.remarks-input:focus{border-color:#06c;outline:none}.total-row{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;gap:10px;margin-top:20px;padding:12px}.total-row span:first-child{font-weight:600}.total-row .valid{color:#28a745;font-weight:600}.total-row .invalid{color:#dc3545;font-weight:600}.total-row .warning{color:#dc3545;font-size:13px}.hostel-allocations-page .modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.cancel-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;padding:8px 20px}.cancel-btn:hover{background:#5a6268}.save-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 20px}.save-btn:hover:not(:disabled){background:#218838}.save-btn:disabled{background:#ccc;cursor:not-allowed}.recommend-btn{background:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;white-space:nowrap}.recommend-btn:hover{background:#0052a3}.gender-badge{color:#555;font-size:13px;text-align:center}.capacity-cell{font-family:monospace;font-size:14px}.allocations-table td,.capacity-cell{text-align:center}.allocations-table td.gender-badge,.allocations-table td.hostel-name{text-align:left}.green{background:#d4edda;color:#155724}.green,.yellow{border-radius:3px;font-weight:500;padding:4px 8px}.yellow{background:#fff3cd;color:#856404}.red{background:#f8d7da;border-radius:3px;color:#721c24;font-weight:500;padding:4px 8px}.recommend-modal{background:#fff;border-radius:8px;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.input-section{border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:20px}.input-section label{color:#333;display:block;font-weight:500;margin-bottom:8px}.input-section input[type=text]{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:12px;padding:10px 12px;width:100%}.input-section input[type=text]:focus{border-color:#06c;outline:none}.checkbox-label{font-weight:400!important;margin-bottom:16px}.checkbox-label input[type=checkbox]{margin:0;width:auto}.get-recommendations-btn{background:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 24px;width:100%}.get-recommendations-btn:hover:not(:disabled){background:#0052a3}.get-recommendations-btn:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#f8d7da;border-radius:4px;color:#dc3545;font-size:14px;margin-top:12px;padding:8px 12px}.student-info{background:#e7f3ff;border-radius:6px;margin-bottom:20px}.student-info h3{color:#06c;font-size:16px;margin:0 0 8px}.student-info p{color:#555;font-size:13px;margin:0}.recommendations-list h3{color:#333;font-size:16px;margin:0 0 16px}.recommendation-card{background:#fff;border:2px solid #ddd;border-radius:8px;margin:12px 0;padding:16px;position:relative;transition:all .2s}.recommendation-card:hover{border-color:#06c;box-shadow:0 2px 8px #06c3}.rank-badge{align-items:center;background:#06c;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;left:12px;position:absolute;top:12px;width:32px}.recommendation-content{padding-left:48px}.recommendation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.recommendation-header h4{color:#333;font-size:15px;margin:0}.score-badge{background:#28a745;border-radius:12px;color:#fff;font-size:13px;font-weight:500;padding:4px 12px}.recommendation-details p{color:#555;font-size:14px;margin:6px 0}.recommendation-details .reasoning{background:#f8f9fa;border-left:3px solid #06c;color:#333;font-style:italic;margin-top:10px;padding:8px 12px}.score-breakdown{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.score-breakdown span{background:#e7f3ff;border-radius:4px;color:#06c;font-size:12px;padding:4px 10px}.reserve-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:12px;padding:8px 20px}.reserve-btn:hover{background:#218838}.hostel-movements-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.hm-header{background:#fff;box-shadow:0 2px 10px #0000001a;padding:20px 30px}.hm-header-content{margin:0 auto;max-width:1400px}.hm-back-btn{background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;margin-bottom:15px;padding:8px 16px;transition:all .3s}.hm-back-btn:hover{background:#e5e7eb}.hm-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px}.hm-subtitle{color:#6b7280;font-size:16px;margin:0}.hm-tabs-container{background:#fff;border-bottom:2px solid #e5e7eb}.hm-tabs{display:flex;gap:10px;margin:0 auto;max-width:1400px;overflow-x:auto;padding:0 30px}.hm-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:16px 24px;transition:all .3s;white-space:nowrap}.hm-tab:hover{background:#f9fafb;color:#667eea}.hm-tab.active{border-bottom-color:#667eea;color:#667eea}.hm-tab-icon{font-size:20px}.hm-content{margin:0 auto;max-width:1400px;padding:30px}.hm-loading{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:400px}.hm-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:16px;width:50px}.dashboard-container{display:flex;flex-direction:column;gap:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{box-shadow:0 4px 6px #0000001a;gap:20px;padding:24px;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 8px 12px #00000026}.stat-card.red .stat-icon{background:#fee2e2;color:#ef4444}.stat-card.blue .stat-icon{background:#dbeafe;color:#3b82f6}.stat-card.orange .stat-icon{background:#fed7aa;color:#f59e0b}.stat-card.green .stat-icon{background:#d1fae5;color:#10b981}.stat-icon{align-items:center;border-radius:12px;display:flex;font-size:32px;height:60px;justify-content:center;width:60px}.stat-value{color:#1f2937;margin-bottom:4px}.stat-label{color:#6b7280;font-weight:500}.quick-actions-section,.recent-movements-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px}.section-title{color:#1f2937;margin:0 0 20px}.movements-table table{border-collapse:collapse;width:100%}.movements-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#6b7280;font-size:14px;font-weight:600;padding:12px;text-align:left}.movements-table td{border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;padding:12px}.movements-table tr:hover{background:#f9fafb}.movement-badge{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.font-mono{font-family:Courier New,monospace}.quick-actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-action-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;transition:transform .3s,box-shadow .3s}.quick-action-btn:hover{box-shadow:0 8px 16px #667eea66;transform:translateY(-4px)}.qa-icon{font-size:32px}.qa-label{font-size:14px;font-weight:600}.empty-state{align-items:center;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;justify-content:center}.empty-text{color:#6b7280;font-size:16px;margin:0 0 20px}.mode-toggle{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;gap:10px;margin-bottom:24px;padding:8px;width:-webkit-fit-content;width:fit-content}.mode-btn{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;transition:all .3s}.mode-btn:hover{background:#f3f4f6}.mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.bulk-container,.form-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:32px}.form-title{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 24px}.upgrade-form,.withdrawal-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;color:#1f2937;font-size:15px;padding:12px;transition:border-color .3s}.form-group small{color:#6b7280;font-size:13px}.checkbox-group label{gap:8px}.checkbox-group input[type=checkbox]{height:18px;width:18px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:transform .3s,box-shadow .3s}.submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.message{border-radius:8px;font-size:15px;font-weight:500;margin-bottom:20px;padding:16px 20px}.message-success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.message-error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.bulk-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.add-btn,.add-first-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .3s}.add-btn:hover,.add-first-btn:hover{transform:translateY(-2px)}.bulk-items{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bulk-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px}.bulk-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.bulk-item-number{color:#667eea;font-size:14px;font-weight:600}.remove-btn{background:#fee2e2;border:none;border-radius:50%;color:#ef4444;cursor:pointer;font-size:16px;height:28px;transition:background .3s;width:28px}.remove-btn:hover{background:#fecaca}.bulk-item-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bulk-item-fields .field{display:flex;flex-direction:column;gap:6px}.bulk-item-fields .field.full-width{grid-column:1/-1}.bulk-item-fields .field.checkbox{align-items:center;flex-direction:row}.bulk-item-fields .field label{color:#374151;font-size:13px;font-weight:600}.bulk-item-fields .field input,.bulk-item-fields .field textarea{border:2px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px}.bulk-actions{display:flex;justify-content:center}.filter-bar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.filter-buttons{display:flex;gap:8px}.filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.refresh-btn{background:#f3f4f6;color:#374151;transition:background .3s}.refresh-btn:hover{background:#e5e7eb}.requests-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.request-card{box-shadow:0 4px 6px #0000001a;padding:20px;transition:transform .3s,box-shadow .3s}.request-card:hover{box-shadow:0 8px 12px #00000026;transform:translateY(-4px)}.request-header{align-items:start;border-bottom:2px solid #f3f4f6}.student-name{color:#1f2937;font-size:18px;margin:0 0 4px}.student-code{font-family:Courier New,monospace;font-size:14px;margin:0}.status-badge{color:#fff;padding:6px 12px}.upgrade-details{margin-bottom:16px}.detail-row{font-size:14px;padding:8px 0}.detail-row .label{color:#6b7280;font-weight:500}.detail-row .value{color:#1f2937;font-weight:600;text-align:right}.request-actions{gap:10px}.approve-btn,.reject-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:transform .3s}.approve-btn{background:#10b981;color:#fff}.reject-btn{background:#ef4444;color:#fff}.approve-btn:hover,.reject-btn:hover{transform:translateY(-2px)}.hostel-movements-container .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.hostel-movements-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.hostel-movements-container .modal-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;padding:20px}.hostel-movements-container .modal-header h2{color:#1f2937;font-size:20px;margin:0}.hostel-movements-container .modal-close{background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;font-size:18px;height:32px;transition:background .3s;width:32px}.hostel-movements-container .modal-close:hover{background:#e5e7eb}.hostel-movements-container .modal-body{padding:20px}.modal-info{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px}.modal-info p{color:#374151;font-size:14px;margin:8px 0}.hostel-movements-container .modal-footer{border-top:2px solid #f3f4f6;display:flex;gap:10px;padding:20px}.cancel-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px;transition:all .3s}.cancel-btn:hover{border-color:#9ca3af}.periods-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:30px}.period-card{background:#fff;border:3px solid #0000;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;padding:20px;transition:all .3s}.period-card:hover{box-shadow:0 8px 12px #00000026;transform:translateY(-4px)}.period-card.selected{border-color:#667eea;box-shadow:0 8px 16px #667eea4d}.period-name{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 12px}.period-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.period-details .detail{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px}.period-details .icon{font-size:16px}.period-stats{border-top:2px solid #f3f4f6;display:flex;justify-content:space-around;padding-top:16px}.period-stats .stat{text-align:center}.period-stats .stat-value{color:#667eea;font-size:24px;font-weight:700}.period-stats .stat-label{color:#6b7280;font-size:12px;margin-top:4px}@media (max-width:768px){.hm-content{padding:20px}.bulk-item-fields,.periods-grid,.requests-grid,.stats-grid{grid-template-columns:1fr}.hm-tabs{padding:0 20px}}.hostel-leave-requests-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:2rem}.hlr-header{color:#fff;margin-bottom:2rem;text-align:center}.hlr-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:2px 2px 4px #0003}.hlr-subtitle{font-size:1.1rem;margin:0;opacity:.95}.hlr-tabs{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.hlr-tab{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.hlr-tab:hover{background:#ffffff4d;box-shadow:0 8px 16px #0003;transform:translateY(-2px)}.hlr-tab.active{background:#fff;border-color:#fff;box-shadow:0 8px 20px #0000004d;color:#667eea}.tab-icon{font-size:1.3rem}.tab-label{font-weight:600}.hlr-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;min-height:500px;padding:2rem}.hlr-loading{align-items:center;color:#667eea;display:flex;flex-direction:column;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-top-color:#667eea;height:50px;margin-bottom:1rem;width:50px}.hlr-error{color:#e74c3c;padding:2rem}.hlr-error,.no-data{font-size:1.1rem;text-align:center}.no-data{color:#95a5a6;padding:3rem}.dashboard-container{animation:fadeIn .5s ease}.dashboard-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{color:#2c3e50;font-size:.9rem;font-weight:600}.filter-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .3s ease}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.refresh-btn{background:#667eea;border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.refresh-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.stat-card{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.stat-card.total{background:linear-gradient(135deg,#3498db10,#3498db05);border-left-color:#3498db}.stat-card.active{background:linear-gradient(135deg,#2ecc7110,#2ecc7105);border-left-color:#2ecc71}.stat-card.pending{background:linear-gradient(135deg,#f39c1210,#f39c1205);border-left-color:#f39c12}.stat-card.approved{background:linear-gradient(135deg,#27ae6010,#27ae6005);border-left-color:#27ae60}.stat-card.rejected{background:linear-gradient(135deg,#e74c3c10,#e74c3c05);border-left-color:#e74c3c}.stat-card.cancelled{background:linear-gradient(135deg,#95a5a610,#95a5a605);border-left-color:#95a5a6}.stat-icon{font-size:3rem;opacity:.8}.stat-content{flex:1 1}.stat-content h3{color:#2c3e50;font-size:.95rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.stat-value{color:#2c3e50;font-size:2.5rem;line-height:1;margin-bottom:.25rem}.stat-label{color:#7f8c8d;font-size:.85rem;margin:0}.approval-stats{margin-bottom:3rem}.approval-stats h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.approval-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.approval-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 4px 12px #00000014;padding:2rem}.approval-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.approval-card.warden{border-top:4px solid #667eea}.approval-card.dean{border-top:4px solid #764ba2}.approval-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem}.approval-icon{font-size:2rem}.approval-header h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.approval-count{color:#667eea;font-size:3.5rem;font-weight:700;margin:1rem 0;text-align:center}.approval-label{color:#7f8c8d;font-size:.9rem;margin:0;text-align:center}.status-distribution{margin-top:3rem}.status-distribution h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.chart-container{display:flex;flex-direction:column;gap:1rem}.chart-bar-wrapper{display:flex;flex-direction:column;gap:.5rem}.chart-label{align-items:center;display:flex;font-size:.95rem;font-weight:600;justify-content:space-between}.status-name{color:#2c3e50;text-transform:capitalize}.status-count{color:#7f8c8d;font-weight:500}.chart-bar-container{background:#f8f9fa;height:36px;overflow:hidden}.chart-bar,.chart-bar-container{border-radius:8px;position:relative}.chart-bar{align-items:center;display:flex;height:100%;justify-content:flex-end;padding-right:1rem;transition:width .5s ease}.chart-bar .percentage{color:#fff;font-size:.9rem;font-weight:700;text-shadow:1px 1px 2px #0003}.chart-bar.status-pending{background:linear-gradient(90deg,#f39c12,#e67e22)}.chart-bar.status-approved{background:linear-gradient(90deg,#27ae60,#229954)}.chart-bar.status-rejected{background:linear-gradient(90deg,#e74c3c,#c0392b)}.chart-bar.status-cancelled{background:linear-gradient(90deg,#95a5a6,#7f8c8d)}.chart-bar.status-expired{background:linear-gradient(90deg,#34495e,#2c3e50)}.leave-request-list{animation:fadeIn .5s ease}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.list-header h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0}.list-filters{background:#f8f9fa;border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:1.5rem}.clear-filters-btn{align-self:flex-end;background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.clear-filters-btn:hover{background:#c0392b;box-shadow:0 4px 12px #e74c3c66;transform:translateY(-2px)}.requests-table-container{border-radius:12px;box-shadow:0 4px 12px #0000000f;overflow-x:auto}.requests-table{background:#fff;border-collapse:collapse;width:100%}.requests-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.requests-table th{font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.requests-table tbody tr{border-bottom:1px solid #e9ecef;transition:background .2s ease}.requests-table tbody tr:hover{background:#f8f9fa}.requests-table td{color:#2c3e50;font-size:.95rem;padding:1rem}.student-info{gap:.25rem}.student-name{color:#2c3e50}.student-code{color:#7f8c8d;font-size:.85rem}.date-range{font-size:.9rem;white-space:nowrap}.days-badge{background:#667eea;border-radius:20px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.badge{border-radius:20px;font-size:.8rem;padding:.35rem .75rem;white-space:nowrap}.badge-danger{background:#f8d7da;color:#721c24}.badge-dark{background:#d6d8db;color:#1b1e21}.badge-default{background:#e9ecef;color:#495057}.view-details-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.view-details-btn:hover{background:#5568d3;box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.create-leave-request{animation:fadeIn .5s ease;margin:0 auto;max-width:900px}.form-header{margin-bottom:2rem;text-align:center}.form-header h2{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:.5rem}.form-subtitle{color:#7f8c8d;font-size:1rem;margin:0}.message-box{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.message-box.success{background:#d4edda;border-left:4px solid #28a745;color:#155724}.message-box.error{background:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.leave-summary{background:linear-gradient(135deg,#667eea10,#764ba210);border:2px solid #667eea;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.leave-summary h3{color:#2c3e50;font-size:1.2rem;font-weight:700;margin-bottom:1rem}.summary-content{display:flex;flex-wrap:wrap;gap:2rem}.summary-item{gap:.5rem}.summary-label{color:#7f8c8d;font-size:.9rem;font-weight:600}.summary-value{color:#667eea;font-size:1.5rem}.summary-value.required{color:#e74c3c}.summary-value.not-required{color:#95a5a6}.leave-request-form{display:flex;flex-direction:column;gap:2rem}.form-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;padding:2rem}.form-section h3{color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0 0 1.5rem}.form-row{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{gap:.5rem}.form-group label{color:#2c3e50;font-size:.95rem}.form-group .required{color:#e74c3c}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #667eea1a}.char-count{color:#7f8c8d;font-size:.85rem}.char-count .warning{color:#e74c3c;font-weight:600}.checkbox-group{margin-bottom:1rem}.checkbox-group label{font-weight:500;gap:.75rem}.checkbox-group input[type=checkbox]{height:20px;width:20px}.form-actions{gap:1rem;padding-top:1rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .3s ease}.btn-primary:hover:not(:disabled){box-shadow:0 8px 16px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#e9ecef}.btn-secondary:hover:not(:disabled){background:#dee2e6;transform:translateY(-2px)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.pending-approvals-container{animation:fadeIn .5s ease}.approvals-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.approvals-header h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0}.approval-section{margin-bottom:3rem}.section-header{margin-bottom:1.5rem}.section-header h3{color:#2c3e50;font-size:1.5rem;font-weight:700;gap:.75rem}.section-icon{font-size:1.8rem}.count-badge{background:#667eea;border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;margin-left:.5rem;padding:.25rem .75rem}.approval-request-card{background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:1.5rem;transition:all .3s ease}.approval-request-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.request-card-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.request-id{color:#667eea;font-size:1.1rem;font-weight:700}.request-date{color:#7f8c8d;font-size:.9rem}.request-card-body{display:flex;flex-direction:column;gap:1.5rem}.leave-section,.student-section{display:flex;flex-direction:column;gap:.75rem}.leave-section h4,.student-section h4{align-items:center;color:#2c3e50;display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin:0 0 .5rem}.info-row{grid-gap:.5rem;display:grid;font-size:.95rem;gap:.5rem;grid-template-columns:140px 1fr}.info-row .label{color:#7f8c8d;font-weight:600}.info-row .value{color:#2c3e50;word-break:break-word}.info-row .value.highlight{color:#667eea;font-weight:700}.info-row .value.purpose{line-height:1.5}.approval-history{background:#f8f9fa;border-radius:8px;padding:1rem}.history-item{align-items:center;border-radius:6px;gap:.75rem;padding:.5rem}.history-item.success{background:#d4edda}.history-icon{font-size:1.2rem}.history-text{color:#155724;font-weight:600}.request-card-actions{border-top:2px solid #e9ecef;display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem}.btn-approve,.btn-reject{align-items:center;border-radius:8px;display:flex;flex:1 1;font-size:1rem;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .3s ease}.btn-approve{background:linear-gradient(135deg,#27ae60,#229954)}.btn-approve:hover:not(:disabled){box-shadow:0 6px 16px #27ae6066;transform:translateY(-2px)}.btn-reject{background:linear-gradient(135deg,#e74c3c,#c0392b)}.btn-reject:hover:not(:disabled){box-shadow:0 6px 16px #e74c3c66;transform:translateY(-2px)}.btn-approve:disabled,.btn-reject:disabled{transform:none}.hostel-leave-requests-container .modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.hostel-leave-requests-container .modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.hostel-leave-requests-container .modal-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem 2rem}.hostel-leave-requests-container .modal-header h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.hostel-leave-requests-container .modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;font-size:2rem;height:36px;justify-content:center;padding:0;transition:all .3s ease;width:36px}.hostel-leave-requests-container .modal-close:hover{background:#e9ecef;color:#2c3e50}.hostel-leave-requests-container .modal-body{padding:2rem}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{gap:.5rem}.detail-item.full-width{grid-column:1/-1}.detail-item label{color:#7f8c8d;font-size:.9rem;font-weight:600}.detail-item span{color:#2c3e50;font-size:1rem}.approval-summary{background:#f8f9fa;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.summary-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.75rem 0}.summary-row:last-child{border-bottom:none}.summary-row .label{color:#7f8c8d;font-weight:600}.summary-row .value{color:#2c3e50;font-weight:500}.hostel-leave-requests-container .modal-footer{border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}@media (max-width:1024px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.approval-grid{grid-template-columns:1fr}}@media (max-width:768px){.hostel-leave-requests-container{padding:1rem}.hlr-header h1{font-size:2rem}.hlr-tabs{gap:.5rem}.hlr-tab{font-size:.9rem;padding:.75rem 1.5rem}.hlr-content{padding:1.5rem}.dashboard-grid{grid-template-columns:1fr}.list-filters{flex-direction:column}.filter-group{min-width:100%}.requests-table{font-size:.85rem}.requests-table td,.requests-table th{padding:.75rem .5rem}.form-section{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.approval-grid{gap:1rem}.info-row{font-size:.9rem;grid-template-columns:120px 1fr}.request-card-actions{flex-direction:column}.hostel-leave-requests-container .modal-content{max-width:95%}.hostel-leave-requests-container .modal-body{padding:1.5rem}}@media (max-width:480px){.hlr-header h1{font-size:1.5rem}.hlr-subtitle{font-size:.95rem}.hlr-tab .tab-label{display:none}.hlr-tab{padding:.75rem 1rem}.stat-value{font-size:2rem}.approval-count{font-size:2.5rem}.form-header h2{font-size:1.5rem}.details-grid{grid-template-columns:1fr}.info-row{font-size:.85rem;grid-template-columns:100px 1fr}}.welfare-container{background:#f3f4f6;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:24px}.welfare-header{margin-bottom:32px}.welfare-back-btn{background:#fff;border:1px solid #8a8886;border-radius:4px;box-shadow:0 .3px .9px #00000012;color:#242424;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:24px;padding:10px 20px;transition:all .15s cubic-bezier(.4,0,.2,1)}.welfare-back-btn:hover{background:#f3f2f1;border-color:#605e5c}.welfare-title{color:#242424;font-size:32px;font-weight:600;margin:0 0 8px}.welfare-subtitle{color:#605e5c;font-size:16px;margin:0}.welfare-content{align-items:center;display:flex;justify-content:center;min-height:60vh}.welfare-coming-soon{background:#fff;border:1px solid #edebe9;border-radius:8px;box-shadow:0 .3px .9px #00000012,0 1.6px 3.6px #0000000a;max-width:600px;padding:48px;text-align:center}.welfare-icon{font-size:64px;margin-bottom:24px}.welfare-coming-soon h2{color:#242424;font-size:28px;font-weight:600;margin:0 0 16px}.welfare-coming-soon>p{color:#605e5c;font-size:16px;margin:0 0 24px}.welfare-features{color:#242424;font-size:14px;font-weight:600;margin:24px 0 12px}.welfare-features-list{list-style:none;margin:0;padding:0;text-align:left}.welfare-features-list li{background:#faf9f8;border-left:3px solid #0078d4;border-radius:4px;color:#242424;font-size:14px;margin:8px 0;padding:12px 16px}.welfare-features-list li:before{color:#0078d4;content:"✓";font-weight:600;margin-right:12px}.sa-stat-card{background:#f3f4f6!important;border:1px solid #edebe9!important;border-radius:12px!important;color:inherit!important;padding:24px!important;text-align:center}.sa-stat-value{color:#242424!important;font-size:36px!important;font-weight:700!important;margin-bottom:8px!important}.sa-stat-label{color:#605e5c!important;font-size:14px!important;font-weight:500!important}.sa-stats-section{margin-bottom:48px!important}.sa-modules-grid{margin-top:32px!important}.sa-module-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:12px;top:12px}.sa-activity-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-top:32px;padding:24px}.sa-activity-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.sa-activity-item{background:#f8f9fa;border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.sa-activity-item:hover{background:#e9ecef;transform:translateX(4px)}.sa-activity-icon{flex-shrink:0;font-size:32px}.sa-activity-content{flex:1 1}.sa-activity-title{color:#212529;font-size:16px;font-weight:600;margin-bottom:4px}.sa-activity-desc{color:#6c757d;font-size:14px;margin-bottom:8px}.sa-activity-time{color:#adb5bd;font-size:12px}.student-list-container{--rm-primary:#1a237e;--rm-primary-soft:#3949ab;--rm-bg:#f7f8fa;--rm-card-bg:#fff;--rm-border-subtle:#e0e3eb;--rm-text-main:#111827;--rm-text-subtle:#4b5563;--rm-pill-bg:#eef1ff;--rm-active:#00897b;--rm-shadow-soft:0 10px 30px #0f172a0f;--rm-radius-lg:18px;background:var(--rm-bg);margin:0 auto;max-width:1280px;padding:32px}.student-list-header{margin-bottom:24px}.student-list-title{color:var(--rm-primary);font-size:24px;font-weight:600;letter-spacing:.02em;margin-bottom:4px}.student-list-header>p{color:var(--rm-text-subtle);font-size:13px;margin-top:4px}.student-list-actions{display:flex;gap:12px;margin-top:20px}.btn-primary{border-radius:8px;font-weight:600;transition:all .2s ease}.btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #dee2e6;border-radius:8px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-secondary:hover{border-color:#667eea;color:#667eea}.search-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px;margin-top:20px}.search-wrap{flex:1 1 260px;min-width:0;position:relative}.search-input{background:#fff;border:1px solid var(--rm-border-subtle);border-radius:999px;box-shadow:0 1px 2px #0f172a05;color:var(--rm-text-main);font-size:14px;outline:none;padding:10px 12px 10px 36px;transition:all .15s ease}.search-input::placeholder{color:#9ca3af}.search-input:focus{border-color:var(--rm-primary-soft);box-shadow:0 0 0 3px #3949ab1a}.search-icon{border:2px solid #9ca3af;border-radius:999px;height:14px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:14px}.search-icon:after{background:#9ca3af;border-radius:999px;bottom:-1px;content:"";height:2px;position:absolute;right:-3px;transform:rotate(40deg);width:6px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.filter-chip{background:#0000;border:1px solid #0000;border-radius:999px;color:var(--rm-text-subtle);cursor:pointer;font-size:13px;font-weight:400;padding:7px 14px;transition:background .15s ease,color .15s ease,border-color .15s ease}.filter-chip:hover{background:#e5e7f6;color:var(--rm-primary)}.filter-chip.active{background:var(--rm-primary);border-color:var(--rm-primary);box-shadow:0 6px 18px #1a237e4d;color:#fff;font-weight:500}.filter-chip.active:hover{background:var(--rm-primary-soft);border-color:var(--rm-primary-soft)}.students-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:28px}.student-card{background:#fff;background:var(--rm-card-bg,#fff);border:1px solid #94a3b840;border-radius:18px;border-radius:var(--rm-radius-lg,18px);box-shadow:0 10px 30px #0f172a0f;box-shadow:var(--rm-shadow-soft,0 10px 30px #0f172a0f);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;position:relative;transition:all .2s ease}.student-card:after,.student-card:before{display:none!important}.student-card:hover{border-color:#94a3b866;box-shadow:0 12px 35px #0f172a1a;transform:translateY(-2px)}.student-card-header{align-items:center;background:#0000!important;border-bottom:none;display:flex;gap:10px;margin-bottom:0;padding-bottom:0;position:relative}.student-card-header:after,.student-card-header:before{display:none!important}.student-avatar{align-items:center;background:#e5e7eb;border-radius:999px;color:#4b5563;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:36px;justify-content:center;width:36px}.student-info{background:#0000!important;display:flex;flex:1 1;flex-direction:column;min-width:0}.student-info:after,.student-info:before{display:none!important}.student-name{background:#0000!important;border-radius:0!important;color:#111827;color:var(--rm-text-main,#111827);font-size:15px;font-weight:600;margin-bottom:2px;overflow:hidden;padding:0!important;text-overflow:ellipsis;white-space:nowrap}.student-name:after,.student-name:before{display:none!important}.student-code{background:#0000!important;color:#6b7280;font-size:12px;font-weight:400;margin-top:2px;overflow:hidden;padding:0!important;text-overflow:ellipsis;white-space:nowrap}.student-details{grid-row-gap:4px;grid-column-gap:10px;color:#4b5563;color:var(--rm-text-subtle,#4b5563);column-gap:10px;display:grid;font-size:12px;grid-template-columns:auto 1fr;margin-top:4px;row-gap:4px}.student-detail-row{display:contents}.student-detail-label{color:#9ca3af;font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.student-detail-value{color:#111827;color:var(--rm-text-main,#111827);font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{background:#e0f2f1;border-radius:999px;color:#00897b;color:var(--rm-active,#00897b);gap:6px}.status-dot{background:#00897b;background:var(--rm-active,#00897b);border-radius:999px;height:7px;width:7px}.status-badge.active{background:#e0f2f1;color:#00897b;color:var(--rm-active,#00897b)}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.completed{background:#cce5ff;color:#004085}@media (max-width:640px){.student-list-container{padding:16px}.student-list-title{font-size:20px}.search-filter-section{align-items:stretch;flex-direction:column}.filter-chips{justify-content:flex-start}}.progress-section{margin-top:16px}.progress-label{color:#6c757d;display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.progress-bar-container{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;transition:width .3s ease}.milestone-timeline{padding-left:32px;position:relative}.milestone-item{padding-bottom:32px;position:relative}.milestone-item:before{background:#e9ecef;content:"";height:calc(100% - 8px);left:-20px;position:absolute;top:8px;width:2px}.milestone-item:last-child:before{display:none}.milestone-dot{background:#fff;border:3px solid #667eea;border-radius:50%;height:16px;left:-28px;position:absolute;top:0;width:16px}.milestone-dot.completed{background:#667eea}.milestone-dot.in-progress{background:#ffc107;border-color:#ffc107}.milestone-content{background:#f8f9fa;border-radius:12px;padding:16px}.milestone-title{color:#212529;font-weight:600;margin-bottom:4px}.milestone-date{color:#6c757d;font-size:12px}.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #f3f3f3;height:48px;width:48px}.empty-state{background:#fff;border-radius:16px;padding:64px 24px}.empty-state-icon{font-size:64px;margin-bottom:16px}.empty-state-title{color:#212529;font-size:24px;font-weight:700;margin-bottom:8px}.empty-state-desc{color:#6c757d;font-size:16px;margin-bottom:24px}.modern-home .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modern-home .modal-content{background:#fff;border-radius:16px;max-height:90vh;max-width:600px;overflow-y:auto;padding:32px;width:90%}.modern-home .modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modern-home .modal-title{color:#212529;font-size:24px;font-weight:700}.modern-home .modal-close{background:none;border:none;color:#6c757d;cursor:pointer;font-size:24px}.form-label{color:#495057;display:block;font-weight:600;margin-bottom:8px}.form-input,.form-select,.form-textarea{border:2px solid #e9ecef;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-textarea{min-height:100px}.student-detail-container{margin:0 auto;max-width:1400px;padding:24px}.tabs-container{border-bottom:2px solid #e0e0e0;margin:24px 0}.tab{border-bottom:3px solid #0000;color:#666;padding:12px 24px;position:relative}.tab:hover{background:#f5f5f5;color:#333}.tab.active{border-bottom-color:#667eea;color:#667eea}.tab-content{margin-top:24px}.info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:24px}.info-card h3{color:#333;font-size:18px;font-weight:600;margin:0 0 20px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-label{color:#666;font-size:13px}.info-value{font-size:15px;font-weight:600}.supervisors-list{display:flex;flex-direction:column;gap:12px}.supervisor-item{background:#f8f9fa;border-left:3px solid #667eea;border-radius:8px;padding:12px}.supervisor-meta{color:#666;font-size:13px;margin-top:4px}.empty-message{color:#999;font-style:italic;padding:40px 20px}.badge-primary{background:linear-gradient(135deg,#667eea,#764ba2);margin-left:8px}.badge-info,.badge-primary{border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px}.badge-info{background:#17a2b8;text-transform:capitalize}.badge-danger{background:#dc3545;border-radius:50%;color:#fff;display:inline-block;font-size:11px;font-weight:600;min-width:20px;padding:4px 8px;text-align:center}.alert{line-height:1.6;margin-bottom:20px;padding:16px}.alert-info{background:#d1ecf1;border:1px solid #17a2b8;color:#0c5460}.form-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#333}.form-control{border:1px solid #d0d0d0;border-radius:6px;font-size:14px;height:auto!important;line-height:1.5;min-height:42px;padding:10px 12px;transition:border-color .2s}.form-control select,select.form-control{height:42px!important;line-height:1.5;padding:10px 12px}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-actions{margin-top:20px}.committee-members-list{display:flex;flex-direction:column;gap:16px}.committee-member-card{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:16px}.member-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.member-details{display:flex;flex-direction:column;font-size:14px;gap:8px}.detail-row{color:#666;justify-content:space-between}.detail-row span:first-child{font-weight:500}.detail-row span:last-child{color:#333}.committee-section,.milestones-section,.overview-section,.thesis-section{display:flex;flex-direction:column;gap:20px}.comprehensive-exam-container{margin:0 auto;max-width:1400px;padding:24px}.exams-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.exam-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s}.exam-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.exam-card-overdue{background:#fff5f5;border-left:4px solid #dc3545}.exam-header{align-items:flex-start;border-bottom:1px solid #e0e0e0;margin-bottom:16px;padding-bottom:12px}.exam-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.exam-code{color:#666;font-size:13px;margin-top:4px}.exam-details{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.exam-detail-row{display:flex;font-size:14px;justify-content:space-between}.exam-label{color:#666;font-weight:500}.exam-value{color:#333;font-weight:600}.exam-compliance{background:#f8f9fa;border-radius:6px;font-size:13px;font-weight:500;margin-top:12px;padding:10px}.badge{border-radius:6px;font-weight:600;padding:6px 12px;text-transform:capitalize}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;padding:8px 0;text-align:left;transition:color .2s;width:100%}.btn-link:hover{color:#5568d3;text-decoration:underline}.exams-section{padding:20px 0}.dppc-management-container{margin:0 auto;max-width:1600px;padding:24px}.dppc-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:300px 1fr;margin-top:24px}.departments-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;height:-webkit-fit-content;height:fit-content;padding:20px;position:-webkit-sticky;position:sticky;top:24px}.departments-list{display:flex;flex-direction:column;gap:8px}.department-item{background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;padding:12px;transition:all .2s}.department-item:hover{background:#e9ecef;border-color:#dee2e6}.department-item.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.department-item.active .badge-info,.department-item.active .dept-name{background:#fff3;color:#fff}.dept-header{align-items:center;display:flex;font-size:14px;justify-content:space-between;margin-bottom:4px}.dept-name{color:#666;font-size:12px;margin-top:4px}.committee-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.panel-header{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.panel-header h2{color:#333;font-size:22px;font-weight:600;margin:0}.dppc-members-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.dppc-member-card{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:16px;transition:all .2s}.dppc-member-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.member-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.member-permissions{border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.permission-badge{background:#e7f3ff;border-radius:4px;color:#06c;font-size:11px;font-weight:500;padding:4px 8px}@media (max-width:1024px){.dppc-layout{grid-template-columns:1fr}.departments-sidebar{position:relative;top:0}.dppc-members-grid{grid-template-columns:1fr}}.category-change-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.category-change-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.category-change-modal-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.category-change-modal-header h2{color:#1a202c;font-size:24px;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.close-button:hover{background-color:#f7fafc;color:#2d3748}.category-change-modal-body{padding:24px}.student-info{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;margin-bottom:24px;padding:16px}.student-info p{font-size:14px;margin:8px 0}.current-category-badge{background:#fff3;border-radius:20px;font-weight:600;padding:4px 12px}.form-group label{color:#2d3748}.required{color:#e53e3e}.form-group input,.form-group select,.form-group textarea{border:2px solid #e2e8f0;border-radius:6px;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea}.form-group textarea{min-height:80px}.selected-category-info{background:#f7fafc;border-left:4px solid #667eea;border-radius:6px;margin-bottom:20px;padding:16px}.selected-category-info h4{color:#2d3748;font-size:16px;margin:0 0 12px}.selected-category-info p{color:#4a5568;font-size:14px;margin:8px 0}.requirement-highlight{background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;color:#c53030;font-weight:600;margin-top:12px!important;padding:8px 12px}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400}.checkbox-group input[type=checkbox]{cursor:pointer;margin-right:8px;width:auto}.error-message{background:#fff5f5;border:1px solid #fc8181;border-radius:6px;color:#c53030;margin-bottom:20px;padding:12px}.form-actions{border-top:2px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn-cancel,.btn-submit{font-weight:600}.btn-cancel{background:#f7fafc;border:2px solid #e2e8f0}.btn-cancel:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.category-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:20px 0;padding:24px}.category-header{align-items:center;background:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 0}.category-section .category-header h3{background:#0000!important;color:#212529!important;font-size:20px!important;font-weight:600!important;margin:0!important}.btn-assign-category{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:transform .2s}.btn-assign-category:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-request-change{background:linear-gradient(135deg,#f093fb,#f5576c)!important;border:none;border-radius:6px;color:#fff!important;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:transform .2s}.btn-request-change:hover{box-shadow:0 4px 12px #f093fb66;transform:translateY(-2px)}.current-category-card{margin-top:20px}.category-badge-large{align-items:center;background-clip:padding-box;border-radius:12px;color:#fff!important;display:flex;margin-bottom:20px;padding:20px}.category-icon{color:inherit;font-size:48px;margin-right:20px}.category-info{flex:1 1}.category-name{color:#fff!important;font-size:24px;font-weight:600;margin-bottom:5px}.category-regulation{color:#fff!important;font-size:14px;opacity:.95}.category-details{background:#f8f9fa;border-radius:8px;padding:20px}.category-description{color:#555;font-size:16px;line-height:1.6;margin-bottom:20px}.category-meta{display:flex;flex-direction:column;gap:15px}.meta-item{align-items:flex-start;display:flex;gap:10px}.meta-item strong{color:#2c3e50;min-width:180px}.badge{display:inline-block;margin-right:8px;padding:4px 12px}.badge-info{background:#d1ecf1;color:#0c5460}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-secondary{background:#e2e3e5;color:#383d41}.assistantship-badges{display:flex;flex-wrap:wrap;gap:8px}.document-list{margin:8px 0 0 20px;padding:0}.document-list li{color:#555;margin:5px 0}.no-category-card{background:#fff8e1;border:2px dashed #ffa726;border-radius:12px;padding:40px;text-align:center}.no-category-icon{font-size:64px;margin-bottom:16px}.no-category-card h4{color:#f57c00;margin:0 0 12px}.no-category-card p{color:#666;margin-bottom:24px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);font-size:16px;padding:12px 32px}.category-section .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.category-section .modal-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto}.category-section .modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:24px}.category-section .modal-header h3{color:#2c3e50;margin:0}.category-section .modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:32px;height:32px;line-height:1;padding:0;width:32px}.category-section .modal-close:hover{color:#333}.category-section .modal-body{padding:24px}.modal-description{color:#666;font-size:15px;margin-bottom:24px}.categories-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.category-card{border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:all .2s}.category-card:hover{border-color:#0000;box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.category-card-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.category-card-icon{font-size:32px}.category-card-header h4{color:#2c3e50;font-size:16px;margin:0 0 4px}.category-card-header small{color:#999;font-size:12px}.category-card-description{color:#666;font-size:13px;line-height:1.5;margin-bottom:12px}.category-card-meta{display:flex;flex-wrap:wrap;gap:8px}.badge-sm{font-size:11px;padding:3px 10px}.category-loading{color:#999;padding:40px;text-align:center}.loading-spinner{color:#667eea;font-weight:500;padding:20px;text-align:center}.pending-requests-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;margin-top:30px;padding:24px}.pending-requests-title{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.pending-request-card{background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 2px 4px #0000000d;margin-bottom:16px;padding:20px;transition:all .2s}.pending-request-card:last-child{margin-bottom:0}.pending-request-card:hover{border-color:#dee2e6;box-shadow:0 4px 12px #00000014}.pending-request-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.request-id{color:#495057;font-size:14px;font-weight:600}.request-status-badge{border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.request-status-badge.pending{background:#fff8e1;border:1px solid #ffecb3;color:#f57f17}.pending-request-body{display:flex;flex-direction:column;gap:16px}.request-change-display{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:12px;padding:16px}.current-cat,.requested-cat{border-radius:6px;flex:1 1;font-size:14px;font-weight:600;padding:12px 16px;text-align:center}.current-cat{background:#e9ecef;border:1px solid #dee2e6;color:#495057}.requested-cat{background:#fff;border:2px solid #667eea;color:#667eea}.arrow{color:#adb5bd;font-size:20px}.request-reason-display{background:#fff;border:1px solid #e9ecef;border-left:3px solid #667eea;border-radius:4px;color:#495057;font-size:14px;line-height:1.6;padding:12px 16px}.request-reason-display strong{color:#212529;display:block;font-size:13px;margin-bottom:6px}.request-date-display{color:#6c757d;font-size:12px;text-align:right}.approval-progress{background:#fff;border:1px solid #e9ecef;border-radius:8px;justify-content:space-between;padding:20px}.approval-progress,.approval-step{align-items:center;display:flex;position:relative}.approval-step{flex-direction:column;gap:8px;z-index:2}.step-icon{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:50%;display:flex;font-size:20px;height:48px;justify-content:center;transition:all .3s;width:48px}.step-icon.approved{background:#d4edda;border-color:#28a745;color:#155724}.step-icon.pending{animation:pulse 2s infinite;background:#fff8e1;border-color:#f57f17;color:#f57f17}.step-icon.not-started{background:#f8f9fa;border-color:#dee2e6;color:#adb5bd}.step-label{color:#6c757d;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.progress-line{background:#e9ecef;height:2px;left:0;position:absolute;right:0;top:44px;z-index:1}.progress-line:after{background:#667eea;content:"";height:100%;left:0;position:absolute;top:0;transition:width .5s ease;width:0;width:var(--progress,0)}@media (max-width:768px){.request-change-display{flex-direction:column;gap:8px}.arrow{transform:rotate(90deg)}.approval-progress{flex-direction:column;gap:20px}.progress-line{display:none}}.comprehensive-exam-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;margin-top:24px;padding:24px}.section-title{color:#212529;font-size:18px;margin:0}.btn-schedule-exam{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-schedule-exam:hover{background:#3949ab;transform:translateY(-1px)}.no-exam-state{background:#f8f9fa;border-radius:8px;padding:48px 24px;text-align:center}.no-exam-icon{font-size:48px;margin-bottom:16px}.no-exam-text{color:#495057;font-size:16px;font-weight:600;margin-bottom:8px}.no-exam-subtext{color:#6c757d;font-size:13px;margin:0}.exam-card{border:1px solid #e9ecef;border-radius:8px;padding:20px}.deadline-warning{border-radius:6px;gap:12px;margin-bottom:20px}.warning-icon{font-size:20px}.exam-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.exam-code-section{display:flex;flex-direction:column;gap:4px}.exam-code-label{color:#6c757d;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.exam-code{color:#1a237e;font-family:Courier New,monospace;font-size:16px;font-weight:600}.exam-status-section{display:flex;gap:8px}.exam-result-badge,.exam-status-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.status-scheduled{background:#e7f3ff;color:#06c}.status-in-progress{background:#fff8e1;color:#f57f17}.status-completed{background:#e0f2f1;color:#00897b}.status-cancelled{background:#ffebee;color:#c62828}.result-pass{background:#d4edda;color:#155724}.result-conditional{background:#fff3cd;color:#856404}.result-fail{background:#f8d7da;color:#721c24}.result-pending{background:#e9ecef;color:#495057}.exam-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.exam-detail-item{display:flex;flex-direction:column;gap:6px}.detail-label{letter-spacing:.5px;text-transform:uppercase}.exam-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;padding-top:16px}.btn-view-details{background:#fff;border:2px solid #1a237e;border-radius:6px;color:#1a237e;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-view-details:hover{background:#1a237e;color:#fff}.comprehensive-exam-section .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.comprehensive-exam-section .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.comprehensive-exam-section .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.comprehensive-exam-section .modal-header h3{color:#212529;font-size:20px;font-weight:600;margin:0}.comprehensive-exam-section .modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.comprehensive-exam-section .modal-close:hover{background:#f8f9fa;color:#212529}.comprehensive-exam-section .modal-body{padding:24px}.form-group input,.form-group textarea{border:1px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#1a237e;box-shadow:0 0 0 3px #1a237e1a;outline:none}.comprehensive-exam-section .modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-cancel,.btn-submit{padding:10px 24px}.btn-cancel{background:#fff;border:1px solid #dee2e6}.btn-cancel:hover{background:#f8f9fa}.btn-submit:hover:not(:disabled){transform:translateY(-1px)}.btn-submit:disabled{background:#adb5bd}@media (max-width:768px){.exam-header{align-items:flex-start;flex-direction:column;gap:12px}.exam-details-grid,.form-row{grid-template-columns:1fr}}.seminar-requirements-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-top:24px;padding:24px}.seminar-requirements-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.seminar-requirements-section .section-title{color:#212529;font-size:18px;font-weight:600;margin:0}.seminar-requirements-section .btn-schedule-seminar{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.seminar-requirements-section .btn-schedule-seminar:hover{background:#3949ab;transform:translateY(-1px)}.seminar-requirements-section .seminar-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;padding:20px}.seminar-requirements-section .seminar-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.seminar-requirements-section .seminar-card-header h4{color:#212529;font-size:16px;font-weight:600;margin:0}.seminar-requirements-section .seminar-count{color:#6c757d;font-size:14px;font-weight:500}.seminar-requirements-section .status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.seminar-requirements-section .status-badge.status-pending{background:#e9ecef!important;border:1px solid #ced4da!important;color:#495057!important}.seminar-requirements-section .status-badge.status-scheduled{background:#dee2e6!important;border:1px solid #adb5bd!important;color:#343a40!important}.seminar-requirements-section .status-badge.status-completed{background:#6c757d!important;border:1px solid #495057!important;color:#fff!important}.seminar-requirements-section .status-badge.status-cancelled{background:#f8f9fa!important;border:1px solid #dee2e6!important;color:#6c757d!important}.deadline-warning{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:16px;padding:12px 16px}.deadline-warning.overdue{background:#fff5f5;border:1px solid #fc8181;color:#c53030}.deadline-warning.approaching{background:#fffbeb;border:1px solid #fbbf24;color:#92400e}.warning-icon{font-size:18px}.seminar-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{display:flex;flex-direction:column}.seminar-requirements-section .attendance-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#212529;margin-top:16px;padding:20px}.seminar-requirements-section .attendance-card h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.seminar-requirements-section .attendance-info{align-items:center;display:flex;justify-content:space-around}.seminar-requirements-section .attendance-stat{align-items:center;display:flex;flex-direction:column;gap:8px}.seminar-requirements-section .stat-value{color:#212529;font-size:32px;font-weight:700}.seminar-requirements-section .stat-label{color:#6c757d;font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.seminar-requirements-section .compliance-badge{border-radius:20px;font-size:14px;font-weight:600;padding:8px 16px}.seminar-requirements-section .compliance-badge.compliant{background:#6c757d;border:1px solid #495057;color:#fff}.seminar-requirements-section .compliance-badge.non-compliant{background:#e9ecef;border:1px solid #ced4da;color:#495057}.seminar-requirements-section .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.seminar-requirements-section .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.seminar-requirements-section .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.seminar-requirements-section .modal-header h3{color:#212529;font-size:18px;font-weight:600;margin:0}.seminar-requirements-section .modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.seminar-requirements-section .modal-close:hover{background:#f8f9fa;color:#212529}.seminar-requirements-section .modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{font-size:14px;margin-bottom:8px}.form-input,.form-select,.form-textarea{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#1a237e;box-shadow:0 0 0 3px #1a237e1a;outline:none}.form-textarea{font-family:inherit;resize:vertical}.seminar-requirements-section .modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel{background:#e9ecef;color:#495057}.btn-cancel:hover{background:#dee2e6}.btn-submit{background:#1a237e}.btn-submit:hover:not(:disabled){background:#3949ab}.btn-submit:disabled{cursor:not-allowed;opacity:.5}.notification-toast{animation:slideIn .3s ease-out;padding:16px 20px;top:20px}@keyframes slideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.notification-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.notification-error{border:1px solid #f5c6cb;color:#721c24}.notification-icon{font-size:20px}.notification-close{color:inherit;font-size:24px;opacity:.7;transition:opacity .2s}.notification-close:hover{opacity:1}.loading-state{padding:40px}@media (max-width:768px){.seminar-details-grid{grid-template-columns:1fr}.attendance-info{flex-direction:column;gap:20px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}}.progress-monitoring-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-top:24px;padding:24px}.section-header{margin-bottom:20px}.btn-action{background:#1a237e;border:none;color:#fff;font-size:14px;padding:10px 16px;transition:all .2s}.btn-action:hover{background:#3949ab;transform:translateY(-1px)}.tabs{border-bottom:2px solid #e9ecef;display:flex;gap:4px;margin-bottom:24px}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .2s}.tab.active{border-bottom-color:#1a237e;color:#1a237e}.tab:hover{color:#3949ab}.progress-monitoring-section .performance-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;color:#212529;margin-bottom:20px;padding:24px}.progress-monitoring-section .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-monitoring-section .card-header h4{color:#212529;font-size:18px;font-weight:600;margin:0}.performance-badge{align-items:center;background:#fff3;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:8px 16px}.progress-monitoring-section .performance-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.progress-monitoring-section .performance-metric{display:flex;flex-direction:column;gap:8px}.progress-monitoring-section .metric-label{color:#6c757d;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.progress-monitoring-section .metric-value{color:#212529;font-size:20px;font-weight:700;text-transform:capitalize}.progress-monitoring-section .metric-value.status-pending{background:#e9ecef;border-radius:4px;color:#6c757d;font-size:14px;padding:4px 8px}.progress-monitoring-section .metric-value.status-completed{background:#ced4da;border-radius:4px;color:#495057;font-size:14px;padding:4px 8px}.progress-monitoring-section .metric-value.status-overdue{background:#dee2e6;border-radius:4px;color:#212529;font-size:14px;padding:4px 8px}.progress-monitoring-section .probation-alert,.progress-monitoring-section .termination-alert,.progress-monitoring-section .warning-alert{align-items:center;background:#e9ecef;border:1px solid #ced4da;border-radius:8px;color:#212529;display:flex;font-size:14px;font-weight:500;gap:12px;margin-top:12px;padding:12px 16px}.progress-monitoring-section .warning-alert{border-left:4px solid #6c757d}.progress-monitoring-section .probation-alert{border-left:4px solid #495057}.progress-monitoring-section .termination-alert{border-left:4px solid #343a40}.next-report-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.next-report-card h4{color:#6c757d;font-size:14px;margin:0 0 12px}.report-due-date{color:#1a237e;font-size:32px;font-weight:700;margin-bottom:8px}.report-due-info{color:#6c757d;font-size:12px}.recent-activity-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.recent-activity-card h4{font-size:16px;font-weight:600;margin:0 0 16px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:center;background:#fff;border-radius:6px;display:flex;gap:12px;padding:12px}.activity-icon{font-size:20px}.activity-text{color:#495057;font-size:14px}.rac-list,.reports-list{display:flex;flex-direction:column;gap:16px}.rac-card,.report-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.rac-header,.report-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.rac-header h5,.report-header h5{font-size:16px;font-weight:600;margin:0 0 4px}.meeting-number,.report-period{color:#6c757d;font-size:12px}.report-status-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px}.report-pending{background:#fff3cd;color:#856404}.report-submitted{background:#cfe2ff;color:#084298}.report-approved{background:#d1e7dd;color:#0f5132}.report-overdue{background:#f8d7da;color:#842029}.rac-details,.report-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.rac-detail,.report-detail{display:flex;flex-direction:column;gap:4px}.detail-value{font-size:14px;font-weight:500}.detail-value.overdue{color:#dc3545}.rating-on-track{color:#10b981}.rating-minor-delays{color:#fbbf24}.rating-significant-delays{color:#f59e0b}.rating-at-risk{color:#ef4444}.empty-state{padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state p{color:#6c757d;font-size:16px;margin-bottom:20px}.btn-primary{padding:12px 24px}.progress-modal .modal-content{max-width:700px}@media (max-width:768px){.header-actions{flex-direction:column}.tabs{overflow-x:auto}.performance-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}}.supervision-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-top:24px;padding:24px}.supervision-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.supervision-section .section-header h3{color:#212529;font-size:20px;font-weight:600;margin:0}.supervision-section .btn-action{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.supervision-section .btn-action:hover{background:#3949ab;transform:translateY(-1px)}.current-supervision-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.current-supervision-card h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.supervisors-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.supervisor-card{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:16px}.supervisor-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.supervisor-header h5{color:#212529;font-size:16px;font-weight:600;margin:0 0 4px}.supervisor-type{background:#e9ecef;border-radius:4px;color:#495057;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.supervisor-details{display:flex;flex-direction:column;gap:8px}.pending-requests-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.pending-requests-card h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.requests-list{gap:12px}.request-card{border:1px solid #e9ecef;border-radius:6px;padding:16px}.request-header{margin-bottom:12px}.request-header h5{color:#212529;font-size:14px;font-weight:600;margin:0 0 4px}.change-type{background:#e9ecef;border-radius:4px;color:#495057;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:capitalize}.status-dppc{background:#ced4da;color:#212529}.status-ippc{background:#adb5bd;color:#212529}.status-senate{background:#6c757d;color:#fff}.request-details{display:flex;flex-direction:column;gap:8px}.request-reason{color:#495057;font-size:13px;margin:0}.request-meta{color:#6c757d;display:flex;font-size:12px;gap:16px}.history-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.history-card h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.history-list{display:flex;flex-direction:column;gap:16px}.history-item{display:flex;gap:12px}.history-timeline{align-items:center;display:flex;flex-direction:column;padding-top:4px}.timeline-dot{background:#6c757d;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #6c757d;height:12px;width:12px}.history-content{background:#fff;border:1px solid #e9ecef;border-radius:6px;flex:1 1;padding:12px}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.history-header h5{color:#212529;font-size:14px;font-weight:600;margin:0}.history-dates{color:#6c757d;font-size:12px;margin-bottom:4px}.history-reason{color:#495057;font-size:12px;text-transform:capitalize}.supervision-modal .modal-content{max-width:600px}.supervision-section .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.supervision-section .modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto;width:100%}.supervision-section .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.supervision-section .modal-header h3{color:#212529;font-size:18px;font-weight:600;margin:0}.supervision-section .modal-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;width:32px}.supervision-section .modal-close:hover{background:#f8f9fa;color:#212529}.supervision-section .modal-body{padding:24px}.supervision-section .modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@media (max-width:768px){.form-row,.supervisors-list{grid-template-columns:1fr}.request-meta{flex-direction:column;gap:4px}}.leave-management-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-top:24px;padding:24px}.leave-management-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.leave-management-section .section-header h3{color:#212529;font-size:20px;font-weight:600;margin:0}.leave-management-section .btn-action{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.leave-management-section .btn-action:hover{background:#3949ab;transform:translateY(-1px)}.leave-balance-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.leave-balance-card h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.alert-warning{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-left-width:4px;border-radius:6px;color:#856404;display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:12px}.alert-icon{font-size:18px}.balance-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.balance-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:16px}.balance-label{color:#6c757d;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.balance-value{color:#212529;font-size:24px;font-weight:700;margin-bottom:4px}.balance-value .taken{color:#1a237e}.balance-value .total{color:#6c757d}.balance-remaining{color:#495057;font-size:12px}.applications-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.applications-card h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.applications-list{display:flex;flex-direction:column;gap:12px}.application-card{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:16px}.application-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.application-header h5{color:#212529;font-size:14px;font-weight:600;margin:0 0 4px}.leave-type-badge{background:#e9ecef;border-radius:4px;color:#495057;display:inline-block;padding:4px 8px}.leave-type-badge,.status-badge{font-size:11px;font-weight:600;text-transform:capitalize}.status-badge{border-radius:12px}.status-pending{background:#e9ecef;color:#495057}.status-supervisor-approved{background:#ced4da;color:#212529}.status-hod-approved{background:#adb5bd;color:#212529}.status-approved{background:#d1e7dd;color:#0f5132}.status-rejected{background:#f8d7da;color:#842029}.status-cancelled{background:#e9ecef;color:#6c757d;text-decoration:line-through}.application-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;gap:8px}.detail-label{color:#6c757d;font-size:12px;font-weight:500;min-width:80px}.detail-value{color:#212529;flex:1 1;font-size:12px}.approval-status{border-top:1px solid #e9ecef;display:flex;gap:16px;margin-top:8px;padding-top:12px}.approval-item{align-items:center;display:flex;gap:8px}.approval-label{color:#6c757d;font-size:12px;font-weight:500}.approval-badge{border-radius:10px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:capitalize}.approval-pending{background:#e9ecef;color:#495057}.approval-approved{background:#d1e7dd;color:#0f5132}.approval-rejected{background:#f8d7da;color:#842029}.empty-message{color:#6c757d;font-size:14px;padding:40px;text-align:center}.leave-modal .modal-content{max-width:600px}.form-row{grid-gap:16px;display:grid;grid-template-columns:1fr 1fr}.form-group label{color:#495057;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:4px;font-family:inherit;font-size:14px;padding:8px 12px;width:100%}.loading-state{color:#6c757d;font-size:14px;padding:60px 20px;text-align:center}.notification-toast{animation:slideInRight .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:500px;min-width:300px;position:fixed;right:20px;top:80px;z-index:10000}.notification-success{background:#d1e7dd;border:1px solid #badbcc}.notification-error{background:#f8d7da;border:1px solid #f5c2c7}.notification-content{align-items:center;display:flex;gap:12px;padding:12px 16px}.notification-icon{font-size:18px}.notification-message{color:#212529;flex:1 1;font-size:14px;font-weight:500}.notification-close{align-items:center;background:#0000;border:none;color:#495057;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.notification-close:hover{color:#212529}.leave-management-section .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.leave-management-section .modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto;width:100%}.leave-management-section .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.leave-management-section .modal-header h3{color:#212529;font-size:18px;font-weight:600;margin:0}.leave-management-section .modal-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;width:32px}.leave-management-section .modal-close:hover{background:#f8f9fa;color:#212529}.leave-management-section .modal-body{padding:24px}.leave-management-section .modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-primary{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-primary:hover{background:#3949ab}.btn-secondary{background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-secondary:hover{background:#e9ecef}@media (max-width:768px){.balance-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.approval-status{flex-direction:column;gap:8px}}.research-proposal-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-top:24px;padding:24px}.research-proposal-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.research-proposal-section .section-header h3{color:#212529;font-size:20px;font-weight:600;margin:0}.research-proposal-section .btn-action{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.research-proposal-section .btn-action:hover{background:#3949ab;transform:translateY(-1px)}.research-proposal-section .empty-state-card{background:#f8f9fa;border-radius:8px;padding:60px 20px;text-align:center}.research-proposal-section .empty-icon{font-size:48px;margin-bottom:16px}.research-proposal-section .empty-state-card h4{color:#212529;font-size:18px;margin:0 0 8px}.research-proposal-section .empty-state-card p{color:#6c757d;margin:0}.research-proposal-section .committee-card,.research-proposal-section .defense-card,.research-proposal-section .proposal-details-card,.research-proposal-section .reviews-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.research-proposal-section .card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.research-proposal-section .card-header h4{color:#212529;font-size:18px;font-weight:600;margin:0 0 4px}.research-proposal-section .proposal-code{color:#6c757d;font-size:12px}.research-proposal-section .status-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px;text-transform:capitalize}.research-proposal-section .status-draft{background:#e9ecef;color:#495057}.research-proposal-section .status-submitted{background:#cfe2ff;color:#084298}.research-proposal-section .status-under-review{background:#fff3cd;color:#856404}.research-proposal-section .status-approved{background:#d1e7dd;color:#0f5132}.research-proposal-section .status-rejected{background:#f8d7da;color:#842029}.research-proposal-section .status-revision{background:#fff3cd;color:#856404}.research-proposal-section .card-body{background:#fff;border-radius:6px;padding:16px}.research-proposal-section .info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.research-proposal-section .info-item{display:flex;flex-direction:column;gap:4px}.research-proposal-section .info-label{color:#6c757d;font-size:12px;font-weight:500}.research-proposal-section .info-value{color:#212529;font-size:14px}.research-proposal-section .committee-card h4,.research-proposal-section .defense-card h4,.research-proposal-section .reviews-card h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.research-proposal-section .committee-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.research-proposal-section .committee-member{background:#fff;border-radius:6px;padding:12px}.research-proposal-section .member-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.research-proposal-section .member-info h5{color:#212529;font-size:14px;font-weight:600;margin:0}.research-proposal-section .member-role{background:#e9ecef;border-radius:10px;color:#495057;font-size:11px;padding:2px 8px;text-transform:capitalize}.research-proposal-section .member-meta{color:#6c757d;display:flex;flex-direction:column;font-size:12px;gap:2px}.research-proposal-section .reviews-list{display:flex;flex-direction:column;gap:12px}.research-proposal-section .review-item{background:#fff;border-radius:6px;padding:16px}.research-proposal-section .review-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.research-proposal-section .review-header h5{color:#212529;font-size:14px;font-weight:600;margin:0 0 4px}.research-proposal-section .reviewer-role{color:#6c757d;font-size:11px;text-transform:capitalize}.research-proposal-section .recommendation-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px;text-transform:capitalize}.research-proposal-section .recommendation-approve{background:#d1e7dd;color:#0f5132}.research-proposal-section .recommendation-minor-revision{background:#fff3cd;color:#856404}.research-proposal-section .recommendation-major-revision,.research-proposal-section .recommendation-reject{background:#f8d7da;color:#842029}.research-proposal-section .review-scores{font-size:13px;margin-bottom:8px}.research-proposal-section .score-label{color:#6c757d;margin-right:8px}.research-proposal-section .score-value{color:#1a237e;font-weight:600}.research-proposal-section .review-comments{color:#495057;font-size:13px;line-height:1.5;margin:8px 0}.research-proposal-section .review-date{color:#6c757d;font-size:11px;margin-top:8px}.research-proposal-section .defense-details{grid-gap:16px;background:#fff;border-radius:6px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px}.research-proposal-section .outcome-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.research-proposal-section .outcome-approved{background:#d1e7dd;color:#0f5132}.research-proposal-section .outcome-conditional-approval{background:#fff3cd;color:#856404}.research-proposal-section .outcome-major-revision,.research-proposal-section .outcome-rejected{background:#f8d7da;color:#842029}.research-proposal-section .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.research-proposal-section .modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.research-proposal-section .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.research-proposal-section .modal-header h3{color:#212529;font-size:18px;font-weight:600;margin:0}.research-proposal-section .modal-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;width:32px}.research-proposal-section .modal-close:hover{background:#f8f9fa;color:#212529}.research-proposal-section .modal-body{padding:24px}.research-proposal-section .form-group{margin-bottom:16px}.research-proposal-section .form-group label{color:#495057;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.research-proposal-section .form-group input,.research-proposal-section .form-group textarea{border:1px solid #ced4da;border-radius:4px;font-family:inherit;font-size:14px;padding:8px 12px;width:100%}.research-proposal-section .modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.research-proposal-section .btn-primary{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.research-proposal-section .btn-primary:hover{background:#3949ab}.research-proposal-section .btn-secondary{background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.research-proposal-section .btn-secondary:hover{background:#e9ecef}.research-proposal-section .notification-toast{animation:slideInRight .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:500px;min-width:300px;position:fixed;right:20px;top:80px;z-index:10000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.research-proposal-section .notification-success{background:#d1e7dd;border:1px solid #badbcc}.research-proposal-section .notification-error{background:#f8d7da;border:1px solid #f5c2c7}.research-proposal-section .notification-content{align-items:center;display:flex;gap:12px;padding:12px 16px}.research-proposal-section .notification-icon{font-size:18px}.research-proposal-section .notification-message{color:#212529;flex:1 1;font-size:14px;font-weight:500}.research-proposal-section .notification-close{align-items:center;background:#0000;border:none;color:#495057;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.research-proposal-section .notification-close:hover{color:#212529}.research-proposal-section .loading-state{color:#6c757d;font-size:14px;padding:60px 20px;text-align:center}.synopsis-section,.thesis-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-top:24px;padding:24px}.synopsis-section .section-header,.thesis-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.synopsis-section h3,.thesis-section h3{color:#212529;font-size:20px;font-weight:600;margin:0}.synopsis-section .btn-action,.thesis-section .btn-action{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 16px}.synopsis-section .empty-state-card,.thesis-section .empty-state-card{background:#f8f9fa;border-radius:8px;padding:60px 20px;text-align:center}.synopsis-section .empty-icon,.thesis-section .empty-icon{font-size:48px;margin-bottom:16px}.synopsis-section .approvals-card,.synopsis-section .synopsis-details-card,.thesis-section .examiners-card,.thesis-section .thesis-details-card,.thesis-section .viva-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.synopsis-section h4,.thesis-section h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 12px}.synopsis-section .status-badge,.thesis-section .status-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px;text-transform:capitalize}.synopsis-section .status-submitted,.thesis-section .status-submitted{background:#cfe2ff;color:#084298}.synopsis-section .status-approved,.thesis-section .status-approved{background:#d1e7dd;color:#0f5132}.synopsis-section .approval-list,.thesis-section .approval-list{display:flex;flex-direction:column;gap:12px}.synopsis-section .approval-item,.thesis-section .approval-item{align-items:center;background:#fff;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.synopsis-section .approved,.thesis-section .approved{color:#0f5132;font-weight:600}.synopsis-section .pending,.thesis-section .pending{color:#6c757d}.synopsis-section .modal-overlay,.thesis-section .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.synopsis-section .modal-content,.thesis-section .modal-content{background:#fff;border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.synopsis-section .modal-header,.thesis-section .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.synopsis-section .modal-body,.thesis-section .modal-body{padding:24px}.synopsis-section .form-group,.thesis-section .form-group{margin-bottom:16px}.synopsis-section .form-group label,.thesis-section .form-group label{color:#495057;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.synopsis-section .form-group input,.synopsis-section .form-group textarea,.thesis-section .form-group input,.thesis-section .form-group textarea{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.synopsis-section .modal-footer,.thesis-section .modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.synopsis-section .btn-primary,.thesis-section .btn-primary{background:#1a237e;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px}.synopsis-section .btn-secondary,.thesis-section .btn-secondary{background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;padding:10px 20px}.synopsis-section .notification-toast,.thesis-section .notification-toast{background:#d1e7dd;border:1px solid #badbcc;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:12px 16px;position:fixed;right:20px;top:80px;z-index:10000}.synopsis-section .notification-error,.thesis-section .notification-error{background:#f8d7da;border:1px solid #f5c2c7}.synopsis-section .loading-state,.thesis-section .loading-state{color:#6c757d;padding:60px;text-align:center}.specialization-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.85rem;font-weight:500;padding:4px 12px}.contact-cell{display:flex;flex-direction:column;gap:4px}.contact-cell .phone{color:#666;font-size:.85rem}.type-badge{border-radius:12px;font-size:.85rem;font-weight:500;padding:4px 12px}.type-badge.internal{background:#e8f5e9;color:#2e7d32}.type-badge.external{background:#fff3e0;color:#e65100}.publications-list{display:flex;flex-direction:column;gap:16px}.publication-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .2s}.publication-card:hover{border-color:#2196f3;box-shadow:0 4px 12px #0000001a}.pub-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.pub-type-icon{flex-shrink:0;font-size:2rem}.pub-main{flex:1 1}.pub-title{color:#1a1a1a;font-size:1.1rem;font-weight:600;line-height:1.4;margin:0 0 8px}.pub-authors{color:#666;font-size:.9rem}.pub-details{padding-left:56px}.pub-venue{color:#333;margin-bottom:12px}.pub-meta{display:flex;flex-wrap:wrap;font-size:.85rem;gap:16px}.meta-item{color:#666;padding:4px 0}.status-badge.under_review{background:#fff3e0;color:#e65100}.status-badge.submitted{background:#e3f2fd;color:#1976d2}.status-badge.accepted{background:#f3e5f5;color:#7b1fa2}.status-badge.published{background:#e8f5e9;color:#2e7d32}.research-page .modal-content.large{max-width:800px}.form-group.full-width{grid-column:1/-1}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.page-title-section h1{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 8px}.page-subtitle{color:#666;font-size:16px;margin:0}.search-filter-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:24px}.search-box{margin-bottom:20px}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:14px 16px;transition:all .2s;width:100%}.search-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tab{background:#f5f5f5;border:2px solid #0000;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.filter-tab:hover{background:#e0e0e0;color:#333}.filter-tab.active{border-color:#0000}.add-btn,.filter-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.add-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.add-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.seminars-list{display:flex;flex-direction:column;gap:16px}.seminar-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .2s}.seminar-card:hover{border-color:#2196f3;box-shadow:0 4px 12px #0000001a}.seminar-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.seminar-icon{flex-shrink:0;font-size:2.5rem}.seminar-main{flex:1 1}.seminar-type-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding:4px 12px;text-transform:uppercase}.seminar-title{color:#1a1a1a;font-size:1.1rem;font-weight:600;line-height:1.4;margin:0 0 8px}.seminar-student{color:#666;font-size:.9rem}.seminar-details{padding-left:72px}.seminar-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:#999;font-size:.75rem;font-weight:500}.info-value{color:#333;font-size:.9rem}.status-badge.scheduled{background:#e3f2fd;color:#1976d2}.status-badge.completed{background:#e8f5e9;color:#2e7d32}.status-badge.cancelled{background:#ffebee;color:#c62828}.status-badge.rescheduled{background:#fff3e0;color:#e65100}.approval-dashboard{margin:0 auto;max-width:1200px;padding:24px}.approval-dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.approval-dashboard-header h2{color:#1a202c;font-size:28px;margin:0}.refresh-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.refresh-button:hover{background:#5568d3}.approval-dashboard-error,.approval-dashboard-loading{color:#718096;font-size:18px;padding:40px;text-align:center}.no-requests{background:#f7fafc;border-radius:12px;color:#718096;padding:60px;text-align:center}.requests-list{display:flex;flex-direction:column;gap:20px}.request-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:24px;transition:all .2s}.request-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a}.request-header{align-items:flex-start;border-bottom:2px solid #edf2f7;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.request-header h3{color:#2d3748;font-size:20px;margin:0 0 8px}.request-date{color:#718096;font-size:14px;margin:0}.status-badge{border-radius:20px;padding:6px 16px;text-transform:uppercase}.status-pending{background:#fef5e7;color:#d69e2e}.status-approved{background:#c6f6d5;color:#2f855a}.status-rejected{background:#fed7d7;color:#c53030}.request-student{background:#f7fafc;border-radius:6px;font-size:14px;line-height:1.6;margin-bottom:16px;padding:12px}.request-category-change{align-items:center;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:8px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.category-box{flex:1 1}.category-label{color:#718096;display:block;font-size:12px;font-weight:600;margin-bottom:8px}.category-badge{border-radius:6px;font-size:14px;font-weight:600;padding:10px 16px}.category-badge.from{background:#fed7d7;color:#c53030}.category-badge.to{background:#c6f6d5;color:#2f855a}.arrow{color:#667eea;font-size:24px;font-weight:700}.request-reason{margin-bottom:20px}.request-reason strong{color:#2d3748;display:block;margin-bottom:8px}.request-reason p{background:#f7fafc;border-left:4px solid #667eea;border-radius:4px;color:#4a5568;line-height:1.6;margin:0;padding:12px}.request-actions{border-top:2px solid #edf2f7;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.btn-approve,.btn-reject{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.btn-approve{background:#48bb78;color:#fff}.btn-approve:hover:not(:disabled){background:#38a169}.btn-reject{background:#f56565;color:#fff}.btn-reject:hover:not(:disabled){background:#e53e3e}.btn-approve:disabled,.btn-reject:disabled{cursor:not-allowed;opacity:.6}.approval-dashboard .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.approval-dashboard .modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:500px;overflow:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.approval-dashboard .modal-header{border-bottom:2px solid #edf2f7;padding:24px 24px 16px}.approval-dashboard .modal-header h3{align-items:center;color:#2d3748;display:flex;font-size:20px;gap:8px;margin:0}.approval-dashboard .modal-body{padding:24px}.approval-dashboard .modal-body label{color:#2d3748;display:block;font-size:15px;font-weight:600;margin-bottom:12px}.approval-dashboard .modal-body textarea{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.approval-dashboard .modal-body textarea:focus{border-color:#667eea;outline:none}.approval-dashboard .modal-body p{color:#4a5568;font-size:15px;line-height:1.6;margin:0}.approval-dashboard .modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.btn-modal-cancel,.btn-modal-ok,.btn-modal-submit{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-modal-cancel{background:#e2e8f0;color:#4a5568}.btn-modal-cancel:hover{background:#cbd5e0}.btn-modal-ok{background:#667eea;color:#fff}.btn-modal-ok:hover{background:#5568d3}.btn-modal-submit.approve{background:#48bb78;color:#fff}.btn-modal-submit.approve:hover{background:#38a169}.btn-modal-submit.reject{background:#f56565;color:#fff}.btn-modal-submit.reject:hover{background:#e53e3e}@media (max-width:768px){.approval-dashboard .modal-content{width:95%}.approval-dashboard .modal-footer{flex-direction:column}.btn-modal-cancel,.btn-modal-ok,.btn-modal-submit{width:100%}}.approvals-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.approvals-nav{margin-bottom:30px}.back-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;padding:10px 20px;transition:all .3s ease}.back-btn:hover{background:#ffffff4d;transform:translateX(-5px)}.approvals-hero{color:#fff;margin-bottom:50px;text-align:center}.approvals-title{font-size:42px;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px #0003}.approvals-subtitle{font-size:18px;font-weight:300;opacity:.9}.approvals-loading{color:#fff;font-size:18px;padding:40px;text-align:center}.approvals-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:0 auto;max-width:1200px;padding:0 20px}.approval-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;cursor:pointer;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.approval-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:6px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.approval-card:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.approval-card:hover:before{transform:scaleX(1)}.approval-card.dppc:before{background:linear-gradient(90deg,#667eea,#764ba2)}.approval-card.ippc:before{background:linear-gradient(90deg,#f093fb,#f5576c)}.approval-card.senate:before{background:linear-gradient(90deg,#4facfe,#00f2fe)}.approval-card-icon{font-size:48px;margin-bottom:20px;text-align:center}.approval-card-title{color:#1a202c;font-size:24px;font-weight:700;margin-bottom:10px}.approval-card-description{color:#718096;font-size:14px;line-height:1.6;margin-bottom:20px}.approval-card-badge{border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin-bottom:15px;padding:8px 16px}.approval-card-badge,.approval-card.dppc .approval-card-badge{background:linear-gradient(135deg,#667eea,#764ba2)}.approval-card.ippc .approval-card-badge{background:linear-gradient(135deg,#f093fb,#f5576c)}.approval-card.senate .approval-card-badge{background:linear-gradient(135deg,#4facfe,#00f2fe)}.approval-card-arrow{bottom:20px;color:#cbd5e0;font-size:24px;position:absolute;right:20px;transition:all .3s ease}.approval-card:hover .approval-card-arrow{color:#667eea;transform:translateX(5px)}@media (max-width:768px){.approvals-title{font-size:32px}.approvals-subtitle{font-size:16px}.approvals-grid{grid-template-columns:1fr;padding:0 10px}.approval-card{padding:25px}}.mentee-list-container{--rm-primary:#1a237e;--rm-primary-soft:#3949ab;--rm-bg:#f7f8fa;--rm-card-bg:#fff;--rm-border-subtle:#e0e3eb;--rm-text-main:#111827;--rm-text-subtle:#4b5563;--rm-active:#00897b;--rm-shadow-soft:0 10px 30px #0f172a0f;--rm-radius-lg:18px;background:var(--rm-bg);margin:0 auto;max-width:1280px;padding:32px}.mentee-list-header{margin-bottom:24px}.mentee-list-title{color:var(--rm-primary);font-size:24px;font-weight:600;letter-spacing:.02em;margin-bottom:4px}.mentee-list-header>p{color:var(--rm-text-subtle);font-size:13px;margin-top:4px}.mentee-header-actions{align-items:center;display:flex;gap:12px;margin-bottom:8px}.mentee-search-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px;margin-top:20px}.mentee-search-wrap{flex:1 1 260px;min-width:0;position:relative}.mentee-search-input{background:#fff;border:1px solid var(--rm-border-subtle);border-radius:999px;box-shadow:0 1px 2px #0f172a05;color:var(--rm-text-main);font-size:14px;outline:none;padding:10px 12px 10px 36px;transition:all .15s ease;width:100%}.mentee-search-input::placeholder{color:#9ca3af}.mentee-search-input:focus{border-color:var(--rm-primary-soft);box-shadow:0 0 0 3px #3949ab1a;outline:none}.mentee-search-icon{border:2px solid #9ca3af;border-radius:999px;height:14px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:14px}.mentee-search-icon:after{background:#9ca3af;border-radius:999px;bottom:-1px;content:"";height:2px;position:absolute;right:-3px;transform:rotate(40deg);width:6px}.mentees-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:28px}.mentee-card{background:#fff;background:var(--rm-card-bg,#fff);border:1px solid #94a3b840;border-radius:18px;border-radius:var(--rm-radius-lg,18px);box-shadow:0 10px 30px #0f172a0f;box-shadow:var(--rm-shadow-soft,0 10px 30px #0f172a0f);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;position:relative;transition:all .2s ease}.mentee-card:after,.mentee-card:before{display:none!important}.mentee-card:hover{border-color:#94a3b866;box-shadow:0 12px 35px #0f172a1a;transform:translateY(-2px)}.mentee-card-header{align-items:center;background:#0000!important;border-bottom:none;display:flex;gap:10px;margin-bottom:0;padding-bottom:0;position:relative}.mentee-card-header:after,.mentee-card-header:before{display:none!important}.mentee-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:999px;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.mentee-info{background:#0000!important;display:flex;flex:1 1;flex-direction:column;min-width:0}.mentee-name{color:var(--rm-text-main);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mentee-code{color:var(--rm-text-subtle);font-size:12px;margin-top:1px}.mentee-details{display:flex;flex-direction:column;gap:6px}.mentee-detail-row{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:2px 0}.mentee-detail-label{color:var(--rm-text-subtle);font-weight:400}.mentee-detail-value{color:var(--rm-text-main);font-weight:500;max-width:60%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.mentee-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.mentee-spinner{animation:mentee-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top:3px solid var(--rm-primary,#1a237e);height:40px;width:40px}@keyframes mentee-spin{to{transform:rotate(1turn)}}.mentee-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.mentee-empty-icon{font-size:48px;margin-bottom:16px}.mentee-empty-title{color:var(--rm-text-main);font-size:20px;font-weight:600;margin-bottom:8px}.mentee-empty-desc{color:var(--rm-text-subtle);font-size:14px}.mentee-detail-container{background:#f7f8fa;margin:0 auto;max-width:1280px;padding:32px}.mentee-student-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;display:flex;gap:16px;margin-bottom:24px;padding:24px}.mentee-student-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:999px;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:56px;justify-content:center;width:56px}.mentee-student-info{flex:1 1}.mentee-student-name{color:#111827;font-size:20px;font-weight:700;margin-bottom:4px}.mentee-student-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:13px;gap:16px}.mentee-student-meta span{align-items:center;display:flex;gap:4px}.mentee-transcript-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.mentee-transcript-title{color:#1a237e;font-size:18px;font-weight:600}.mentee-transcript-count{color:#6b7280;font-size:13px;font-weight:400;margin-left:8px}.mentee-transcripts-list{display:flex;flex-direction:column;gap:16px}.transcript-card{background:#fff;border-left:4px solid #667eea;border-radius:14px;box-shadow:0 2px 8px #0000000d;padding:20px;transition:all .2s ease}.transcript-card:hover{box-shadow:0 4px 16px #00000014}.transcript-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.transcript-date{color:#1a237e;font-size:14px;font-weight:600}.transcript-mentor{color:#6b7280;font-size:13px}.transcript-feedback-type{background:#e8eaf6;border-radius:999px;color:#3949ab;display:inline-block;font-size:11px;font-weight:600;padding:2px 10px}.transcript-section{margin-top:10px}.transcript-section-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.transcript-section-content{color:#374151;font-size:14px;line-height:1.5;white-space:pre-wrap}.transcript-attachment-link{align-items:center;color:#667eea;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:12px;text-decoration:none}.transcript-attachment-link:hover{text-decoration:underline}.mentee-export-section{align-items:center;display:flex;gap:10px}.mentee-export-date{border:1px solid #e0e3eb;border-radius:8px;font-size:13px;outline:none;padding:6px 10px}.mentee-export-date:focus{border-color:#3949ab}.transcript-form-group{margin-bottom:16px}.transcript-form-label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.transcript-form-label .required{color:#ef4444;margin-left:2px}.transcript-form-input,.transcript-form-select{border:1px solid #e0e3eb;border-radius:8px;color:#111827;font-size:14px;outline:none;padding:8px 12px;transition:border-color .15s ease;width:100%}.transcript-form-input:focus,.transcript-form-select:focus{border-color:#3949ab;box-shadow:0 0 0 3px #3949ab1a}.transcript-form-textarea{border:1px solid #e0e3eb;border-radius:8px;color:#111827;font-family:inherit;font-size:14px;min-height:80px;outline:none;padding:8px 12px;resize:vertical;transition:border-color .15s ease;width:100%}.transcript-form-textarea:focus{border-color:#3949ab;box-shadow:0 0 0 3px #3949ab1a}@media (max-width:640px){.mentee-detail-container,.mentee-list-container{padding:16px}.mentees-grid{grid-template-columns:1fr}.mentee-search-section,.mentee-student-card{flex-direction:column}.mentee-student-card{text-align:center}.mentee-student-meta{justify-content:center}.mentee-transcript-header{align-items:flex-start;flex-direction:column;gap:12px}.mentee-export-section{flex-direction:column;width:100%}}.classroom-shift-management{background-color:#f5f6fa;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin-left:250px;min-height:100vh;transition:margin-left .3s ease}.classroom-shift-management.sidebar-collapsed{margin-left:60px}.classroom-shift-management .main-content{flex:1 1;margin-left:0;padding:0;transition:margin-left .3s ease}@media (max-width:1024px){.classroom-shift-management{margin-left:0!important}}.classroom-shift-management .header-paper{background:#f5f6fa;box-shadow:none;color:#1f1f1f;margin-bottom:0;padding:32px 60px 40px}.classroom-shift-management .header-paper h4{font-size:32px;font-weight:600;margin:0 0 6px}.classroom-shift-management .header-paper .MuiTypography-body2{color:#1f1f1f;font-size:15px;margin:0;opacity:.65}.classroom-shift-management .content-paper{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000d;margin:-10px auto 40px;overflow:hidden;padding:22px 26px 26px;width:92%}.classroom-shift-management .MuiAppBar-root{background-color:initial!important;border-bottom:none;box-shadow:none}.classroom-shift-management .MuiTabs-root{border-bottom:1px solid #0000;margin-bottom:20px}.classroom-shift-management .MuiTab-root{border-bottom:2px solid #0000;color:#6b6b6b;font-size:16px;font-weight:500;margin-right:32px;min-height:auto;min-width:auto;padding:6px 0 10px;text-transform:none;transition:all .18s}.classroom-shift-management .MuiTab-root.Mui-selected{border-bottom-color:#1f1f1f;color:#1f1f1f}.classroom-shift-management .MuiTabs-indicator{display:none}.classroom-shift-management .MuiTab-wrapper{flex-direction:row;gap:8px}.classroom-shift-management .MuiTab-wrapper svg{font-size:18px;margin-bottom:0!important}.classroom-shift-management .controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.classroom-shift-management .MuiFormControl-root .MuiSelect-root{color:#374151;font-size:14px;padding:9px 12px}.classroom-shift-management .MuiFormControl-root .MuiInputLabel-root{color:#6b7280;font-size:14px}.classroom-shift-management .MuiFormControl-root{min-width:160px}.classroom-shift-management .MuiOutlinedInput-root{border-radius:8px}.classroom-shift-management .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}.classroom-shift-management .MuiTableContainer-root{border-radius:10px;box-shadow:none;max-height:calc(100vh - 400px);overflow-y:auto;overflow:hidden}.classroom-shift-management .MuiTable-root{border-collapse:collapse}.classroom-shift-management .MuiTableHead-root{background-color:#f9fafb}.classroom-shift-management .MuiTableHead-root .MuiTableCell-head{border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:13px;font-weight:600;padding:12px 14px;text-align:left}.classroom-shift-management .MuiTableBody-root .MuiTableCell-root{border-bottom:1px solid #f3f4f6;color:#1f2937;font-size:14px;padding:13px 14px}.classroom-shift-management .MuiTableRow-root:hover{background-color:#fafafa}.classroom-shift-management .MuiButton-containedPrimary{background:#1f1f1f;border-radius:8px;box-shadow:0 2px 6px #00000026;color:#fff;font-size:14px;font-weight:500;padding:10px 18px;text-transform:none;transition:all .3s ease}.classroom-shift-management .MuiButton-containedPrimary:hover{background:#000;box-shadow:0 4px 8px #00000040}.classroom-shift-management .empty-state{color:#6b7280;font-size:15px;padding:36px 16px 26px;text-align:center}.classroom-shift-management .empty-state img{margin-bottom:10px;opacity:.75;width:130px}.classroom-shift-management .MuiDialog-paper{border-radius:12px}.classroom-shift-management .MuiDialogTitle-root{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#1f1f1f;font-weight:600;padding:16px 24px}.classroom-shift-management .MuiDialogTitle-root svg{vertical-align:middle}.classroom-shift-management .MuiDialogContent-root{padding:24px}.classroom-shift-management .MuiDialogActions-root{border-top:1px solid #e5e7eb;padding:16px 24px}.classroom-shift-management .MuiChip-colorPrimary{background:#1f1f1f;color:#fff}.classroom-shift-management .MuiChip-root{font-size:12px;font-weight:500}.classroom-shift-management .MuiIconButton-root{transition:all .2s ease}.classroom-shift-management .MuiIconButton-root:hover{transform:scale(1.1)}.classroom-shift-management .MuiIconButton-colorPrimary{color:#1f1f1f}.classroom-shift-management .MuiIconButton-colorPrimary:hover{background-color:#1f1f1f14}.classroom-shift-management .MuiIconButton-colorSecondary{color:#ff9800}.classroom-shift-management .MuiIconButton-colorSecondary:hover{background-color:#ff98001a}.classroom-shift-management .MuiCircularProgress-root{color:#1f1f1f}.classroom-shift-management .MuiTextField-root{margin-top:16px}.classroom-shift-management .MuiInputLabel-root.Mui-focused{color:#1f1f1f}.classroom-shift-management .MuiInput-underline:after{border-bottom-color:#1f1f1f}.classroom-shift-management .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#1f1f1f}.classroom-shift-management .MuiSnackbarContent-root{border-radius:8px;box-shadow:0 4px 12px #00000026;font-weight:500}.classroom-utilization{padding:0}.classroom-utilization .MuiCard-root{box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.classroom-utilization .MuiCard-root:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.classroom-utilization .MuiCardContent-root{padding:20px}.classroom-utilization h4,.classroom-utilization h5{font-weight:600;margin-bottom:8px}.classroom-utilization .progress-bar{background-color:#e0e0e0;border-radius:12px;height:24px;overflow:hidden;position:relative}.classroom-utilization .progress-fill{align-items:center;color:#fff;display:flex;font-size:12px;font-weight:600;height:100%;justify-content:flex-end;padding-right:12px;transition:width .5s ease}.classroom-utilization .util-low{background:linear-gradient(90deg,#f44336,#e91e63)}.classroom-utilization .util-medium{background:linear-gradient(90deg,#ff9800,#ff5722)}.classroom-utilization .util-high{background:linear-gradient(90deg,#4caf50,#8bc34a)}.classroom-utilization .heatmap-container{margin-top:16px;overflow-x:auto}.classroom-utilization .heatmap-cell{border-radius:4px;cursor:pointer;display:inline-block;font-size:12px;height:40px;line-height:40px;margin:2px;text-align:center;transition:all .2s ease;width:40px}.classroom-utilization .heatmap-cell:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}.classroom-utilization .stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.classroom-utilization .stat-value{font-size:2.5rem;font-weight:700;line-height:1;margin:12px 0}.classroom-utilization .stat-label{color:#666;font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.classroom-utilization .insights-list{list-style-type:none;margin:16px 0;padding:0}.classroom-utilization .insights-list li{background:#f5f5f5;border-left:4px solid #667eea;border-radius:4px;margin-bottom:8px;padding:12px 16px}.classroom-utilization .insights-list li:before{content:"💡 ";margin-right:8px}@media (max-width:960px){.classroom-shift-management .main-content{margin-left:0;padding:16px}.classroom-shift-management .MuiTab-root{min-width:auto;padding:12px 16px}.classroom-shift-management .MuiTableContainer-root{max-height:calc(100vh - 350px)}}@media (max-width:600px){.classroom-shift-management .MuiDialogContent-root,.classroom-shift-management .header-paper{padding:16px}.classroom-shift-management .MuiTab-wrapper{flex-direction:column}}.board-cards-container{padding:8px 0}.board-cards-header{color:#374151;font-size:16px!important;font-weight:600!important;letter-spacing:.5px;margin-bottom:24px!important;text-transform:uppercase}.board-cards-grid{margin-top:0!important}.board-card{border:1.5px solid #e5e7eb;border-radius:4px!important;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f!important;overflow:visible!important;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.board-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;transform:translateY(-2px)}.board-card.ready:hover,.board-card:hover{border-color:#2563eb}.board-card.not-ready{opacity:.85}.board-card.not-ready:hover{border-color:#f59e0b}.board-card-content{padding:24px!important}.board-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.board-card-title{color:#111827;font-size:20px!important;font-weight:600!important;line-height:1.3!important;margin-bottom:4px!important}.board-card-code{color:#6b7280;font-size:12px!important;font-weight:500!important;letter-spacing:.5px;text-transform:uppercase}.board-card-remarks{color:#6b7280;font-size:14px!important;line-height:1.5!important;margin-bottom:20px!important}.board-status-chip{font-size:11px!important;font-weight:600!important;height:24px!important;letter-spacing:.5px!important}.board-status-chip.ready{background-color:#d1fae5!important;color:#065f46!important}.board-status-chip.setup{background-color:#fef3c7!important;color:#92400e!important}.board-card-details{margin-bottom:24px}.detail-section{border-bottom:1px solid #e5e7eb;margin-bottom:16px;padding-bottom:16px}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.detail-icon{background:none!important;background-color:initial!important;border-radius:0!important;color:#2563eb!important;font-size:20px!important;padding:0!important}.detail-title{color:#6b7280;font-size:11px!important;font-weight:700!important;letter-spacing:.8px;margin:0!important;text-transform:uppercase}.detail-content{color:#6b7280!important;font-size:13px!important;line-height:1.4!important;margin-left:28px!important}.detail-chips{display:flex;flex-wrap:wrap;gap:6px;margin-left:28px;margin-top:8px}.detail-chip{background-color:#eff6ff!important;color:#1e40af!important}.detail-chip,.detail-chip-more{border-radius:12px!important;font-size:11px!important;font-weight:600!important;height:24px!important;padding:0 10px!important}.detail-chip-more{background-color:#f3f4f6!important;color:#6b7280!important}.board-card-actions{display:flex;gap:12px}.btn-generate-run{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;border-radius:2px!important;box-shadow:0 2px 4px 0 #2563eb4d!important;color:#fff!important;font-size:13px!important;font-weight:600!important;letter-spacing:.5px!important;padding:12px 24px!important;text-transform:uppercase!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.btn-generate-run:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)!important;box-shadow:0 4px 8px 0 #2563eb66!important;transform:translateY(-1px)}.btn-generate-run:disabled{background:#e5e7eb!important;box-shadow:none!important;color:#9ca3af!important;cursor:not-allowed}.btn-generate-run:active{transform:translateY(0)}.board-cards-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:48px 24px;text-align:center}.empty-icon{font-size:72px;margin-bottom:24px}.empty-title{color:#374151;font-weight:600!important;margin-bottom:12px!important}.empty-description{color:#6b7280;line-height:1.6!important;max-width:400px}.generate-run-dialog .MuiDialog-paper{border-radius:4px;min-width:500px}.generate-run-dialog .MuiDialogTitle-root{border-bottom:1px solid #e5e7eb;padding:24px 24px 16px}.generate-run-dialog .MuiDialogContent-root{min-height:300px;padding:24px}.generate-run-dialog .MuiDialogActions-root{border-top:1px solid #e5e7eb;padding:16px 24px}.generate-run-dialog .MuiTextField-root{margin-bottom:0}.generate-run-dialog .MuiInputLabel-root{color:#374151;font-size:14px;font-weight:500}.generate-run-dialog .MuiInputLabel-outlined{background:#fff;transform:translate(14px,14px) scale(1)}.generate-run-dialog .MuiInputLabel-outlined.MuiInputLabel-shrink{background:#fff;padding:0 4px;transform:translate(14px,-6px) scale(.75)}.generate-run-dialog .MuiOutlinedInput-root{border-radius:4px}.generate-run-dialog .MuiOutlinedInput-input{color:#374151;font-size:14px;padding:12px 14px}.generate-run-dialog .MuiFormHelperText-root{font-size:12px;margin-left:0;margin-top:6px}.generate-run-dialog .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}.generate-run-dialog .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#9ca3af}.generate-run-dialog .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#2563eb;border-width:2px}.generate-run-dialog .MuiButton-outlined{border-color:#d1d5db;color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.generate-run-dialog .MuiButton-contained{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 4px 0 #2563eb4d;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.generate-run-dialog .MuiButton-contained:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 8px 0 #2563eb66}@media (max-width:960px){.board-card-stats{flex-direction:column;gap:12px}.stat-item{justify-content:space-between}.board-cards-header{font-size:14px!important}}@media (max-width:600px){.board-card-content{padding:16px!important}.board-card-title{font-size:18px!important}.stat-value{font-size:20px!important}.stat-icon{font-size:24px!important}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.board-card-skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f3f4f6 0,#e5e7eb 20%,#f3f4f6 40%,#f3f4f6);background-size:800px 104px}.tip-show-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea33;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.tip-show-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.tip-show-button:active{transform:translateY(0)}.tip-card{background:linear-gradient(135deg,#f8f9ff,#fff)!important;border-left:4px solid;box-shadow:0 2px 12px #00000014!important;margin-bottom:24px!important}.tip-card-content{padding:16px 20px!important}.tip-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.tip-card-title-section{align-items:center;display:flex;gap:12px}.tip-card-icon{font-size:24px;line-height:1}.tip-card-title{color:#2d3748!important;font-size:16px!important;font-weight:600!important;margin:0!important}.tip-card-actions{align-items:center;display:flex;gap:4px}.tip-action-button{color:#4a5568!important;padding:4px!important}.tip-action-button:hover{background-color:#0000000a!important}.tip-card-body{padding-top:0}.tip-list{flex-direction:column}.tip-item,.tip-list{display:flex;gap:12px}.tip-item{align-items:flex-start}.tip-emoji{flex-shrink:0;font-size:18px;line-height:1.6;margin-top:2px}.tip-text{color:#4a5568!important;flex:1 1;font-size:14px!important;line-height:1.6!important}.tip-label{color:#2d3748;font-weight:600}.pro-tip-box{border-left:3px solid;border-radius:8px;margin-top:16px;padding:12px 16px}.pro-tip-content{align-items:flex-start;display:flex;gap:10px}.pro-tip-icon{flex-shrink:0;font-size:18px;line-height:1.6;margin-top:2px}.pro-tip-text{color:#2d3748!important;flex:1 1;font-size:13px!important;font-style:italic;line-height:1.6!important}@media (max-width:768px){.tip-card-content{padding:12px 16px!important}.tip-card-header{align-items:flex-start;flex-direction:column;gap:8px}.tip-card-title-section{width:100%}.tip-card-actions{align-self:flex-end}.tip-emoji{font-size:16px}.tip-text{font-size:13px!important}.pro-tip-text{font-size:12px!important}}.timecraft-input-management{background:#f0f2f5;margin-left:280px!important;min-height:100vh;padding:24px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);width:calc(100% - 280px)!important}@media (min-width:1024px){.timecraft-input-management{margin-left:280px!important;width:calc(100% - 280px)!important}.timecraft-input-management.sidebar-collapsed{margin-left:80px!important;width:calc(100% - 80px)!important}}@media (max-width:1023px){.timecraft-input-management{padding:20px}.timecraft-input-management,.timecraft-input-management.sidebar-collapsed{margin-left:0!important;width:100%!important}}.timecraft-input-management h1{font-size:24px;font-weight:600;margin-bottom:24px}.timecraft-input-management .ant-card{border-radius:8px;box-shadow:0 1px 2px #0000000f}.timecraft-input-management .ant-table{background:#fff;border-radius:8px}.timecraft-input-management .ant-statistic-title{color:#8c8c8c;font-size:14px}.timecraft-input-management .ant-statistic-content{font-size:24px;font-weight:600}.timecraft-input-management .ant-tag{border-radius:4px;font-size:12px;padding:2px 8px}.timecraft-input-management .ant-btn-link{padding:4px 8px}.timecraft-input-management .MuiButton-contained,.timecraft-input-management .MuiButton-outlined,.timecraft-input-management .MuiButton-text{border-radius:2px;box-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.5px;padding:7px 18px;text-transform:uppercase;transition:all .2s cubic-bezier(.4,0,.2,1)}.timecraft-input-management .MuiButton-containedPrimary{background-color:#2563eb;border:none;color:#fff}.timecraft-input-management .MuiButton-containedPrimary:hover{background-color:#1d4ed8;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f}.timecraft-input-management .MuiButton-outlined,.timecraft-input-management .MuiButton-text{background-color:#fff;border:1px solid #d1d5db;color:#374151}.timecraft-input-management .MuiButton-outlined:hover,.timecraft-input-management .MuiButton-text:hover{background-color:#f9fafb;border-color:#9ca3af}.timecraft-input-management .MuiButton-outlined:active,.timecraft-input-management .MuiButton-text:active{background-color:#f3f4f6}.timecraft-input-management .MuiButton-root{height:34px;min-width:90px}.timecraft-input-management .MuiToolbar-root .MuiButton-root,.timecraft-input-management>div>div .MuiButton-root{margin:0 4px}.timecraft-input-management .MuiButton-startIcon{margin-right:8px}.timecraft-input-management .MuiFormControl-root{min-width:200px}.timecraft-input-management .MuiInputLabel-root{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.timecraft-input-management .MuiInputLabel-outlined{transform:translate(14px,12px) scale(1)}.timecraft-input-management .MuiInputLabel-outlined.MuiInputLabel-shrink{background-color:#f0f2f5;padding:0 4px;transform:translate(14px,-6px) scale(.85)}.timecraft-input-management .MuiOutlinedInput-root{background-color:#fff;border-radius:2px;font-size:14px;height:42px}.timecraft-input-management .MuiOutlinedInput-input{color:#374151;font-weight:500;height:22px;padding:10px 14px}.timecraft-input-management .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}.timecraft-input-management .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#9ca3af}.timecraft-input-management .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#2563eb;border-width:2px}.timecraft-input-management .MuiSelect-root{background-color:#fff;color:#374151;font-size:14px;font-weight:500}.timecraft-input-management .MuiSelect-select{align-items:center;display:flex;min-height:22px;padding:10px 14px!important}.timecraft-input-management .MuiSelect-icon{color:#6b7280;right:8px}.MuiPopover-root .MuiPaper-root .MuiMenuItem-root{color:#374151!important;display:block!important;font-size:14px!important;min-height:40px!important;padding:10px 16px!important;text-align:left!important;width:100%!important}.MuiPopover-root .MuiPaper-root .MuiMenuItem-root:hover{background-color:#f3f4f6!important}.MuiPopover-root .MuiPaper-root .MuiMenuItem-root.Mui-selected{background-color:#eff6ff!important;font-weight:500!important}.MuiPopover-root .MuiPaper-root .MuiMenuItem-root.Mui-selected:hover{background-color:#dbeafe!important}.MuiPopover-root .MuiPaper-root .MuiList-root{display:flex!important;flex-direction:column!important;padding:4px 0!important}.MuiPopover-root .MuiPaper-root.MuiMenu-paper{border-radius:2px!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important;margin-top:4px!important;max-height:400px!important;min-width:200px!important}.timecraft-input-management .MuiMenuItem-root{color:#374151;display:block;font-size:14px;min-height:40px;padding:10px 16px;text-align:left;width:100%}.timecraft-input-management .MuiMenuItem-root:hover{background-color:#f3f4f6}.timecraft-input-management .MuiMenuItem-root.Mui-selected{background-color:#eff6ff;font-weight:500}.timecraft-input-management .MuiMenuItem-root.Mui-selected:hover{background-color:#dbeafe}.timecraft-input-management .MuiList-root{display:flex;flex-direction:column;padding:4px 0}.timecraft-input-management .MuiMenu-paper{border-radius:2px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-top:4px;min-width:200px}.timecraft-input-management .button-group{align-items:center;display:flex;gap:10px}@media (max-width:768px){.timecraft-input-management .MuiButton-root{font-size:13px;min-width:100px;padding:6px 12px}}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}.timecraft-input-management .MuiDialog-paper .bulk-delete-checkbox-row{align-items:center!important;display:flex!important;flex-direction:row!important}.timecraft-input-management .MuiDialog-paper .bulk-delete-checkbox-row .MuiCheckbox-root{flex-shrink:0!important;margin-right:8px!important;padding:9px!important}.timecraft-input-management .MuiDialog-paper .bulk-delete-checkbox-row .MuiTypography-root{align-items:center!important;display:inline-flex!important;flex:1 1!important;margin:0!important}.timecraft-container{background-color:#f5f5f5;margin-left:280px!important;min-height:100vh;padding:20px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);width:calc(100% - 280px)!important}@media (min-width:1024px){.timecraft-container{margin-left:280px!important;width:calc(100% - 280px)!important}}@media (max-width:1023px){.timecraft-container{margin-left:0!important;padding:20px;width:100%!important}}.timecraft-container .MuiPaper-root{margin-top:0}.status-chip-solving{animation:pulse 2s ease-in-out infinite}.timecraft-container .MuiCard-root{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.timecraft-container .MuiCard-root:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.timecraft-container .MuiTableCell-head{background-color:#fafafa;font-weight:600}.timecraft-container .MuiTextField-root{margin-bottom:0}.timecraft-container .MuiGrid-item{padding-bottom:12px;padding-top:12px}.timecraft-container [role=tabpanel]{padding:24px}.timecraft-container>.MuiPaper-root{box-shadow:0 2px 8px #0000001a}.timecraft-container .MuiTabs-root{border-bottom:1px solid #e0e0e0}.timecraft-container .MuiTab-root,.timecraft-container .MuiTab-root.MuiButtonBase-root{background-color:initial!important;border:none!important;color:#0000008a!important}.timecraft-container .MuiTab-root.Mui-selected,.timecraft-container .MuiTab-root.MuiButtonBase-root.Mui-selected{background-color:initial!important;border:none!important;color:#3f51b5!important}.timecraft-container .MuiTabs-indicator{background-color:#3f51b5!important}.timecraft-container .MuiButton-root{text-transform:none}.timecraft-container .MuiButton-root,.timecraft-container button{font-size:.875rem;min-height:36px;padding:6px 16px}.timecraft-container .MuiButton-sizeSmall{font-size:.8125rem;min-height:32px;padding:4px 12px}.timecraft-container .MuiButton-sizeLarge{font-size:.9375rem;min-height:42px;padding:8px 22px}.timecraft-container .MuiFormControl-root,.timecraft-container .MuiInputBase-root,.timecraft-container .MuiSelect-root,.timecraft-container select{min-height:36px}.timecraft-container .MuiSelect-select{align-items:center;display:flex;min-height:20px;padding:8px 14px}.timecraft-container .MuiOutlinedInput-input{padding:8px 14px}.timecraft-container .filter-controls{align-items:center;display:flex;gap:12px;margin-bottom:16px}.timecraft-container .filter-controls .MuiFormControl-root{min-width:150px}.timecraft-container .action-buttons{align-items:center;display:flex;gap:8px}.timecraft-container .action-buttons .MuiButton-root{height:36px;min-width:80px}.timecraft-container .MuiTableCell-root .MuiButton-root{font-size:.8125rem;height:32px;min-width:100px}.timecraft-container .status-filter{min-width:150px}.timecraft-container .status-filter .MuiSelect-root{height:36px}.timecraft-container .refresh-button{height:36px;min-width:100px}@media (max-width:600px){.timecraft-container{padding:70px 10px 10px}.timecraft-container .filter-controls{align-items:stretch;flex-direction:column}.timecraft-container .filter-controls .MuiFormControl-root{width:100%}}.schedule-grid-container{display:flex;flex-direction:column;height:100%;width:100%}.schedule-grid-wrapper{flex:1 1;overflow:auto;position:relative}.schedule-grid{display:flex;min-width:-webkit-max-content;min-width:max-content}.time-column{background:#fff;border-right:2px solid #e0e0e0;left:0;min-width:55px;position:-webkit-sticky;position:sticky;z-index:10}.room-column{border-right:1px solid #e0e0e0;min-width:150px}.grid-header-cell{background:#f5f5f7;border-bottom:2px solid #e0e0e0;flex-direction:column;font-size:11px;height:48px;justify-content:center;line-height:1.2;padding:4px 6px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:5}.grid-header-cell,.time-cell{align-items:center;display:flex}.time-cell{background:#fff;border-bottom:1px solid #e0e0e0;color:#666;font-size:10px;font-weight:500;height:40px;padding:4px}.room-slots-container{min-height:720px;position:relative}.time-slot-cell{border-bottom:1px solid #e0e0e0;height:40px;position:relative;transition:background-color .2s ease}.time-slot-cell:hover{background-color:#f0f0f0}.time-slot-cell.drag-over{background-color:#3f51b51a;border:2px dashed #3f51b5}.time-slot-cell.availability-available{background-color:#e8f5e9;border-left:3px solid #4caf50;cursor:pointer}.time-slot-cell.availability-available:hover{background-color:#c8e6c9;box-shadow:inset 0 0 0 1px #4caf50}.time-slot-cell.availability-warning{background-color:#fff3e0;border-left:3px solid #ff9800;cursor:pointer}.time-slot-cell.availability-warning:hover{background-color:#ffe0b2;box-shadow:inset 0 0 0 1px #ff9800}.time-slot-cell.availability-conflict{background-color:#ffebee;border-left:3px solid #f44336;cursor:not-allowed}.time-slot-cell.availability-conflict:hover{background-color:#ffcdd2}.time-slot-cell.availability-not-in-pool{background-color:#f5f5f5;border-left:3px solid #9e9e9e;cursor:not-allowed;opacity:.6}@keyframes suggestedBlink{0%,to{background-color:#e3f2fd;border-left-color:#2196f3;box-shadow:inset 0 0 0 2px #2196f3}50%{background-color:#bbdefb;border-left-color:#1976d2;box-shadow:inset 0 0 0 2px #1976d2,0 0 10px #2196f380}}.time-slot-cell.suggested-slot{animation:suggestedBlink 1.5s ease-in-out infinite;border-left:4px solid #2196f3!important;cursor:pointer!important;z-index:2}.time-slot-cell.suggested-slot:hover{animation-play-state:paused;background-color:#90caf9!important;box-shadow:inset 0 0 0 2px #1976d2!important}.availability-tooltip{background:#000000d9;border-radius:4px;box-shadow:0 2px 8px #0000004d;color:#fff;font-size:11px;max-width:300px;padding:6px 10px;pointer-events:none;position:absolute;white-space:nowrap;z-index:1000}.availability-tooltip ul{list-style:disc;margin:4px 0 0;padding-left:16px}.availability-tooltip li{font-size:10px;margin:2px 0}.slot-event-card{border:1px solid #0000;border-radius:2px;cursor:move;left:2px;overflow:hidden;padding:4px 5px;position:absolute;right:2px;transition:all .15s ease}.slot-event-card:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px);z-index:100}.slot-event-card:active{cursor:grabbing;opacity:.7}.slot-event-card.selected{border-color:#ff9800;box-shadow:0 2px 10px #ff98004d;z-index:99}.slot-event-card.status-scheduled{background-color:#fef7e0;border-left:2px solid #ffc40d}.slot-event-card.status-pre-scheduled{background-color:#fff9e6;border-left:2px solid #ffa726}.slot-event-card.status-conducted{background-color:#e8f6ef;border-left:2px solid #04d94b}.slot-event-card.status-cancelled{background-color:#ffebee;border-left:2px solid #f44336;opacity:.7}.slot-event-card-content{font-size:10px;line-height:1.25}.slot-event-card-title{font-size:10px;font-weight:600;margin-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-event-card-time{color:#666;font-size:9px;line-height:1.2;margin-bottom:0}.slot-event-card-instructor{color:#888;font-size:9px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-event-card-actions{display:none;position:absolute;right:4px;top:4px}.slot-event-card:hover .slot-event-card-actions{display:block}.week-grid-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.week-grid-toolbar{background-color:#fafafa;border-bottom:1px solid #e0e0e0;min-height:48px!important;padding:4px 16px!important}.week-grid-scroll{background-color:#fff;flex:1 1;overflow:auto}.week-grid-table{border-collapse:collapse;table-layout:fixed;width:100%}.week-grid-corner-room{left:0;width:45px}.week-grid-corner-room,.week-grid-corner-time{background-color:#f5f5f5;border:1px solid #e0e0e0;font-size:.8rem;font-weight:600;padding:6px 4px;position:-webkit-sticky;position:sticky;text-align:center;z-index:3}.week-grid-corner-time{left:45px;width:75px}.week-grid-day-header{background-color:#e3f2fd;border:1px solid #90caf9;cursor:pointer;font-size:.9rem;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:center;top:0;transition:background-color .2s;z-index:2}.week-grid-day-header:hover{background-color:#bbdefb}.week-grid-vertical-room-name{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #5a67d8;box-shadow:2px 0 4px #0000001a;font-weight:600;left:0;min-width:45px;padding:6px 2px;position:-webkit-sticky;position:sticky;text-align:center;vertical-align:middle;width:45px;z-index:2}.vertical-room-text{align-items:center;color:#fff;display:flex;flex-direction:row;gap:4px;height:100%;justify-content:center;text-orientation:mixed;transform:rotate(180deg);writing-mode:vertical-rl}.vertical-room-text .room-name{font-size:.85rem;font-weight:600;letter-spacing:.5px}.vertical-room-text .room-shift{background-color:#fff3;border-radius:2px;font-size:.55rem;font-weight:400;opacity:.8;padding:2px 3px}.week-grid-time-label{background-color:#fafafa;border:1px solid #e0e0e0;color:#616161;font-size:.7rem;font-weight:500;left:45px;min-width:75px;padding:6px 4px;position:-webkit-sticky;position:sticky;text-align:center;width:75px;z-index:2}.week-grid-cell-wrapper{background-color:#fff;border:1px solid #e0e0e0;min-width:100px;padding:0;vertical-align:top}.week-grid-time-subslots{display:flex;flex-direction:column;height:100%;min-height:120px}.week-grid-subslot{align-content:flex-start;align-items:flex-start;border-bottom:1px dashed #e0e0e0;box-sizing:border-box;cursor:pointer;display:flex;flex:1 1;flex-wrap:wrap;gap:2px;min-height:41px;padding:2px;position:relative;transition:background-color .15s,border-left .15s}.week-grid-subslot:last-child{border-bottom:none}.week-grid-subslot:hover{background-color:#f0f7ff!important;border-left:3px solid #2196f3!important;box-shadow:inset 0 0 8px #2196f31a}.week-grid-subslot.week-availability-available{background-color:#e8f5e9!important;border-left:3px solid #4caf50!important}.week-grid-subslot.week-availability-available:hover{background-color:#c8e6c9!important;border-left:4px solid #4caf50!important}.week-grid-subslot.week-availability-warning{background-color:#fff3e0!important;border-left:3px solid #ff9800!important}.week-grid-subslot.week-availability-warning:hover{background-color:#ffe0b2!important;border-left:4px solid #ff9800!important}.week-grid-subslot.week-availability-conflict{background-color:#ffebee!important;border-left:3px solid #f44336!important;cursor:not-allowed!important}.week-grid-subslot.week-availability-conflict:hover{background-color:#ffcdd2!important;border-left:4px solid #f44336!important}.week-grid-subslot.week-suggested-slot{animation:week-pulse 1.5s ease-in-out infinite;background-color:#e3f2fd!important;border-left:3px solid #2196f3!important;box-shadow:inset 0 0 12px #2196f34d}@keyframes week-pulse{0%,to{opacity:1}50%{opacity:.7}}.week-grid-cell-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2px;height:100%;justify-content:center}.week-grid-empty-cell{height:100%;min-height:50px}.week-grid-table tbody tr:hover .week-grid-cell{background-color:#fafafa}.week-slot-card{box-shadow:0 1px 3px #0000001f;transition:all .2s}.week-slot-card:hover{transform:translateY(-1px)}.week-slot-card:hover .week-slot-delete-btn{opacity:1!important}.week-slot-selected{border:2px solid #1976d2!important;box-shadow:0 2px 8px #1976d24d!important}.week-slot-pre-scheduled{border-left:3px solid #ffa726;opacity:.9}.week-slot-scheduled{border-left:3px solid #42a5f5}.week-slot-conducted{border-left:3px solid #66bb6a;opacity:.8}.week-slot-cancelled{border-left:3px solid #ef5350;opacity:.7;text-decoration:line-through}.week-slot-delete-btn{background-color:#fff!important;box-shadow:0 1px 3px #0003!important}.week-slot-delete-btn:hover{background-color:#ffebee!important;color:#f44336!important}@media (max-width:1400px){.week-grid-cell-wrapper{min-width:80px}.week-grid-time-subslots{min-height:100px}.week-grid-subslot{min-height:41px}.week-grid-time-label{font-size:.65rem;left:40px;min-width:65px;width:65px}.week-grid-corner-room{font-size:.7rem;width:40px}.week-grid-corner-time{font-size:.7rem;left:40px;width:65px}.week-grid-vertical-room-name{min-width:40px;width:40px}.vertical-room-text .room-name{font-size:.75rem}.vertical-room-text .room-shift{font-size:.65rem}}.month-grid-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.month-grid-toolbar{background-color:#fafafa;border-bottom:1px solid #e0e0e0;min-height:48px!important;padding:4px 16px!important}.month-grid-scroll{background-color:#fff;flex:1 1;overflow:auto;padding:16px}.month-calendar{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin:0 auto;max-width:1200px}.month-weekday-header{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;color:#666;font-size:.85rem;font-weight:600;padding:8px;text-align:center}.month-day-cell{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-direction:column;padding:8px}.month-day-cell.empty{background-color:#fafafa;border:1px dashed #e0e0e0}.month-day-cell:not(.empty):hover{border-color:#2196f3;box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.month-day-cell.today{background-color:#fff3e0;border:2px solid #ff9800}.month-day-cell.has-slots{background-color:#e3f2fd;border-color:#90caf9}.month-day-cell.has-slots:hover{background-color:#bbdefb;border-color:#1976d2}.month-day-number{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:6px}.month-day-cell.today .month-day-number{color:#ff9800;font-weight:700}.month-day-info{align-items:center;display:flex;flex-direction:column;gap:4px;margin-top:auto}@media (max-width:1200px){.month-calendar{gap:6px}.month-day-cell{min-height:80px;padding:6px}.month-day-number{font-size:1rem}.month-weekday-header{font-size:.75rem;padding:6px}}@media (max-width:768px){.month-calendar{gap:4px}.month-day-cell{min-height:60px;padding:4px}.month-day-number{font-size:.9rem}.month-weekday-header{font-size:.7rem;padding:4px}}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.skeleton-loading{animation:skeleton-pulse 1.5s ease-in-out infinite}.page-container{background-color:#f5f5f7;display:flex;min-height:100vh}.main-content{flex:1 1;transition:margin-left .3s ease}.sidebar-collapsed .main-content{margin-left:60px}.teacher-schedule-container{background:radial-gradient(circle at top left,#e0f2fe 0,#f5f7fb 40%,#fff 100%);min-height:100vh;padding:2rem}.instructor-selector-section{background:#fff;border-radius:16px;box-shadow:0 4px 6px #00000012;margin-bottom:1.5rem;padding:1.5rem 2rem}.instructor-selector-wrapper{display:flex;flex-direction:column;gap:1rem}.selector-label{align-items:center;color:#4a5568;display:flex;font-size:1rem;font-weight:600;gap:.5rem}.selector-icon{font-size:1.25rem}.selector-input-wrapper{flex:1 1;position:relative}.instructor-search-input{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.instructor-search-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.search-loading-icon{font-size:1.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.search-results-dropdown{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 16px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}.search-result-item{border-bottom:1px solid #f7fafc;cursor:pointer;padding:1rem;transition:all .2s ease}.search-result-item:hover{background:linear-gradient(135deg,#f7fafc,#edf2f7)}.search-result-item:last-child{border-bottom:none}.result-name{color:#2d3748;font-weight:600;margin-bottom:.25rem}.result-meta{color:#718096;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem}.result-code{background:#edf2f7;border-radius:4px;font-weight:500;padding:.125rem .5rem}.result-email,.result-phone{color:#4a5568}.selected-instructor-display{align-items:center;background:linear-gradient(135deg,#2c5282,#2d3748);border-radius:8px;color:#fff;display:flex;font-weight:600;gap:.75rem;padding:.875rem 1rem}.selected-instructor-name{font-size:1.125rem}.selected-instructor-code{font-size:.875rem;opacity:.9}.btn-clear-instructor{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;height:1.75rem;justify-content:center;margin-left:auto;transition:all .2s ease;width:1.75rem}.btn-clear-instructor:hover{background:#ffffff4d;transform:scale(1.1)}.selector-hint{color:#718096;font-size:.875rem;font-style:italic}.teacher-schedule-header{background:#fff;border-radius:16px;box-shadow:0 4px 6px #00000012;margin-bottom:1.5rem;padding:2rem}.header-content{flex-wrap:wrap;gap:1rem;justify-content:space-between}.header-content,.teacher-name{align-items:center;display:flex}.teacher-name{color:#1a202c;font-size:1.875rem;font-weight:700;gap:.75rem;margin:0}.teacher-icon{font-size:2rem}.teacher-header-avatar{border:3px solid #3182ce;border-radius:50%;box-shadow:0 4px 12px #3182ce4d;height:56px;object-fit:cover;transition:all .3s ease;width:56px}.teacher-header-avatar:hover{box-shadow:0 6px 16px #3182ce66;transform:scale(1.05)}.header-actions{gap:1rem}.btn-export,.btn-toggle-filters{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-toggle-filters{background:linear-gradient(135deg,#2c5282,#2b6cb0);color:#fff}.btn-toggle-filters:hover{box-shadow:0 4px 12px #2b6cb04d;transform:translateY(-2px)}.btn-toggle-filters.active{background:linear-gradient(135deg,#1a365d,#2c5282)}.btn-export{background:linear-gradient(135deg,#38a169,#2f855a)}.btn-export:hover{box-shadow:0 4px 12px #38a1694d}.export-icon,.filter-icon{font-size:1.125rem}.filters-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:1.5rem;max-height:0;opacity:0;overflow:hidden;padding:1.5rem;transition:all .3s ease}.filters-panel.filters-visible{max-height:500px;opacity:1}.filters-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-item label{color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-input,.filter-select{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s ease}.filter-input:focus,.filter-select:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.filter-actions{align-items:flex-end;display:flex}.btn-clear-filters{background:#edf2f7;border:none;border-radius:8px;color:#4a5568;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-clear-filters:hover{background:#e2e8f0}.analytics-dashboard{margin-bottom:2rem}.analytics-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.analytics-card{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 4px 6px #00000012;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.analytics-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.analytics-primary{border-left-color:#3182ce}.analytics-secondary{border-left-color:#48bb78}.analytics-accent{border-left-color:#ed8936}.analytics-info{border-left-color:#4299e1}.analytics-warning{border-left-color:#f6ad55}.analytics-status{border-left-color:#5a67d8}.analytics-value{color:#1a202c;line-height:1;margin-bottom:.25rem}.analytics-status-grid{display:flex;flex-direction:column;gap:.5rem}.status-item{align-items:center;display:flex;gap:.5rem}.status-badge{align-items:center;border-radius:6px;font-size:.875rem;font-weight:700;height:1.5rem;justify-content:center;min-width:2rem;padding:0 .5rem}.status-badge.status-scheduled{background:#ebf8ff;color:#2c5282}.status-badge.status-conducted{background:#fef5e7;color:#b7791f}.status-badge.status-cancelled{background:#fee2e2;color:#dc2626}.status-text{color:#4a5568;font-size:.875rem;font-weight:500}.upcoming-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;margin-bottom:2rem;padding:1.5rem}.upcoming-title{color:#1a202c;font-size:1.25rem;font-weight:700;margin:0 0 1rem}.upcoming-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.upcoming-card{background:linear-gradient(135deg,#2c5282,#2d3748);border-radius:10px;color:#fff;cursor:pointer;padding:1rem;transition:all .3s ease}.upcoming-card:hover{box-shadow:0 8px 16px #2c52824d;transform:translateY(-4px)}.upcoming-date{font-size:.75rem;margin-bottom:.25rem;opacity:.9}.upcoming-time{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.upcoming-topic{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.upcoming-room{font-size:.75rem;opacity:.85}.view-mode-selector{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.view-mode-btn{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;display:flex;flex:1 1;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s ease}.view-mode-btn:hover{background:#edf2f7;border-color:#cbd5e0}.view-mode-btn.active{background:linear-gradient(135deg,#2c5282,#2b6cb0);border-color:#2c5282;color:#fff}.view-icon{font-size:1.25rem}.schedule-content{animation:fadeIn .5s ease}.date-grouped-view{display:flex;flex-direction:column;gap:2rem}.date-group{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;padding:1.5rem}.date-header{background:linear-gradient(135deg,#3b5998,#2d4373);border-radius:12px;box-shadow:0 4px 12px #00000026;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 2rem}.date-header,.date-title{align-items:center;display:flex}.date-title{color:#fff;font-size:1.5rem;font-weight:700;gap:.75rem;margin:0}.date-icon{font-size:1.5rem;opacity:.9}.date-count{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.timetable-grouped-view{display:flex;flex-direction:column;gap:2rem}.timetable-group{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;padding:1.5rem}.timetable-header{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:1.5rem;padding:1.5rem 2rem}.timetable-title{color:#0f172a;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.timetable-meta{display:flex;flex-wrap:wrap;gap:1rem}.timetable-count{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.timetable-dates{color:#718096;font-size:.875rem}.slots-container{display:flex;flex-direction:column;gap:1rem}.slot-wrapper{position:relative}.time-gap{padding:.5rem 0;text-align:center}.time-gap-indicator{background:#f0fff4;border-radius:20px;color:#276749;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem 1rem}.conflict-warning{align-items:center;background:#fff5f5;border-left:4px solid #fc8181;border-radius:8px;display:flex;gap:.5rem;margin-bottom:.5rem;padding:.75rem 1rem}.conflict-icon{font-size:1.25rem}.conflict-message{color:#742a2a;font-size:.875rem;font-weight:500}.activity-slot-card.has-conflict .slot-bar{background:linear-gradient(180deg,#ef4444,#f97316)}.slot-header{align-items:center;margin-bottom:1rem}.slot-time{align-items:center;background:#111827;border-color:#0000;border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 10px 18px #0f172a80;color:#e5e7eb;display:inline-flex;font-size:12px;gap:6px;padding:4px 9px}.time-icon{font-size:14px}.time-range{color:#f9fafb;font-size:12px;font-weight:500}.slot-status-badge.status-scheduled{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.slot-status-badge.status-conducted{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.slot-status-badge.status-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.slot-status-badge.status-default{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.slot-body{display:flex;flex-direction:column;gap:8px}.slot-topic{color:#0f172a;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.4;margin:0}.detail-item{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;display:inline-flex;font-size:11px;gap:4px;padding:3px 8px}.detail-icon{font-size:12px;opacity:.7}.detail-text{color:#0f172a;font-weight:600}.batches-label{color:#64748b;font-size:9px;font-weight:600;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.batches-chips{display:flex;flex-wrap:wrap;gap:6px}.batch-chip{border:1px solid #cbd5e1;border-radius:12px;font-size:11px;font-weight:500;gap:4px;padding:4px 8px}.slot-remarks{align-items:flex-start;background:#f7fafc;border-radius:8px;color:#4a5568;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.remarks-icon{font-size:1rem}.remarks-text{flex:1 1;font-style:italic}.conflicts-summary{background:#fff5f5;border-radius:12px;box-shadow:0 4px 6px #00000012;margin-top:2rem;padding:1.5rem}.conflicts-title{align-items:center;color:#742a2a;display:flex;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0 0 1rem}.conflicts-icon{font-size:1.5rem}.conflicts-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.conflict-item{align-items:center;background:#fff;border-radius:8px;color:#742a2a;display:flex;font-size:.875rem;gap:.75rem;padding:.875rem}.conflict-type{font-size:1.25rem}.teacher-schedule-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#3182ce;height:50px;width:50px}.teacher-schedule-loading p{color:#4a5568;font-size:1.125rem;font-weight:500}.teacher-schedule-error{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.error-message{color:#742a2a;font-size:1.125rem;font-weight:500}.btn-retry{background:linear-gradient(135deg,#2c5282,#2b6cb0)}.btn-retry:hover{box-shadow:0 4px 12px #2b6cb04d}.btn-bulk-mode{align-items:center;background:linear-gradient(135deg,#2c5282,#2b6cb0);border:none;border-radius:8px;box-shadow:0 4px 15px #2b6cb040;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.btn-bulk-mode:hover{box-shadow:0 6px 20px #2b6cb059;transform:translateY(-2px)}.btn-bulk-mode.active{background:linear-gradient(135deg,#dd6b20,#c05621)}.slot-actions{margin-left:auto;position:relative}.action-menu-trigger{background:#3182ce1a;color:#3182ce}.action-menu-trigger:hover{background:#3182ce33}.slot-checkbox{accent-color:#3182ce;cursor:pointer;height:20px;margin-right:.5rem;width:20px}.slot-selected{background:#3182ce0d;border-color:#3182ce!important}.slot-updating{opacity:.6;pointer-events:none}.bulk-action-bar{animation:slideUp .3s ease;background:linear-gradient(135deg,#2c5282,#2d3748);bottom:0;box-shadow:0 -4px 20px #00000026;left:0;padding:1rem;position:fixed;right:0;z-index:100}.bulk-apply-btn{color:#2c5282}.confirmation-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-dialog{animation:scaleIn .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;padding:2rem;width:90%}.confirmation-dialog h3{color:#2d3748;font-size:1.5rem;margin:0 0 1rem}.confirmation-dialog p{color:#4a5568;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.btn-confirm{background:linear-gradient(135deg,#2c5282,#2b6cb0)}.btn-confirm:hover{box-shadow:0 6px 20px #2b6cb059}.teacher-schedule-empty{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:3rem}.teacher-schedule-empty h2{color:#1a202c;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.teacher-schedule-empty p{color:#718096;font-size:1rem}@media (max-width:768px){.teacher-schedule-container{padding:1rem}.teacher-schedule-header{padding:1.5rem}.header-content{align-items:flex-start;flex-direction:column}.teacher-name{font-size:1.5rem}.header-actions{flex-direction:column;width:100%}.btn-export,.btn-toggle-filters{justify-content:center;width:100%}.analytics-grid,.upcoming-cards{grid-template-columns:1fr}.view-mode-selector{flex-direction:column}.slot-details{grid-template-columns:1fr}.date-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.grid-view{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;overflow-x:auto;padding:1.5rem}.grid-container{display:flex;flex-direction:column}.grid-header{grid-gap:1px;border-radius:8px 8px 0 0;display:grid;grid-template-columns:180px repeat(auto-fill,minmax(200px,1fr))}.grid-body,.grid-header{background:#e2e8f0;gap:1px;overflow:hidden}.grid-body{border-radius:0 0 8px 8px;display:flex;flex-direction:column}.grid-row{grid-gap:1px;display:grid;gap:1px;grid-template-columns:180px repeat(auto-fill,minmax(200px,1fr))}.grid-header .date-header,.time-header{background:linear-gradient(135deg,#1e3a8a,#1e40af);box-shadow:0 2px 4px #0000001a;color:#fff;font-size:.95rem;font-weight:700;padding:1rem .75rem;text-align:center}.time-cell{background:#f7fafc;color:#2d3748;font-weight:600}.time-cell .time-icon{opacity:.7}.compact-slot-card.status-conducted{background:#f0fff4;border-left-color:#38a169}.compact-slot-card.status-cancelled{background:#fff5f5;border-left-color:#e53e3e;opacity:.8}.compact-slot-card.status-scheduled{background:#fff;border-left-color:#2c5282}.compact-status-badge.status-scheduled{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.compact-status-badge.status-conducted{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.compact-status-badge.status-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}@media (max-width:480px){.teacher-name{font-size:1.25rem}.analytics-value{font-size:1.5rem}.date-title,.timetable-title{font-size:1.25rem}.slot-topic{font-size:1.125rem}.grid-view{padding:.5rem}.grid-header,.grid-row{grid-template-columns:120px repeat(auto-fill,minmax(150px,1fr))}}.birds-eye-view-container{background:#f8f9fa;min-height:100vh;padding:0}.bev-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 20px #667eea4d;color:#fff;padding:2rem}.bev-header-content{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto 1rem;max-width:1400px}.bev-icon{animation:float 3s ease-in-out infinite;display:inline-block;font-size:3rem;margin-right:.5rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bev-title{align-items:center;display:flex;font-size:2.5rem;font-weight:700;margin:0}.bev-subtitle{font-size:1.1rem;margin:0 auto;max-width:1400px;opacity:.9}.bev-btn-toggle-filters{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.bev-btn-toggle-filters:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.bev-btn-toggle-filters.active{background:#fffffff2;border-color:#fff;color:#667eea}.bev-btn-toggle-filters .filter-icon{font-size:1.2rem}.bev-header-actions{align-items:center;display:flex;gap:1rem}.btn-export{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.btn-export:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.export-icon{font-size:1.125rem}.dropdown-arrow{font-size:.75rem;margin-left:.25rem;transition:transform .2s ease}.export-dropdown-wrapper{position:relative}.export-dropdown-menu{animation:dropdownSlideIn .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:250px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.export-option{align-items:center;background:#fff;border:none;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.25rem;text-align:left;transition:all .2s ease;width:100%}.export-option:hover{background:linear-gradient(135deg,#f7fafc,#edf2f7)}.export-option:not(:last-child){border-bottom:1px solid #e2e8f0}.option-icon{font-size:1.75rem;line-height:1}.option-content{display:flex;flex-direction:column;gap:.25rem}.option-title{color:#2d3748;font-size:1rem;font-weight:700}.option-desc{color:#718096;font-size:.75rem}.bev-filters-panel{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out}.bev-filters-panel.bev-filters-visible{max-height:500px;opacity:1}.bev-filters-grid{grid-gap:1rem;align-items:end;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:1.5rem auto;max-width:1400px;padding:1.5rem}.bev-filter-item{display:flex;flex-direction:column;gap:.5rem}.bev-filter-item label{align-items:center;color:#4a5568;display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.filter-icon{font-size:1rem}.bev-filter-input,.bev-filter-select{-webkit-appearance:auto;appearance:auto;background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;height:45px;line-height:1.5;padding:.75rem;transition:all .2s ease}.bev-filter-input:focus,.bev-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.bev-filter-actions{align-items:flex-end;display:flex;gap:.5rem}.bev-btn-clear-filters{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.bev-btn-clear-filters:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.bev-btn-clear-filters:active{transform:translateY(0)}.bev-content{margin:0 auto;max-width:1400px;padding:0 1.5rem 2rem}.bev-analytics-dashboard{margin-bottom:2rem}.bev-section-title{color:#2d3748;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.bev-analytics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bev-analytics-card{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.bev-analytics-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-4px)}.bev-analytics-card.analytics-primary{border-left-color:#667eea}.bev-analytics-card.analytics-secondary{border-left-color:#f093fb}.bev-analytics-card.analytics-accent{border-left-color:#4facfe}.bev-analytics-card.analytics-info{border-left-color:#43e97b}.bev-analytics-card.analytics-warning{border-left-color:#fa709a}.bev-analytics-card.analytics-success{border-left-color:#30cfd0}.bev-analytics-card.analytics-purple{border-left-color:#a8edea}.bev-analytics-card.analytics-teal{border-left-color:#fed6e3}.analytics-icon{font-size:2.5rem;line-height:1}.analytics-content{flex:1 1}.analytics-value{color:#2d3748;font-size:2rem;font-weight:700;line-height:1.2}.analytics-label{color:#718096;font-size:.875rem;font-weight:500;margin-top:.25rem}.bev-status-overview{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:2rem;padding:1.5rem}.bev-status-overview h4{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.status-bars{gap:1rem}.status-bar-item,.status-bars{display:flex;flex-direction:column}.status-bar-item{gap:.5rem}.status-bar-label{align-items:center;color:#4a5568;display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.status-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.status-dot.status-scheduled{background:#667eea}.status-dot.status-conducted{background:#f093fb}.status-dot.status-cancelled{background:#ef4444}.status-bar-track{background:#e2e8f0;border-radius:8px;height:24px;overflow:hidden;position:relative}.status-bar-fill{align-items:center;border-radius:8px;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:100%;justify-content:flex-end;padding-right:.5rem;transition:width .5s ease}.status-bar-fill.status-scheduled-fill{background:linear-gradient(90deg,#667eea,#764ba2)}.status-bar-fill.status-conducted-fill{background:linear-gradient(90deg,#f093fb,#f5576c)}.status-bar-fill.status-cancelled-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.bev-view-selector{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding:1rem}.bev-view-selector button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.bev-view-selector button:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.bev-view-selector button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 15px #667eea4d;color:#fff}.view-icon{font-size:1.2rem}.bev-all-view{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:1.5rem}.bev-slots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.bev-grouped-view{display:flex;flex-direction:column;gap:2rem}.bev-group-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.bev-group-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.bev-group-title-with-photo{align-items:center;display:flex;gap:1rem}.group-instructor-avatar{border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000004d;height:48px;object-fit:cover;width:48px}.bev-group-header h3,.bev-group-header h4{font-size:1.25rem;font-weight:600;margin:0}.bev-group-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.bev-group-count{background:#fff3;border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.bev-group-export-buttons{align-items:center;display:flex;gap:.5rem}.bev-export-btn{align-items:center;background:#fffffff2;border:none;border-radius:6px;color:#667eea;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.bev-export-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.bev-export-btn:active{transform:translateY(0)}.bev-tv-display-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:2px solid #ffffff80;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:6px;margin-right:8px;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.bev-tv-display-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#fffc;box-shadow:0 4px 12px #2563eb66;transform:translateY(-2px)}.bev-tv-display-btn:active{transform:translateY(0)}.bev-group-section .bev-slots-grid{padding:1.5rem}.bev-slot-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:1rem 1rem 1.5rem;position:relative;transition:all .3s ease}.bev-slot-card:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea26;transform:translateY(-2px)}.bev-slot-header{align-items:flex-start;border-bottom:2px solid #f7fafc;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.bev-slot-date-time{display:flex;flex-direction:column;gap:.25rem}.bev-slot-date{align-items:center;color:#4a5568;display:flex;font-size:.8125rem;font-weight:600;gap:.4rem}.bev-slot-time,.date-icon{font-size:.875rem}.bev-slot-time{align-items:center;color:#667eea;display:flex;font-weight:700;gap:.5rem}.time-icon{font-size:1rem}.bev-status-badge{border-radius:12px;font-size:.75rem;font-weight:700;padding:.25rem .75rem;text-transform:uppercase}.bev-status-badge.scheduled{background:#e3f2fd;color:#1976d2}.bev-status-badge.conducted{background:#fff3e0;color:#f57c00}.bev-status-badge.cancelled{background:#fee2e2;color:#dc2626}.bev-slot-body{display:flex;flex-direction:column;gap:.75rem}.bev-slot-topic{color:#2d3748;font-size:1rem;font-weight:700;line-height:1.4;margin:0}.bev-slot-start-date{color:#718096;display:inline-block;font-size:.75rem;font-weight:500;margin-left:.5rem}.bev-slot-details{display:flex;flex-direction:column;gap:.5rem}.bev-detail-item{align-items:center;color:#4a5568;display:flex;font-size:.875rem;gap:.5rem}.bev-instructor-item{color:#2d3748;font-weight:600}.detail-icon{font-size:1rem;text-align:center;width:20px}.bev-detail-item strong{color:#2d3748;font-weight:600}.instructor-avatar{border:2px solid #667eea;border-radius:50%;box-shadow:0 2px 8px #667eea4d;height:32px;object-fit:cover;transition:all .3s ease;width:32px}.instructor-avatar:hover{box-shadow:0 4px 12px #667eea80;transform:scale(1.1)}.instructor-avatar-fallback{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #667eea;border-radius:50%;box-shadow:0 2px 8px #667eea4d;display:flex;font-size:1rem;height:32px;justify-content:center;width:32px}.bev-batches{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.bev-batch-chip{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;cursor:pointer;display:inline-block;font-size:.75rem;font-weight:600;padding:.375rem .75rem;transition:all .2s ease}.bev-batch-chip:hover{background:linear-gradient(135deg,#7c8ef1,#8b5bb5);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px) scale(1.05)}.bev-batch-chip:active{transform:translateY(0) scale(1)}.bev-slot-id{bottom:4px;color:#a0aec0;font-size:.625rem;font-weight:500;opacity:.7;pointer-events:auto;position:absolute;right:6px;-webkit-user-select:text;user-select:text}.bev-loading{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:1.5rem auto;max-width:1400px;padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #f0f0f0;border-radius:50%;border-top-color:#667eea;height:60px;margin-bottom:1rem;width:60px}.bev-loading p{color:#718096;font-size:1.1rem;margin:0}.bev-error{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:1.5rem auto;max-width:1400px;padding:4rem 2rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.bev-error h3{color:#e53e3e;font-size:1.5rem;margin:0 0 .5rem}.error-message{color:#718096;font-size:1rem;margin:0 0 1.5rem}.btn-retry{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-retry:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.bev-empty-state{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:1.5rem auto;max-width:1400px;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.bev-empty-state h3{color:#4a5568;font-size:1.5rem;margin:0 0 .5rem}.bev-empty-state p{color:#a0aec0;font-size:1rem;margin:0}@media (max-width:768px){.bev-header{padding:1.5rem}.bev-header-content{align-items:flex-start;flex-direction:column;gap:1rem}.bev-title{font-size:2rem}.bev-subtitle{font-size:1rem}.bev-btn-toggle-filters{justify-content:center;width:100%}.bev-filters-grid{grid-template-columns:1fr}.bev-content{padding:0 1rem 2rem}.bev-analytics-grid{grid-template-columns:repeat(2,1fr)}.bev-view-selector{flex-direction:column}.bev-view-selector button{justify-content:center;width:100%}.bev-slots-grid{grid-template-columns:1fr}.bev-group-header{align-items:flex-start;flex-direction:column;gap:.75rem}}@media (max-width:480px){.bev-analytics-grid{grid-template-columns:1fr}.analytics-value{font-size:1.5rem}.analytics-icon{font-size:2rem}}.bev-btn-bulk-mode{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.bev-btn-bulk-mode:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.bev-btn-bulk-mode.active{background:#fffffff2;border-color:#fff;color:#667eea}.bulk-icon{font-size:1.2rem}.bev-slot-actions{margin-left:auto;position:relative}.action-menu-trigger{background:#667eea1a;border:none;border-radius:4px;color:#667eea;cursor:pointer;font-size:1.25rem;font-weight:700;padding:4px 8px;transition:all .2s ease}.action-menu-trigger:hover{background:#667eea33}.action-menu-trigger:disabled{cursor:not-allowed;opacity:.5}.action-menu{animation:slideDown .2s ease;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.action-menu button{background:#fff;border:none;color:#2d3748;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.action-menu button:hover{background:#f7fafc}.action-menu button:not(:last-child){border-bottom:1px solid #e2e8f0}.bev-slot-checkbox{accent-color:#667eea;cursor:pointer;height:20px;margin-right:.5rem;width:20px}.bev-slot-selected{background:#667eea0d;border-color:#667eea!important}.bev-slot-updating{opacity:.6;pointer-events:none}.bev-bulk-action-bar{animation:slideUp .3s ease;background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;box-shadow:0 -4px 20px #00000026;left:0;padding:1rem;position:fixed;right:0;z-index:100}.bulk-action-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.bulk-selected-count{color:#fff;font-size:1rem;font-weight:600}.bulk-action-controls{align-items:center;display:flex;gap:.75rem}.bulk-status-select{background:#fffffff2;border:2px solid #ffffff4d;border-radius:6px;color:#2d3748;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.bulk-apply-btn{background:#fff;border:none;border-radius:6px;color:#667eea;cursor:pointer;font-size:.875rem;font-weight:700;padding:.5rem 1.5rem;transition:all .2s ease}.bulk-apply-btn:hover:not(:disabled){box-shadow:0 4px 12px #ffffff4d;transform:translateY(-2px)}.bulk-apply-btn:disabled{cursor:not-allowed;opacity:.6}.bulk-cancel-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.bulk-cancel-btn:hover{background:#ffffff4d;border-color:#ffffff80}.bev-confirmation-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.bev-confirmation-dialog{animation:scaleIn .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;padding:2rem;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.bev-confirmation-dialog h3{color:#2d3748;font-size:1.5rem;margin:0 0 1rem}.bev-confirmation-dialog p{color:#4a5568;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.confirmation-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-confirm:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-cancel{background:#e2e8f0;border:none;color:#4a5568;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-cancel:hover{background:#cbd5e0}.bev-batch-slots-modal{animation:scaleIn .2s ease;background:#fff;border-radius:16px;box-shadow:0 12px 48px #00000040;display:flex;flex-direction:column;max-height:85vh;max-width:800px;overflow:hidden;width:90%}.batch-modal-header{background:linear-gradient(135deg,#667eea15,#764ba205);border-bottom:2px solid #e2e8f0;padding:1.5rem 2rem;position:relative}.batch-modal-header h3{align-items:center;color:#2d3748;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0 0 .5rem}.batch-modal-subtitle{color:#718096;font-size:.875rem;font-weight:500;margin:0}.batch-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#718096;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:32px}.batch-modal-close:hover{background:#f7fafc;color:#2d3748;transform:scale(1.1)}.batch-modal-content{flex:1 1;max-height:calc(85vh - 180px);overflow-y:auto;padding:1.5rem 2rem}.batch-modal-empty{color:#718096;padding:3rem 1rem;text-align:center}.batch-modal-empty p{font-size:1rem;margin:0}.batch-modal-date-group{margin-bottom:2rem}.batch-modal-date-group:last-child{margin-bottom:0}.batch-modal-date-header{border-bottom:2px solid #667eea;color:#2d3748;display:inline-block;font-size:1.125rem;font-weight:700;margin:0 0 1rem;padding-bottom:.5rem}.batch-modal-slots{display:flex;flex-direction:column;gap:1rem}.batch-modal-slot-card{background:#f7fafc;border:1px solid #e2e8f0;border-left:4px solid #667eea;border-radius:8px;padding:1rem;transition:all .2s ease}.batch-modal-slot-card:hover{background:#fff;box-shadow:0 2px 8px #667eea26;transform:translateX(4px)}.batch-slot-time{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.batch-slot-time .time-icon{font-size:1rem}.batch-slot-time .time-text{color:#2d3748;font-size:.875rem;font-weight:600}.batch-slot-status{border-radius:12px;font-size:.75rem;font-weight:600;margin-left:auto;padding:.25rem .75rem}.batch-slot-topic{color:#2d3748;font-size:1rem;font-weight:600;margin-bottom:.75rem}.batch-slot-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.batch-slot-detail{align-items:center;color:#4a5568;display:flex;font-size:.875rem;gap:.375rem}.batch-slot-detail .detail-icon{font-size:1rem}.batch-slot-timetable{border-top:1px solid #e2e8f0;color:#718096;font-size:.75rem;margin-top:.5rem;padding-top:.5rem}.batch-modal-footer{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:1rem 2rem}.btn-close-batch-modal{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.btn-close-batch-modal:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-close-batch-modal:active{transform:translateY(0)}@media (max-width:768px){.bev-batch-slots-modal{max-height:90vh;max-width:95%}.batch-modal-header{padding:1rem 1.5rem}.batch-modal-header h3{font-size:1.25rem}.batch-modal-content{max-height:calc(90vh - 160px);padding:1rem 1.5rem}.batch-slot-time{font-size:.8125rem}.batch-slot-details{gap:.5rem}}.analytics-container{background:#fff;padding:0}.analytics-toggle-filters-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.analytics-toggle-filters-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.analytics-retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.analytics-retry-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.recharts-wrapper{margin:0 auto}.recharts-surface{overflow:visible}.recharts-tooltip-wrapper{z-index:1000}.recharts-legend-wrapper{padding-top:16px!important}.analytics-container>div{animation:fadeIn .5s ease-out}.analytics-container ::-webkit-scrollbar{height:8px;width:8px}.analytics-container ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.analytics-container ::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.analytics-container ::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media (max-width:768px){.analytics-container{padding:0}.analytics-toggle-filters-btn{margin-top:12px;width:100%}}.analytics-loading-overlay{align-items:center;background:#ffffffe6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.MuiPaper-root{transition:all .3s ease}.MuiPaper-root:hover{box-shadow:0 8px 24px #0000001f!important}.MuiChip-root{transition:all .2s ease!important}.MuiChip-root:hover{transform:scale(1.05)}.MuiGrid-container{margin:0;width:100%}.MuiGrid-item{padding:12px}.instructor-dashboard{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.idash-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.idash-loading .idash-spinner{animation:idash-spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}.idash-loading p{color:#718096;font-size:15px;margin-top:16px}@keyframes idash-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.idash-error{color:#e53e3e;padding:60px 20px;text-align:center}.idash-error .idash-retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:10px 24px}.idash-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.idash-header .idash-header-left{align-items:baseline;display:flex;gap:16px}.idash-header .idash-title{color:#212121;font-size:28px;font-weight:600;margin:0}.idash-header .idash-instructor-name{color:#757575;font-size:15px;font-weight:400}.idash-header .idash-header-actions{display:flex;gap:10px}.idash-header .idash-refresh-btn,.idash-header .idash-today-btn{background:#fff;border:2px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .2s}.idash-header .idash-refresh-btn:hover,.idash-header .idash-today-btn:hover{background:#667eea;color:#fff}.idash-header .idash-refresh-btn{border-color:#e0e0e0;color:#757575}.idash-header .idash-refresh-btn:hover{background:#f5f5f5;color:#424242}.idash-analytics-section{margin-bottom:20px}.idash-analytics-section .idash-analytics-toggle{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:8px;padding:4px 0}.idash-analytics-section .idash-analytics-toggle:hover{text-decoration:underline}.idash-analytics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:8px}.idash-analytics-card{background:#fff;border-left:4px solid #0000;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:20px;transition:transform .15s}.idash-analytics-card:hover{transform:translateY(-2px)}.idash-analytics-card .card-value{font-size:28px;font-weight:700;margin-bottom:4px}.idash-analytics-card .card-label{color:#757575;font-size:13px;font-weight:500}.idash-analytics-card.purple{border-left-color:#7c3aed}.idash-analytics-card.purple .card-value{color:#7c3aed}.idash-analytics-card.blue{border-left-color:#1976d2}.idash-analytics-card.blue .card-value{color:#1976d2}.idash-analytics-card.green{border-left-color:#388e3c}.idash-analytics-card.green .card-value{color:#388e3c}.idash-analytics-card.orange{border-left-color:#f57c00}.idash-analytics-card.orange .card-value{color:#f57c00}.idash-analytics-card.teal{border-left-color:#00897b}.idash-analytics-card.teal .card-value{color:#00897b}.idash-analytics-card.grey{border-left-color:#78909c}.idash-analytics-card.grey .card-value{color:#78909c}.idash-toolbar{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 16px}.idash-view-selector{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;padding:3px}.idash-view-btn{background:#0000;border:none;border-radius:6px;color:#757575;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s}.idash-view-btn:hover{background:#e0e0e0;color:#424242}.idash-view-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.idash-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.idash-search{border:2px solid #e0e0e0;border-radius:6px;font-size:13px;padding:8px 14px;transition:border-color .2s;width:200px}.idash-search:focus{border-color:#667eea;outline:none}.idash-status-filter{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 12px}.idash-status-filter:focus{border-color:#667eea;outline:none}.idash-date-filters{display:flex;gap:6px}.idash-date-input{border:2px solid #e0e0e0;border-radius:6px;font-size:12px;padding:7px 10px}.idash-date-input:focus{border-color:#667eea;outline:none}.idash-legend{display:flex;font-size:12px;gap:16px;margin-bottom:8px;padding:8px 0}.idash-legend .legend-item{align-items:center;color:#616161;display:flex;gap:6px}.idash-legend .legend-item:before{border-radius:3px;content:"";display:inline-block;height:12px;width:12px}.idash-legend .legend-item.planned:before{background:#f5f5f5;border:1px solid #bdbdbd}.idash-legend .legend-item.pre-scheduled:before{background:#fff9c4;border:1px solid #fbc02d}.idash-legend .legend-item.scheduled:before{background:#e3f2fd;border:1px solid #1976d2}.idash-legend .legend-item.conducted:before{background:#e8f5e9;border:1px solid #388e3c}.idash-legend .legend-item.cancelled:before{background:#ffebee;border:1px solid #d32f2f}.idash-day-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-day-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-nav-btn{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#616161;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.idash-nav-btn:hover{border-color:#667eea;color:#667eea}.idash-nav-btn:disabled{cursor:not-allowed;opacity:.4}.idash-day-title{color:#212121;font-size:18px;font-weight:600}.idash-day-title.is-today{color:#667eea}.idash-day-title .today-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:700;margin-left:10px;padding:2px 10px;vertical-align:middle}.idash-day-summary{align-items:center;border-bottom:1px solid #f5f5f5;color:#9e9e9e;display:flex;font-size:13px;justify-content:space-between;padding:8px 20px}.idash-compact-toggle{background:#fff;border:1px solid #e0e0e0;border-radius:12px;color:#757575;cursor:pointer;font-size:12px;padding:3px 12px;transition:all .2s}.idash-compact-toggle:hover{border-color:#667eea;color:#667eea}.idash-compact-toggle.active{background:#667eea;border-color:#667eea;color:#fff}.idash-gap-indicator{align-items:center;display:flex;gap:8px;left:0;padding:0 12px;position:absolute;right:0;z-index:2}.idash-gap-indicator .gap-line{background:repeating-linear-gradient(90deg,#bdbdbd,#bdbdbd 4px,#0000 0,#0000 8px);flex:1 1;height:1px}.idash-gap-indicator .gap-text{color:#9e9e9e;font-size:11px;font-style:italic;white-space:nowrap}.idash-gap-time-label{left:0;position:absolute;right:0}.idash-empty-day{color:#9e9e9e;font-size:15px;padding:60px 20px;text-align:center}.idash-day-grid-wrapper{display:flex;max-height:600px;overflow-y:auto}.idash-time-labels{border-right:1px solid #e0e0e0;min-width:80px;position:relative;width:80px}.idash-time-label{color:#9e9e9e;font-size:11px;position:absolute;right:8px;transform:translateY(-50%);white-space:nowrap}.idash-time-grid{flex:1 1;min-height:200px;position:relative}.idash-grid-line{height:1px;left:0;position:absolute;right:0}.idash-grid-line.hour-line{background:#e0e0e0}.idash-grid-line.half-hour-line{background:#f5f5f5}.idash-current-time{background:#e53935;height:2px;left:0;position:absolute;right:0;z-index:10}.idash-current-time:before{background:#e53935;border-radius:50%;content:"";height:10px;left:-5px;position:absolute;top:-4px;width:10px}.idash-slot-card{border-left:4px solid;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;font-size:12px;overflow:hidden;padding:6px 8px;position:absolute;transition:box-shadow .15s;z-index:2}.idash-slot-card:hover{box-shadow:0 4px 12px #00000026;z-index:5}.idash-slot-card.status-cancelled{opacity:.6;text-decoration:line-through}.idash-slot-card .slot-card-header{align-items:center;display:flex;gap:6px;justify-content:space-between}.idash-slot-card .slot-card-time{font-size:11px;font-weight:600;white-space:nowrap}.idash-slot-card .slot-status-badge{border-radius:8px;font-size:9px;font-weight:600;padding:1px 6px;text-transform:uppercase;white-space:nowrap}.idash-slot-card .slot-status-badge.planned{background:#e0e0e0;color:#616161}.idash-slot-card .slot-status-badge.pre-scheduled{background:#fff176;color:#f57f17}.idash-slot-card .slot-status-badge.scheduled{background:#90caf9;color:#0d47a1}.idash-slot-card .slot-status-badge.conducted{background:#a5d6a7;color:#1b5e20}.idash-slot-card .slot-status-badge.cancelled{background:#ef9a9a;color:#b71c1c}.idash-slot-card .slot-card-content{display:flex;flex:1 1;gap:12px;margin-top:4px;min-height:0}.idash-slot-card .slot-card-left{flex:1 1;line-height:1.3;min-width:0}.idash-slot-card .slot-card-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px;justify-content:space-between;max-width:180px;min-width:120px}.idash-slot-card .slot-card-topic{color:#424242;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-card-batches,.idash-slot-card .slot-card-template{color:#757575;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-card-batches{max-width:100%;text-align:right}.idash-slot-card .slot-card-agenda{color:#9e9e9e;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-planned-vs-actual{grid-gap:0;border-top:1px solid #00000014;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 1fr;margin-top:4px;min-height:0}.idash-slot-card .slot-column{font-size:11px;line-height:1.4;overflow:hidden;padding:4px 6px}.idash-slot-card .slot-column.planned{border-right:1px solid #00000014}.idash-slot-card .slot-column-header{border-bottom:1px solid #0000000f;color:#9e9e9e;font-size:9px;font-weight:700;letter-spacing:.5px;margin-bottom:3px;padding-bottom:2px;text-transform:uppercase}.idash-slot-card .slot-column-row{color:#424242;display:flex;font-size:11px;gap:4px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-column-label{color:#9e9e9e;flex-shrink:0;font-size:10px}.idash-slot-card .slot-diff-highlight{background:#fff3e0;border-radius:2px;font-weight:600;padding:0 2px}.idash-slot-card .slot-diff-highlight span:not(.slot-column-label){color:#e65100}.idash-slot-card .slot-card-actions{border-top:1px solid #0000000f;margin-top:2px;padding-top:2px}.idash-slot-card .slot-attendance-badge{background:#388e3c;border-radius:8px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;position:absolute;right:6px;top:4px}.idash-slot-card .slot-lp-progress{align-items:center;display:flex;gap:6px;width:100%}.idash-slot-card .slot-lp-bar{background:#e0e0e0;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.idash-slot-card .slot-lp-fill{background:#00897b;border-radius:2px;height:100%;transition:width .3s}.idash-slot-card .slot-lp-text{color:#00897b;font-size:10px;font-weight:600;white-space:nowrap}.idash-action-bar{display:flex;gap:4px;padding-top:4px}.idash-action-bar.compact{bottom:2px;gap:2px;position:absolute;right:4px}.idash-action-bar .action-btn{border:none;border-radius:4px;cursor:pointer;font-size:10px;font-weight:600;padding:2px 8px;transition:all .15s;white-space:nowrap}.idash-action-bar .action-btn.action-attendance{background:#e3f2fd;color:#1565c0}.idash-action-bar .action-btn.action-attendance:hover{background:#bbdefb}.idash-action-bar .action-btn.action-attendance.disabled{cursor:not-allowed;opacity:.4}.idash-action-bar .action-btn.action-lesson-plan{background:#e8f5e9;color:#2e7d32}.idash-action-bar .action-btn.action-lesson-plan:hover{background:#c8e6c9}.idash-action-bar .action-btn.action-zoom{background:#e3f2fd;color:#2d8cff}.idash-action-bar .action-btn.action-zoom:hover{background:#bbdefb}.idash-action-bar .action-btn.action-template{background:#f3e5f5;color:#7b1fa2}.idash-action-bar .action-btn.action-template:hover{background:#e1bee7}.idash-week-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-week-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-week-title{color:#212121;font-size:18px;font-weight:600}.idash-week-grid-wrapper{display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto 1fr;max-height:600px;overflow-y:auto}.idash-week-time-header{border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;grid-column:1;grid-row:1}.idash-week-day-headers{border-bottom:1px solid #e0e0e0;display:flex;grid-column:2;grid-row:1}.idash-week-time-labels{border-right:1px solid #e0e0e0;grid-column:1;grid-row:2;position:relative}.idash-week-day-header{cursor:pointer;flex:1 1;padding:10px 6px;text-align:center;transition:background .15s}.idash-week-day-header:hover{background:#fafafa}.idash-week-day-header.is-today{background:#ede7f6}.idash-week-day-header.is-today .day-date,.idash-week-day-header.is-today .day-name{color:#667eea}.idash-week-day-header .day-name{color:#9e9e9e;display:block;font-size:11px;font-weight:600;text-transform:uppercase}.idash-week-day-header .day-date{color:#424242;display:block;font-size:18px;font-weight:700}.idash-week-day-header .day-count{background:#667eea;border-radius:8px;color:#fff;display:inline-block;font-size:10px;margin-top:2px;padding:0 6px}.idash-week-time-grid{grid-column:2;grid-row:2;position:relative}.idash-week-col-sep{background:#f0f0f0;bottom:0;position:absolute;top:0;width:1px;z-index:1}.idash-week-current-time{background:#e53935;height:2px;position:absolute;z-index:10}.idash-week-slot-card{border-left:3px solid;border-radius:4px;cursor:pointer;font-size:10px;overflow:hidden;padding:3px 5px;position:absolute;transition:box-shadow .15s;z-index:2}.idash-week-slot-card:hover{box-shadow:0 3px 10px #00000026;z-index:5}.idash-week-slot-card.status-cancelled{opacity:.5;text-decoration:line-through}.idash-week-slot-card .week-slot-time{color:#424242;font-size:10px;font-weight:700}.idash-week-slot-card .week-slot-topic{color:#616161;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-week-slot-card .week-slot-batch{color:#9e9e9e;font-size:9px}.idash-week-slot-card .week-slot-attendance{background:#388e3c;border-radius:6px;color:#fff;font-size:9px;font-weight:700;padding:0 4px;position:absolute;right:4px;top:2px}.idash-month-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-month-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-month-title{color:#212121;font-size:20px;font-weight:600}.idash-month-weekday-headers{border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:repeat(7,1fr)}.idash-month-weekday-headers .idash-weekday-cell{color:#9e9e9e;font-size:12px;font-weight:600;padding:10px;text-align:center;text-transform:uppercase}.idash-month-grid{padding:4px}.idash-month-week-row{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.idash-month-day{border:2px solid #0000;border-radius:6px;cursor:pointer;min-height:80px;padding:6px;transition:all .15s}.idash-month-day.empty{background:#fafafa;cursor:default}.idash-month-day:not(.empty):hover{background:#f5f5f5}.idash-month-day.today{background:#ede7f6;border-color:#667eea}.idash-month-day.selected{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.idash-month-day.day-conducted{background:#f1f8e9}.idash-month-day.day-scheduled{background:#e8f4fd}.idash-month-day.day-planned{background:#fafafa}.idash-month-day.day-cancelled{background:#fce4ec}.idash-month-day .day-num-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.idash-month-day .day-num{color:#424242;font-size:14px;font-weight:600}.idash-month-day .day-slot-count{background:#667eea;border-radius:8px;color:#fff;font-size:10px;font-weight:700;padding:0 6px}.idash-month-day .day-status-dots{display:flex;flex-wrap:wrap;gap:3px}.idash-month-day .status-dot{border-radius:50%;height:8px;width:8px}.idash-month-day .status-dot.planned{background:#bdbdbd}.idash-month-day .status-dot.pre-scheduled{background:#fbc02d}.idash-month-day .status-dot.scheduled{background:#1976d2}.idash-month-day .status-dot.conducted{background:#388e3c}.idash-month-day .status-dot.cancelled{background:#d32f2f}.idash-month-day .dot-more{color:#9e9e9e;font-size:9px}.idash-month-detail-strip{animation:idash-strip-slide .2s ease-out;background:#fff;border:2px solid #667eea;border-radius:8px;margin:4px 0;padding:12px 16px}.idash-month-detail-strip .strip-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.idash-month-detail-strip .strip-date{color:#212121;font-size:15px;font-weight:600}.idash-month-detail-strip .strip-count{color:#9e9e9e;font-size:13px;margin-left:12px}.idash-month-detail-strip .strip-actions{display:flex;gap:8px}.idash-month-detail-strip .strip-open-day{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px}.idash-month-detail-strip .strip-close{background:none;border:none;color:#9e9e9e;cursor:pointer;font-size:20px;padding:0 6px}.idash-month-detail-strip .strip-close:hover{color:#424242}.idash-month-detail-strip .strip-empty{color:#9e9e9e;font-size:14px;padding:16px;text-align:center}.idash-month-detail-strip .strip-slots{display:flex;flex-direction:column;gap:6px}.idash-month-detail-strip .strip-slot{align-items:center;border-left:3px solid;border-radius:6px;display:flex;font-size:13px;gap:12px;padding:8px 12px}.idash-month-detail-strip .strip-slot.status-planned{background:#f5f5f5;border-left-color:#bdbdbd}.idash-month-detail-strip .strip-slot.status-pre-scheduled{background:#fff9c4;border-left-color:#fbc02d}.idash-month-detail-strip .strip-slot.status-scheduled{background:#e3f2fd;border-left-color:#1976d2}.idash-month-detail-strip .strip-slot.status-conducted{background:#e8f5e9;border-left-color:#388e3c}.idash-month-detail-strip .strip-slot.status-cancelled{background:#ffebee;border-left-color:#d32f2f;opacity:.7}.idash-month-detail-strip .strip-slot-time{font-weight:600;min-width:100px;white-space:nowrap}.idash-month-detail-strip .strip-slot-topic{color:#424242;flex:1 1}.idash-month-detail-strip .strip-slot-status{border-radius:8px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.idash-month-detail-strip .strip-slot-status.planned{background:#e0e0e0;color:#616161}.idash-month-detail-strip .strip-slot-status.pre-scheduled{background:#fff176;color:#f57f17}.idash-month-detail-strip .strip-slot-status.scheduled{background:#90caf9;color:#0d47a1}.idash-month-detail-strip .strip-slot-status.conducted{background:#a5d6a7;color:#1b5e20}.idash-month-detail-strip .strip-slot-status.cancelled{background:#ef9a9a;color:#b71c1c}.idash-month-detail-strip .strip-slot-attendance{color:#388e3c;font-size:12px;font-weight:700}@keyframes idash-strip-slide{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.idash-agenda-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-agenda-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-agenda-title{color:#212121;font-size:18px;font-weight:600}.idash-agenda-count{color:#9e9e9e;font-size:13px}.idash-agenda-empty{color:#9e9e9e;font-size:15px;padding:60px 20px;text-align:center}.idash-agenda-table-header{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#757575;display:grid;font-size:12px;font-weight:600;grid-template-columns:140px 1fr 1fr;letter-spacing:.3px;padding:10px 16px;text-transform:uppercase}.idash-agenda-date-group{border-bottom:2px solid #e0e0e0;display:grid;grid-template-columns:140px 1fr}.idash-agenda-date-group:last-child{border-bottom:none}.agenda-date-cell{align-items:center;border-right:1px solid #e0e0e0;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:16px 12px;transition:background .15s}.agenda-date-cell:hover{background:#fafafa}.agenda-date-cell.is-today{background:#ede7f6}.agenda-date-cell.is-today .agenda-date-num{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;width:36px}.agenda-date-cell .agenda-date-num{color:#424242;font-size:24px;font-weight:700;line-height:1}.agenda-date-cell .agenda-date-day{color:#757575;font-size:13px;font-weight:600;margin-top:4px}.agenda-date-cell .agenda-date-month{color:#9e9e9e;font-size:12px;margin-top:2px}.agenda-slots-column{display:flex;flex-direction:column}.idash-agenda-slot-row{border-bottom:1px solid #f0f0f0;display:grid;grid-template-columns:1fr 1fr;min-height:80px}.idash-agenda-slot-row:last-child{border-bottom:none}.idash-agenda-slot-row.status-planned{border-left:3px solid #bdbdbd}.idash-agenda-slot-row.status-pre-scheduled{border-left:3px solid #fbc02d}.idash-agenda-slot-row.status-scheduled{border-left:3px solid #1976d2}.idash-agenda-slot-row.status-conducted{border-left:3px solid #388e3c}.idash-agenda-slot-row.status-cancelled{border-left:3px solid #d32f2f;opacity:.7}.agenda-conducted-cell,.agenda-planned-cell{font-size:13px;line-height:1.5;padding:10px 14px}.agenda-planned-cell{background:#fafafa;border-right:1px solid #e0e0e0}.agenda-conducted-cell{background:#fff}.agenda-slot-time{color:#424242;font-size:13px;font-weight:600;margin-bottom:4px}.agenda-slot-batch{color:#1976d2;font-size:12px;font-weight:500;margin-bottom:2px}.agenda-slot-topic{color:#424242;font-size:13px;font-weight:600;margin-bottom:2px}.agenda-slot-instructor{color:#757575;font-size:12px;margin-bottom:2px}.agenda-slot-attendance{background:#e8f5e9;border-radius:4px;color:#388e3c;display:inline-block;font-size:12px;font-weight:600;margin-top:4px;padding:2px 8px}.agenda-slot-actions{margin-top:6px}.agenda-diff{background:#fff3e0;border-radius:3px;color:#e65100!important;font-weight:600;padding:1px 4px}.agenda-slot-not-conducted{align-items:flex-start;color:#9e9e9e;display:flex;flex-direction:column;gap:8px}.agenda-status-badge{border-radius:8px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.agenda-status-badge.planned{background:#e0e0e0;color:#616161}.agenda-status-badge.pre-scheduled{background:#fff176;color:#f57f17}.agenda-status-badge.scheduled{background:#90caf9;color:#0d47a1}.agenda-status-badge.conducted{background:#a5d6a7;color:#1b5e20}.agenda-status-badge.cancelled{background:#ef9a9a;color:#b71c1c}@media(max-width:768px){.idash-agenda-table-header{display:none}.idash-agenda-date-group{grid-template-columns:1fr}.agenda-date-cell{border-bottom:1px solid #e0e0e0;border-right:none;flex-direction:row;gap:12px;padding:10px 16px}.idash-agenda-slot-row{grid-template-columns:1fr}.agenda-planned-cell{border-bottom:1px solid #f0f0f0;border-right:none}.agenda-planned-cell:before{content:"PLANNED"}.agenda-conducted-cell:before,.agenda-planned-cell:before{color:#9e9e9e;display:block;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.agenda-conducted-cell:before{content:"CONDUCTED"}}.idash-lp-overview{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:20px}.lp-progress-summary{margin-bottom:20px}.lp-progress-summary .lp-progress-label{color:#424242;font-size:14px;font-weight:600;margin-bottom:8px}.lp-progress-summary .lp-progress-bar{background:#e0e0e0;border-radius:5px;height:10px;margin-bottom:12px;overflow:hidden}.lp-progress-summary .lp-progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px;height:100%;transition:width .3s}.lp-progress-summary .lp-stat-chips{display:flex;gap:10px}.lp-progress-summary .lp-stat-chip{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px}.lp-progress-summary .lp-stat-chip.completed{background:#e8f5e9;color:#2e7d32}.lp-progress-summary .lp-stat-chip.in-progress{background:#e3f2fd;color:#1565c0}.lp-progress-summary .lp-stat-chip.not-started{background:#f5f5f5;color:#757575}.lp-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px}.lp-filter-tabs{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;padding:3px}.lp-filter-tab{background:#0000;border:none;border-radius:6px;color:#757575;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s}.lp-filter-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#667eea}.lp-search{border:2px solid #e0e0e0;border-radius:6px;font-size:13px;padding:7px 14px;width:220px}.lp-search:focus{border-color:#667eea;outline:none}.lp-empty{color:#9e9e9e;font-size:14px;padding:40px;text-align:center}.lp-table{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.lp-table-header{background:#f5f5f5;color:#757575;font-size:12px;font-weight:600;letter-spacing:.3px;padding:10px 16px;text-transform:uppercase}.lp-table-header,.lp-table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1fr 1.2fr}.lp-table-row{align-items:center;border-top:1px solid #f0f0f0;font-size:13px;padding:12px 16px;transition:background .15s}.lp-table-row:hover{background:#fafafa}.lp-col-name{color:#212121;font-weight:500}.lp-col-topic{color:#616161}.lp-col-batch{color:#9e9e9e}.lp-col-progress .lp-mini-progress{align-items:center;display:flex;gap:8px}.lp-col-progress .lp-mini-bar{background:#e0e0e0;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.lp-col-progress .lp-mini-fill{border-radius:3px;height:100%}.lp-col-progress .lp-mini-fill.completed{background:#388e3c}.lp-col-progress .lp-mini-fill.in-progress{background:#1976d2}.lp-col-progress .lp-mini-fill.not-started{background:#bdbdbd}.lp-col-progress .lp-mini-text{color:#9e9e9e;font-size:11px;white-space:nowrap}.lp-status-chip{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px}.lp-status-chip.completed{background:#e8f5e9;color:#2e7d32}.lp-status-chip.in-progress{background:#e3f2fd;color:#1565c0}.lp-status-chip.not-started{background:#f5f5f5;color:#757575}.lp-open-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:transform .15s,box-shadow .15s}.lp-open-btn:hover{box-shadow:0 3px 10px #667eea4d;transform:translateY(-1px)}.idash-content{margin-top:4px}@media(max-width:768px){.instructor-dashboard{padding:12px}.idash-header{gap:12px}.idash-header,.idash-toolbar{align-items:flex-start;flex-direction:column}.idash-search,.idash-toolbar-right{width:100%}.idash-analytics-grid{grid-template-columns:repeat(2,1fr)}.lp-table-header,.lp-table-row{grid-template-columns:1fr 1fr 1fr}.lp-table-header .lp-col-batch,.lp-table-header .lp-col-progress,.lp-table-header .lp-col-topic,.lp-table-row .lp-col-batch,.lp-table-row .lp-col-progress,.lp-table-row .lp-col-topic{display:none}}:root{--bg-page:#f5f7fb;--bg-card:#fff;--bg-chip:#eef2ff;--bg-chip-alt:#e0f7f4;--accent:#2563eb;--accent-soft:#dbeafe;--accent-strong:#1d4ed8;--border-subtle:#e5e7eb;--text-main:#111827;--text-muted:#6b7280;--text-soft:#9ca3af;--shadow-soft:0 14px 30px #0f172a14;--shadow-card:0 18px 30px #0f172a2e;--radius-card:18px;--radius-pill:999px}.schedule-list-container{background:radial-gradient(circle at top left,#e0f2fe 0,#f5f7fb 40%,#fff 100%);margin:24px auto 48px;max-width:1200px;min-height:100vh;padding:24px}.schedule-list-header{margin-bottom:24px}.tabs-container{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:20px;padding-bottom:0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;font-size:15px;font-weight:600;margin-bottom:-2px;padding:12px 24px;position:relative;transition:all .2s}.tab-button:hover{background:#667eea0d;color:#667eea}.tab-button.active{border-bottom-color:#667eea;color:#667eea}.search-filters{display:flex;gap:16px;margin-bottom:24px}.search-box{flex:1 1;max-width:500px}.schedules-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.schedule-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:all .3s ease}.schedule-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.schedule-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.schedule-name{color:#2d3748;flex:1 1;font-size:18px;font-weight:600;margin:0}.batch-count-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.schedule-dates{background:#f7fafc;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:12px}.date-item{display:flex;flex-direction:column;gap:4px}.date-label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.date-value{color:#2d3748;font-size:14px;font-weight:500}.schedule-remarks{background:#fff5f5;border-left:3px solid #fc8181;border-radius:4px;margin-bottom:16px;padding:12px}.schedule-remarks p{color:#4a5568;font-size:13px;line-height:1.5;margin:0}.schedule-actions{display:flex;gap:8px;margin-top:16px}.view-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.view-button:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.view-button:active{transform:translateY(0)}.schedule-detail-container{background:radial-gradient(circle at top left,#e0f2fe 0,#f5f7fb 40%,#fff 100%);margin:24px auto 48px;max-width:1200px;min-height:100vh;padding:24px}.schedule-detail-header{background:radial-gradient(circle at top,#dbeafeb3,#fff 42%);border:1px solid #94a3b82e;border-radius:18px;border-radius:var(--radius-card);box-shadow:0 14px 30px #0f172a14;box-shadow:var(--shadow-soft);margin-bottom:20px;overflow:hidden;padding:18px 20px;position:relative}.schedule-detail-header:before{background:radial-gradient(circle at top right,#3b82f614,#0000 55%);content:"";inset:0;opacity:.8;pointer-events:none;position:absolute}.schedule-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.info-item{background:#f7fafc;border-radius:8px;padding:12px}.info-label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.info-value{color:#2d3748;font-size:16px;font-weight:500}.activity-slots-section,.batches-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.section-title{align-items:center;color:#2d3748;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0 0 16px}.batches-grid{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}.batch-chip{align-items:center;background:#fff;border:1.5px solid #cbd5e1;border-radius:999px;border-radius:var(--radius-pill);color:#0f172a;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease;white-space:nowrap}.batch-chip:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;color:#1e40af;transform:translateY(-1px)}.chip-label{color:#111827;color:var(--text-main);font-weight:500}.chip-tag{background:#eff6ff;border-radius:999px;border-radius:var(--radius-pill);color:#1d4ed8;font-size:10px;font-weight:500;letter-spacing:.03em;padding:3px 7px;text-transform:uppercase}.activity-slots-list{display:flex;flex-direction:column;gap:12px}.activity-slot-card{grid-column-gap:14px;background:linear-gradient(135deg,#eff6ffcc,#fff);border:1px solid #94a3b866;border-radius:18px;border-radius:var(--radius-card);box-shadow:0 18px 30px #0f172a2e;box-shadow:var(--shadow-card);column-gap:14px;display:grid;grid-template-columns:6px minmax(0,1fr);margin-bottom:12px;overflow:hidden;padding:14px 18px 14px 16px;position:relative;transition:all .18s ease}.activity-slot-card:before{background:radial-gradient(circle at top left,#2563eb1f,#0000 60%);content:"";inset:0;opacity:.9;pointer-events:none;position:absolute}.activity-slot-card:hover{box-shadow:0 20px 35px #0f172a38;transform:translateY(-2px)}.slot-bar{background:linear-gradient(180deg,#4f46e5,#22c55e);border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 0 0 1px #0f172a1a,0 0 0 6px #3b82f614;margin:4px 0}.slot-bar,.slot-content{position:relative;z-index:1}.slot-content{display:flex;flex-direction:column;gap:8px}.slot-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:.75rem}.slot-name{color:#0f172a;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.4;margin:0}.slot-status-badge{border:none;border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 2px 8px #00000026;font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.slot-status-scheduled{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.slot-status-conducted{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.slot-status-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.slot-details{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:4px}.slot-detail-item{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;border-radius:var(--radius-pill);color:#334155;display:inline-flex;font-size:12px;gap:6px;padding:4px 9px}.slot-detail-item.time{background:#111827;border-color:#0000;box-shadow:0 10px 18px #0f172a80;color:#e5e7eb}.slot-detail-item.time .slot-detail-label{color:#9ca3af}.slot-detail-item.time .slot-detail-value{color:#f9fafb}.slot-detail-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.slot-detail-value{color:#0f172a;font-weight:600}.slot-batches{margin-top:6px}.slot-batches-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:4px;text-transform:uppercase}.slot-batch-tags{display:flex;flex-wrap:wrap;gap:6px}.slot-batch-tag{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;border-radius:var(--radius-pill);color:#0f172a;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:5px 10px}.cohort-dot{background:#22c55e;border-radius:999px;border-radius:var(--radius-pill);height:8px;width:8px}.slot-id{color:#94a3b8;font-family:Courier New,monospace;font-size:9px;margin-top:8px;opacity:.6;text-align:right;-webkit-user-select:all;user-select:all}.slot-id:hover{color:#64748b;opacity:1}.empty-state{color:#718096;padding:40px 20px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:12px}.view-mode-selector{background:#0f172a05;border:1px solid #94a3b8a6;border-radius:999px;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px #ffffff80;display:inline-flex;padding:3px}.view-mode-btn{align-items:center;background:#0000;border:none;border-radius:999px;border-radius:var(--radius-pill);color:#64748b;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .16s ease}.view-mode-btn span.icon{font-size:14px}.view-mode-btn.active{background:#fff;box-shadow:0 8px 18px #0f172a1f;color:#0f172a}.view-mode-btn:not(.active):hover{background:#fff9;color:#1e293b}.view-icon{font-size:14px}.grid-view{background:radial-gradient(circle at top,#dbeafeb3,#fff 42%);border:1px solid #94a3b82e;border-radius:18px;border-radius:var(--radius-card);box-shadow:0 14px 30px #0f172a14;box-shadow:var(--shadow-soft);overflow:hidden;padding:16px 18px 18px;position:relative}.grid-view:before{background:radial-gradient(circle at top right,#3b82f614,#0000 55%);content:"";inset:0;opacity:.8;pointer-events:none;position:absolute}.week-navigation{align-items:center;background:#ffffffb3;border:1px solid #94a3b833;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:14px;padding:10px 14px;position:relative;z-index:1}.week-nav-btn{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd9;border:1px solid #e5e7eb;border:1px solid var(--border-subtle);border-radius:999px;border-radius:var(--radius-pill);color:#6b7280;color:var(--text-muted);display:inline-flex;font-weight:500;gap:8px;padding:8px 16px;transition:all .18s ease}.week-nav-btn:hover{border-color:#dbeafe;border-color:var(--accent-soft);box-shadow:0 10px 20px #0f172a0f;color:#1d4ed8;color:var(--accent-strong);transform:translateY(-1px)}.week-display{align-items:center;background:#eff6ff;border-radius:999px;border-radius:var(--radius-pill);color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:500;gap:8px;padding:4px 10px}.week-icon{font-size:14px}.week-text{font-size:12px}.grid-empty-state{background:#f7fafc;border-radius:8px;color:#718096;grid-column:1/-1;margin:1rem;padding:3rem;text-align:center}.grid-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:visible}.grid-scroll-wrapper::-webkit-scrollbar{height:8px}.grid-scroll-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.grid-scroll-wrapper::-webkit-scrollbar-thumb{background:#2c5282;border-radius:4px}.grid-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#2b6cb0}.grid-container{grid-gap:1px;background:#e2e8f0;border-radius:8px;display:grid;gap:1px;grid-template-columns:180px repeat(7,1fr);min-width:800px}.grid-body,.grid-header,.grid-row{display:contents}.grid-cell{align-items:center;background:#fff;display:flex;justify-content:center;min-height:60px;padding:1rem}.date-header,.time-header{background:linear-gradient(135deg,#1e3a8a,#1e40af);box-shadow:0 2px 4px #0000001a;color:#fff;font-size:.95rem;font-weight:700;min-height:auto;padding:1rem .75rem;text-align:center;white-space:nowrap}.time-cell{align-items:flex-start;background:#f8fafc;border-right:2px solid #e2e8f0;color:#0f172a;flex-direction:column;font-weight:700;gap:.25rem;justify-content:center;left:0;position:-webkit-sticky;position:sticky;z-index:1}.time-cell .time-icon{font-size:1rem;opacity:.8}.time-cell .time-range{color:#0f172a;font-size:.875rem;font-weight:600}.slot-cell{align-items:stretch;background:#fafafa;padding:.5rem}.compact-slot-card,.slot-cell{flex-direction:column;gap:.5rem}.compact-slot-card{background:#fff;border-left:4px solid #2c5282;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;padding:.75rem;position:relative;transition:all .2s ease}.compact-slot-card:hover{box-shadow:0 4px 8px #0000001a}.compact-slot-card.slot-status-conducted{background:#f0fff4;border-left-color:#38a169}.compact-slot-card.slot-status-cancelled{background:#fff5f5;border-left-color:#e53e3e;opacity:.8}.compact-slot-card.slot-status-scheduled{background:#fff;border-left-color:#2c5282}.compact-topic{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;display:-webkit-box;font-size:.9rem;font-weight:700;line-height:1.3;overflow:hidden}.compact-detail{align-items:center;color:#1e293b;display:flex;font-size:.8rem;gap:.375rem}.compact-detail .detail-icon{font-size:.875rem;opacity:.8}.compact-detail .detail-text{color:#0f172a;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-batches{display:flex;flex-wrap:wrap;gap:.25rem}.compact-batch-tag{background:linear-gradient(135deg,#1e40af,#1d4ed8);border-radius:12px;box-shadow:0 1px 3px #0003;color:#fff;font-size:.7rem;font-weight:700;padding:.3rem .6rem;white-space:nowrap}.compact-batch-more{background:#e2e8f0;border-radius:12px;color:#4a5568;font-size:.625rem;font-weight:600;padding:.25rem .5rem}.compact-status-badge{border-radius:2px;box-shadow:0 1px 2px #0000001a;font-size:.4rem;font-weight:700;letter-spacing:.01em;padding:.1rem .3rem;position:absolute;right:.25rem;text-transform:uppercase;top:.25rem}.compact-status-badge.slot-status-scheduled{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.compact-status-badge.slot-status-conducted{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.compact-status-badge.slot-status-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.compact-slot-card[draggable=true]{cursor:grab!important;transition:all .2s ease}.compact-slot-card[draggable=true]:active{cursor:grabbing!important}.grid-cell.slot-cell.drag-over{background-color:#667eea1a;border:2px dashed #667eea;box-shadow:inset 0 0 10px #667eea33;transition:all .2s ease}.compact-slot-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}@media (max-width:768px){.schedule-info-grid,.schedules-grid,.slot-details{grid-template-columns:1fr}.grid-view{padding:.5rem}.grid-container{grid-template-columns:120px repeat(7,1fr);min-width:600px}.view-mode-selector{flex-direction:column}}.slot-edit-panel{bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:9999}.slot-edit-panel.open{opacity:1;pointer-events:all}.slot-edit-panel-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.slot-edit-panel.open .slot-edit-panel-overlay{opacity:1}.slot-edit-panel-content{background:#fff;bottom:0;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;max-width:90vw;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:420px}.slot-edit-panel.open .slot-edit-panel-content{transform:translateX(0)}.slot-edit-panel-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.slot-edit-panel-header h6{color:#fff;margin:0}.slot-edit-panel-header button{color:#fff}.slot-edit-panel-header button:hover{background:#ffffff1a}.slot-edit-panel-body{flex:1 1;overflow-y:auto;padding:24px}.slot-edit-panel-body::-webkit-scrollbar{width:8px}.slot-edit-panel-body::-webkit-scrollbar-track{background:#f1f1f1}.slot-edit-panel-body::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.slot-edit-panel-body::-webkit-scrollbar-thumb:hover{background:#a0aec0}.slot-edit-panel-footer{align-items:center;background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@media (max-width:768px){.slot-edit-panel-content{max-width:100vw;width:100vw}}@media (prefers-reduced-motion:no-preference){.slot-edit-panel-content{transition:transform .35s cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion:reduce){.slot-edit-panel,.slot-edit-panel-content,.slot-edit-panel-overlay{transition:none}}.slot-status-menu{z-index:10001!important}.dialog-backdrop{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.propagate-dialog{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.dialog-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.dialog-header h3{color:#1a202c;font-size:18px;font-weight:600;margin:0}.dialog-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.dialog-close-btn:hover{background-color:#f7fafc;color:#2d3748}.dialog-content{padding:24px}.slot-name-display{background-color:#f7fafc;border-left:4px solid #667eea;border-radius:8px;color:#2d3748;margin:0 0 20px;padding:12px}.slot-name-display strong{color:#667eea;font-weight:600}.propagate-option{margin:20px 0}.checkbox-label{align-items:flex-start;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;margin-right:10px;margin-top:3px}.checkbox-label span{color:#2d3748;font-size:15px;line-height:1.5}.weeks-input-section{animation:slideDown .2s ease-out;background-color:#f7fafc;border-radius:8px;margin-top:16px;padding:16px}.weeks-input-section label{color:#2d3748;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.weeks-input{border:1px solid #cbd5e0;border-radius:6px;font-size:14px;margin-top:8px;padding:10px 12px;transition:all .2s;width:100%}.weeks-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.help-text{color:#718096;font-size:13px;line-height:1.4;margin:8px 0 0}.dialog-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.dialog-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.cancel-btn{background-color:#f7fafc;color:#4a5568}.cancel-btn:hover{background-color:#e2e8f0}.confirm-btn{background-color:#667eea;color:#fff}.confirm-btn:hover:not(:disabled){background-color:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.dialog-btn:disabled{cursor:not-allowed;opacity:.6}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:8px;vertical-align:middle;width:14px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:200px;opacity:1}}:root{--bg:#050816;--card-bg:#0e1624;--accent:#00c896;--accent-soft:#00c89626;--border-subtle:#ffffff14;--text-main:#f5f7fa;--text-muted:#a7b3c7;--danger:#ff4d4f;--warning:#ffb020;--info:#3ea6ff;--success:#33c47d}*{box-sizing:border-box}.display-board-container{background:radial-gradient(circle at top,#162447 0,#050816 48%,#02040a 100%);color:#f5f7fa;color:var(--text-main);display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;min-height:100vh;padding:0}.display-header{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(90deg,#000000b3,#061128f2);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:16px 32px}.display-header-left{display:flex;flex-direction:column;gap:4px}.display-title{font-size:1.6rem;font-weight:600;letter-spacing:.04em;margin:0;text-transform:uppercase}.display-subtitle{margin:0}.display-header-right,.display-subtitle{color:#a7b3c7;color:var(--text-muted);font-size:.9rem}.display-header-right{align-items:center;display:flex;gap:16px}.display-pill{align-items:center;background:#08142eb3;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex;gap:6px;padding:4px 10px}.display-pill-dot{animation:pulse 2s ease-in-out infinite;background:#00c896;background:var(--accent);border-radius:50%;box-shadow:0 0 6px #00c896cc;height:8px;width:8px}.display-time-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.display-clock{color:#f5f7fa;color:var(--text-main);font-size:1rem;font-weight:600}.display-date{color:#a7b3c7;color:var(--text-muted);font-size:.78rem}.display-filters{align-items:center;color:#a7b3c7;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px;justify-content:space-between;padding:12px 32px 4px}.display-filters-left,.display-filters-right{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.display-filter-item{display:flex;flex-direction:column;gap:2px}.filter-label{color:#a7b3c7;color:var(--text-muted);font-size:.75rem;letter-spacing:.08em;opacity:.8;text-transform:uppercase}.filter-value{color:#00c896;color:var(--accent);font-weight:500}.display-legend{display:flex;flex-wrap:wrap;gap:10px}.legend-item{align-items:center;display:inline-flex;font-size:.85rem;gap:6px}.legend-dot{border-radius:50%;height:10px;width:10px}.legend-dot.ontime{background:#33c47d;background:var(--success)}.legend-dot.ongoing{background:#3ea6ff;background:var(--info)}.legend-dot.delayed{background:#ffb020;background:var(--warning)}.legend-dot.completed{background:#6b7280}.legend-dot.cancelled{background:#ff4d4f;background:var(--danger)}.display-board-wrapper{flex:1 1;padding:8px 32px 24px}.display-board-card{background:radial-gradient(circle at top left,#1a2a4b 0,#050816 55%);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:18px;box-shadow:0 18px 40px #000000a6;display:flex;flex-direction:column;height:calc(100vh - 140px);overflow:hidden}.display-board-header-row{align-items:center;background:linear-gradient(90deg,#0006,#0a2540e6);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);color:#a7b3c7;color:var(--text-muted);display:flex;font-size:.85rem;justify-content:space-between;padding:12px 16px}.display-board-header-row span strong{color:#f5f7fa;color:var(--text-main)}.display-board-stats{display:flex;gap:16px}.display-scroll-area{flex:1 1;overflow:hidden;position:relative}.display-table-container{height:100%;overflow-y:auto;scrollbar-color:#00c89626 #0000;scrollbar-color:var(--accent-soft) #0000;scrollbar-width:thin;width:100%}.display-table-container::-webkit-scrollbar{width:8px}.display-table-container::-webkit-scrollbar-track{background:#0000}.display-table-container::-webkit-scrollbar-thumb{background:#00c89626;background:var(--accent-soft);border-radius:999px}.display-table{border-collapse:collapse;font-size:.95rem;table-layout:fixed;width:100%}.display-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.display-table thead tr{background:#071430f2}.display-table th{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);color:#a7b3c7;color:var(--text-muted);font-size:.75rem;letter-spacing:.12em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.display-table tbody tr{border-bottom:1px solid #94a3b829;transition:background .2s ease}.display-table tbody tr:nth-child(2n){background:#0f172abf}.display-table tbody tr:nth-child(odd){background:#020617d9}.display-table tbody tr:hover{background:#1e40af59}.display-table td{overflow:hidden;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap}.col-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:130px}.col-room{font-weight:600;width:110px}.col-building{width:140px}.col-topic{width:280px}.col-instructor{width:200px}.col-cohort{width:160px}.col-status{width:130px}.time-range{display:flex;flex-direction:column;font-size:.88rem;gap:2px}.time-range span:first-child{font-weight:600}.time-meta{color:#a7b3c7;color:var(--text-muted);font-size:.75rem}.room-tag{align-items:center;background:#0f766e33;border:1px solid #2dd4bfa6;border-radius:999px;display:inline-flex;font-size:.85rem;gap:6px;padding:4px 10px}.room-tag-badge{background:#00c896;background:var(--accent);border-radius:50%;height:8px;width:8px}.room-tag.warning{background:#f8b5002e;border-color:#f8b500f2}.room-tag.warning .room-tag-badge{background:#ffb020;background:var(--warning)}.topic-display{display:flex;flex-direction:column;gap:2px}.topic-code{font-size:.88rem;font-weight:600}.topic-name{color:#a7b3c7;color:var(--text-muted);font-size:.85rem}.instructor-display{display:flex;flex-direction:column;gap:2px}.instructor-name{font-size:.88rem;font-weight:500}.instructor-id{color:#a7b3c7;color:var(--text-muted);font-size:.78rem}.cohort-display{font-size:.9rem;font-weight:500}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;justify-content:center;letter-spacing:.08em;padding:4px 10px;text-transform:uppercase}.status-ontime{background:#22c55e29;border:1px solid #22c55ecc;color:#bbf7d0}.status-ongoing{background:#3b82f633;border:1px solid #3b82f6e6;color:#bfdbfe}.status-delayed{background:#f8b50033;border:1px solid #f8b500e6;color:#fef3c7}.status-completed{background:#94a3b82e;border:1px solid #94a3b8e6;color:#e5e7eb}.status-cancelled{background:#f8717133;border:1px solid #f87171f2;color:#fee2e2}.display-footer{align-items:center;color:#a7b3c7;color:var(--text-muted);display:flex;font-size:.8rem;justify-content:space-between;padding:8px 32px 14px}.display-ticker{max-width:60%;overflow:hidden;position:relative;white-space:nowrap}.display-ticker span{animation:ticker 26s linear infinite;position:absolute}@keyframes ticker{0%{transform:translateX(100%)}to{transform:translateX(-120%)}}.display-branding{font-weight:500}.display-branding strong{color:#f5f7fa;color:var(--text-main)}.display-loading{color:#a7b3c7;color:var(--text-muted);font-size:1.2rem}.display-empty,.display-loading{align-items:center;display:flex;height:100%;justify-content:center}.display-empty{flex-direction:column;gap:12px}.display-empty-icon{font-size:3rem;opacity:.5}.display-empty-text{color:#a7b3c7;color:var(--text-muted);font-size:1.1rem}.display-error{align-items:center;color:#ff4d4f;color:var(--danger);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center}.display-error-icon{font-size:3rem}.display-error-text{font-size:1.1rem}@media (max-width:1024px){.display-board-card{height:auto}.display-filters{align-items:flex-start;flex-direction:column;gap:6px;padding:8px 16px}.display-board-wrapper{padding:8px 16px 16px}.display-header{padding:12px 16px}.display-table td,.display-table th{font-size:.85rem;padding:8px}.col-instructor,.col-topic{width:220px}}.fade-in{animation:fadeIn .3s ease-in}.fade-out{animation:fadeOut .3s ease-out}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.display-page-indicator{align-items:center;background:linear-gradient(90deg,#0006,#0a254099);border-top:1px solid #ffffff14;border-top:1px solid var(--border-subtle);display:flex;gap:16px;justify-content:center;padding:12px 32px}.page-dots{align-items:center;display:flex;gap:8px}.page-dot{background:#ffffff4d;border-radius:50%;height:8px;transition:all .3s ease;width:8px}.page-dot.active{background:#00c896;background:var(--accent);box-shadow:0 0 8px #00c896cc;height:12px;width:12px}.page-text{color:#a7b3c7;color:var(--text-muted);font-size:.85rem;font-weight:500;letter-spacing:.05em}.schedules-templates-page{margin:0 auto;max-width:1400px;padding:24px}.schedules-templates-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.schedules-templates-page .page-header h1{color:#212121;font-size:28px;font-weight:600;margin:0}.schedules-templates-page .page-header .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.schedules-templates-page .page-header .btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedules-templates-page .filters-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;margin-bottom:24px;padding:24px}.schedules-templates-page .filters-panel .filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:16px}.schedules-templates-page .filters-panel .filter-grid .filter-field label{color:#424242;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.schedules-templates-page .filters-panel .filter-grid .filter-field input,.schedules-templates-page .filters-panel .filter-grid .filter-field select{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.schedules-templates-page .filters-panel .filter-grid .filter-field input:focus,.schedules-templates-page .filters-panel .filter-grid .filter-field select:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.schedules-templates-page .filters-panel .filter-actions{display:flex;gap:12px}.schedules-templates-page .filters-panel .filter-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.schedules-templates-page .filters-panel .filter-actions button.btn-search{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.schedules-templates-page .filters-panel .filter-actions button.btn-search:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedules-templates-page .filters-panel .filter-actions button.btn-clear{background:#f5f5f5;color:#757575}.schedules-templates-page .filters-panel .filter-actions button.btn-clear:hover{background:#e0e0e0}.schedules-templates-page .templates-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;overflow-x:auto}.schedules-templates-page .templates-table-container .loading{color:#757575;padding:48px;text-align:center}.schedules-templates-page .templates-table-container .templates-table{border-collapse:collapse;width:100%}.schedules-templates-page .templates-table-container .templates-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.schedules-templates-page .templates-table-container .templates-table thead th{border:none;font-size:14px;font-weight:600;padding:16px;text-align:left;white-space:nowrap}.schedules-templates-page .templates-table-container .templates-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.schedules-templates-page .templates-table-container .templates-table thead th.sortable:hover{background:#ffffff1a}.schedules-templates-page .templates-table-container .templates-table thead th .sort-indicator{font-size:12px;opacity:.4}.schedules-templates-page .templates-table-container .templates-table thead th .sort-indicator.active{opacity:1}.schedules-templates-page .templates-table-container .templates-table tbody tr{border-bottom:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.schedules-templates-page .templates-table-container .templates-table tbody tr:hover{background:#f5f5f5;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.schedules-templates-page .templates-table-container .templates-table tbody tr:last-child{border-bottom:none}.schedules-templates-page .templates-table-container .templates-table tbody tr td{font-size:14px;padding:16px;vertical-align:middle;white-space:nowrap}.schedules-templates-page .templates-table-container .templates-table tbody tr td.no-data{color:#9e9e9e;padding:48px;text-align:center}.schedules-templates-page .templates-table-container .templates-table .status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.schedules-templates-page .templates-table-container .templates-table .status-badge.active{background:#e8f5e9;color:#2e7d32}.schedules-templates-page .templates-table-container .templates-table .status-badge.inactive{background:#ffebee;color:#c62828}.schedules-templates-page .templates-table-container .templates-table .action-buttons{display:flex;gap:8px}.schedules-templates-page .templates-table-container .templates-table .action-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-view{background:#e3f2fd;color:#1976d2}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-view:hover{background:#1976d2;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-attendance{background:#e3f2fd;color:#1565c0}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-attendance:hover{background:#1565c0;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-edit{background:#fff3e0;color:#f57c00}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-edit:hover{background:#f57c00;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-schedule{background:#ede7f6;color:#6a1b9a}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-schedule:hover{background:#6a1b9a;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-delete{background:#ffebee;color:#d32f2f}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-delete:hover{background:#d32f2f;color:#fff}.schedules-templates-page .templates-table-container .pagination{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:16px;justify-content:center;padding:16px}.schedules-templates-page .templates-table-container .pagination button{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;padding:8px 16px;transition:all .2s}.schedules-templates-page .templates-table-container .pagination button:hover:not(:disabled){background:#f5f5f5;border-color:#1976d2}.schedules-templates-page .templates-table-container .pagination button:disabled{cursor:not-allowed;opacity:.5}.schedules-templates-page .templates-table-container .pagination span{color:#616161;font-size:14px}.template-detail-page{margin:0 auto;max-width:1200px;padding:24px}.template-detail-page .detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.template-detail-page .detail-header h1{color:#212121;font-size:24px;font-weight:600;margin:0}.template-detail-page .detail-header .header-actions{display:flex;gap:12px}.template-detail-page .detail-header .header-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.template-detail-page .detail-header .header-actions button.btn-back{background:#f5f5f5;color:#616161}.template-detail-page .detail-header .header-actions button.btn-back:hover{background:#e0e0e0}.template-detail-page .detail-header .header-actions button.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.template-detail-page .detail-header .header-actions button.btn-save:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.template-detail-page .detail-header .header-actions button.btn-extend{background:#e8f5e9;color:#2e7d32}.template-detail-page .detail-header .header-actions button.btn-extend:hover{background:#2e7d32;box-shadow:0 4px 12px #2e7d324d;color:#fff;transform:translateY(-2px)}.template-detail-page .metadata-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;margin-bottom:24px;padding:24px}.template-detail-page .metadata-section h2{color:#212121;font-size:18px;font-weight:600;margin-bottom:16px}.template-detail-page .metadata-section .metadata-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.template-detail-page .metadata-section .metadata-grid .field label{color:#616161;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.template-detail-page .metadata-section .metadata-grid .field .value{color:#212121;font-size:14px;padding:8px 0}.template-detail-page .metadata-section .metadata-grid .field input{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.template-detail-page .metadata-section .metadata-grid .field input:focus{border-color:#1976d2;outline:none}.template-detail-page .tab-navigation{border-bottom:2px solid #e0e0e0;display:flex;gap:8px;margin-bottom:24px}.template-detail-page .tab-navigation .tab-button{background:#0000;border:none;border-radius:6px 6px 0 0;color:#757575;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;position:relative;transition:all .2s}.template-detail-page .tab-navigation .tab-button:hover{background:#667eea0d;color:#667eea}.template-detail-page .tab-navigation .tab-button.active{color:#667eea}.template-detail-page .tab-navigation .tab-button.active:after{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px 2px 0 0;bottom:-2px;content:"";height:3px;left:0;position:absolute;right:0}.template-detail-page .week-pattern-grid{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;padding:24px}.template-detail-page .week-pattern-grid .pattern-header{margin-bottom:20px}.template-detail-page .week-pattern-grid .pattern-header h3{color:#212121;font-size:18px;font-weight:600;margin:0 0 8px}.template-detail-page .week-pattern-grid .pattern-header p{color:#757575;font-size:14px;margin:0}.template-detail-page .week-pattern-grid table{border-collapse:collapse;display:block;margin-bottom:20px;overflow-x:auto;width:100%}.template-detail-page .week-pattern-grid table thead{display:table;table-layout:fixed;width:100%}.template-detail-page .week-pattern-grid table thead th{background:linear-gradient(135deg,#667eea,#764ba2);border-right:1px solid #fff3;color:#fff!important;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:center;text-transform:uppercase;top:0}.template-detail-page .week-pattern-grid table thead th:first-child{left:0;min-width:100px;z-index:2}.template-detail-page .week-pattern-grid table thead th:last-child{border-right:none}.template-detail-page .week-pattern-grid table tbody{display:table;table-layout:fixed;width:100%}.template-detail-page .week-pattern-grid table tbody tr{display:table-row}.template-detail-page .week-pattern-grid table tbody td{border:1px solid #e0e0e0;min-height:100px;min-width:120px;padding:8px;vertical-align:top}.template-detail-page .week-pattern-grid table tbody td:first-child{background:#f5f5f5;font-weight:600;left:0;min-width:100px;position:-webkit-sticky;position:sticky;text-align:center;z-index:1}.template-detail-page .week-pattern-grid table tbody .time-cell{color:#424242;font-size:13px}.template-detail-page .week-pattern-grid table tbody .add-slot-button{background:#0000;border:2px dashed #bdbdbd;border-radius:4px;color:#757575;cursor:pointer;font-size:13px;min-height:80px;padding:8px;transition:all .2s;width:100%}.template-detail-page .week-pattern-grid table tbody .add-slot-button:hover{background:#667eea0d;border-color:#667eea;color:#667eea}.template-detail-page .week-pattern-grid table tbody .add-slot-button.compact{border-width:1px;font-size:11px;min-height:32px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #1976d2;border-radius:6px;margin-bottom:8px;min-height:80px;padding:8px;position:relative}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-time{color:#1976d2;font-size:11px;font-weight:600;margin-bottom:6px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-instructor{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#424242;display:-webkit-box;font-size:11px;margin-bottom:3px;overflow:hidden}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-topic{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#616161;display:-webkit-box;font-size:11px;overflow:hidden}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-batch{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#7b1fa2;display:-webkit-box;font-size:10px;margin-top:2px;overflow:hidden}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions{display:flex;gap:4px;position:absolute;right:4px;top:4px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;transition:all .2s;width:20px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.edit{background:#fff3e0;color:#f57c00}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.edit:hover{background:#f57c00;color:#fff;transform:scale(1.1)}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.delete{background:#ffebee;color:#d32f2f}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.delete:hover{background:#d32f2f;color:#fff;transform:scale(1.1)}.template-detail-page .week-pattern-grid .empty-pattern{border:2px dashed #e0e0e0;border-radius:8px;color:#757575;font-size:14px;margin-bottom:16px;padding:40px 20px;text-align:center}.template-detail-page .week-pattern-grid .add-new-time-slot{background:#667eea0d;border:2px dashed #667eea;border-radius:6px;color:#667eea;cursor:pointer;display:block;font-size:13px;font-weight:500;margin-bottom:20px;padding:10px;transition:all .2s;width:100%}.template-detail-page .week-pattern-grid .add-new-time-slot:hover{background:#667eea1f;border-color:#5c6bc0}.template-detail-page .week-pattern-grid .grid-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.template-detail-page .week-pattern-grid .grid-actions button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.template-detail-page .week-pattern-grid .grid-actions button:disabled{cursor:not-allowed;opacity:.5}.template-detail-page .week-pattern-grid .grid-actions button.save{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.template-detail-page .week-pattern-grid .grid-actions button.save:hover:not(:disabled){box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.template-detail-page .week-pattern-grid .grid-actions button.generate{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.template-detail-page .week-pattern-grid .grid-actions button.generate:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.template-detail-page .week-pattern-grid .grid-actions button.clear{background:#f5f5f5;color:#616161}.template-detail-page .week-pattern-grid .grid-actions button.clear:hover:not(:disabled){background:#e0e0e0}.template-detail-page .week-pattern-grid .grid-actions button.import{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.template-detail-page .week-pattern-grid .grid-actions button.import:hover:not(:disabled){box-shadow:0 4px 12px #ff980066;transform:translateY(-2px)}.template-detail-page .activity-slots-section,.template-detail-page .linear-slot-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;padding:24px}.template-detail-page .activity-slots-section .section-header,.template-detail-page .linear-slot-list .section-header{margin-bottom:16px}.template-detail-page .activity-slots-section .section-header h2,.template-detail-page .linear-slot-list .section-header h2{color:#212121;font-size:18px;font-weight:600;margin:0}.template-detail-page .activity-slots-section h2,.template-detail-page .linear-slot-list h2{color:#212121;font-size:18px;font-weight:600;margin-bottom:16px}.template-detail-page .activity-slots-section .selection-toolbar,.template-detail-page .linear-slot-list .selection-toolbar{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 14px;transition:all .2s}.template-detail-page .activity-slots-section .selection-toolbar.active,.template-detail-page .linear-slot-list .selection-toolbar.active{background:#e3f2fd;border-color:#90caf9}.template-detail-page .activity-slots-section .selection-toolbar .select-all-label,.template-detail-page .linear-slot-list .selection-toolbar .select-all-label{align-items:center;color:#424242;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.template-detail-page .activity-slots-section .selection-toolbar .select-all-label input[type=checkbox],.template-detail-page .linear-slot-list .selection-toolbar .select-all-label input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;width:16px}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions{align-items:center;display:flex;gap:8px}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-clear-selection,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-clear-selection{background:#fff;border:1px solid #bdbdbd;border-radius:4px;color:#616161;cursor:pointer;font-size:12px;font-weight:500;padding:5px 12px;transition:all .2s}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-clear-selection:hover,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-clear-selection:hover{background:#f5f5f5}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-bulk-delete,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-bulk-delete{background:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .2s}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-bulk-delete:hover,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-bulk-delete:hover{background:#b71c1c}.template-detail-page .activity-slots-section .date-group,.template-detail-page .linear-slot-list .date-group{margin-bottom:24px}.template-detail-page .activity-slots-section .date-group .date-header,.template-detail-page .linear-slot-list .date-group .date-header{align-items:center;background:#f5f5f5;border-radius:6px;color:#424242;display:flex;font-size:16px;font-weight:600;gap:10px;margin-bottom:12px;padding:12px 16px}.template-detail-page .activity-slots-section .date-group .date-header .date-select-checkbox,.template-detail-page .linear-slot-list .date-group .date-header .date-select-checkbox{align-items:center;cursor:pointer;display:flex}.template-detail-page .activity-slots-section .date-group .date-header .date-select-checkbox input[type=checkbox],.template-detail-page .linear-slot-list .date-group .date-header .date-select-checkbox input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:15px;width:15px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:all .3s}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #1976d226}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card.selected,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card.selected{background:#e3f2fd;border-color:#1976d2}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-select-checkbox,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-select-checkbox{align-items:center;cursor:pointer;display:flex;flex-shrink:0}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-select-checkbox input[type=checkbox],.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-select-checkbox input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;width:16px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .time-chip,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .time-chip{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px;white-space:nowrap}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content{flex:1 1}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .instructor,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .instructor{color:#212121;font-weight:600;margin-bottom:4px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .topic,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .topic{color:#757575;font-size:14px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .slot-batches,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .slot-batches{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions{display:flex;gap:8px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-edit,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-edit{background:#fff3e0;color:#f57c00}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-edit:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-edit:hover{background:#f57c00;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-delete,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-delete{background:#ffebee;color:#d32f2f}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-delete:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-delete:hover{background:#d32f2f;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-attendance,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-attendance{background:#e3f2fd;border-radius:6px;color:#1565c0;font-size:12px;height:auto;padding:4px 10px;width:auto}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-attendance:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-attendance:hover{background:#1565c0;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .add-slot-btn,.template-detail-page .linear-slot-list .date-group .add-slot-btn{background:#fafafa;border:2px dashed #bdbdbd;border-radius:6px;color:#616161;cursor:pointer;font-weight:500;padding:12px;transition:all .2s;width:100%}.template-detail-page .activity-slots-section .date-group .add-slot-btn:hover,.template-detail-page .linear-slot-list .date-group .add-slot-btn:hover{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.batch-management-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;margin-bottom:24px;padding:24px}.batch-management-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.batch-management-section .section-header h2{color:#212121;font-size:18px;font-weight:600;margin:0}.batch-management-section .section-header .btn-manage{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.batch-management-section .section-header .btn-manage:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.batch-management-section .batch-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.batch-management-section .batch-list .batch-tag{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:20px;color:#1976d2;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s}.batch-management-section .batch-list .batch-tag:hover{box-shadow:0 2px 8px #1976d233}.batch-management-section .batch-list .batch-tag .batch-info strong{font-weight:600}.batch-management-section .batch-list .batch-tag .remove-btn{align-items:center;background:#d32f2f1a;border:none;border-radius:50%;color:#d32f2f;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:20px}.batch-management-section .batch-list .batch-tag .remove-btn:hover{background:#d32f2f;color:#fff}.batch-management-section .batch-list .no-batches{color:#9e9e9e;font-size:14px;font-style:italic}.batch-management-section .batch-search-container{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:16px}.batch-management-section .batch-search-container .search-input-wrapper{display:flex;gap:12px;margin-bottom:12px}.batch-management-section .batch-search-container .search-input-wrapper .batch-search-input{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;padding:10px 12px;transition:all .2s}.batch-management-section .batch-search-container .search-input-wrapper .batch-search-input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.batch-management-section .batch-search-container .search-input-wrapper .close-search-btn{background:#f5f5f5;border:none;border-radius:6px;color:#616161;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.batch-management-section .batch-search-container .search-input-wrapper .close-search-btn:hover{background:#e0e0e0}.batch-management-section .batch-search-container .autocomplete-dropdown{background:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option{cursor:pointer;font-size:14px;padding:12px 16px;transition:background .2s}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option strong{color:#212121}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option span{color:#616161}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option:hover{background:#f5f5f5}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option:not(:last-child){border-bottom:1px solid #e0e0e0}.batch-management-section .batch-search-container .no-results{color:#9e9e9e;font-size:14px;font-style:italic;padding:12px;text-align:center}.create-template-page{margin:0 auto;max-width:1200px;padding:24px}.create-template-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.create-template-page .page-header h1{color:#212121;font-size:28px;font-weight:600;margin:0}.create-template-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.create-template-form .form-section{border-bottom:1px solid #e0e0e0;padding:32px}.create-template-form .form-section:last-of-type{border-bottom:none}.create-template-form .form-section h2{color:#212121;font-size:20px;font-weight:600;margin:0 0 8px}.create-template-form .form-section .section-description{color:#757575;font-size:14px;margin-bottom:24px}.create-template-form .form-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.create-template-form .form-field{display:flex;flex-direction:column}.create-template-form .form-field.full-width{grid-column:1/-1}.create-template-form .form-field label{color:#424242;font-size:14px;font-weight:500;margin-bottom:8px}.create-template-form .form-field input,.create-template-form .form-field select,.create-template-form .form-field textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s ease}.create-template-form .form-field input:focus,.create-template-form .form-field select:focus,.create-template-form .form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.create-template-form .form-field input.error,.create-template-form .form-field select.error,.create-template-form .form-field textarea.error{border-color:#f44336}.create-template-form .form-field input.error:focus,.create-template-form .form-field select.error:focus,.create-template-form .form-field textarea.error:focus{box-shadow:0 0 0 3px #f443361a}.create-template-form .form-field textarea{min-height:80px;resize:vertical}.create-template-form .form-field .error-message{color:#f44336;font-size:12px;margin-top:6px}.create-template-form .batch-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:16px}.create-template-form .batch-list .batch-checkbox{align-items:center;background:#f5f5f5;border-radius:8px;cursor:pointer;display:flex;padding:12px 16px;transition:all .2s ease}.create-template-form .batch-list .batch-checkbox:hover{background:#e3f2fd}.create-template-form .batch-list .batch-checkbox input[type=checkbox]{cursor:pointer;height:18px;margin-right:12px;width:18px}.create-template-form .batch-list .batch-checkbox .batch-name{color:#212121;font-size:14px}.create-template-form .batch-list .batch-checkbox input[type=checkbox]:checked+.batch-name{color:#1976d2;font-weight:600}.create-template-form .batch-list .no-data{color:#9e9e9e;font-size:14px;grid-column:1/-1;padding:24px;text-align:center}.create-template-form .form-actions{background:#fafafa;display:flex;gap:16px;justify-content:flex-end;padding:24px 32px}.create-template-form .form-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 32px;transition:all .2s ease}.create-template-form .form-actions button:disabled{cursor:not-allowed;opacity:.6}.create-template-form .form-actions button.btn-cancel{background:#f5f5f5;color:#757575}.create-template-form .form-actions button.btn-cancel:hover:not(:disabled){background:#e0e0e0}.create-template-form .form-actions button.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-template-form .form-actions button.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media(max-width:768px){.create-template-form .batch-list,.create-template-form .form-grid{grid-template-columns:1fr}.create-template-form .form-actions{flex-direction:column}.create-template-form .form-actions button{width:100%}}.schedules-templates-page .modal-overlay,.template-detail-page .modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.schedules-templates-page .modal-content,.template-detail-page .modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.schedules-templates-page .modal-header,.template-detail-page .modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.schedules-templates-page .modal-header h3,.template-detail-page .modal-header h3{color:#212121;font-size:20px;font-weight:600;margin:0}.schedules-templates-page .modal-header .modal-close,.template-detail-page .modal-header .modal-close{background:#f5f5f5;border:none;border-radius:50%;color:#616161;cursor:pointer;font-size:24px;height:32px;line-height:1;transition:all .2s;width:32px}.schedules-templates-page .modal-header .modal-close:hover,.template-detail-page .modal-header .modal-close:hover{background:#e0e0e0;transform:rotate(90deg)}.schedules-templates-page .modal-body,.template-detail-page .modal-body{padding:24px}.schedules-templates-page .modal-body .form-field,.template-detail-page .modal-body .form-field{margin-bottom:20px}.schedules-templates-page .modal-body .form-field label,.template-detail-page .modal-body .form-field label{color:#424242;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.schedules-templates-page .modal-body .form-field input,.schedules-templates-page .modal-body .form-field textarea,.template-detail-page .modal-body .form-field input,.template-detail-page .modal-body .form-field textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.schedules-templates-page .modal-body .form-field input:focus,.schedules-templates-page .modal-body .form-field textarea:focus,.template-detail-page .modal-body .form-field input:focus,.template-detail-page .modal-body .form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.schedules-templates-page .modal-body .form-field textarea,.template-detail-page .modal-body .form-field textarea{min-height:80px;resize:vertical}.schedules-templates-page .modal-body .form-row,.template-detail-page .modal-body .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.schedules-templates-page .modal-body .batch-tags,.template-detail-page .modal-body .batch-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.schedules-templates-page .modal-body .batch-tags .batch-tag,.template-detail-page .modal-body .batch-tags .batch-tag{align-items:center;background:#e3f2fd;border:2px solid #1976d2;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:6px 12px;transition:all .2s}.schedules-templates-page .modal-body .batch-tags .batch-tag:hover,.template-detail-page .modal-body .batch-tags .batch-tag:hover{background:#bbdefb}.schedules-templates-page .modal-body .batch-tags .batch-tag input[type=checkbox],.template-detail-page .modal-body .batch-tags .batch-tag input[type=checkbox]{cursor:pointer;height:16px;width:16px}.schedules-templates-page .modal-body .batch-tags .batch-tag:has(input:checked),.template-detail-page .modal-body .batch-tags .batch-tag:has(input:checked){background:#1976d2;color:#fff}.schedules-templates-page .modal-body .no-batches,.template-detail-page .modal-body .no-batches{background:#f5f5f5;border-radius:4px;color:#757575;font-size:13px;padding:12px;text-align:center}.schedules-templates-page .modal-body .checkbox-field label,.template-detail-page .modal-body .checkbox-field label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px}.schedules-templates-page .modal-body .checkbox-field label input[type=checkbox],.template-detail-page .modal-body .checkbox-field label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.schedules-templates-page .modal-footer,.template-detail-page .modal-footer{background:#fafafa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.schedules-templates-page .modal-footer button,.template-detail-page .modal-footer button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.schedules-templates-page .modal-footer button.btn-cancel,.template-detail-page .modal-footer button.btn-cancel{background:#f5f5f5;color:#616161}.schedules-templates-page .modal-footer button.btn-cancel:hover,.template-detail-page .modal-footer button.btn-cancel:hover{background:#e0e0e0}.schedules-templates-page .modal-footer button.btn-save,.template-detail-page .modal-footer button.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.schedules-templates-page .modal-footer button.btn-save:hover,.template-detail-page .modal-footer button.btn-save:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.autocomplete-field{position:relative}.autocomplete-field .autocomplete-dropdown{background:#fff;border:2px solid #667eea;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.autocomplete-field .autocomplete-dropdown .autocomplete-item{cursor:pointer;padding:10px 12px;transition:background .2s}.autocomplete-field .autocomplete-dropdown .autocomplete-item:hover{background:#f5f5f5}.autocomplete-field .autocomplete-dropdown .autocomplete-item .item-name{color:#212121;font-size:14px;font-weight:500}.autocomplete-field .autocomplete-dropdown .autocomplete-item .item-meta{color:#757575;font-size:12px;margin-top:2px}.autocomplete-field .selected-value{align-items:center;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;color:#2e7d32;display:flex;font-size:13px;font-weight:500;justify-content:space-between;padding:8px 12px}.autocomplete-field .selected-value span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-field .selected-value .clear-btn{align-items:center;background:#c8e6c9;border:none;border-radius:50%;color:#2e7d32;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:22px;justify-content:center;line-height:1;margin-left:8px;transition:background .2s;width:22px}.autocomplete-field .selected-value .clear-btn:hover{background:#ef9a9a;color:#c62828}.autocomplete-field .field-hint{color:#9e9e9e;font-size:11px;font-style:italic;margin-top:4px}.autocomplete-field select{background:#fff;border:2px solid #667eea;border-radius:6px;color:#212121;cursor:pointer;font-size:14px;padding:8px 12px;width:100%}.autocomplete-field select:focus{border-color:#5c6bc0;box-shadow:0 0 0 3px #667eea26;outline:none}@media(max-width:768px){.schedules-templates-page .modal-content,.template-detail-page .modal-content{max-height:95vh;width:95%}.schedules-templates-page .modal-body .form-row,.template-detail-page .modal-body .form-row{grid-template-columns:1fr}}.alert-modal,.confirm-modal{max-width:440px}.alert-message,.confirm-message{color:#424242;font-size:15px;line-height:1.6;margin:0;white-space:pre-line}.alert-header-success{border-bottom-color:#4caf50}.alert-header-success h3{color:#2e7d32}.alert-header-error{border-bottom-color:#f44336}.alert-header-error h3{color:#c62828}.alert-header-info{border-bottom-color:#667eea}.alert-header-info h3{color:#667eea}.slots-tab-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.excel-import-modal{display:flex;flex-direction:column;max-height:85vh;max-width:900px!important;width:95%}.excel-import-modal .modal-body{flex:1 1;min-height:200px;overflow-y:auto;padding:24px}.import-error-banner{background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;color:#c62828;font-size:14px;margin-bottom:16px;padding:12px 16px}.import-upload-step .import-mode-toggle{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;gap:16px;margin-bottom:16px;padding:12px 16px}.import-upload-step .import-mode-label{color:#424242;font-size:14px;font-weight:600}.import-upload-step .import-radio{align-items:center;color:#424242;cursor:pointer;display:flex;font-size:14px;gap:6px}.import-upload-step .import-radio input[type=radio]{cursor:pointer}.import-upload-step .import-replace-warning{background:#fff3e0;border:1px solid #ffcc80;border-radius:6px;color:#e65100;font-size:13px;margin-bottom:16px;padding:10px 16px}.import-upload-step .import-instructions{color:#616161;font-size:14px;line-height:1.6;margin-bottom:20px}.import-upload-step .import-file-actions{align-items:center;display:flex;gap:12px}.btn,.import-upload-step .import-file-btn{cursor:pointer}.btn{border:none;border-radius:6px;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn.btn-secondary{background:#f5f5f5;color:#424242}.btn.btn-secondary:hover:not(:disabled){background:#e0e0e0}.import-preview .import-summary-bar{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;font-size:14px;font-weight:600;gap:16px;margin-bottom:12px;padding:12px 16px}.import-preview .import-summary-total{color:#424242}.import-preview .import-summary-valid{color:#2e7d32}.import-preview .import-summary-errors{color:#c62828}.import-preview .import-filter-tabs{display:flex;gap:8px;margin-bottom:12px}.import-preview .import-filter-btn{background:#fff;border:1px solid #e0e0e0;border-radius:20px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.import-preview .import-filter-btn:hover{background:#f5f5f5}.import-preview .import-filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.import-preview .import-table-wrapper{border:1px solid #e0e0e0;border-radius:6px;max-height:400px;overflow-x:auto;overflow-y:auto}.import-preview .import-preview-table{border-collapse:collapse;font-size:13px;width:100%}.import-preview .import-preview-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#424242;font-weight:600;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.import-preview .import-preview-table td{border-bottom:1px solid #f0f0f0;color:#424242;padding:8px 12px}.import-preview .import-preview-table .import-row-valid td:nth-child(2){color:#2e7d32;font-weight:600}.import-preview .import-preview-table .import-row-error{background:#fff8f8}.import-preview .import-preview-table .import-row-error td:nth-child(2){color:#c62828;font-weight:600}.import-preview .import-preview-table .import-error-detail td{background:#ffebee;font-size:12px;padding:6px 12px}.import-preview .import-preview-table .import-error-msg{background:#fce4ec;border-radius:4px;color:#c62828;display:inline-block;font-size:12px;margin:2px 4px 2px 0;padding:2px 8px}.import-loading-step{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px 0}.import-loading-step .import-spinner{animation:spin .8s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.import-loading-step p{color:#616161;font-size:15px}.import-result-step .import-result-summary{padding:24px;text-align:center}.import-result-step .import-result-success{color:#2e7d32;font-size:16px;font-weight:600;margin-bottom:8px}.import-result-step .import-result-skipped{color:#e65100;font-size:14px}.import-result-step .import-result-errors{background:#fff8f8;border:1px solid #ef9a9a;border-radius:6px;margin-top:16px;padding:16px}.import-result-step .import-result-errors h4{color:#c62828;font-size:14px;margin:0 0 8px}.import-result-step .import-result-errors ul{margin:0;padding-left:20px}.import-result-step .import-result-errors ul li{color:#424242;font-size:13px;margin-bottom:4px}.template-bev{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}.tbev-toolbar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 20px}.tbev-view-selector{background:#ffffff26;border-radius:8px;display:flex;gap:4px;padding:3px}.tbev-view-btn{background:#0000;border:none;border-radius:6px;color:#fffc;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.tbev-view-btn:hover{background:#ffffff26;color:#fff}.tbev-view-btn.active{background:#fff;color:#667eea;font-weight:600}.tbev-actions{align-items:center;display:flex;gap:8px}.tbev-search{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;font-size:13px;outline:none;padding:6px 12px;width:180px}.tbev-search::placeholder{color:#fff9}.tbev-search:focus{background:#ffffff40;border-color:#ffffff80}.tbev-analytics-toggle,.tbev-export-btn,.tbev-filter-toggle{align-items:center;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 14px;transition:all .2s}.tbev-analytics-toggle:hover,.tbev-export-btn:hover,.tbev-filter-toggle:hover{background:#ffffff40}.tbev-analytics-toggle.active,.tbev-export-btn.active,.tbev-filter-toggle.active{background:#ffffff4d;border-color:#ffffff80}.tbev-filter-badge{align-items:center;background:#ff5722;border-radius:9px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px}.tbev-filters-panel{background:#fafbff;border-bottom:1px solid #e8e8e8;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out}.tbev-filters-panel.visible{max-height:400px;opacity:1}.tbev-filters-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:16px 20px}.tbev-filter-item{display:flex;flex-direction:column;gap:4px}.tbev-filter-item label:first-child{color:#555;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.tbev-filter-input,.tbev-filter-select{background:#fff;border:1.5px solid #ddd;border-radius:6px;color:#333;font-size:13px;height:36px;padding:7px 10px;transition:all .2s}.tbev-filter-input:focus,.tbev-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1f;outline:none}.tbev-filter-days-item{grid-column:span 2}@media(max-width:600px){.tbev-filter-days-item{grid-column:span 1}}.tbev-filter-days{display:flex;flex-wrap:wrap;gap:4px}.tbev-day-chip{border:1.5px solid #ddd;border-radius:16px;color:#666;cursor:pointer;font-size:12px;font-weight:500;padding:5px 10px;transition:all .2s;-webkit-user-select:none;user-select:none}.tbev-day-chip input[type=checkbox]{display:none}.tbev-day-chip:hover{border-color:#667eea;color:#667eea}.tbev-day-chip.active{background:#667eea;border-color:#667eea;color:#fff}.tbev-filter-actions{align-items:flex-end;display:flex}.tbev-clear-filters{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;height:36px;padding:7px 14px;transition:all .2s;white-space:nowrap}.tbev-clear-filters:hover{box-shadow:0 2px 8px #667eea59;transform:translateY(-1px)}.tbev-export-wrapper{position:relative}.tbev-export-menu{background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:120px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.tbev-export-menu button{background:#0000;border:none;color:#333;cursor:pointer;display:block;font-size:13px;padding:10px 16px;text-align:left;width:100%}.tbev-export-menu button:hover{background:#f5f5f5}.tbev-analytics{background:#fafbff;border-bottom:1px solid #e8e8e8;padding:16px 20px}.tbev-analytics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px}.tbev-analytics-card{background:#fff;border-radius:10px;border-top:3px solid #e0e0e0;box-shadow:0 1px 4px #0000000f;padding:16px;text-align:center}.tbev-analytics-card.primary{border-top-color:#667eea}.tbev-analytics-card.success{border-top-color:#4caf50}.tbev-analytics-card.info{border-top-color:#2196f3}.tbev-analytics-card.warning{border-top-color:#ff9800}.tbev-analytics-card .analytics-value{color:#333;font-size:24px;font-weight:700;margin-bottom:4px}.tbev-analytics-card .analytics-label{color:#888;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.tbev-analytics-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:768px){.tbev-analytics-details{grid-template-columns:1fr}}.analytics-detail-panel{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:14px}.analytics-detail-panel h4{color:#555;font-size:13px;font-weight:600;letter-spacing:.3px;margin:0 0 10px;text-transform:uppercase}.analytics-bar-list{display:flex;flex-direction:column;gap:6px}.analytics-bar-item{align-items:center;display:flex;gap:8px}.analytics-bar-item .bar-label{color:#555;flex-shrink:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px}.analytics-bar-item .bar-track{background:#f0f0f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.analytics-bar-item .bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s}.analytics-bar-item .bar-fill.topic{background:linear-gradient(90deg,#4caf50,#2196f3)}.analytics-bar-item .bar-value{color:#667eea;flex-shrink:0;font-size:12px;font-weight:600;text-align:right;width:40px}.tbev-content{padding:0}.tbev-list-view{padding:16px 20px}.tbev-list-groupby{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;margin-bottom:16px;padding:3px;width:-webkit-fit-content;width:fit-content}.tbev-groupby-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.tbev-groupby-btn:hover{background:#e8e8e8}.tbev-groupby-btn.active{background:#667eea;color:#fff;font-weight:500}.tbev-list-group{margin-bottom:20px}.tbev-list-group-header{align-items:center;border-bottom:2px solid #667eea;display:flex;justify-content:space-between;margin-bottom:12px;padding:10px 0}.tbev-list-group-header .group-title{color:#333;font-size:15px;font-weight:600}.tbev-list-group-header .group-count{background:#f0f0f0;border-radius:10px;color:#888;font-size:12px;padding:2px 8px}.tbev-list-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tbev-slot-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px;transition:all .2s}.tbev-slot-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26}.tbev-card-time{display:flex;flex-direction:column;gap:2px}.tbev-card-time .time-display{color:#333;font-size:14px;font-weight:600}.tbev-card-time .date-display{color:#888;font-size:12px}.tbev-card-content{display:flex;flex-direction:column;gap:3px}.tbev-card-content .card-instructor{color:#555;font-size:13px;font-weight:500}.tbev-card-content .card-topic{color:#667eea;font-size:12px}.tbev-card-content .card-batches{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.tbev-card-content .card-agenda{color:#888;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbev-card-actions{display:flex;gap:6px;margin-top:auto}.tbev-card-actions .card-attendance-btn,.tbev-card-actions .card-delete-btn,.tbev-card-actions .card-edit-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;padding:4px 10px;transition:all .2s}.tbev-card-actions .card-attendance-btn{border-color:#1565c0;color:#1565c0}.tbev-card-actions .card-attendance-btn:hover{background:#1565c0;color:#fff}.tbev-card-actions .card-edit-btn{border-color:#667eea;color:#667eea}.tbev-card-actions .card-edit-btn:hover{background:#667eea;color:#fff}.tbev-card-actions .card-delete-btn{border-color:#f44336;color:#f44336}.tbev-card-actions .card-delete-btn:hover{background:#f44336;color:#fff}.tbev-empty{color:#888;font-size:14px;padding:40px;text-align:center}.template-month-view{padding:16px 20px}.month-header{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:16px}.month-nav-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:18px;padding:6px 14px;transition:all .2s}.month-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;color:#667eea}.month-nav-btn:disabled{cursor:not-allowed;opacity:.3}.month-title{color:#333;font-size:18px;font-weight:600;min-width:200px;text-align:center}.month-weekday-headers{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-header-cell{background:linear-gradient(135deg,#667eea,#764ba2);border-right:1px solid #fff3;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px;text-align:center;text-transform:uppercase}.weekday-header-cell:first-child{border-radius:8px 0 0 0}.weekday-header-cell:last-child{border-radius:0 8px 0 0;border-right:none}.month-grid-body{display:flex;flex-direction:column}.month-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-week-row:first-child>.month-day-cell{border-top:1px solid #e8e8e8}.month-day-cell{background:#fff;border-bottom:1px solid #e8e8e8;border-right:1px solid #e8e8e8;cursor:pointer;min-height:100px;overflow:hidden;padding:6px;position:relative;transition:all .2s}.month-day-cell:first-child{border-left:1px solid #e8e8e8}.month-day-cell:hover:not(.empty):not(.outside-range){background:#f8f9ff;border-color:#667eea;z-index:1}.month-day-cell.empty{background:#fafafa;cursor:default}.month-day-cell.outside-range{background:#f5f5f5;cursor:not-allowed;opacity:.5}.month-day-cell.today{border-color:#667eea;border-width:2px}.month-day-cell.has-slots{background:#fafbff}.month-day-cell.selected{background:#eef0ff;border-color:#667eea;border-width:2px;z-index:1}.day-cell-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:4px}.day-number{color:#333;font-size:14px;font-weight:600}.today .day-number{color:#667eea}.outside-range .day-number{color:#bbb}.slot-count-badge{background:#667eea;border-radius:10px;color:#fff;font-size:10px;font-weight:600;min-width:18px;padding:1px 6px;text-align:center}.day-slot-previews{display:flex;flex-direction:column;gap:2px}.day-slot-preview{align-items:center;background:#f0f2ff;border-radius:3px;display:flex;font-size:10px;gap:4px;overflow:hidden;padding:1px 3px}.day-slot-preview .preview-time{color:#667eea;flex-shrink:0;font-weight:600}.day-slot-preview .preview-text{color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-slot-more{color:#888;font-size:10px;padding:1px;text-align:center}.day-add-btn{align-items:center;background:#fff;border:1px dashed #ccc;border-radius:50%;bottom:4px;color:#888;cursor:pointer;display:flex;font-size:14px;height:22px;justify-content:center;opacity:0;position:absolute;right:4px;transition:all .2s;width:22px}.month-day-cell:hover .day-add-btn{opacity:1}.day-add-btn:hover{background:#f0f2ff;border-color:#667eea;color:#667eea}.day-detail-strip{animation:stripSlideOpen .3s ease-out;background:#fff;border:2px solid #667eea;border-radius:0 0 8px 8px;grid-column:1/-1;margin:0 0 8px;overflow:hidden}@keyframes stripSlideOpen{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.strip-header{background:#f8f9ff;border-bottom:1px solid #e8e8e8;justify-content:space-between;padding:12px 16px}.strip-date-info,.strip-header{align-items:center;display:flex}.strip-date-info{gap:10px}.strip-date-info .strip-date{color:#333;font-size:15px;font-weight:600}.strip-date-info .strip-count{background:#eef0ff;border-radius:10px;color:#667eea;font-size:12px;padding:2px 8px}.strip-actions{align-items:center;display:flex;gap:8px}.strip-day-view-btn{background:#fff;border:1px solid #667eea;border-radius:5px;color:#667eea;cursor:pointer;font-size:12px;padding:5px 12px;transition:all .2s}.strip-day-view-btn:hover{background:#667eea;color:#fff}.strip-close-btn{align-items:center;background:#f0f0f0;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;transition:all .2s;width:28px}.strip-close-btn:hover{background:#e0e0e0;color:#333}.strip-empty{align-items:center;color:#888;display:flex;flex-direction:column;font-size:14px;gap:10px;padding:20px;text-align:center}.strip-slots{display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px}.strip-slot-card{background:#fafbff;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:6px;max-width:320px;min-width:220px;padding:10px 14px;transition:all .2s}.strip-slot-card:hover{border-color:#667eea;box-shadow:0 2px 6px #667eea1a}.strip-slot-time{color:#667eea;font-size:13px;font-weight:600}.strip-slot-details{display:flex;flex-direction:column;gap:2px}.strip-slot-details .strip-slot-instructor{color:#333;font-size:13px;font-weight:500}.strip-slot-details .strip-slot-topic{color:#555;font-size:12px}.strip-slot-details .strip-slot-batches{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.strip-slot-details .strip-slot-agenda{color:#888;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip-slot-actions{display:flex;gap:6px;margin-top:4px}.strip-slot-actions .strip-attendance-btn,.strip-slot-actions .strip-delete-btn,.strip-slot-actions .strip-edit-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;padding:3px 8px;transition:all .2s}.strip-slot-actions .strip-attendance-btn{border-color:#1565c0;color:#1565c0}.strip-slot-actions .strip-attendance-btn:hover{background:#1565c0;color:#fff}.strip-slot-actions .strip-edit-btn{border-color:#667eea;color:#667eea}.strip-slot-actions .strip-edit-btn:hover{background:#667eea;color:#fff}.strip-slot-actions .strip-delete-btn{border-color:#f44336;color:#f44336}.strip-slot-actions .strip-delete-btn:hover{background:#f44336;color:#fff}.strip-add-btn{background:#fff;border:1px dashed #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:13px;margin:0 16px 12px;padding:8px 16px;transition:all .2s}.strip-add-btn:hover{background:#f0f2ff;border-style:solid}.template-day-view{padding:16px 20px}.day-view-header{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:8px}.day-nav-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.day-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;color:#667eea}.day-nav-btn:disabled{cursor:not-allowed;opacity:.3}.day-view-title{color:#333;font-size:16px;font-weight:600}.day-view-summary{color:#888;font-size:13px;margin-bottom:12px;text-align:center}.day-view-grid-wrapper{background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;max-height:600px;overflow-y:auto}.day-time-labels{background:#fafafa;border-right:1px solid #e8e8e8;flex-shrink:0;position:relative;width:80px}.time-label{color:#888;font-size:11px;line-height:1;padding-right:8px;position:absolute;text-align:right;transform:translateY(-6px);width:100%}.day-time-grid{cursor:pointer;flex:1 1;min-height:400px;position:relative}.grid-line{height:1px;left:0;pointer-events:none;position:absolute;right:0}.grid-line.hour-line{background:#ddd}.grid-line.half-hour-line{background:#f0f0f0}.current-time-line{background:#f44336;height:2px;left:0;position:absolute;right:0;z-index:5}.current-time-line:before{background:#f44336;border-radius:50%;content:"";height:8px;left:-4px;position:absolute;top:-3px;width:8px}.day-slot-card{border-left:3px solid;border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:4px 8px;position:absolute;right:8px;transition:box-shadow .2s,opacity .2s;z-index:2}.day-slot-card:hover{box-shadow:0 2px 8px #00000026;z-index:3}.day-slot-card.dragging{opacity:.4}.slot-card-time{color:#333;font-size:11px;font-weight:600;white-space:nowrap}.slot-card-instructor{color:#555;font-size:11px}.slot-card-instructor,.slot-card-topic{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-card-topic{color:#667eea;font-size:10px}.slot-card-batch{color:#8d6e63;font-size:9px;opacity:.85}.slot-card-agenda,.slot-card-batch{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-card-agenda{color:#888;font-size:10px}.slot-card-actions{display:flex;gap:3px;position:absolute;right:2px;top:2px}.slot-card-actions .slot-card-attendance{background:#1565c026;color:#1565c0;font-size:10px;font-weight:700}.slot-card-actions .slot-card-attendance,.slot-card-actions .slot-card-delete{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:18px;justify-content:center;opacity:0;transition:all .2s;width:18px}.slot-card-actions .slot-card-delete{background:#f443361a;color:#f44336;font-size:14px}.day-slot-card:hover .slot-card-actions .slot-card-attendance,.day-slot-card:hover .slot-card-actions .slot-card-delete{opacity:1}.slot-card-actions .slot-card-attendance:hover{background:#1565c0;color:#fff}.slot-card-actions .slot-card-delete:hover{background:#f44336;color:#fff}.drag-ghost{background:#667eea26;border:2px dashed #667eea;border-radius:6px;left:8px;pointer-events:none;position:absolute;right:8px;z-index:1}.template-week-view{padding:16px 20px}.week-view-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:12px}.week-nav-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.week-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;color:#667eea}.week-nav-btn:disabled{cursor:not-allowed;opacity:.3}.week-view-title{color:#333;font-size:16px;font-weight:600;min-width:180px;text-align:center}.week-color-toggle{background:#f5f5f5;border-radius:6px;display:flex;gap:4px;margin-left:16px;padding:2px}.week-color-toggle .color-btn{background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:11px;padding:4px 10px;transition:all .2s}.week-color-toggle .color-btn:hover{background:#e8e8e8}.week-color-toggle .color-btn.active{background:#667eea;color:#fff}.week-grid-scroll{background:#fff;border:1px solid #e8e8e8;border-radius:8px;max-height:600px;overflow-x:auto;overflow-y:auto}.week-grid-container{min-width:700px;position:relative}.week-day-headers{background:#fff;border-bottom:2px solid #e8e8e8;display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:10}.week-time-label-spacer{background:#fafafa;flex-shrink:0;width:60px}.week-day-header{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:8px 4px;text-align:center;transition:background .2s}.week-day-header:hover{background:#f8f9ff}.week-day-header.today{background:#f0f2ff}.week-day-header.outside-range{opacity:.4}.week-day-header .week-day-name{color:#888;font-size:11px;font-weight:600;text-transform:uppercase}.week-day-header .week-day-num{color:#333;font-size:20px;font-weight:700;line-height:1}.week-day-header .week-day-num.today-num{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;font-size:14px;height:30px;justify-content:center;width:30px}.week-day-header .week-day-count{background:#eef0ff;border-radius:8px;color:#667eea;font-size:10px;padding:1px 6px}.week-grid-body{display:flex;position:relative}.week-time-labels{background:#fafafa;border-right:1px solid #e8e8e8;flex-shrink:0;position:relative;width:60px}.week-time-label{color:#aaa;font-size:10px;line-height:1;padding-right:6px;position:absolute;text-align:right;transform:translateY(-5px);width:100%}.week-day-column{border-right:1px solid #f0f0f0;flex:1 1;position:relative}.week-day-column:last-child{border-right:none}.week-day-column.outside-range{background:#fafafa;opacity:.4}.week-day-column.today{background:#667eea08}.week-grid-line{height:1px;left:0;pointer-events:none;position:absolute;right:0}.week-grid-line.hour{background:#e0e0e0}.week-grid-line.half{background:#f0f0f0}.week-slot-card{border-left:3px solid;border-radius:4px;box-sizing:border-box;cursor:pointer;font-size:10px;overflow:hidden;padding:2px 4px;position:absolute;transition:box-shadow .2s,opacity .2s;z-index:2}.week-slot-card:hover{box-shadow:0 2px 8px #00000026;z-index:3}.week-slot-card.dragging{opacity:.4}.week-slot-time{color:#333;font-size:10px;font-weight:600;white-space:nowrap}.week-slot-info{align-items:center;display:flex;gap:3px;overflow:hidden}.week-slot-info .week-slot-initials{color:#555;font-size:10px;font-weight:700}.week-slot-info .week-slot-topic{color:#667eea;font-size:9px}.week-slot-batch,.week-slot-info .week-slot-topic{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-slot-batch{color:#8d6e63;font-size:8px;line-height:1.2;opacity:.8}.week-slot-attendance{align-items:center;background:#1565c033;border:none;border-radius:50%;color:#1565c0;cursor:pointer;display:flex;font-size:8px;font-weight:700;height:14px;justify-content:center;opacity:0;padding:0;position:absolute;right:1px;top:1px;transition:all .2s;width:14px}.week-slot-card:hover .week-slot-attendance{opacity:1}.week-slot-attendance:hover{background:#1565c0;color:#fff}.slot-batch-tag{background:#fff3e0;border:1px solid #ffe0b2;border-radius:3px;color:#8d6e63;display:inline-block;font-size:11px;line-height:1.4;padding:1px 7px;white-space:nowrap}.lcs-page{margin:0 auto;max-width:1400px;padding:24px}.lcs-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.lcs-title{color:#111827;font-size:24px;font-weight:600;margin:0}.lcs-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.lcs-filter-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:4px;margin-bottom:16px;padding-bottom:0}.lcs-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:-1px;padding:10px 16px;transition:all .15s}.lcs-tab:hover{background:#f9fafb;color:#374151}.lcs-tab.active{border-bottom-color:#2563eb;color:#2563eb;font-weight:600}.lcs-tab-count{align-items:center;background:#e5e7eb;border-radius:10px;color:#4b5563;display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.lcs-tab.active .lcs-tab-count{background:#dbeafe;color:#1e40af}.lcs-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.lcs-search-wrapper{flex:0 1 400px}.lcs-search{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.lcs-search:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.lcs-bulk-bar{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;gap:10px;padding:8px 16px}.lcs-bulk-count{color:#0369a1;font-size:13px}.lcs-bulk-btn,.lcs-bulk-count{font-weight:600;white-space:nowrap}.lcs-bulk-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;padding:6px 14px;transition:all .15s}.lcs-bulk-approve{background:#16a34a;color:#fff}.lcs-bulk-approve:hover{background:#15803d}.lcs-bulk-reject{background:#dc2626;color:#fff}.lcs-bulk-reject:hover{background:#b91c1c}.lcs-bulk-clear{background:none;border:none;color:#6b7280;cursor:pointer;font-size:12px;padding:4px 8px;text-decoration:underline}.lcs-bulk-clear:hover{color:#374151}.lcs-loading{color:#6b7280;padding:60px 20px}.lcs-error,.lcs-loading{font-size:14px;text-align:center}.lcs-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;gap:12px;justify-content:center;padding:20px}.lcs-retry-btn{background:#fff;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:background .15s}.lcs-retry-btn:hover{background:#fef2f2}.lcs-empty{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:14px;padding:60px 20px;text-align:center}.lcs-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;overflow-x:auto}.lcs-table{border-collapse:collapse;width:100%}.lcs-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.lcs-table th{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.lcs-th-check{text-align:center!important;width:40px}.lcs-table td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px;padding:12px 16px;vertical-align:middle}.lcs-td-check{text-align:center;width:40px}.lcs-table tbody tr:hover{background:#f9fafb}.lcs-table tbody tr:last-child td{border-bottom:none}.lcs-row-selected{background:#eff6ff!important}.lcs-row-selected:hover{background:#dbeafe!important}.lcs-faculty-name{color:#111827;font-weight:500}.lcs-faculty-email{color:#9ca3af;font-size:12px;margin-top:2px}.lcs-status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.lcs-status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.lcs-status-approved{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.lcs-status-rejected{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.lcs-reason-cell{max-width:200px}.lcs-no-reason{color:#d1d5db}.lcs-reviewer-name{color:#374151;font-size:13px;font-weight:500}.lcs-reviewer-date{color:#9ca3af;font-size:11px;margin-top:2px}.lcs-reviewer-remarks{color:#6b7280;cursor:help;font-size:11px;font-style:italic;margin-top:4px}.lcs-actions-cell{white-space:nowrap}.lcs-action-btns{display:flex;gap:6px}.lcs-btn-approve{background:#16a34a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .15s}.lcs-btn-approve:hover{background:#15803d;box-shadow:0 2px 4px #16a34a4d;transform:translateY(-1px)}.lcs-btn-reject{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .15s}.lcs-btn-reject:hover{background:#b91c1c;box-shadow:0 2px 4px #dc26264d;transform:translateY(-1px)}.lcs-reviewed-label{color:#9ca3af;font-size:12px;font-style:italic}.lcs-pagination{align-items:center;display:flex;justify-content:space-between;margin-top:16px;padding:0 4px}.lcs-pagination-info{color:#6b7280;font-size:13px}.lcs-pagination-btns{display:flex;gap:4px}.lcs-page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;min-width:36px;padding:6px 12px;text-align:center;transition:all .15s}.lcs-page-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.lcs-page-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.lcs-page-btn:disabled{cursor:not-allowed;opacity:.4}.lcs-modal-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.lcs-modal-row{border-bottom:1px solid #e5e7eb;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.lcs-modal-row:last-child{border-bottom:none}.lcs-modal-label{color:#6b7280;font-weight:500}.modal-footer .btn.btn-success{background-color:#16a34a;border-color:#16a34a;color:#fff}.modal-footer .btn.btn-success:hover{background-color:#15803d;border-color:#15803d}.modal-footer .btn.btn-danger{background-color:#dc2626;border-color:#dc2626;color:#fff}.modal-footer .btn.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}.modal-footer .btn.btn-secondary{background-color:#6b7280;border-color:#6b7280;color:#fff}.modal-footer .btn.btn-secondary:hover{background-color:#4b5563;border-color:#4b5563}.lcs-table input[type=checkbox]{accent-color:#2563eb;cursor:pointer;height:16px;width:16px}.ai-workspace-config{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.ai-workspace-config .loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.ai-workspace-config .spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:16px;width:40px}.config-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.config-header h1{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 4px}.header-subtitle{color:#64748b;font-size:14px;margin:0}.btn-save{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:opacity .2s}.btn-save:hover{opacity:.9}.btn-save:disabled{cursor:not-allowed;opacity:.5}.header-actions{align-items:center;display:flex;gap:12px}.consistency-score-container{position:relative}.score-badge{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 14px;transition:all .2s}.score-badge:hover{background:#f8fafc}.score-value{font-size:18px;font-weight:700}.score-label{color:#64748b;font-size:12px;font-weight:500}.score-toggle{color:#94a3b8;font-size:10px;margin-left:4px}.validation-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 40px #0000001f;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:380px;z-index:100}.validation-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:12px 16px}.validation-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:18px;line-height:1;padding:0}.validation-close:hover{color:#64748b}.validation-issues{max-height:300px;overflow-y:auto}.validation-issue{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:10px;padding:12px 16px}.validation-issue:last-child{border-bottom:none}.issue-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.issue-error .issue-icon{background:#fef2f2;color:#dc2626}.issue-warning .issue-icon{background:#fffbeb;color:#d97706}.issue-info .issue-icon{background:#eff6ff;color:#2563eb}.issue-message{color:#334155;font-size:13px;line-height:1.4}.validation-success{align-items:center;color:#059669;display:flex;font-size:13px;gap:10px;padding:16px}.btn-template-picker{background:#f1f5f9;border:1px solid #d1d5db;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-template-picker:hover{background:#e2e8f0;border-color:#94a3b8}.btn-save-template{background:#fff;border:1px solid #6366f1;border-radius:8px;color:#6366f1;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-save-template:hover{background:#eef2ff}.ai-workspace-config .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.ai-workspace-config .modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:480px;overflow:hidden;width:100%}.ai-workspace-config .template-picker-modal{max-width:700px}.ai-workspace-config .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.ai-workspace-config .modal-header h2{color:#1e293b;font-size:18px;font-weight:600;margin:0}.ai-workspace-config .modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:24px;line-height:1;padding:0}.ai-workspace-config .modal-close:hover{color:#64748b}.ai-workspace-config .modal-body{flex:1 1;overflow-y:auto;padding:24px}.ai-workspace-config .modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-cancel{background:#f1f5f9;border:1px solid #d1d5db;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-cancel:hover{background:#e2e8f0}.checkbox-group{margin-top:8px}.checkbox-label{display:flex;gap:10px}.checkbox-label input[type=checkbox]{height:18px;width:18px}.checkbox-label span{color:#1e293b;font-size:14px}.loading-templates{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:40px}.template-section{margin-bottom:24px}.template-section:last-child{margin-bottom:0}.template-section h3{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.template-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.template-card{border-radius:10px;padding:16px;transition:all .2s}.template-card:hover{background:#fff;box-shadow:0 4px 12px #6366f11a}.template-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:4px}.template-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:12px;line-height:1.4;margin-bottom:8px;overflow:hidden}.template-meta{align-items:center;color:#94a3b8;display:flex;font-size:11px;gap:8px}.shared-badge{background:#dbeafe;border-radius:4px;color:#2563eb;font-weight:500;padding:2px 6px}.no-templates{color:#64748b;padding:40px 20px;text-align:center}.no-templates p{margin:0 0 8px}.success-icon{background:#d1fae5;color:#059669;font-weight:700;height:24px;width:24px}.alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.config-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:4px;margin-bottom:24px}.tab-btn{background:none;padding:10px 20px;transition:all .2s}.tab-btn:hover{color:#6366f1}.tab-btn.active{border-bottom-color:#6366f1;color:#6366f1}.tab-btn:disabled{cursor:not-allowed;opacity:.4}.config-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.config-section h2{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.section-divider{border-top:1px solid #e2e8f0;margin-top:24px!important;padding-top:20px}.form-group{margin-bottom:16px}.form-group label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-group .required{color:#ef4444}.btn-use-template{background:none;border:none;color:#6366f1;cursor:pointer;font-size:13px;font-weight:500;margin-left:8px;padding:0;text-decoration:underline}.btn-use-template:hover{color:#4f46e5}.field-help{color:#94a3b8;font-size:12px;margin:0 0 6px}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.char-count{color:#94a3b8;display:block;font-size:11px;margin-top:4px;text-align:right}.form-row{display:flex;gap:16px}.form-group.half{flex:1 1}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px}.checkbox-label input[type=checkbox]{accent-color:#6366f1;height:16px;width:16px}.test-layout{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.test-input-section h2,.test-result-section h2{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 8px}.btn-test{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-test:hover{background:#4f46e5}.btn-test:disabled{cursor:not-allowed;opacity:.5}.test-result{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.response-text{color:#1e293b;font-size:14px;line-height:1.6;white-space:pre-wrap}.response-meta{border-top:1px solid #e2e8f0;color:#94a3b8;display:flex;font-size:12px;gap:16px;margin-top:12px;padding-top:12px}.test-placeholder{background:#f8fafc;border:1px dashed #d1d5db;border-radius:8px;color:#94a3b8;padding:40px 20px;text-align:center}.template-picker{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:12px}.template-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:12px;transition:all .15s}.template-card:hover{background:#f5f3ff;border-color:#6366f1;box-shadow:0 1px 4px #6366f11f}.template-card-name{color:#1e293b;font-size:13px;font-weight:600;margin-bottom:4px}.template-card-desc{color:#64748b;font-size:11px;line-height:1.4}.rubric-info-banner{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.rubric-info-banner.has-rubric{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.rubric-info-banner.no-rubric{background:#f1f5f9;border:1px solid #e2e8f0}.rubric-info-content{align-items:center;display:flex;gap:12px}.rubric-icon{font-size:20px}.rubric-details{display:flex;flex-direction:column;gap:2px}.rubric-details strong{color:#1e293b}.rubric-meta{color:#64748b;font-size:12px}.rubric-actions{flex-shrink:0}.rubric-link{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6366f1;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s}.rubric-link:hover{background:#f5f3ff;border-color:#6366f1;cursor:pointer}.rubric-link:disabled{cursor:not-allowed;opacity:.6}.rubric-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:13px;margin-top:4px;min-width:200px;padding:6px 10px}.rubric-select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133;outline:none}.rubric-select:disabled{cursor:not-allowed;opacity:.6}.rag-info-banner{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.rag-info-banner.has-rag{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981}.rag-info-banner.no-rag{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.rag-info-banner.rag-processing{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6}.rag-info-content{align-items:center;display:flex;gap:12px}.rag-icon{font-size:20px}.rag-details{display:flex;flex-direction:column;gap:2px}.rag-details strong{color:#1e293b}.rag-meta{color:#64748b;font-size:12px}.rag-actions{flex-shrink:0}.rag-link{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6366f1;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s}.rag-link:hover{background:#f5f3ff;border-color:#6366f1}.rag-link:disabled{cursor:not-allowed;opacity:.6}.rag-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:13px;min-width:200px;padding:6px 10px}.rag-select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133;outline:none}.rag-spinner{animation:spin .6s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;display:inline-block;height:16px;width:16px}.boundary-levels{display:flex;flex-direction:column;gap:12px;margin-top:16px}.boundary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.boundary-header h4{color:#1e293b;font-size:14px;font-weight:600;margin:0 0 4px}.boundary-header p{color:#64748b;font-size:12px;margin:0 0 12px}.boundary-controls{display:flex;flex-wrap:wrap;gap:12px}.boundary-controls .control-group{flex:1 1;min-width:120px}.boundary-controls .control-group.full-width{flex:100% 1}.boundary-controls label{color:#64748b;display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.boundary-controls input,.boundary-controls select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;padding:8px 10px;width:100%}.boundary-controls input:focus,.boundary-controls select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.boundary-summary-grid{grid-gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:12px;padding:12px}.boundary-summary-cell{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px;text-align:center}.summary-level{color:#64748b;font-size:11px;font-weight:600;margin-bottom:6px;text-transform:uppercase}.summary-behavior{font-size:14px;font-weight:600;margin-bottom:4px}.summary-behavior.behavior-allow{color:#16a34a}.summary-behavior.behavior-redirect{color:#d97706}.summary-behavior.behavior-block{color:#dc2626}.summary-tone{color:#94a3b8;font-size:11px;text-transform:capitalize}.template-link-banner{align-items:center;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:14px 20px}.template-link-banner.has-update{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.template-link-banner.synced{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6}.template-link-content{align-items:center;display:flex;gap:12px}.template-link-icon{font-size:24px}.template-link-info{display:flex;flex-direction:column;gap:2px}.template-link-info strong{color:#1e293b;font-size:14px}.template-link-meta{color:#64748b;font-size:12px}.template-link-actions{display:flex;gap:8px}.btn-sync-template{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .2s}.btn-sync-template:hover:not(:disabled){background:#d97706}.btn-sync-template:disabled{cursor:not-allowed;opacity:.6}.btn-unlink-template{background:#0000;border:1px solid #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;transition:all .2s}.btn-unlink-template:hover:not(:disabled){background:#f1f5f9;color:#475569}.btn-unlink-template:disabled{cursor:not-allowed;opacity:.6}.sync-modal{max-width:480px}.sync-intro{color:#475569;line-height:1.5;margin:0 0 16px}.sync-intro strong{color:#1e293b}.sync-version-info{background:#f8fafc;border-radius:8px;margin-bottom:16px;padding:12px 16px}.version-row{align-items:center;display:flex;justify-content:space-between;padding:6px 0}.version-row:not(:last-child){border-bottom:1px solid #e2e8f0}.version-label{color:#64748b;font-size:13px}.version-value{font-size:13px;font-weight:600}.version-new{color:#16a34a}.version-old{color:#94a3b8}.sync-warning{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:14px 16px}.sync-warning strong{color:#92400e;font-size:13px}.sync-warning ul{color:#78350f;font-size:13px;margin:8px 0;padding-left:20px}.sync-warning li{margin:4px 0}.warning-text{color:#b45309;font-size:12px;font-style:italic;margin:10px 0 0}.btn-sync-confirm{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .2s}.btn-sync-confirm:hover:not(:disabled){opacity:.9}.btn-sync-confirm:disabled{cursor:not-allowed;opacity:.6}.btn-analyze{align-items:center;background:linear-gradient(135deg,#8b5cf6,#a855f7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-analyze:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-analyze:disabled{cursor:not-allowed;opacity:.6}.btn-analyze .spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.score-info-btn{align-items:center;background:none;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:16px;justify-content:center;line-height:1;padding:4px;transition:all .2s}.score-info-btn:hover{background:#f1f5f9;color:#6366f1}.score-info-tooltip{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 40px #00000026;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:320px;z-index:101}.score-info-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 16px}.score-info-header h4{color:#475569;font-size:13px;font-weight:600;margin:0}.score-info-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:18px;line-height:1;padding:0}.score-info-close:hover{color:#64748b}.score-info-content{padding:16px}.score-breakdown{margin-bottom:16px}.score-breakdown-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.score-breakdown-row:last-child{border-bottom:none}.score-breakdown-label{align-items:center;color:#475569;display:flex;gap:6px}.score-breakdown-value{font-weight:600}.score-breakdown-value.positive{color:#16a34a}.score-breakdown-value.negative{color:#dc2626}.score-breakdown-value.neutral{color:#64748b}.score-formula{background:#f8fafc;border-radius:8px;color:#64748b;font-size:12px;line-height:1.5;padding:12px}.score-formula strong{color:#475569}.ai-assessment{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-top:1px solid #e2e8f0;padding:12px 16px}.ai-assessment-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.ai-assessment-header span:first-child{font-size:16px}.ai-assessment-header strong{color:#6d28d9;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.ai-assessment-text{color:#4c1d95;font-size:13px;line-height:1.5;margin:0}.validation-issue.ai-issue{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-left:3px solid #a855f7}.ai-issue .issue-icon{background:#f3e8ff;color:#9333ea}.ai-badge{align-items:center;background:linear-gradient(135deg,#a855f7,#9333ea);border-radius:4px;color:#fff;display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:.03em;margin-left:8px;padding:2px 6px;text-transform:uppercase}.issue-suggestion{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#166534;font-size:12px;line-height:1.4;margin-top:8px;padding:8px 10px}.issue-suggestion strong{color:#15803d;display:block;margin-bottom:2px}.analyzing-indicator{align-items:center;background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#6d28d9;display:flex;font-size:13px;gap:8px;padding:12px 16px}.analyzing-indicator .spinner-small{animation:spin .8s linear infinite;border:2px solid #e9d5ff;border-radius:50%;border-top-color:#8b5cf6;height:16px;width:16px}@media (max-width:768px){.config-grid,.test-layout{grid-template-columns:1fr}.config-header{gap:12px}.config-header,.form-row{flex-direction:column}.rag-info-banner,.rubric-info-banner{align-items:flex-start;flex-direction:column;gap:12px}.boundary-controls{flex-direction:column}.boundary-controls .control-group{min-width:100%}}.ai-workspace{display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:calc(100vh - 80px);margin:0 auto;max-width:1200px;padding:20px}.ai-workspace .loading-state{align-items:center;color:#64748b;display:flex;flex:1 1;flex-direction:column;justify-content:center}.ai-workspace .spinner{animation:ws-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:16px;width:40px}@keyframes ws-spin{to{transform:rotate(1turn)}}.submit-success{flex:1 1;flex-direction:column;padding:40px;text-align:center}.submit-success,.success-icon{align-items:center;display:flex;justify-content:center}.success-icon{background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;color:#fff;font-size:32px;height:64px;margin-bottom:16px;width:64px}.submit-success h2{color:#1e293b;font-size:24px;margin:0 0 8px}.submit-success p{color:#64748b;margin:0 0 24px}.submit-summary{display:flex;gap:24px}.summary-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;padding:16px 24px}.summary-label{color:#94a3b8;font-size:12px;margin-bottom:4px}.summary-value{color:#6366f1;font-size:24px;font-weight:700}.workspace-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px}.workspace-header h1{color:#1e293b;font-size:20px;font-weight:700;margin:0}.header-left{gap:12px}.turns-badge{background:#ede9fe;color:#7c3aed;font-weight:500}.status-badge,.turns-badge{border-radius:16px;font-size:13px;padding:4px 12px}.status-completed{background:#fef3c7;color:#d97706}.btn-submit{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px}.btn-submit:hover{opacity:.9}.ai-workspace .alert{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:14px;justify-content:space-between;margin-bottom:12px;padding:12px 16px}.ai-workspace .alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7}.ai-workspace .alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.instructions-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-shrink:0;margin-bottom:12px;padding:16px}.instructions-banner h3{color:#1d4ed8;font-size:14px;font-weight:600;margin:0 0 8px}.instructions-banner p{color:#1e40af;font-size:14px;line-height:1.5;margin:0}.workspace-layout{gap:16px}.chat-area,.workspace-layout{display:flex;flex:1 1;min-height:0}.chat-area{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;overflow:hidden}.chat-area.with-panel{flex:2 1}.messages-container{flex:1 1;overflow-y:auto;padding:16px}.empty-chat{align-items:center;color:#94a3b8;display:flex;height:100%;justify-content:center;text-align:center}.message{display:flex;gap:12px;margin-bottom:16px}.message-user{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:36px;justify-content:center;width:36px}.message-user .message-avatar{background:#6366f1;color:#fff}.message-assistant .message-avatar{background:#e2e8f0;color:#475569}.message-content{max-width:70%}.message-text{word-wrap:break-word;border-radius:12px;font-size:14px;line-height:1.6;padding:12px 16px;white-space:pre-wrap}.message-user .message-text{background:#6366f1;border-bottom-right-radius:4px;color:#fff}.message-assistant .message-text{background:#f1f5f9;border-bottom-left-radius:4px;color:#1e293b;white-space:normal}.message-assistant .message-text h1,.message-assistant .message-text h2,.message-assistant .message-text h3,.message-assistant .message-text h4{font-weight:600;line-height:1.3;margin:.75em 0 .5em}.message-assistant .message-text h1:first-child,.message-assistant .message-text h2:first-child,.message-assistant .message-text h3:first-child{margin-top:0}.message-assistant .message-text h2{border-bottom:1px solid #e2e8f0;color:#1e40af;font-size:1.1em;padding-bottom:4px}.message-assistant .message-text h3{color:#334155;font-size:1em}.message-assistant .message-text p{margin:.5em 0}.message-assistant .message-text p:first-child{margin-top:0}.message-assistant .message-text p:last-child{margin-bottom:0}.message-assistant .message-text ol,.message-assistant .message-text ul{margin:.5em 0;padding-left:1.5em}.message-assistant .message-text li{margin:.25em 0}.message-assistant .message-text strong{color:#1e293b;font-weight:600}.message-assistant .message-text em{font-style:italic}.message-assistant .message-text code{background:#e2e8f0;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;padding:.15em .4em}.message-assistant .message-text pre{background:#1e293b;border-radius:6px;color:#e2e8f0;margin:.75em 0;overflow-x:auto;padding:12px}.message-assistant .message-text pre code{background:#0000;color:inherit;padding:0}.message-assistant .message-text blockquote{border-left:3px solid #6366f1;color:#64748b;font-style:italic;margin:.75em 0;padding-left:12px}.message-assistant .message-text hr{border:none;border-top:1px solid #e2e8f0;margin:1em 0}.message-assistant .message-text table{border-collapse:collapse;font-size:.9em;margin:.75em 0;width:100%}.message-assistant .message-text td,.message-assistant .message-text th{border:1px solid #e2e8f0;padding:6px 10px;text-align:left}.message-assistant .message-text th{background:#f8fafc;font-weight:600}.message-assistant .message-text a{color:#6366f1;text-decoration:underline}.message-meta{color:#94a3b8;display:block;font-size:11px;margin-top:4px;text-align:right}.message-user .message-meta{text-align:left}.typing-indicator{background:#f1f5f9;border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:12px 16px}.typing-indicator span{animation:typing-bounce 1.4s ease-in-out infinite;background:#94a3b8;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-input-area{border-top:1px solid #e2e8f0;flex-shrink:0;padding:12px 16px}.input-row{align-items:flex-end;display:flex;gap:8px}.input-row textarea{border:1px solid #d1d5db;border-radius:8px;color:#1e293b;flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px;resize:none}.input-row textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.btn-send{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:-webkit-fit-content;height:fit-content;padding:10px 20px}.btn-send:hover{background:#4f46e5}.btn-send:disabled{cursor:not-allowed;opacity:.5}.input-disabled{color:#94a3b8;font-size:14px;padding:8px;text-align:center}.reflection-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:20px}.reflection-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.reflection-header h2{color:#1e293b;font-size:16px;font-weight:600;margin:0}.btn-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:20px}.reflection-prompt{background:#fefce8;border:1px solid #fde68a;border-radius:8px;margin-bottom:16px;padding:12px}.reflection-prompt p{color:#854d0e;font-size:14px;line-height:1.5;margin:0}.reflection-panel .form-group{display:flex;flex:1 1;flex-direction:column;margin-bottom:16px}.reflection-panel .form-group label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.reflection-panel .form-group .required{color:#ef4444}.reflection-panel textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1e293b;flex:1 1;font-family:inherit;font-size:14px;min-height:120px;padding:12px;resize:vertical;width:100%}.reflection-panel textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.reflection-actions{display:flex;flex-shrink:0;gap:12px}.btn-save-draft{background:#f1f5f9;border:1px solid #d1d5db;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-save-draft:hover{background:#e2e8f0}.btn-save-draft:disabled{cursor:not-allowed;opacity:.5}.btn-final-submit{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 24px}.btn-final-submit:hover{opacity:.9}.btn-final-submit:disabled{cursor:not-allowed;opacity:.5}.btn-debug-toggle{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-radius:50%;color:#6366f1;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;width:32px}.btn-debug-toggle:hover{background:#ede9fe;border-color:#6366f1}.debug-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex:1 1;flex-direction:column;max-height:100%;overflow-y:auto;padding:20px}.debug-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px}.debug-header h2{color:#1e293b;font-size:16px;font-weight:600;margin:0}.debug-content{flex:1 1;overflow-y:auto}.debug-section{border-bottom:1px solid #f1f5f9;margin-bottom:20px;padding-bottom:16px}.debug-section:last-child{border-bottom:none;margin-bottom:0}.debug-section h3{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.debug-field{align-items:flex-start;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.debug-label{color:#64748b;flex-shrink:0;margin-right:12px}.debug-value{color:#1e293b;font-weight:500;text-align:right;word-break:break-word}.debug-prompt{word-wrap:break-word;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-family:Courier New,monospace;font-size:12px;margin:0;max-height:200px;overflow-y:auto;padding:10px;white-space:pre-wrap}.debug-loading{color:#94a3b8;font-size:13px;padding:20px;text-align:center}.debug-sources{display:flex;flex-direction:column;gap:6px;margin-top:8px}.debug-source-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;font-size:12px;gap:8px;padding:6px 8px}.debug-source-name{color:#334155;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-source-page{color:#64748b;flex-shrink:0;font-size:11px}.debug-source-score{color:#16a34a;flex-shrink:0;font-size:11px;font-weight:600}.debug-panel-inline{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:20px;max-width:600px;padding:20px;text-align:left;width:100%}.btn-reset-small{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;width:32px}.btn-reset-small:hover{background:#fef2f2;border-color:#f87171;color:#ef4444}.btn-reset{background:#f1f5f9;border:1px solid #d1d5db;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px}.btn-reset:hover{background:#e2e8f0;color:#1e293b}.submit-actions{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:24px}.btn-ask-teacher{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:10px 24px;transition:all .2s}.btn-ask-teacher:hover{opacity:.9;transform:translateY(-1px)}.btn-ask-teacher:disabled{cursor:not-allowed;opacity:.5;transform:none}.ask-teacher-hint{padding:6px 0 2px;text-align:center}.btn-ask-teacher-link{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:12px;padding:0;text-decoration:underline;transition:color .2s}.btn-ask-teacher-link:hover{color:#f59e0b}.btn-ask-teacher-link:disabled{cursor:not-allowed;opacity:.5}.escalated-confirmation{color:#16a34a;font-size:13px;font-weight:500;margin-top:8px;text-align:center}.workspace-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.workspace-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:24px;width:90%}.workspace-modal p{color:#1e293b;font-size:15px;line-height:1.5;margin:0 0 20px}.workspace-modal-actions{display:flex;gap:10px;justify-content:flex-end}.workspace-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.workspace-modal-btn-cancel{background:#f1f5f9;color:#475569}.workspace-modal-btn-cancel:hover{background:#e2e8f0}.workspace-modal-btn-confirm{background:#6366f1;color:#fff}.workspace-modal-btn-confirm:hover{background:#4f46e5}@media (max-width:768px){.ai-workspace{height:calc(100vh - 60px);padding:12px}.workspace-layout{flex-direction:column}.message-content{max-width:85%}.workspace-header{align-items:flex-start;flex-direction:column;gap:8px}.btn-submit,.header-right{width:100%}}.rubrics-page{margin:0 auto;max-width:1400px;padding:24px}.rubrics-table{color:#212529;overflow:visible!important}.rubrics-table thead th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px 8px}.rubrics-table tbody td{color:#212529;padding:12px 8px;vertical-align:middle}.rubrics-table tbody tr{border-bottom:1px solid #e9ecef}.rubrics-table .badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;line-height:1.2;padding:3px 8px;white-space:nowrap}.rubrics-table .score-text{color:#0d6efd;font-weight:600}.rubrics-table .status-active{color:#198754;font-weight:500}.rubrics-table .status-inactive{color:#6c757d;font-weight:500}.rubric-code{background:#f1f3f4;border-radius:4px;color:#5f6368;font-size:12px;padding:2px 8px}.rubrics-table .expanded-row{background-color:#f8f9fa}.rubrics-table .expanded-row td{border-bottom:none}.rubric-preview-row{background-color:#f8f9fa}.rubric-preview-row td{padding:0!important}.rubric-preview{background:#fff;border-top:1px solid #dee2e6;margin:0}.rubric-levels-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.rubric-level-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px}.rubric-level-card .level-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.rubric-level-card .level-name{color:#333;font-weight:600}.rubric-level-card .level-score{color:#0d6efd;font-size:13px;font-weight:600}.rubric-level-card .level-description{color:#666;font-size:13px;line-height:1.4;margin:0}.rubric-level-form-item{background:#fafafa;transition:background .2s}.rubric-level-form-item:hover{background:#f5f5f5}.rubrics-page .btn-danger{background-color:#dc3545!important;border-color:#dc3545!important;color:#fff!important}.rubrics-page .btn-danger:hover{background-color:#bb2d3b!important;border-color:#b02a37!important}.rubrics-page .btn-primary{background-color:#6c63ff!important;border-color:#6c63ff!important;color:#fff!important}.rubrics-page .btn-danger.btn-sm,.rubrics-page .btn-primary.btn-sm{font-size:13px!important;padding:4px 8px!important}.rubrics-table tbody tr.rubric-preview-row:hover,.rubrics-table tbody tr:hover{background-color:#f8f9fa}@media (max-width:768px){.rubrics-page{padding:16px}.rubric-levels-grid{grid-template-columns:1fr}}.cm-page{margin:0 auto;max-width:1400px;padding:24px}.cm-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.cm-header h1{color:#111827;font-size:24px;font-weight:600;margin:0}.cm-header-actions{align-items:center;display:flex;gap:10px}.cm-btn-create{align-items:center;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:background .2s}.cm-btn-create:hover{background:#1d4ed8}.cm-alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.cm-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.cm-alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.cm-alert-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.6;padding:0 4px}.cm-alert-dismiss:hover{opacity:1}.cm-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.cm-search-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:14px;max-width:350px;min-width:200px;padding:10px 16px}.cm-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.cm-filter-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;min-width:140px;padding:10px 16px}.cm-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.cm-filter-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.cm-btn-apply{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background .2s}.cm-btn-apply:hover{background:#1d4ed8}.cm-btn-reset{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.cm-btn-reset:hover{background:#f9fafb;border-color:#9ca3af}.cm-count{color:#6b7280;font-size:13px;white-space:nowrap}.cm-count strong{color:#374151}.cm-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.cm-table{border-collapse:collapse;width:100%}.cm-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.cm-table th{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.cm-table th.sortable{cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none}.cm-table th.sortable:hover{color:#374151}.cm-table th.active-sort{color:#2563eb}.cm-table td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px;padding:10px 16px;vertical-align:middle}.cm-table tbody tr:last-child td{border-bottom:none}.cm-table tbody tr{transition:background .15s}.cm-table tbody tr:hover{background:#f9fafb}.cm-table .text-end{text-align:right}.cm-sort-icon{font-size:10px;margin-left:4px}.cm-sort-icon.inactive{opacity:.3}.cm-course-name{color:#111827;font-weight:600}.cm-cell-muted{color:#6b7280;font-size:13px}.cm-code-cell{font-family:Courier New,monospace;font-size:13px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-status-active{background:#dcfce7;color:#16a34a}.cm-status-active,.cm-status-inactive{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:2px 10px}.cm-status-inactive{background:#f3f4f6;color:#6b7280}.cm-actions{gap:6px;justify-content:flex-end}.cm-actions,.cm-btn-action{align-items:center;display:flex}.cm-btn-action{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;gap:4px;padding:5px 10px;transition:all .15s cubic-bezier(.4,0,.2,1)}.cm-btn-action:hover{transform:translateY(-1px)}.cm-btn-docs{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 1px 3px #6b72804d}.cm-btn-docs:hover{box-shadow:0 4px 8px #6b728066}.cm-btn-edit{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 1px 3px #2563eb4d}.cm-btn-edit:hover{box-shadow:0 4px 8px #2563eb66}.cm-btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 1px 3px #ef44444d}.cm-btn-delete:hover{box-shadow:0 4px 8px #ef444466}.cm-pagination{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.cm-pagination-info{color:#6b7280;font-size:13px}.cm-pagination-controls{align-items:center;display:flex;gap:8px}.cm-btn-page{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.cm-btn-page:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.cm-btn-page:disabled{cursor:not-allowed;opacity:.5}.cm-page-info{color:#6b7280;font-size:13px}.cm-empty,.cm-loading{color:#6b7280;padding:60px 20px;text-align:center}.cm-empty p,.cm-loading p{font-size:14px;margin:12px 0 0}.cm-empty h5{color:#374151;font-size:16px;font-weight:600;margin:12px 0 4px}.cm-empty button{margin-top:16px}.cm-header-with-back{align-items:center;display:flex;gap:16px}.cm-btn-back{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;padding:8px 14px;transition:all .2s;white-space:nowrap}.cm-btn-back:hover{background:#f9fafb;border-color:#9ca3af}.cm-header-subtitle{color:#6b7280;font-size:14px;margin:2px 0 0}.cm-btn-secondary{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.cm-btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.cm-btn-create:disabled,.cm-btn-secondary:disabled{cursor:not-allowed;opacity:.6}.cm-rag-bar{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-bottom:20px;padding:10px 16px}.cm-rag-label{color:#374151;font-weight:600}.cm-rag-status-completed{color:#16a34a;font-size:12px;font-weight:600}.cm-rag-status-processing{color:#d97706;font-size:12px;font-weight:600}.cm-rag-status-failed{color:#dc2626;font-size:12px;font-weight:600}.cm-rag-status-none{color:#6b7280;font-size:12px;font-weight:600}.cm-rag-meta{color:#6b7280;font-size:13px}.cm-rag-error{align-items:center;color:#dc2626;display:flex;font-size:13px;gap:4px}.cm-doc-name-cell{align-items:center;display:flex;gap:10px}.cm-doc-icon{color:#6b7280;flex-shrink:0}.cm-doc-name{color:#111827;font-weight:600}.cm-doc-link{color:#2563eb;font-size:12px;text-decoration:none}.cm-doc-link:hover{text-decoration:underline}.cm-chunks-count{color:#9ca3af;font-size:10px;margin-top:1px}.flows-page{margin:0 auto;max-width:1400px;padding:24px}.flows-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.flows-header h1{color:#1e293b;font-size:24px;font-weight:700;margin:0}.flows-filters,.flows-header-actions{display:flex;gap:12px}.flows-filters{flex-wrap:wrap;margin-bottom:20px}.flows-search{flex:1 1;max-width:400px;min-width:200px}.flows-search input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 14px;width:100%}.flows-search input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.flows-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.flows-table{border-collapse:collapse;width:100%}.flows-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.flows-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:14px;padding:14px 16px;vertical-align:middle}.flows-table tr:last-child td{border-bottom:none}.flows-table tbody tr:hover{background:#f8fafc}.flow-name-cell{gap:12px}.flow-icon,.flow-name-cell{align-items:center;display:flex}.flow-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;color:#fff;font-size:18px;height:36px;justify-content:center;width:36px}.flow-name-info{display:flex;flex-direction:column;gap:2px}.flow-name{color:#1e293b;font-weight:600}.flow-code{color:#94a3b8;font-size:12px}.steps-badge{align-items:center;background:#f1f5f9;border-radius:20px;color:#475569;display:inline-flex;font-size:13px;gap:6px;padding:4px 10px}.steps-badge svg{height:14px;width:14px}.template-badge{align-items:center;background:#fef3c7;color:#d97706;font-size:11px;font-weight:600;gap:4px;text-transform:uppercase}.status-badge,.template-badge{border-radius:4px;display:inline-flex;padding:3px 8px}.status-badge{font-size:12px;font-weight:500}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.inactive{background:#fee2e2;color:#dc2626}.flow-actions{display:flex;gap:8px;justify-content:flex-end}.btn-action{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#334155;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s}.btn-action:hover{background:#f8fafc;border-color:#cbd5e1}.btn-action.primary{background:#6366f1;border-color:#6366f1;color:#fff}.btn-action.primary:hover{background:#4f46e5}.btn-action.danger{color:#dc2626}.btn-action.danger:hover{background:#fef2f2;border-color:#fecaca}.expand-toggle{border-radius:4px;cursor:pointer;padding:4px;transition:background .15s}.expand-toggle:hover{background:#f1f5f9}.expand-toggle svg{transition:transform .2s}.expand-toggle.expanded svg{transform:rotate(90deg)}.steps-preview-row td{background:#f8fafc;padding:0!important}.steps-preview{border-top:1px solid #e2e8f0;padding:16px 24px}.steps-preview-title{color:#64748b;font-size:12px;font-weight:600;margin-bottom:12px;text-transform:uppercase}.steps-preview-list{display:flex;flex-wrap:wrap;gap:8px}.step-preview-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.step-number{background:#6366f1;color:#fff;font-weight:600;height:20px;width:20px}.step-number,.step-route{font-size:11px}.flows-empty{color:#64748b;padding:60px 20px;text-align:center}.flows-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.flows-empty h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.flows-empty p{margin:0 0 20px}.flows-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.flows-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:16px;width:40px}.flows-alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.flows-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.flows-alert.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.flows-alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7}.delete-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1050}.delete-modal{background:#fff;border-radius:12px;max-width:400px;padding:24px;width:90%}.delete-modal h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 12px}.delete-modal p{color:#64748b;margin:0 0 24px}.delete-modal-actions{display:flex;gap:12px;justify-content:flex-end}.offcanvas-backdrop,body>.offcanvas-backdrop{background-color:#00000080!important;bottom:0!important;height:100vh!important;left:0!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:1040!important}.offcanvas-backdrop.show{opacity:1!important}.offcanvas-backdrop.fade{opacity:0;transition:opacity .15s linear}.offcanvas,body>.offcanvas{position:fixed!important;z-index:1101!important}.offcanvas.offcanvas-end,body>.offcanvas.offcanvas-end{background-color:#fff!important;border-left:1px solid #0000001a!important;bottom:0!important;box-shadow:-4px 0 20px #00000026!important;height:100vh!important;left:auto!important;max-height:100vh!important;position:fixed!important;right:0!important;top:0!important;z-index:1101!important}.offcanvas.offcanvas-end.show{transform:translateX(0)!important}.offcanvas.offcanvas-end.hiding,.offcanvas.offcanvas-end:not(.show){transform:translateX(100%)!important}.offcanvas .offcanvas-body{flex:1 1 auto!important;overflow-y:auto!important;padding:20px 24px!important}.offcanvas .offcanvas-header{border-bottom:1px solid #e2e8f0;flex-shrink:0!important;padding:16px 24px!important}.offcanvas .offcanvas-title{font-size:1.25rem;font-weight:600}.offcanvas.offcanvas-end{display:flex!important;flex-direction:column!important}.offcanvas .btn-outline-primary{background-color:initial!important;border-color:#6366f1!important;color:#6366f1!important}.offcanvas .btn-outline-primary:hover{background-color:#6366f1!important;color:#fff!important}@media (max-width:768px){.flows-header{align-items:flex-start;gap:12px}.flows-filters,.flows-header{flex-direction:column}.flows-search{max-width:100%}.flow-actions{flex-direction:column}.flows-table{display:block;overflow-x:auto}}.step-form-modal.modal{z-index:1200!important}.step-modal-backdrop.modal-backdrop{z-index:1150!important}.flow-execution-page{background:linear-gradient(180deg,#f8fafc,#f1f5f9);min-height:100vh;padding:24px}.flow-execution-header{margin:0 auto 32px;max-width:800px;text-align:center}.flow-execution-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 8px}.flow-execution-header p{color:#64748b;margin:0}.flow-progress-container{margin:0 auto 32px;max-width:600px}.flow-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.flow-progress-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;height:100%;transition:width .3s ease}.flow-progress-text{color:#64748b;display:flex;font-size:13px;justify-content:space-between;margin-top:8px}.flow-steps-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:600px}.flow-step-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;margin-bottom:0;max-width:400px;padding:20px;position:relative;transition:all .2s;width:100%}.flow-step-card.completed{background:#f0fdf4;border-color:#22c55e}.flow-step-card.current{border-color:#6366f1;box-shadow:0 4px 20px #6366f133}.flow-step-card.current:before{animation:pulse 2s infinite;border:2px solid #6366f1;border-radius:18px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.flow-step-card.pending{opacity:.6}.flow-step-card.skipped{border-style:dashed;opacity:.5}.flow-step-card.clickable{cursor:pointer}.flow-step-card.clickable:hover{box-shadow:0 6px 24px #0000001a;transform:translateY(-2px)}.step-header{gap:14px}.step-header,.step-number{align-items:center;display:flex}.step-number{border-radius:50%;flex-shrink:0;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.flow-step-card.completed .step-number{background:#22c55e;color:#fff}.flow-step-card.current .step-number{background:#6366f1;color:#fff}.flow-step-card.pending .step-number{background:#e2e8f0;color:#64748b}.flow-step-card.skipped .step-number{background:#f1f5f9;color:#94a3b8;text-decoration:line-through}.step-info{flex:1 1;min-width:0}.step-name{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 4px}.step-route{color:#94a3b8;font-size:12px}.step-status-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.step-status-icon.completed{color:#22c55e}.step-status-icon.current svg{animation:bounce 1s infinite;color:#6366f1}@keyframes bounce{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}.step-body{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.step-description{color:#64748b;font-size:13px;line-height:1.5;margin:0 0 12px}.step-instructions{background:#f8fafc;border-radius:10px;margin:12px 0 16px;padding:12px}.instructions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.instructions-title{color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.instructions-progress{background:#eef2ff;border-radius:12px;color:#6366f1;font-size:12px;font-weight:600;padding:2px 8px}.instructions-list{display:flex;flex-direction:column;gap:6px}.instruction-item{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .15s}.instruction-item:hover{background:#fafafa;border-color:#6366f1}.instruction-item.completed{background:#f0fdf4;border-color:#86efac}.instruction-checkbox{align-items:center;border:2px solid #cbd5e1;border-radius:5px;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-top:1px;transition:all .15s;width:20px}.instruction-checkbox.checked{background:#22c55e;border-color:#22c55e;color:#fff}.instruction-text{color:#334155;font-size:14px;line-height:1.4}.instruction-text.completed{color:#64748b;text-decoration:line-through}.step-meta{color:#94a3b8;display:flex;font-size:12px;gap:16px}.step-meta span{align-items:center;display:flex;gap:4px}.step-actions{display:flex;gap:8px;margin-top:16px}.btn-step-action{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .15s}.btn-step-action.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff}.btn-step-action.primary:hover{opacity:.9;transform:translateY(-1px)}.btn-step-action.secondary{background:#fff;border:1px solid #e2e8f0;color:#64748b}.btn-step-action.secondary:hover{background:#f8fafc}.btn-step-action.complete{background:#22c55e;border:none;color:#fff}.step-connector{background:#e2e8f0;height:40px;margin:0 auto;width:2px}.step-connector.completed{background:#22c55e}.flow-execution-footer{display:flex;gap:16px;justify-content:center;margin:40px auto 0;max-width:600px}.btn-flow-action{border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .15s}.btn-flow-action.abandon{background:#fff;border:1px solid #fecaca;color:#dc2626}.btn-flow-action.abandon:hover{background:#fef2f2}.btn-flow-action.complete{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;color:#fff}.btn-flow-action.complete:hover{opacity:.9}.btn-flow-action.complete:disabled{cursor:not-allowed;opacity:.5}.flow-back-link{align-items:center;color:#6366f1;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:24px;text-decoration:none}.flow-back-link:hover{color:#4f46e5}.flow-execution-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:50vh}.flow-execution-loading .spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:48px;margin-bottom:16px;width:48px}.flow-completed-overlay{padding:60px 20px;text-align:center}.flow-completed-icon{font-size:64px;margin-bottom:24px}.flow-completed-overlay h2{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 12px}.flow-completed-overlay p{color:#64748b;margin:0 0 32px}@media (max-width:640px){.flow-step-card{max-width:100%}.flow-execution-footer{flex-direction:column}.btn-flow-action{width:100%}}.portlet-config{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.portlet-config .loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.portlet-config .spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:16px;width:40px}.portlet-config .config-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.portlet-config .config-header h1{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 4px}.portlet-config .header-subtitle{color:#64748b;font-size:14px;margin:0}.portlet-config .header-actions{display:flex;gap:12px}.portlet-config .btn-add{background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.portlet-config .btn-add:hover{background:#16a34a}.portlet-config .btn-save{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px}.portlet-config .btn-save:hover{opacity:.9}.portlet-config .btn-save:disabled{cursor:not-allowed;opacity:.5}.portlet-config .alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.portlet-config .alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7}.portlet-config .alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.portlet-config .alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.portlet-config .config-content{display:flex;gap:24px}.portlet-config .portlet-grid-container{flex:1 1}.portlet-config .category-section{margin-bottom:24px}.portlet-config .category-title{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.portlet-config .portlet-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.portlet-config .portlet-card{align-items:center;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:16px;position:relative;text-align:center;transition:all .2s}.portlet-config .portlet-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.portlet-config .portlet-card.selected{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.portlet-config .portlet-card.hidden{opacity:.5}.portlet-config .portlet-card.dragging{opacity:.5;transform:scale(.95)}.portlet-config .portlet-icon{font-size:32px;margin-bottom:8px}.portlet-config .portlet-info h3{color:#1e293b;font-size:13px;font-weight:600;margin:0 0 4px;text-shadow:none}.portlet-config .portlet-type{background:#0000001a;border-radius:4px;color:#1e293b;font-size:10px;padding:2px 6px;text-transform:uppercase}.portlet-config .portlet-actions{position:absolute;right:8px;top:8px}.portlet-config .btn-visibility{background:#ffffff4d;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:4px 6px}.portlet-config .btn-visibility:hover{background:#ffffff80}.portlet-config .add-card{background:#f8fafc!important;border:2px dashed #d1d5db;justify-content:center}.portlet-config .add-card:hover{background:#f5f3ff!important;border-color:#6366f1}.portlet-config .add-icon{color:#94a3b8;font-size:24px;margin-bottom:4px}.portlet-config .add-card span{color:#64748b;font-size:12px}.portlet-config .detail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:20px;width:320px}.portlet-config .panel-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px}.portlet-config .panel-header h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.portlet-config .btn-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:24px}.portlet-config .btn-close:hover{color:#64748b}.portlet-config .panel-body{padding:16px}.portlet-config .panel-actions{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.portlet-config .btn-delete{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;font-size:14px;font-weight:500;padding:10px;width:100%}.portlet-config .btn-delete:hover{background:#fee2e2}.portlet-config .btn-mode-toggle{background:#f1f5f9;border:1px solid #d1d5db;border-radius:4px;color:#64748b;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.portlet-config .btn-mode-toggle:hover{background:#e2e8f0}.portlet-config .btn-mode-toggle.active{background:#6366f1;border-color:#6366f1;color:#fff}.portlet-config .json-editor{background:#1e293b;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.5;min-height:300px;padding:12px;resize:vertical}.portlet-config .json-editor:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.portlet-config .json-error{background:#fef2f2;border-radius:6px;color:#dc2626;font-size:13px;margin-top:8px;padding:8px 12px}.portlet-config .btn-json-save{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px;width:100%}.portlet-config .btn-json-save:hover{opacity:.9}.portlet-config .form-group{margin-bottom:16px}.portlet-config .form-group label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.portlet-config .form-group input[type=text],.portlet-config .form-group select,.portlet-config .form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:14px;padding:10px 12px;width:100%}.portlet-config .form-group input:focus,.portlet-config .form-group select:focus,.portlet-config .form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.portlet-config .checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px;margin-top:8px}.portlet-config .checkbox-label input[type=checkbox]{accent-color:#6366f1;height:16px;width:16px}.portlet-config .emoji-picker{display:flex;flex-wrap:wrap;gap:4px}.portlet-config .emoji-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:18px;height:36px;transition:all .15s;width:36px}.portlet-config .emoji-btn:hover{background:#f5f3ff;border-color:#6366f1}.portlet-config .emoji-btn.selected{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.portlet-config .gradient-picker{display:flex;flex-wrap:wrap;gap:6px}.portlet-config .gradient-btn{border:2px solid #0000;border-radius:6px;cursor:pointer;height:32px;transition:all .15s;width:32px}.portlet-config .gradient-btn:hover{transform:scale(1.1)}.portlet-config .gradient-btn.selected{border-color:#1e293b;box-shadow:0 0 0 2px #1e293b33}.portlet-config .role-hint{color:#94a3b8;font-size:11px;font-weight:400;margin-left:6px}.portlet-config .role-selector{border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.portlet-config .role-chips{display:flex;flex-wrap:wrap;gap:4px;padding:8px 8px 4px}.portlet-config .role-chip{align-items:center;background:#eef2ff;border-radius:4px;color:#4338ca;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.portlet-config .role-chip button{background:none;border:none;color:#6366f1;cursor:pointer;font-size:14px;line-height:1;padding:0}.portlet-config .role-chip button:hover{color:#dc2626}.portlet-config .role-search{background:#f8fafc;border:1px solid #e2e8f0;border-left:none;border-right:none;box-sizing:border-box;color:#1e293b;font-size:13px;outline:none;padding:8px 10px;width:100%}.portlet-config .role-search:focus{background:#fff}.portlet-config .role-list{max-height:180px;overflow-y:auto;padding:4px 0}.portlet-config .role-list-item{align-items:center;color:#374151;cursor:pointer;display:flex!important;font-size:13px;font-weight:400;gap:8px;margin:0;padding:5px 10px}.portlet-config .role-list-item:hover{background:#f1f5f9}.portlet-config .role-list-item input[type=checkbox]{accent-color:#6366f1;flex-shrink:0;height:14px;width:14px}.portlet-config .role-list-empty{color:#94a3b8;font-size:13px;padding:12px 10px;text-align:center}.portlet-config .children-editor{display:flex;flex-direction:column;gap:8px}.portlet-config .child-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px}.portlet-config .child-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.portlet-config .child-item-number{color:#94a3b8;font-size:11px;font-weight:600;text-transform:uppercase}.portlet-config .child-item-remove{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:18px;line-height:1;padding:0}.portlet-config .child-item-remove:hover{color:#dc2626}.portlet-config .child-item input[type=text]{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#1e293b;font-size:13px;margin-bottom:6px;padding:7px 10px;width:100%}.portlet-config .child-item input[type=text]:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a;outline:none}.portlet-config .child-item .checkbox-label{font-size:12px;margin-top:2px}.portlet-config .btn-add-child{background:#f1f5f9;border:1px dashed #d1d5db;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;text-align:center}.portlet-config .btn-add-child:hover{background:#e2e8f0;border-color:#6366f1;color:#6366f1}.portlet-config .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex!important;height:100vh;justify-content:center;left:0;opacity:1!important;position:fixed;right:0;top:0;visibility:visible!important;width:100vw;z-index:1100}.portlet-config .modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:block!important;max-height:90vh;max-width:560px;opacity:1!important;overflow:auto;position:relative!important;transform:none!important;visibility:visible!important;width:100%;z-index:1101}.portlet-config .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px}.portlet-config .modal-header h2{color:#1e293b;font-size:18px;font-weight:600;margin:0}.portlet-config .modal-body{padding:20px}.portlet-config .type-selector p{color:#64748b;margin:0 0 20px;text-align:center}.portlet-config .type-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.portlet-config .type-option{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:20px 12px;transition:all .15s}.portlet-config .type-option:hover{background:#f5f3ff;border-color:#6366f1}.portlet-config .type-icon{font-size:28px;margin-bottom:8px}.portlet-config .type-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:4px}.portlet-config .type-desc{color:#94a3b8;font-size:11px;text-align:center}.portlet-config .form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;margin-top:20px;padding-top:16px}.portlet-config .btn-cancel{background:#f1f5f9;border:1px solid #d1d5db;border-radius:8px;color:#475569;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px}.portlet-config .btn-cancel:hover{background:#e2e8f0}.portlet-config .form-actions .btn-save{flex:1 1}@media (max-width:768px){.portlet-config .config-header{flex-direction:column;gap:12px}.portlet-config .config-content{flex-direction:column}.portlet-config .detail-panel{position:static;width:100%}.portlet-config .type-options{grid-template-columns:1fr}}.layout{background:#f5f7fa}.layout,.layout-main{display:flex;min-height:100vh}.layout-main{flex:1 1;flex-direction:column;position:relative;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.layout-main{margin-left:280px}.sidebar.collapsed~.layout-main{margin-left:80px}}@media (max-width:1023px){.layout-main{margin-left:0}}.layout-content{flex:1 1;width:100%}.mobile-menu-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;cursor:pointer;display:none;flex-direction:column;gap:5px;height:48px;justify-content:center;left:1rem;position:fixed;top:1rem;transition:all .2s ease;width:48px;z-index:999}.mobile-menu-button:hover{box-shadow:0 6px 16px #667eea66;transform:scale(1.05)}.mobile-menu-button:active{transform:scale(.95)}.mobile-menu-button span{background:#fff;border-radius:2px;display:block;height:3px;transition:all .3s ease;width:24px}@media (max-width:1023px){.mobile-menu-button{display:flex}}.sidebar.open~.layout-main .mobile-menu-button span:first-child{transform:translateY(8px) rotate(45deg)}.sidebar.open~.layout-main .mobile-menu-button span:nth-child(2){opacity:0}.sidebar.open~.layout-main .mobile-menu-button span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media (max-width:1023px){.layout-content{padding-top:0}}.layout-content,.layout-main{transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.offcanvas-backdrop{bottom:0!important;height:100vh!important;left:0!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:1040!important}.offcanvas{position:fixed!important;z-index:1055!important}.offcanvas.offcanvas-end{bottom:0!important;height:100vh!important;left:auto!important;right:0!important;top:0!important}.modal-backdrop{z-index:1050!important}.modal{z-index:1060!important}:root{--exec-bg:#f8fafc;--exec-card:#fff;--exec-border:#e2e8f0;--exec-text:#0f172a;--exec-muted:#64748b;--exec-accent:#3b82f6;--exec-good:#10b981;--exec-warn:#f59e0b;--exec-bad:#ef4444;--exec-purple:#8b5cf6}.exec-flip-dashboard{background:#f8fafc;background:var(--exec-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:24px}.exec-flip-error,.exec-flip-loading{align-items:center;color:#64748b;color:var(--exec-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.exec-flip-error button{background:#3b82f6;background:var(--exec-accent);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px}.spin{animation:spin 1s linear infinite}.exec-flip-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--exec-border);justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.exec-flip-header,.header-left{align-items:center;display:flex}.header-left{gap:16px}.header-left h1{color:#0f172a;color:var(--exec-text);font-size:24px;font-weight:600;margin:0}.header-left .subtitle{margin:4px 0 0}.back-btn,.header-left .subtitle{color:#64748b;color:var(--exec-muted);font-size:14px}.back-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:6px;cursor:pointer;display:flex;gap:6px;padding:8px 12px;transition:all .15s}.back-btn:hover{background:#f8fafc;background:var(--exec-bg);color:#0f172a;color:var(--exec-text)}.header-right{align-items:center;display:flex;gap:12px}.date-range-picker{align-items:center;display:flex;gap:10px}.date-range-picker label{align-items:center;color:#64748b;color:var(--exec-muted);display:flex;font-size:13px;gap:6px}.date-range-picker input[type=date]{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:6px;color:#0f172a;color:var(--exec-text);font-size:13px;padding:6px 10px}.apply-date-btn{background:#3b82f6;background:var(--exec-blue,#3b82f6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;white-space:nowrap}.apply-date-btn:hover{opacity:.9}.refresh-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:6px;color:#64748b;color:var(--exec-muted);cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 16px;transition:all .15s}.refresh-btn:hover{background:#f8fafc;background:var(--exec-bg);color:#0f172a;color:var(--exec-text)}.kpi-grid{grid-gap:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi-grid,.kpi-grouped{gap:16px;margin-bottom:24px}.kpi-grouped{align-items:stretch;display:flex}.kpi-grouped>.kpi-card{align-items:center;flex:0 0 auto;min-width:200px}.kpi-group{border:1px dashed #cbd5e1;border-radius:10px;padding:10px 12px 12px}.kpi-group-label{color:#94a3b8;display:block;font-size:10px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.kpi-group-tagline{font-size:10px;font-style:italic;font-weight:400;letter-spacing:normal;margin-left:6px;opacity:.7;text-transform:none}.kpi-group-engagement{background:#f0fdf8;flex:3 1}.kpi-group-performance{background:#fffbeb;flex:1 1}.kpi-group-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));height:calc(100% - 26px)}@media (max-width:900px){.kpi-grouped{flex-direction:column}.kpi-grouped>.kpi-card{min-width:0;min-width:auto}}.kpi-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;gap:16px;padding:20px}.kpi-icon{border-radius:10px;color:#fff;padding:12px}.kpi-card.accent-blue .kpi-icon{background:#3b82f6}.kpi-card.accent-green .kpi-icon{background:#10b981}.kpi-card.accent-purple .kpi-icon{background:#8b5cf6}.kpi-card.accent-orange .kpi-icon{background:#f97316}.kpi-card.accent-amber .kpi-icon{background:#f59e0b}.kpi-content{display:flex;flex-direction:column}.kpi-label{color:#64748b;color:var(--exec-muted);font-size:13px;margin-bottom:4px}.kpi-value{color:#0f172a;color:var(--exec-text);font-size:28px;font-weight:700;line-height:1.2}.kpi-value.step-good{color:#166534}.kpi-value.step-warn{color:#92400e}.kpi-value.step-bad{color:#991b1b}.kpi-detail{color:#64748b;color:var(--exec-muted);font-size:12px;margin-top:4px}.tab-nav{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--exec-border);display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;color:var(--exec-muted);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .15s}.tab-btn.active{border-bottom-color:#3b82f6;border-bottom-color:var(--exec-accent);color:#3b82f6;color:var(--exec-accent)}.tab-btn:hover:not(.active){color:#0f172a;color:var(--exec-text)}.tab-content{display:flex;flex-direction:column;gap:24px}.charts-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:900px){.charts-row{grid-template-columns:1fr}}.chart-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:12px;padding:20px}.chart-card h3{color:#0f172a;color:var(--exec-text);font-size:16px;font-weight:600;margin:0 0 16px}.chart-container{height:250px;position:relative}.chart-container.tall{height:300px}.funnel-labels{color:#64748b;color:var(--exec-muted);display:flex;font-size:13px;gap:16px;justify-content:center;margin-top:12px}.section-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:12px;padding:20px}.section-card.warn-bg{background:#fffbeb;border-color:#fef3c7}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h3{align-items:center;color:#0f172a;color:var(--exec-text);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.section-header .subtitle{color:#64748b;color:var(--exec-muted);font-size:13px}.warn-icon{color:#f59e0b;color:var(--exec-warn)}.badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.badge.warn{background:#fef3c7;color:#92400e}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table th{color:#64748b;color:var(--exec-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-align:left;text-transform:uppercase}.data-table td,.data-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--exec-border);padding:12px 8px}.data-table td{color:#0f172a;color:var(--exec-text)}.data-table tr:last-child td{border-bottom:none}.data-table .rank{color:#64748b;color:var(--exec-muted);font-weight:600}.metric{border-radius:6px;font-weight:500;padding:4px 8px}.metric.good{background:#dcfce7;color:#166534}.metric.medium{background:#fef3c7;color:#92400e}.metric.low{background:#fee2e2;color:#991b1b}.action-btn{align-items:center;background:#f8fafc;background:var(--exec-bg);border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:6px;color:#0f172a;color:var(--exec-text);cursor:pointer;display:inline-flex;font-size:13px;gap:4px;padding:6px 12px;transition:all .15s}.action-btn:hover{background:#3b82f6;background:var(--exec-accent);border-color:#3b82f6;border-color:var(--exec-accent);color:#fff}.schools-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.school-card{background:#f8fafc;background:var(--exec-bg);border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:10px;cursor:pointer;padding:16px;position:relative;transition:all .15s}.school-card:hover{border-color:#3b82f6;border-color:var(--exec-accent);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.school-name{color:#0f172a;color:var(--exec-text);font-weight:600;margin-bottom:12px;padding-right:24px}.school-metrics{display:flex;flex-direction:column;gap:6px}.metric-item{align-items:center;display:flex;justify-content:space-between}.metric-item .label{color:#64748b;color:var(--exec-muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.metric-item .value{color:#0f172a;color:var(--exec-text);font-size:14px;font-weight:600}.metric-item .value.good{color:#10b981;color:var(--exec-good)}.metric-item .value.medium{color:#f59e0b;color:var(--exec-warn)}.metric-item .value.low{color:#ef4444;color:var(--exec-bad)}.at-risk-badge{background:#fee2e2;border-radius:10px;color:#991b1b;font-size:11px;font-weight:500;padding:2px 8px;position:absolute;right:36px;top:12px}.chevron{color:#64748b;color:var(--exec-muted);position:absolute;right:12px;top:16px}.faculty-summary{display:flex;gap:24px;margin-bottom:24px}.stat-box{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:12px;display:flex;flex:1 1;flex-direction:column;padding:24px}.stat-box.warn{background:#fffbeb;border-color:#fef3c7}.stat-value{color:#0f172a;color:var(--exec-text);font-size:36px;font-weight:700}.stat-box.warn .stat-value{color:#f59e0b;color:var(--exec-warn)}.stat-label{color:#64748b;color:var(--exec-muted);font-size:14px;margin-top:8px}.resource-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.resource-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:10px;padding:16px}.resource-type{color:#0f172a;color:var(--exec-text);font-size:16px;font-weight:600;margin-bottom:12px;text-transform:capitalize}.resource-metrics{display:flex;flex-direction:column;gap:8px}.resource-metrics>div{display:flex;justify-content:space-between}.resource-metrics .label{color:#64748b;color:var(--exec-muted);font-size:13px}.resource-metrics .value{color:#0f172a;color:var(--exec-text);font-size:13px;font-weight:500}.resource-metrics .value.good{color:#10b981;color:var(--exec-good)}.journey-funnel{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.funnel-stage,.stage-bar{display:flex}.stage-bar{align-items:center;background:#f8fafc;background:var(--exec-bg);border-radius:8px;justify-content:space-between;min-width:200px;padding:16px 20px;transition:width .5s ease}.stage-bar.pre{background:#fce7f3}.stage-bar.in{background:#dbeafe}.stage-bar.post{background:#ede9fe}.stage-label{font-weight:500}.stage-count,.stage-label{color:#0f172a;color:var(--exec-text);font-size:14px}.stage-count{font-weight:600}.journey-insights{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.insight-card{align-items:center;background:#f8fafc;background:var(--exec-bg);border-radius:8px;display:flex;flex-direction:column;padding:16px}.insight-label{color:#64748b;color:var(--exec-muted);font-size:13px;margin-bottom:8px}.insight-value{color:#0f172a;color:var(--exec-text);font-size:24px;font-weight:700}.insight-value.warn{color:#f59e0b;color:var(--exec-warn)}@media (max-width:768px){.exec-flip-dashboard{padding:16px}.exec-flip-header{align-items:flex-start;flex-direction:column;gap:12px}.kpi-grid{grid-template-columns:1fr 1fr}.faculty-summary{flex-direction:column}.journey-insights{grid-template-columns:1fr}}.lp-table-container{overflow-x:auto}.lp-table-search{align-items:center;display:flex;gap:8px}.lp-table-search input{border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:6px;font-size:13px;outline:none;padding:6px 12px;width:280px}.lp-table-search input:focus{border-color:#3b82f6;border-color:var(--exec-accent)}.lp-name-cell{display:flex;flex-direction:column}.lp-name-cell .name{color:#0f172a;color:var(--exec-text);font-weight:600}.lp-name-cell .subtitle{color:#64748b;color:var(--exec-muted);font-size:12px;margin-top:2px}.mini-progress{align-items:center;display:flex;gap:8px}.mini-progress-bar{background:#e2e8f0;background:var(--exec-border);border-radius:3px;height:6px;overflow:hidden;width:60px}.mini-progress-bar .fill{border-radius:3px;height:100%;transition:width .3s ease}.mini-progress-bar .fill.good{background:#10b981;background:var(--exec-good)}.mini-progress-bar .fill.medium{background:#f59e0b;background:var(--exec-warn)}.mini-progress-bar .fill.low{background:#ef4444;background:var(--exec-bad)}.activity-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.activity-dot.green{background:#10b981;background:var(--exec-good)}.activity-dot.amber{background:#f59e0b;background:var(--exec-warn)}.activity-dot.red{background:#ef4444;background:var(--exec-bad)}.risk-badge{border-radius:6px;display:inline-block;font-size:11px;font-weight:500;padding:3px 8px;white-space:nowrap}.risk-badge.at-risk{background:#fee2e2;color:#991b1b}.risk-badge.watch{background:#fef3c7;color:#92400e}.risk-badge.ok{background:#dcfce7;color:#166534}.nudge-btn{align-items:center;background:#fff;border:1px solid #f59e0b;border:1px solid var(--exec-warn);border-radius:6px;color:#f59e0b;color:var(--exec-warn);cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:4px 10px}.nudge-btn:hover{background:#fffbeb}.metric-def-category{border-bottom:2px solid #3b82f6;border-bottom:2px solid var(--exec-accent);color:#3b82f6;color:var(--exec-accent);font-size:14px;font-weight:600;margin:0 0 8px;padding-bottom:4px}.metric-def-table{border-collapse:collapse;font-size:13px;width:100%}.metric-def-table th{background:#f8fafc;background:var(--exec-bg);color:#64748b;color:var(--exec-muted);font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 12px;text-align:left;text-transform:uppercase}.metric-def-table td,.metric-def-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--exec-border)}.metric-def-table td{color:#0f172a;color:var(--exec-text);line-height:1.5;padding:10px 12px;vertical-align:top}.metric-def-table tr:last-child td{border-bottom:none}.metric-def-table tr:hover td{background:#f8fafc}.modal-dialog.metric-def-dialog{max-width:780px}.modal-dialog.metric-def-dialog .modal-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--exec-border);padding:16px 20px}.modal-dialog.metric-def-dialog .modal-title{color:#0f172a;color:var(--exec-text);font-size:18px;font-weight:600}.modal-dialog.metric-def-dialog .modal-body{max-height:70vh;overflow-y:auto;padding:20px}.modal-dialog.metric-def-dialog .modal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--exec-border);padding:12px 20px}.step-phase{background:#fafbfc;border:1px solid #e2e8f0;border:1px solid var(--exec-border);border-radius:10px;gap:10px;justify-content:space-between;min-width:160px;padding:8px 10px}.step-icons,.step-phase{align-items:center;display:flex}.step-icons{flex-wrap:wrap;font-size:12px;gap:6px}.step-iconchip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;color:var(--exec-text);font-size:12px;gap:4px;line-height:1;padding:3px 7px}.step-iconchip,.step-score{align-items:center;display:inline-flex;white-space:nowrap}.step-score{gap:6px}.step-mini{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden;width:50px}.step-mini>span{border-radius:999px;display:block;height:100%}.step-mini.step-good>span{background:#10b981;background:var(--exec-good)}.step-mini.step-warn>span{background:#f59e0b;background:var(--exec-warn)}.step-mini.step-bad>span{background:#ef4444;background:var(--exec-bad)}.step-pct{border:1px solid #0000;border-radius:999px;cursor:pointer;font-size:11px;font-weight:500;padding:3px 7px}.step-pct.step-good{background:#dcfce7;border-color:#bbf7d0;color:#166534}.step-pct.step-warn{background:#fef3c7;border-color:#fde68a;color:#92400e}.step-pct.step-bad{background:#fee2e2;border-color:#fecaca;color:#991b1b}.step-pct:hover{text-decoration:underline}.step-access{align-items:center;display:flex;gap:8px}.step-access .step-mini{width:60px}.step-phase-empty{color:#64748b;color:var(--exec-muted);font-size:12px}.lp-metrics-grid{grid-gap:0;display:grid;flex-shrink:0;gap:0;grid-template-columns:repeat(6,64px)}.lp-score-cell{flex-direction:column;gap:2px}.lp-score-cell,.lp-tag-cell{align-items:center;display:flex}.lp-tag-cell{gap:6px;justify-content:flex-end;width:100px}.lp-score-cell .lp-label{color:#64748b;color:var(--exec-muted);font-size:10px;letter-spacing:.3px;text-transform:uppercase}.lp-pct{border-radius:999px;font-size:12px;font-weight:600;padding:2px 8px;white-space:nowrap}.lp-pct.step-good{background:#dcfce7;color:#166534}.lp-pct.step-warn{background:#fef3c7;color:#92400e}.lp-pct.step-bad{background:#fee2e2;color:#991b1b}.lp-pct.lp-pct-null{background:none;color:#64748b;color:var(--exec-muted)}.engagement-dash{--ed-bg:#0b1220;--ed-panel:#0f1a2e;--ed-panel2:#121f38;--ed-text:#e8eefc;--ed-muted:#a9b7d6;--ed-line:#ffffff1a;--ed-accent:#6ee7ff;--ed-good:#34d399;--ed-warn:#fbbf24;--ed-bad:#fb7185;--ed-chip:#1b2a48;--ed-shadow:0 10px 30px #00000059;--ed-radius:16px;--ed-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ed-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 600px at 20% 10%,#6ee7ff2e,#0000 60%),radial-gradient(900px 500px at 90% 20%,#34d39924,#0000 55%),radial-gradient(900px 700px at 70% 90%,#fb71851f,#0000 60%),var(--ed-bg);color:var(--ed-text);font-family:var(--ed-sans);inset:0;overflow:hidden;position:fixed}.engagement-dash *,.engagement-dash :after,.engagement-dash :before{box-sizing:border-box}.engagement-dash a,.engagement-dash button,.engagement-dash div,.engagement-dash h1,.engagement-dash h2,.engagement-dash h3,.engagement-dash input,.engagement-dash label,.engagement-dash p,.engagement-dash select,.engagement-dash span,.engagement-dash table,.engagement-dash td,.engagement-dash th{color:var(--ed-text)}.ed-app{grid-gap:18px;display:grid;gap:18px;grid-template-columns:320px 1fr;height:100%;padding:18px;transition:grid-template-columns .3s ease}.ed-app.ed-collapsed{gap:0;grid-template-columns:0 1fr}.ed-app.ed-collapsed .ed-sidebar{border:none;opacity:0;overflow:hidden;padding:0;pointer-events:none}.ed-card{background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid var(--ed-line);border-radius:var(--ed-radius);box-shadow:var(--ed-shadow)}.ed-sidebar{display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;padding:16px;transition:opacity .2s ease,padding .3s ease}.ed-brand{align-items:center;background:#ffffff05;border:1px solid var(--ed-line);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:12px}.ed-brand h1{font-size:14px;letter-spacing:.2px;margin:0}.ed-brand .ed-subtle{margin-top:4px}.ed-brand .ed-subtle,.ed-pill{color:var(--ed-muted);font-size:12px}.ed-pill{background:#6ee7ff1a;border:1px solid #6ee7ff38;border-radius:999px;padding:6px 10px;white-space:nowrap}.ed-control{display:flex;flex-direction:column;gap:8px}.ed-label{color:var(--ed-muted);font-size:12px}.ed-input,.ed-select{background:#0f1a2ea6;border:1px solid var(--ed-line);border-radius:12px;color:var(--ed-text);font-family:var(--ed-sans);font-size:13px;outline:none;padding:10px 12px;width:100%}.ed-input::placeholder{color:#a9b7d6bf}.ed-select option{background:var(--ed-panel);color:var(--ed-text)}.ed-seg{display:flex;flex-wrap:wrap;gap:8px}.ed-chip{background:#1b2a4899;border:1px solid var(--ed-line);border-radius:999px;color:var(--ed-muted);cursor:pointer;font-size:12px;padding:8px 10px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ed-chip.active{background:#6ee7ff1f;border-color:#6ee7ff59;color:var(--ed-text)}.ed-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.ed-kpi{background:#0f1a2e8c;border:1px solid var(--ed-line);border-radius:14px;padding:12px}.ed-kpi .ed-v{font-size:18px;font-weight:650;letter-spacing:.2px}.ed-kpi .ed-t{color:var(--ed-muted);font-size:11px;margin-top:4px}.ed-scoreBox{background:#0f1a2e8c;border:1px solid var(--ed-line);border-radius:14px;padding:12px}.ed-scoreBox h3{color:var(--ed-muted);font-size:12px;font-weight:600;margin:0 0 8px}.ed-formula{color:#e8eefce6;font-family:var(--ed-mono);font-size:11px;line-height:1.5}.ed-hint{margin-top:8px}.ed-foot,.ed-hint{color:var(--ed-muted);font-size:11px}.ed-foot{border-top:1px solid var(--ed-line);display:flex;gap:8px;justify-content:space-between;margin-top:auto;padding:12px}.ed-main{display:flex;flex-direction:column;gap:14px;min-width:0;overflow:hidden}.ed-topbar{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:14px 16px}.ed-titleWrap{display:flex;flex-direction:column;gap:4px}.ed-title{font-size:16px;margin:0}.ed-sub{color:var(--ed-muted);font-size:12px}.ed-actions{align-items:center;display:flex;gap:10px}.ed-btn{background:#0f1a2eb3;border:1px solid var(--ed-line);border-radius:12px;color:var(--ed-text);cursor:pointer;font-family:var(--ed-sans);font-size:12px;padding:10px 12px;transition:all .15s ease}.ed-btn:hover{background:#0f1a2ee6}.ed-btn.primary{background:#6ee7ff24;border-color:#6ee7ff66}.ed-btn.primary:hover{background:#6ee7ff38}.ed-toggle{align-items:center;background:#0f1a2eb3;border:1px solid var(--ed-line);border-radius:10px;color:var(--ed-muted);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .15s ease;width:30px}.ed-toggle:hover{background:#0f1a2ee6;color:var(--ed-text)}.ed-panel{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:14px 16px}.ed-panelHeader{align-items:flex-end;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.ed-panelHeader h2{font-size:13px;margin:0}.ed-panelHeader .ed-muted{color:var(--ed-muted);font-size:12px}.ed-tableWrap{border:1px solid var(--ed-line);border-radius:14px;flex:1 1;min-height:0;overflow:auto}.ed-tableWrap table{background:#0f1a2e8c;border-collapse:collapse;min-width:980px;width:100%}.ed-tableWrap thead th{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121f38eb;border-bottom:1px solid var(--ed-line);color:#a9b7d6f2;cursor:pointer;font-size:11px;letter-spacing:.25px;padding:12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.ed-tableWrap thead th:hover{color:var(--ed-text)}.ed-tableWrap thead th:last-child{cursor:default}.engagement-dash .ed-tableWrap tbody td{border-bottom:1px solid var(--ed-line);color:#e8eefc;color:var(--ed-text)!important;font-size:13px;padding:12px;vertical-align:middle}.ed-tableWrap tbody tr:hover{background:#6ee7ff0d}.ed-lpTitle{display:flex;flex-direction:column;gap:4px}.ed-lpTitle .ed-name{font-weight:650}.ed-badge,.ed-lpTitle .ed-meta{color:var(--ed-muted);font-size:12px}.ed-badge{align-items:center;background:#1b2a488c;border:1px solid var(--ed-line);border-radius:999px;display:inline-flex;gap:6px;padding:6px 10px;white-space:nowrap}.ed-dot{background:var(--ed-muted);border-radius:999px;flex-shrink:0;height:8px;width:8px}.ed-dot.good{background:var(--ed-good)}.ed-dot.warn{background:var(--ed-warn)}.ed-dot.bad{background:var(--ed-bad)}.ed-bar{background:#ffffff12;border:1px solid var(--ed-line);border-radius:999px;height:10px;overflow:hidden;width:140px}.ed-bar>span{background:#6ee7ff8c;display:block;height:100%;transition:width .3s ease}.ed-score{align-items:center;display:flex;gap:10px}.ed-scoreNum{font-family:var(--ed-mono);font-weight:750;letter-spacing:.2px}.ed-small{color:var(--ed-muted);font-size:12px}.ed-rowActions{display:flex;gap:8px}.ed-mini{background:#0f1a2e8c;border:1px solid var(--ed-line);border-radius:12px;color:var(--ed-text);cursor:pointer;font-family:var(--ed-sans);font-size:12px;padding:8px 10px;transition:all .15s ease}.ed-mini:hover{background:#0f1a2ed9;border-color:#ffffff2e}.ed-info-trigger{align-items:center;color:var(--ed-muted);cursor:pointer;display:inline-flex;position:relative;transition:color .15s ease}.ed-info-trigger:hover{color:var(--ed-accent)}.ed-tooltip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#121f38f5;border:1px solid var(--ed-line);border-radius:12px;box-shadow:0 8px 24px #0006;color:var(--ed-text);cursor:default;font-size:12px;font-weight:400;left:50%;letter-spacing:0;line-height:1.5;margin-top:8px;padding:12px 14px;position:absolute;text-transform:none;top:100%;transform:translateX(-50%);white-space:normal;width:260px;z-index:100}.ed-activity-trigger{display:inline-block;position:relative}.ed-tooltip-activity{left:auto;right:0;transform:none;width:320px}.ed-activity-row{grid-gap:6px;align-items:center;border-bottom:1px solid var(--ed-line);display:grid;font-size:11px;gap:6px;grid-template-columns:1fr auto 1fr auto;padding:6px 0}.ed-activity-row:last-child{border-bottom:none}.ed-activity-student{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-activity-verb{color:var(--ed-accent);font-size:10px;letter-spacing:.3px;text-transform:uppercase}.ed-activity-resource{overflow:hidden;text-overflow:ellipsis}.ed-activity-resource,.ed-activity-time{color:var(--ed-muted);white-space:nowrap}.ed-activity-time{font-family:var(--ed-mono);font-size:10px}.ed-row-expanded{background:#6ee7ff0f!important}.ed-step-row,.ed-step-row:hover{background:#0000!important}.ed-step-row>td{border-bottom:1px solid var(--ed-line)!important}.ed-step-panel{background:#0f1a2e59;border-top:1px solid #6ee7ff1a;padding:4px 16px 16px 36px}.ed-step-empty{color:var(--ed-muted);font-size:12px;padding:20px;text-align:center}.ed-step-table{border:1px solid var(--ed-line);border-collapse:collapse;border-radius:10px;overflow:hidden;width:100%}.ed-step-table thead th{background:#121f38cc;border-bottom:1px solid var(--ed-line);color:var(--ed-muted);font-size:10px;letter-spacing:.3px;padding:8px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.engagement-dash .ed-step-table tbody td{border-bottom:1px solid #ffffff0d!important;color:var(--ed-text)!important;font-size:12px!important;padding:8px 10px!important}.ed-step-table tbody tr:last-child td{border-bottom:none!important}.ed-step-table tbody tr:hover{background:#6ee7ff0a}.ed-step-status{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:2px 8px;white-space:nowrap}.ed-step-status--completed{background:#34d39926;color:var(--ed-good)}.ed-step-status--in_progress{background:#6ee7ff26;color:var(--ed-accent)}.ed-step-status--not_started,.ed-step-status--upcoming{background:#a9b7d61f;color:var(--ed-muted)}.ed-step-phase{color:var(--ed-muted);font-size:11px}.ed-step-access{border-radius:8px;font-size:12px;font-weight:600;padding:2px 8px}.ed-step-access.good{background:#34d3991f;color:var(--ed-good)}.ed-step-access.medium{background:#fbbf241f;color:var(--ed-warn)}.ed-step-access.low{background:#fb71851f;color:var(--ed-bad)}.ed-error,.ed-loading{align-items:center;color:var(--ed-muted);display:flex;flex-direction:column;font-size:13px;gap:12px;justify-content:center;padding:48px 0}.ed-loading .ed-spin{animation:ed-spin 1s linear infinite}@keyframes ed-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ed-empty{color:var(--ed-muted);font-size:13px;padding:48px 12px}.ed-skel{animation:ed-shimmer 1.4s ease infinite;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a 50%,#ffffff0a 75%);background-size:200% 100%;border-radius:6px;height:14px}@media (max-width:980px){.ed-app{grid-template-columns:1fr;height:auto}.ed-app,.engagement-dash{overflow:auto}.ed-tableWrap table{min-width:860px}}.flip-class-config{margin:0 auto;max-width:900px;padding:24px}.flip-class-config .loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:300px}.flip-class-config .spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}.flip-class-config .config-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.flip-class-config .header-content h1{color:#1e293b;font-size:24px;font-weight:600;margin:0 0 4px}.flip-class-config .header-subtitle{color:#64748b;font-size:14px;margin:0}.flip-class-config .header-actions{display:flex;gap:12px}.flip-class-config .btn-save{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.flip-class-config .btn-save:hover:not(:disabled){background:#2563eb}.flip-class-config .btn-save:disabled{cursor:not-allowed;opacity:.6}.flip-class-config .btn-reset{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.flip-class-config .btn-reset:hover:not(:disabled){background:#f8fafc;color:#334155}.flip-class-config .alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.flip-class-config .alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.flip-class-config .alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.flip-class-config .alert button{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;padding:0 4px}.flip-class-config .alert button:hover{opacity:1}.flip-class-config .phase-cards-container{display:flex;flex-direction:column;gap:20px}.flip-class-config .no-config{color:#64748b;padding:40px;text-align:center}.flip-class-config .no-config .hint{color:#94a3b8;font-size:13px;margin-top:8px}.flip-class-config .phase-card{background:#fff;border-left:4px solid #64748b;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px}.flip-class-config .phase-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.flip-class-config .phase-title{align-items:flex-start;display:flex;gap:12px}.flip-class-config .phase-icon{font-size:24px}.flip-class-config .phase-title h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 2px}.flip-class-config .phase-label{color:#64748b;font-size:13px}.flip-class-config .phase-badge{background:#fff;border:1px solid #e2e8f0;border-radius:16px;color:#475569;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.flip-class-config .form-field{margin-bottom:16px}.flip-class-config .form-field:last-child{margin-bottom:0}.flip-class-config .form-field>label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.flip-class-config .form-field input[type=text]{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.flip-class-config .form-field input[type=text]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.flip-class-config .checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px}.flip-class-config .checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.flip-class-config .checkbox-label span{color:#374151;font-size:14px}.flip-class-config .field-hint{color:#94a3b8;font-size:12px;margin:8px 0 0}.flip-class-config .tag-selector{position:relative}.flip-class-config .selected-tags{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;min-height:42px;padding:8px}.flip-class-config .selected-tags .placeholder{color:#94a3b8;font-size:14px}.flip-class-config .tag-chip{align-items:center;background:#e0f2fe;border-radius:16px;color:#0369a1;display:inline-flex;font-size:13px;gap:4px;padding:4px 8px 4px 12px}.flip-class-config .tag-remove{background:none;border:none;color:#0369a1;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.flip-class-config .tag-remove:hover{color:#dc2626}.flip-class-config .btn-add-tag{background:#f1f5f9;border:1px dashed #94a3b8;border-radius:16px;color:#64748b;cursor:pointer;font-size:13px;padding:4px 12px;transition:all .2s}.flip-class-config .btn-add-tag:hover{background:#e2e8f0;border-color:#64748b;color:#334155}.flip-class-config .tag-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;left:0;max-height:350px;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.flip-class-config .tag-search{border-bottom:1px solid #e2e8f0;padding:12px}.flip-class-config .tag-search input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.flip-class-config .tag-search input:focus{border-color:#3b82f6;outline:none}.flip-class-config .tag-options{flex:1 1;overflow-y:auto;padding:8px 0}.flip-class-config .no-tags{color:#94a3b8;font-size:14px;padding:16px;text-align:center}.flip-class-config .tag-group{margin-bottom:8px}.flip-class-config .tag-group-header{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 16px 4px;text-transform:uppercase}.flip-class-config .tag-option{align-items:center;cursor:pointer;display:flex;gap:10px;padding:8px 16px;transition:background-color .15s}.flip-class-config .tag-option:hover{background:#f8fafc}.flip-class-config .tag-option input[type=checkbox]{cursor:pointer;height:16px;width:16px}.flip-class-config .tag-option-label{color:#374151;flex:1 1;font-size:14px}.flip-class-config .tag-code{color:#94a3b8;font-size:12px;margin-left:4px}.flip-class-config .tag-dropdown-footer{border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:12px}.flip-class-config .btn-done{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.flip-class-config .btn-done:hover{background:#2563eb}.flip-class-config .info-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:32px;padding:20px}.flip-class-config .info-section h3{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.flip-class-config .info-section ul{margin:0;padding:0 0 0 20px}.flip-class-config .info-section li{color:#64748b;font-size:13px;line-height:1.5;margin-bottom:8px}.flip-class-config .info-section li:last-child{margin-bottom:0}.flip-class-config .info-section li strong{color:#374151}.portlet-group{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.portlet-group .loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.portlet-group .spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.portlet-group .error-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.portlet-group .error-state p{font-size:16px;margin-bottom:16px}.portlet-group .group-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:20px;margin-bottom:32px;padding-bottom:20px}.portlet-group .btn-back{background:#f1f5f9;border:1px solid #d1d5db;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.portlet-group .btn-back:hover{background:#e2e8f0}.portlet-group .group-title{align-items:center;display:flex;gap:12px}.portlet-group .group-icon{font-size:32px}.portlet-group .group-title h1{color:#1e293b;font-size:24px;font-weight:700;margin:0}.portlet-group .children-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.portlet-group .child-card{border-radius:16px;box-shadow:0 4px 12px #0000001a;color:#fff;cursor:pointer;display:flex;flex-direction:column;min-height:120px;padding:24px;position:relative;transition:all .2s}.portlet-group .child-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.portlet-group .child-icon{font-size:40px;margin-bottom:16px}.portlet-group .child-info h3{color:#fff;font-size:18px;font-weight:600;margin:0 0 8px;text-shadow:0 1px 2px #0000001a}.portlet-group .child-description{color:#ffffffe6;font-size:14px;line-height:1.4;margin:0}.portlet-group .external-indicator{font-size:14px;opacity:.7;position:absolute;right:12px;top:12px}@media (max-width:768px){.portlet-group{padding:16px}.portlet-group .group-header{align-items:flex-start;flex-direction:column;gap:12px}.portlet-group .children-grid{grid-template-columns:1fr}.portlet-group .child-card{min-height:100px}}.data-ingestion{background-color:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:32px 24px}.data-ingestion .di-header{margin-bottom:28px}.data-ingestion .di-header h1{color:#111827;font-size:1.75rem;font-weight:700;margin:0 0 4px}.data-ingestion .di-header p{color:#6b7280;font-size:.95rem;margin:0}.data-ingestion .di-stepper{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:0;justify-content:center;margin-bottom:28px;padding:18px 24px}.data-ingestion .di-step{align-items:center;display:flex;flex-shrink:0;gap:8px}.data-ingestion .di-step-circle{align-items:center;background:#e5e7eb;border-radius:50%;color:#9ca3af;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;transition:all .3s ease;width:32px}.data-ingestion .di-step.active .di-step-circle{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea59;color:#fff}.data-ingestion .di-step.completed .di-step-circle{background:#10b981;color:#fff}.data-ingestion .di-step-label{color:#9ca3af;font-size:13px;font-weight:500;white-space:nowrap}.data-ingestion .di-step.active .di-step-label{color:#111827;font-weight:600}.data-ingestion .di-step.completed .di-step-label{color:#10b981}.data-ingestion .di-step-connector{background:#e5e7eb;flex-shrink:0;height:2px;margin:0 8px;transition:background .3s ease;width:40px}.data-ingestion .di-step-connector.completed{background:#10b981}.data-ingestion .di-content-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;min-height:300px;padding:32px}.data-ingestion .di-btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s ease}.data-ingestion .di-btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.data-ingestion .di-btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.data-ingestion .di-btn-validate{background:linear-gradient(135deg,#059669,#047857)}.data-ingestion .di-btn-validate:hover{box-shadow:0 4px 12px #05966966}.data-ingestion .di-btn-secondary{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s ease}.data-ingestion .di-btn-secondary:hover{background:#f9fafb;border-color:#667eea;color:#667eea}.data-ingestion .di-actions{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:12px;margin-top:28px;padding-top:20px}.data-ingestion .di-actions-center{justify-content:center}.data-ingestion .di-info-banner{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:14px;gap:12px;line-height:1.5;margin-bottom:24px;padding:14px 18px}.data-ingestion .di-info-banner svg{flex-shrink:0;margin-top:1px}.data-ingestion .di-columns-section{margin-bottom:24px}.data-ingestion .di-columns-section h3{color:#111827;font-size:15px;font-weight:600;margin:0 0 12px}.data-ingestion .di-columns-grid{display:flex;flex-wrap:wrap;gap:8px}.data-ingestion .di-column-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;display:flex;font-size:13px;gap:6px;padding:6px 12px}.data-ingestion .di-column-name{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-weight:500}.data-ingestion .di-required-badge{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:11px;font-weight:600;padding:1px 6px}.data-ingestion .di-auto-badge{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;color:#7c3aed;font-size:11px;font-weight:600;padding:1px 6px}.data-ingestion .di-auto-info{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;margin-bottom:20px;padding:14px 18px}.data-ingestion .di-auto-info h3{color:#5b21b6;font-size:14px;font-weight:600;margin:0 0 6px}.data-ingestion .di-auto-info p{color:#4b5563;font-size:13px;line-height:1.6;margin:0}.data-ingestion .di-auto-info code{background:#ede9fe;border-radius:3px;color:#7c3aed;font-size:12px;font-weight:600;padding:1px 6px}.data-ingestion .di-sample-section{margin-bottom:20px}.data-ingestion .di-sample-section h3{color:#111827;font-size:15px;font-weight:600;margin:0 0 10px}.data-ingestion .di-sample-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.data-ingestion .di-sample-table{border-collapse:collapse;font-size:13px;width:100%}.data-ingestion .di-sample-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:12px;font-weight:600;letter-spacing:.03em;padding:8px 14px;text-align:left;text-transform:uppercase}.data-ingestion .di-sample-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:8px 14px}.data-ingestion .di-auto-value{color:#7c3aed;font-style:italic;font-weight:600}.data-ingestion .di-tips{margin-bottom:8px}.data-ingestion .di-tips h3{color:#111827;font-size:15px;font-weight:600;margin:0 0 8px}.data-ingestion .di-tips ul{color:#4b5563;font-size:14px;line-height:1.8;margin:0;padding-left:20px}.data-ingestion .di-dropzone{background:#fafbfc;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;padding:48px 32px;text-align:center;transition:all .2s ease}.data-ingestion .di-dropzone:hover{background:#f5f3ff;border-color:#667eea}.data-ingestion .di-dropzone.drag-active{background:#ede9fe;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.data-ingestion .di-dropzone.has-file{background:#ecfdf5;border-color:#10b981}.data-ingestion .di-dropzone-icon{color:#9ca3af;margin-bottom:12px}.data-ingestion .di-dropzone.drag-active .di-dropzone-icon,.data-ingestion .di-dropzone:hover .di-dropzone-icon{color:#667eea}.data-ingestion .di-dropzone.has-file .di-dropzone-icon{color:#10b981}.data-ingestion .di-dropzone-text strong{color:#374151;display:block;font-size:16px;margin-bottom:4px}.data-ingestion .di-dropzone-text p{color:#9ca3af;font-size:14px;margin:0}.data-ingestion .di-error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:10px;margin-top:16px;padding:12px 16px}.data-ingestion .di-error-banner svg{flex-shrink:0}.data-ingestion .di-error-close{background:none;border:none;color:#dc2626;cursor:pointer;display:flex;margin-left:auto;padding:2px}.data-ingestion .di-summary-bar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:24px;margin-bottom:16px;padding:14px 20px}.data-ingestion .di-summary-item{align-items:center;color:#4b5563;display:flex;font-size:14px;gap:8px}.data-ingestion .di-summary-valid{color:#059669}.data-ingestion .di-summary-error{color:#dc2626}.data-ingestion .di-filter-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:16px;padding-bottom:0}.data-ingestion .di-filter-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;margin-bottom:-2px;padding:8px 16px;transition:all .2s}.data-ingestion .di-filter-tab:hover{color:#374151}.data-ingestion .di-filter-tab.active{border-bottom-color:#667eea;color:#667eea;font-weight:600}.data-ingestion .di-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;max-height:480px;overflow-x:auto;overflow-y:auto}.data-ingestion .di-preview-table{border-collapse:collapse;font-size:13px;width:100%}.data-ingestion .di-preview-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.data-ingestion .di-preview-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:12px;font-weight:600;letter-spacing:.03em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-ingestion .di-preview-table td{border-bottom:1px solid #f3f4f6;color:#374151;max-width:180px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.data-ingestion .di-td-row,.data-ingestion .di-th-row{color:#9ca3af;text-align:center;width:40px}.data-ingestion .di-td-status,.data-ingestion .di-th-status{width:110px}.data-ingestion .di-row-error{background:#fef2f2}.data-ingestion .di-row-valid:hover{background:#f9fafb}.data-ingestion .di-cell-error{color:#dc2626!important;font-weight:500}.data-ingestion .di-empty-cell{color:#d1d5db}.data-ingestion .di-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.data-ingestion .di-status-valid{background:#ecfdf5;color:#059669}.data-ingestion .di-status-error{background:#fef2f2;color:#dc2626}.data-ingestion .di-error-detail-row td{background:#fef2f2;border-bottom:1px solid #fecaca;padding:0 12px 8px}.data-ingestion .di-error-details{display:flex;flex-wrap:wrap;gap:6px}.data-ingestion .di-error-tag{align-items:center;background:#fff;border:1px solid #fecaca;border-radius:4px;color:#b91c1c;display:inline-flex;font-size:12px;padding:3px 10px}.data-ingestion .di-error-tag strong{margin-right:4px}.data-ingestion .di-submitting{align-items:center;display:flex;justify-content:center;min-height:280px}.data-ingestion .di-progress-container{max-width:400px;text-align:center;width:100%}.data-ingestion .di-progress-icon{color:#667eea;margin-bottom:16px}.data-ingestion .di-spin{animation:di-spin 2s linear infinite}@keyframes di-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.data-ingestion .di-progress-container h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 20px}.data-ingestion .di-progress-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.data-ingestion .di-progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.data-ingestion .di-progress-text{color:#6b7280;font-size:14px;margin-top:10px}.data-ingestion .di-result{padding:20px 0;text-align:center}.data-ingestion .di-result-icon{margin-bottom:16px}.data-ingestion .di-result-icon-success{color:#10b981}.data-ingestion .di-result-icon-error{color:#dc2626}.data-ingestion .di-result h2{color:#111827;font-size:24px;font-weight:700;margin:0 0 8px}.data-ingestion .di-result p{color:#6b7280;font-size:15px;margin:0 0 28px}.data-ingestion .di-result-stats{display:flex;gap:24px;justify-content:center;margin-bottom:8px}.data-ingestion .di-stat-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;min-width:140px;padding:20px 32px;text-align:center}.data-ingestion .di-stat-value{color:#111827;font-size:28px;font-weight:700}.data-ingestion .di-stat-label{color:#6b7280;font-size:13px;margin-top:4px}@media (max-width:768px){.data-ingestion{padding:16px}.data-ingestion .di-stepper{flex-wrap:wrap;gap:4px;padding:12px 16px}.data-ingestion .di-step-label{display:none}.data-ingestion .di-step-connector{width:20px}.data-ingestion .di-content-card{padding:20px 16px}.data-ingestion .di-summary-bar{flex-direction:column;gap:8px}.data-ingestion .di-actions{flex-direction:column}.data-ingestion .di-actions .di-btn-primary,.data-ingestion .di-actions .di-btn-secondary{justify-content:center;width:100%}.data-ingestion .di-dropzone{padding:32px 16px}.data-ingestion .di-result-stats{align-items:center;flex-direction:column}.data-ingestion .di-columns-grid{gap:6px}}.ai-usage-dashboard{padding:20px}.ai-usage-dashboard h4{font-weight:600;margin-bottom:16px}.ai-usage-dashboard .stat-cards-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.ai-usage-dashboard .stat-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;flex:1 1;min-width:200px;padding:20px}.ai-usage-dashboard .stat-card .stat-label{color:#666;font-size:13px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.ai-usage-dashboard .stat-card .stat-value{color:#222;font-size:28px;font-weight:700}.ai-usage-dashboard .stat-card .stat-sub{color:#999;font-size:12px;margin-top:4px}.ai-usage-dashboard .usage-progress-bar{background:#eee;border-radius:4px;height:8px;margin-top:10px;overflow:hidden;width:100%}.ai-usage-dashboard .usage-progress-bar .usage-progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.ai-usage-dashboard .progress-green{background-color:#28a745}.ai-usage-dashboard .progress-amber{background-color:#ffc107}.ai-usage-dashboard .progress-red{background-color:#dc3545}.ai-usage-dashboard .dashboard-section{margin-bottom:32px}.ai-usage-dashboard .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.ai-usage-dashboard .usage-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 4px #0000001a;overflow:hidden;width:100%}.ai-usage-dashboard .usage-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#555;font-size:13px;font-weight:600;padding:10px 14px;text-align:left}.ai-usage-dashboard .usage-table td{border-bottom:1px solid #eee;color:#333;font-size:14px;padding:10px 14px}.ai-usage-dashboard .usage-table tr:hover{background:#fafafa}.ai-usage-dashboard .filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.ai-usage-dashboard .filter-row label{color:#666;display:block;font-size:12px;margin-bottom:4px}.ai-usage-dashboard .filter-row input,.ai-usage-dashboard .filter-row select{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px}.ai-usage-dashboard .pagination-row{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.ai-usage-dashboard .feature-cards-row{display:flex;flex-wrap:wrap;gap:12px}.ai-usage-dashboard .feature-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;flex:1 1;min-width:180px;padding:16px}.ai-usage-dashboard .feature-card .feature-name{color:#666;font-size:13px;margin-bottom:6px}.ai-usage-dashboard .feature-card .feature-value{color:#222;font-size:22px;font-weight:700}.ai-usage-dashboard .feature-card .feature-tokens{color:#999;font-size:12px;margin-top:4px}.ai-usage-dashboard .quota-form-group{margin-bottom:14px}.ai-usage-dashboard .quota-form-group label{color:#444;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.ai-usage-dashboard .quota-form-group input,.ai-usage-dashboard .quota-form-group select{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 10px;width:100%}.ai-usage-dashboard .loading-text{color:#888;font-size:15px;padding:40px;text-align:center}.ai-usage-dashboard .empty-text{color:#aaa;font-size:14px;padding:24px;text-align:center}.ai-usage-dashboard .action-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:4px;padding:4px 10px}.ai-usage-dashboard .action-btn-edit{background:#007bff;color:#fff}.ai-usage-dashboard .action-btn-edit:hover{background:#0069d9}.ai-usage-dashboard .action-btn-delete{background:#dc3545;color:#fff}.ai-usage-dashboard .action-btn-delete:hover{background:#c82333}.ai-subscriptions-dashboard{max-width:1400px;padding:20px}.ai-subscriptions-dashboard .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.ai-subscriptions-dashboard .page-header h4{font-weight:600;margin:0}.ai-subscriptions-dashboard .info-icon{color:#888;cursor:pointer;font-size:16px;vertical-align:middle}.ai-subscriptions-dashboard .info-icon:hover{color:#007bff}.ai-subscriptions-dashboard .last-checked{color:#888;font-size:13px;margin-top:4px}.ai-subscriptions-dashboard .service-cards-row{display:flex;flex-wrap:wrap;gap:20px}.ai-subscriptions-dashboard .service-card{background:#fff;border-radius:10px;box-shadow:0 1px 6px #0000001a;display:flex;flex:1 1;flex-direction:column;gap:16px;min-width:340px;padding:24px}.ai-subscriptions-dashboard .service-card-header{align-items:center;display:flex;justify-content:space-between}.ai-subscriptions-dashboard .service-card-header .service-name{align-items:center;display:flex;font-size:18px;font-weight:600;gap:10px}.ai-subscriptions-dashboard .status-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:12px;width:12px}.ai-subscriptions-dashboard .status-dot.healthy{background-color:#28a745;box-shadow:0 0 6px #28a74566}.ai-subscriptions-dashboard .status-dot.unhealthy{background-color:#dc3545;box-shadow:0 0 6px #dc354566}.ai-subscriptions-dashboard .status-dot.unconfigured{background-color:#999}.ai-subscriptions-dashboard .health-status{border-radius:6px;font-size:13px;font-weight:500;padding:6px 12px}.ai-subscriptions-dashboard .health-status.healthy{background:#e8f5e9;color:#2e7d32}.ai-subscriptions-dashboard .health-status.unhealthy{background:#fce4ec;color:#c62828}.ai-subscriptions-dashboard .config-section{color:#555;display:flex;flex-direction:column;font-size:13px;gap:4px}.ai-subscriptions-dashboard .config-section .config-label{color:#888;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.ai-subscriptions-dashboard .config-section .config-value{color:#333;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;word-break:break-all}.ai-subscriptions-dashboard .usage-section{display:flex;flex-direction:column;gap:8px}.ai-subscriptions-dashboard .usage-section h6{color:#555;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.ai-subscriptions-dashboard .usage-row{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.ai-subscriptions-dashboard .usage-row .usage-period{color:#333;font-weight:500;min-width:90px}.ai-subscriptions-dashboard .usage-row .usage-stats{color:#555;display:flex;flex-wrap:wrap;gap:16px}.ai-subscriptions-dashboard .usage-row .usage-cost{color:#007bff;font-weight:600;min-width:70px;text-align:right}.ai-subscriptions-dashboard .pinecone-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.ai-subscriptions-dashboard .pinecone-stat-item{background:#f8f9fa;border-radius:6px;padding:10px 12px}.ai-subscriptions-dashboard .pinecone-stat-item .stat-label{color:#888;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.ai-subscriptions-dashboard .pinecone-stat-item .stat-value{color:#333;font-size:18px;font-weight:600;margin-top:2px}.ai-subscriptions-dashboard .fullness-bar-container{background:#f8f9fa;border-radius:6px;grid-column:1/-1;padding:10px 12px}.ai-subscriptions-dashboard .fullness-bar-container .stat-label{color:#888;font-size:11px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.ai-subscriptions-dashboard .fullness-bar{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden}.ai-subscriptions-dashboard .fullness-bar-fill{background:#007bff;border-radius:4px;height:100%;transition:width .3s ease}.ai-subscriptions-dashboard .billing-links{align-items:center;display:flex;gap:8px;padding:8px 0}.ai-subscriptions-dashboard .billing-link{align-items:center;color:#007bff;display:inline-flex;font-size:13px;font-weight:500;gap:6px;text-decoration:none}.ai-subscriptions-dashboard .billing-link:hover{text-decoration:underline}.ai-subscriptions-dashboard .billing-link-separator{color:#ccc;font-size:13px}.ai-subscriptions-dashboard .loading-container{align-items:center;color:#888;display:flex;font-size:15px;justify-content:center;padding:80px 20px}.ai-subscriptions-dashboard .error-container{color:#dc3545;padding:40px 20px;text-align:center}.ai-subscriptions-dashboard .rate-limit-row{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:13px;gap:12px;padding:6px 12px}.ai-subscriptions-dashboard .rate-limit-label{color:#333;flex-shrink:0;font-weight:500;min-width:120px}.ai-subscriptions-dashboard .rate-limit-bar-container{align-items:center;display:flex;flex:1 1;gap:10px}.ai-subscriptions-dashboard .rate-limit-bar{background:#e9ecef;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.ai-subscriptions-dashboard .rate-limit-bar-fill{background:#28a745;border-radius:4px;height:100%;transition:width .3s ease}.ai-subscriptions-dashboard .rate-limit-bar-fill.warning{background:#dc3545}.ai-subscriptions-dashboard .rate-limit-numbers{color:#888;font-size:11px;min-width:140px;text-align:right;white-space:nowrap}.ai-subscriptions-dashboard .usage-error-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:13px;margin-bottom:16px;padding:10px 16px}.question-bank-page{max-width:1400px;padding:20px}.question-bank-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.question-bank-page .page-header h4{font-weight:600;margin:0}.question-bank-page .header-actions{display:flex;gap:8px}.question-bank-page .filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.question-bank-page .filters-row .search-input{flex:1 1;min-width:220px}.question-bank-page .filters-row .filter-select{max-width:180px;min-width:140px}.question-bank-page .filters-row .filter-select select{font-size:13px;height:38px;padding:6px 8px}.question-bank-page .results-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;font-size:13px;overflow:hidden}.question-bank-page thead th{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:1}.question-bank-page .question-text-cell{color:#333;cursor:pointer}.question-bank-page .question-text-cell:hover{color:#007bff}.question-bank-page .actions-cell{display:flex;gap:6px;white-space:nowrap}.question-bank-page .action-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#555;cursor:pointer;font-size:12px;padding:3px 8px}.question-bank-page .action-btn:hover{background:#f0f0f0}.question-bank-page .action-btn.delete:hover{background:#fce4ec;border-color:#dc3545;color:#dc3545}.question-bank-page .pagination-row{align-items:center;border-top:1px solid #e9ecef;color:#666;display:flex;font-size:13px;justify-content:space-between;padding:12px 16px}.question-bank-page .pagination-buttons{display:flex;gap:4px}.question-bank-page .pagination-buttons button{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 10px}.question-bank-page .pagination-buttons button:hover:not(:disabled){background:#e9ecef}.question-bank-page .pagination-buttons button:disabled{cursor:not-allowed;opacity:.5}.question-bank-page .pagination-buttons button.active{background:#007bff;border-color:#007bff;color:#fff}.question-bank-page .empty-state,.question-bank-page .loading-container{color:#888;font-size:14px;padding:60px 20px;text-align:center}.question-bank-page .detail-section{margin-bottom:16px}.question-bank-page .detail-section .detail-label{color:#888;font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.question-bank-page .detail-section .detail-value{color:#333;font-size:14px}.question-bank-page .question-html-content{background:#f8f9fa;border-radius:6px;font-size:14px;line-height:1.6;overflow-x:auto;padding:12px}.question-bank-page .question-html-content img{height:auto;max-width:100%}.question-bank-page .choices-list{list-style:none;margin:0;padding:0}.question-bank-page .choices-list li{align-items:flex-start;background:#f8f9fa;border-radius:6px;display:flex;font-size:13px;gap:8px;margin-bottom:6px;padding:8px 12px}.question-bank-page .choices-list li.correct{background:#e8f5e9;border-left:3px solid #28a745}.question-bank-page .choice-letter{color:#555;font-weight:600;min-width:20px}.question-bank-page .detail-meta-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr;margin-bottom:16px}.question-bank-page .detail-tags{display:flex;flex-wrap:wrap;gap:6px}.question-bank-page .detail-tag{background:#e3f2fd;border-radius:4px;color:#1565c0;display:inline-block;font-size:11px;padding:2px 8px}.question-bank-page .qb-analytics-panel{background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;margin-bottom:16px;overflow:hidden}.question-bank-page .qb-analytics-toggle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 16px;text-align:left;transition:opacity .15s;width:100%}.question-bank-page .qb-analytics-toggle:hover{opacity:.92}.question-bank-page .qb-analytics-toggle-icon{font-size:12px}.question-bank-page .qb-analytics-total{font-size:12px;font-weight:400;margin-left:auto;opacity:.85}.question-bank-page .qb-analytics-body{padding:16px}.question-bank-page .qb-analytics-kpi-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.question-bank-page .qb-analytics-kpi{background:#f8f9fa;border-radius:8px;padding:14px 10px;text-align:center}.question-bank-page .qb-analytics-kpi-value{color:#333;font-size:24px;font-weight:700;line-height:1.2}.question-bank-page .qb-analytics-kpi-label{color:#888;font-size:11px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.question-bank-page .qb-analytics-charts{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.question-bank-page .qb-analytics-card{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:14px}.question-bank-page .qb-analytics-card-title{color:#555;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.question-bank-page .qb-search-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;display:flex;font-size:13px;gap:10px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.modal-dialog.qb-form-modal .qb-form{font-size:13px}.modal-dialog.qb-form-modal .qb-form-error{background:#fce4ec;border-radius:6px;color:#c62828;font-size:13px;margin-bottom:14px;padding:8px 12px}.modal-dialog.qb-form-modal .qb-label{color:#555;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.modal-dialog.qb-form-modal .qb-form-section{margin-bottom:16px}.modal-dialog.qb-form-modal .qb-meta-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr;margin-bottom:16px}.modal-dialog.qb-form-modal .qb-choices-list{display:flex;flex-direction:column;gap:6px}.modal-dialog.qb-form-modal .qb-choice-row{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;gap:8px;padding:6px 10px}.modal-dialog.qb-form-modal .qb-choice-letter{color:#555;font-size:13px;font-weight:700;min-width:20px;text-align:center}.modal-dialog.qb-form-modal .qb-choice-text{flex:1 1}.modal-dialog.qb-form-modal .qb-choice-correct{align-items:center;color:#888;cursor:pointer;display:flex;font-size:12px;gap:4px;margin:0;white-space:nowrap}.modal-dialog.qb-form-modal .qb-choice-correct .qb-correct-on{color:#28a745;font-weight:600}.modal-dialog.qb-form-modal .qb-choice-remove{background:none;border:none;color:#bbb;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.modal-dialog.qb-form-modal .qb-choice-remove:hover{color:#dc3545}.modal-dialog.qb-ai-modal .qb-form{font-size:13px}.modal-dialog.qb-ai-modal .qb-label{color:#555;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.modal-dialog.qb-ai-modal .qb-meta-grid{grid-gap:12px;display:grid;gap:12px}.modal-dialog.qb-review-modal{max-width:900px}.modal-dialog.qb-review-modal .qb-review-item{border:1px solid #e9ecef;border-radius:8px;margin-bottom:10px;overflow:hidden}.modal-dialog.qb-review-modal .qb-review-header{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;gap:10px;padding:10px 14px}.modal-dialog.qb-review-modal .qb-review-header:hover{background:#f0f0f0}.modal-dialog.qb-review-modal .qb-review-num{color:#555;font-size:13px;font-weight:700;min-width:28px}.modal-dialog.qb-review-modal .qb-review-stem{color:#333;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-dialog.qb-review-modal .qb-review-toggle{color:#888;font-size:14px}.modal-dialog.qb-review-modal .qb-review-detail{border-top:1px solid #e9ecef;font-size:13px;padding:14px}.modal-dialog.qb-review-modal .qb-label{color:#555;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.modal-dialog.qb-review-modal .qb-meta-grid{grid-gap:12px;display:grid;gap:12px}.modal-dialog.qb-review-modal .qb-choices-list{display:flex;flex-direction:column;gap:6px}.modal-dialog.qb-review-modal .qb-choice-row{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;gap:8px;padding:6px 10px}.modal-dialog.qb-review-modal .qb-choice-letter{color:#555;font-size:13px;font-weight:700;min-width:20px;text-align:center}.modal-dialog.qb-review-modal .qb-choice-text{flex:1 1}.modal-dialog.qb-review-modal .qb-choice-correct{align-items:center;color:#888;cursor:pointer;display:flex;font-size:12px;gap:4px;margin:0;white-space:nowrap}.modal-dialog.qb-review-modal .qb-choice-correct .qb-correct-on{color:#28a745;font-weight:600}.import-docx-page{margin:0 auto;max-width:1000px;padding:20px;position:relative}.import-docx-upload{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.import-docx-file-picker{margin-top:16px}.import-docx-preview-header{gap:8px;justify-content:space-between}.import-docx-bulk-tags,.import-docx-preview-header{align-items:center;display:flex;flex-wrap:wrap;margin-bottom:16px}.import-docx-bulk-tags{background:#f8f9fa;border-radius:6px;gap:4px;padding:10px 14px}.import-docx-question-card{border:1px solid #dee2e6;border-radius:6px;margin-bottom:12px}.import-docx-question-card.has-errors{background:#fff5f5;border-color:#dc3545}.import-docx-question-card.is-child{border-left:3px solid #4caf50;margin-left:24px}.import-docx-card-header{background:#f8f9fa!important;padding:8px 14px!important}.import-docx-q-info{align-items:center;display:flex;gap:8px}.import-docx-q-number{color:#333;font-size:.9rem;font-weight:700}.import-docx-drop-btn{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:1.2rem;line-height:1;margin-left:auto;padding:0 4px;transition:color .15s,background .15s}.import-docx-drop-btn:hover{background:#ffebee;color:#c62828}.import-docx-question-text{line-height:1.6;margin-bottom:12px}.import-docx-question-text img{height:auto;margin:4px 0;max-width:100%}.import-docx-options{margin-bottom:12px}.import-docx-option{align-items:flex-start;background:#f8f9fa;border-radius:4px;display:flex;gap:8px;margin-bottom:4px;padding:6px 10px}.import-docx-option.correct{background:#e8f5e9;border:1px solid #a5d6a7}.import-docx-option-letter{color:#555;font-weight:700;min-width:20px}.import-docx-correct-mark{color:#2e7d32;font-size:1.1rem;font-weight:700;margin-left:auto}.import-docx-option img{height:auto;max-width:100%}.import-docx-answer{background:#fff3e0;border-radius:4px;margin-bottom:12px;padding:6px 10px}.import-docx-solution-accordion{margin-bottom:12px}.import-docx-solution-accordion .accordion-item{background:#0000;border:none}.import-docx-solution-accordion .accordion-button{background:#e3f2fd;border-radius:4px!important;box-shadow:none;color:#1565c0;display:inline-flex;font-size:.85rem;font-weight:600;padding:6px 12px;width:auto}.import-docx-solution-accordion .accordion-button:not(.collapsed){background:#bbdefb;border-radius:4px 4px 0 0!important;color:#1565c0}.import-docx-solution-accordion .accordion-button:after{background-size:14px;height:14px;margin-left:6px;width:14px}.import-docx-solution-accordion .accordion-body{background:#fafafa;border:1px solid #e0e0e0;border-radius:0 0 4px 4px;border-top:none;font-size:.9rem;line-height:1.6;padding:12px}.import-docx-solution-accordion img{height:auto;max-width:100%}.import-docx-errors{margin-bottom:10px}.import-docx-error-item{background:#ffebee;border-radius:4px;color:#c62828;font-size:.85rem;margin-bottom:4px;padding:4px 10px}.import-docx-tags{border-top:1px solid #eee;margin-top:12px;padding-top:10px}.import-docx-tag-group{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.import-docx-tag-label{color:#555;font-size:.8rem;font-weight:600;min-width:80px;padding-top:4px}.import-docx-selected-tags{display:flex;flex-wrap:wrap;gap:4px}.import-docx-tag-chip{align-items:center;background:#e3f2fd;border-radius:12px;color:#1565c0;display:inline-flex;font-size:.75rem;gap:4px;padding:2px 8px}.import-docx-tag-remove{cursor:pointer;font-size:.7rem;font-weight:700;opacity:.7}.import-docx-tag-remove:hover{opacity:1}.import-docx-comprehension-group{margin-bottom:16px}.import-docx-passage-card{border:2px solid #4caf50;border-radius:6px;margin-bottom:4px}.import-docx-children{padding-left:0}.import-docx-done{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:40px;text-align:center}.import-docx-success-icon{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:32px;height:60px;justify-content:center;margin:0 auto 16px;width:60px}.import-docx-loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.import-docx-error-banner{align-items:center;background:#ffebee;border-radius:6px;color:#c62828;display:flex;justify-content:space-between;margin-bottom:16px;padding:10px 14px}.import-docx-error-close{cursor:pointer;font-weight:700;opacity:.7}.import-docx-error-close:hover{opacity:1}.import-docx-quick-paper-btn{background:linear-gradient(135deg,#28a745,#20c997)!important;border:none!important;border-radius:6px;color:#fff!important;font-size:.9rem;font-weight:600;padding:8px 20px;transition:opacity .2s}.import-docx-quick-paper-btn:hover{color:#fff!important;opacity:.9}.math-frac{align-items:center;display:inline-flex;flex-direction:column;margin:0 2px;text-align:center;vertical-align:middle}.math-frac .math-num{border-bottom:1px solid;line-height:1.2;padding:0 4px 1px}.math-frac .math-den{line-height:1.2;padding:1px 4px 0}.exec-dashboard{background:#f8f9fa;min-height:100vh;padding:24px}.exec-dashboard__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.exec-dashboard__title{color:#1a1a2e;font-size:24px;font-weight:700;margin:0}.ed-filter-bar{align-items:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:16px 20px}.ed-filter-bar__item{display:flex;flex-direction:column;gap:4px}.ed-filter-bar__label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ed-filter-bar__input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:13px;min-width:140px;padding:6px 10px}.ed-filter-bar__input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;outline:none}.ed-filter-bar__btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:7px 18px}.ed-filter-bar__btn--apply{background:#3b82f6;color:#fff}.ed-filter-bar__btn--apply:hover{background:#2563eb}.ed-filter-bar__btn--clear{background:#f3f4f6;color:#4b5563}.ed-filter-bar__btn--clear:hover{background:#e5e7eb}.exec-dashboard__tabs{background:#e9ecef;border-radius:10px;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding:4px}.exec-dashboard__tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;padding:10px 18px;transition:all .2s;white-space:nowrap}.exec-dashboard__tab:hover{background:#ffffff80;color:#374151}.exec-dashboard__tab--active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#3b82f6;font-weight:600}.exec-dashboard__loading{align-items:center;color:#6b7280;display:flex;font-size:16px;justify-content:center;min-height:400px}.exec-dashboard__error{color:#ef4444;font-size:15px;padding:48px;text-align:center}.ed-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.ed-kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a;padding:20px}.ed-kpi-card__label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.ed-kpi-card__value{color:#1a1a2e;font-size:28px;font-weight:700;line-height:1.2;margin:0}.ed-kpi-card__sub{color:#9ca3af;font-size:12px;margin:4px 0 0}.ed-kpi-card--blue{border-left:4px solid #3b82f6}.ed-kpi-card--green{border-left:4px solid #10b981}.ed-kpi-card--amber{border-left:4px solid #f59e0b}.ed-kpi-card--red{border-left:4px solid #ef4444}.ed-kpi-card--purple{border-left:4px solid #8b5cf6}.ed-kpi-card--teal{border-left:4px solid #14b8a6}.ed-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a;margin-bottom:20px;padding:24px}.ed-section__title{color:#1a1a2e;font-size:16px;font-weight:600;margin:0 0 16px}.ed-grid-2{grid-gap:20px;grid-template-columns:1fr 1fr}.ed-grid-2,.ed-grid-3{display:grid;gap:20px;margin-bottom:20px}.ed-grid-3{grid-gap:20px;grid-template-columns:1fr 1fr 1fr}.ed-table{border-collapse:collapse;font-size:13px;width:100%}.ed-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.ed-table td{border-bottom:1px solid #f3f4f6;color:#4b5563;padding:10px 12px}.ed-table tr:hover td{background:#f9fafb}.ed-table .text-right{text-align:right}.ed-table .text-center{text-align:center}.ed-progress{background:#e5e7eb;border-radius:4px;height:6px;min-width:60px;overflow:hidden}.ed-progress__bar{border-radius:4px;height:100%;transition:width .3s ease}.ed-progress__bar--green{background:#10b981}.ed-progress__bar--amber{background:#f59e0b}.ed-progress__bar--red{background:#ef4444}.ed-status{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:3px 10px}.ed-status--green{background:#d1fae5;color:#065f46}.ed-status--amber{background:#fef3c7;color:#92400e}.ed-status--red{background:#fee2e2;color:#991b1b}.ed-status--blue{background:#dbeafe;color:#1e40af}.ed-status--gray{background:#f3f4f6;color:#4b5563}@keyframes ed-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ed-skeleton{animation:ed-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:800px 100%;border-radius:8px}.ed-skeleton--kpi{border-radius:12px;height:100px}.ed-skeleton--chart{border-radius:12px;height:300px}.ed-skeleton--chart-tall{border-radius:12px;height:400px}.ed-skeleton--text{height:16px;margin-bottom:12px;width:60%}.ed-skeleton--title{height:20px;margin-bottom:16px;width:40%}.ed-empty{color:#9ca3af;font-size:14px;padding:40px;text-align:center}@media (max-width:1200px){.ed-grid-2,.ed-grid-3{grid-template-columns:1fr}}@media (max-width:768px){.exec-dashboard{padding:16px}.ed-kpi-grid{grid-template-columns:1fr 1fr}.exec-dashboard__tabs{gap:2px}.exec-dashboard__tab{font-size:12px;padding:8px 12px}}
/*# sourceMappingURL=main.27f87969.css.map*/