diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 00000000..a20cda4d
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,18 @@
+## Goal
+
+
+## Changes
+
+
+## Testing
+
+
+## Artifacts & Screenshots
+
+
+---
+
+### Checklist
+- [ ] PR has a clear and descriptive title
+- [ ] Documentation updated if needed
+- [ ] No secrets or large temporary files committed
\ No newline at end of file
diff --git a/labs/lab5/analysis/correlation.txt b/labs/lab5/analysis/correlation.txt
new file mode 100644
index 00000000..1d476eee
--- /dev/null
+++ b/labs/lab5/analysis/correlation.txt
@@ -0,0 +1,6 @@
+=== SAST/DAST Correlation Report ===
+SAST findings: 25
+ZAP findings: 0
+Nuclei findings: 3
+Nikto findings: 14
+SQLmap: Check results in sqlmap directory
diff --git a/labs/lab5/analysis/dast-analysis.txt b/labs/lab5/analysis/dast-analysis.txt
new file mode 100644
index 00000000..ac2e5b88
--- /dev/null
+++ b/labs/lab5/analysis/dast-analysis.txt
@@ -0,0 +1,5 @@
+=== DAST Analysis Report ===
+ZAP findings: 0
+Nuclei findings: 3
+Nikto findings: 14
+SQLmap: Check output directory for results
diff --git a/labs/lab5/analysis/sast-analysis.txt b/labs/lab5/analysis/sast-analysis.txt
new file mode 100644
index 00000000..4af5e8a9
--- /dev/null
+++ b/labs/lab5/analysis/sast-analysis.txt
@@ -0,0 +1,2 @@
+=== SAST Analysis Report ===
+25
diff --git a/labs/lab5/nikto/nikto-results.txt b/labs/lab5/nikto/nikto-results.txt
new file mode 100644
index 00000000..dacf3719
--- /dev/null
+++ b/labs/lab5/nikto/nikto-results.txt
@@ -0,0 +1,15 @@
+- Nikto v2.1.5/2.1.5
++ Target Host: host.docker.internal
++ Target Port: 3000
++ GET /: Server leaks inodes via ETags, header found with file /, fields: 0xW/124fa 0x199ceb49c18
++ GET /: Uncommon header 'x-frame-options' found, with contents: SAMEORIGIN
++ GET /: Uncommon header 'x-content-type-options' found, with contents: nosniff
++ GET /: Uncommon header 'x-recruiting' found, with contents: /#/jobs
++ GET /: Uncommon header 'access-control-allow-origin' found, with contents: *
++ GET /: Uncommon header 'feature-policy' found, with contents: payment 'self'
++ GET //ftp/: File/dir '/ftp/' in robots.txt returned a non-forbidden or redirect HTTP code (200)
++ GET /robots.txt: "robots.txt" contains 1 entry which should be manually viewed.
++ OPTIONS *: Uncommon header 'access-control-allow-methods' found, with contents: GET,HEAD,PUT,PATCH,POST,DELETE
++ -3092: GET /css: /css: This might be interesting...
++ -3092: GET /ftp/: /ftp/: This might be interesting...
++ -3092: GET /public/: /public/: This might be interesting...
diff --git a/labs/lab5/nuclei/nuclei-results.json b/labs/lab5/nuclei/nuclei-results.json
new file mode 100644
index 00000000..7b229448
--- /dev/null
+++ b/labs/lab5/nuclei/nuclei-results.json
@@ -0,0 +1,3 @@
+{"template":"http/exposures/apis/swagger-api.yaml","template-url":"https://cloud.projectdiscovery.io/public/swagger-api","template-id":"swagger-api","template-path":"/root/nuclei-templates/http/exposures/apis/swagger-api.yaml","info":{"name":"Public Swagger API - Detect","author":["pdteam","c-sh0","amirhossein raeisi"],"tags":["exposure","api","swagger"],"description":"Public Swagger API was detected.","reference":["https://swagger.io/"],"severity":"info","metadata":{"verified":true,"max-request":59,"shodan-query":"http.title:\"swagger\""},"classification":{"cve-id":null,"cwe-id":["cwe-200"],"cvss-metrics":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"}},"type":"http","host":"host.docker.internal:3000","port":"3000","scheme":"http","url":"http://host.docker.internal:3000","matched-at":"http://host.docker.internal:3000/api-docs/swagger.json","request":"GET /api-docs/swagger.json HTTP/1.1\r\nHost: host.docker.internal:3000\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36\r\nAccept: text/html\r\nAccept-Language: en\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nTransfer-Encoding: chunked\r\nAccess-Control-Allow-Origin: *\r\nContent-Type: text/html; charset=utf-8\r\nDate: Fri, 10 Oct 2025 15:52:05 GMT\r\nEtag: W/\"c22-H8FH9nKD8DeX/nvIRrte6ZjP2a4\"\r\nFeature-Policy: payment 'self'\r\nVary: Accept-Encoding\r\nX-Content-Type-Options: nosniff\r\nX-Frame-Options: SAMEORIGIN\r\nX-Recruiting: /#/jobs\r\n\r\n\n\u003c!-- HTML for static distribution bundle build --\u003e\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n \u003cmeta charset=\"UTF-8\"\u003e\n \n \u003ctitle\u003eSwagger UI\u003c/title\u003e\n \u003clink rel=\"stylesheet\" type=\"text/css\" href=\"./swagger-ui.css\" \u003e\n \u003clink rel=\"icon\" type=\"image/png\" href=\"./favicon-32x32.png\" sizes=\"32x32\" /\u003e\u003clink rel=\"icon\" type=\"image/png\" href=\"./favicon-16x16.png\" sizes=\"16x16\" /\u003e\n \u003cstyle\u003e\n html\n {\n box-sizing: border-box;\n overflow: -moz-scrollbars-vertical;\n overflow-y: scroll;\n }\n *,\n *:before,\n *:after\n {\n box-sizing: inherit;\n }\n\n body {\n margin:0;\n background: #fafafa;\n }\n \u003c/style\u003e\n\u003c/head\u003e\n\n\u003cbody\u003e\n\n\u003csvg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"position:absolute;width:0;height:0\"\u003e\n \u003cdefs\u003e\n \u003csymbol viewBox=\"0 0 20 20\" id=\"unlocked\"\u003e\n \u003cpath d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\"\u003e\u003c/path\u003e\n \u003c/symbol\u003e\n\n \u003csymbol viewBox=\"0 0 20 20\" id=\"locked\"\u003e\n \u003cpath d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\"/\u003e\n \u003c/symbol\u003e\n\n \u003csymbol viewBox=\"0 0 20 20\" id=\"close\"\u003e\n \u003cpath d=\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\"/\u003e\n \u003c/symbol\u003e\n\n \u003csymbol viewBox=\"0 0 20 20\" id=\"large-arrow\"\u003e\n \u003cpath d=\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\"/\u003e\n \u003c/symbol\u003e\n\n \u003csymbol viewBox=\"0 0 20 20\" id=\"large-arrow-down\"\u003e\n \u003cpath d=\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\"/\u003e\n \u003c/symbol\u003e\n\n\n \u003csymbol viewBox=\"0 0 24 24\" id=\"jump-to\"\u003e\n \u003cpath d=\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\"/\u003e\n \u003c/symbol\u003e\n\n \u003csymbol viewBox=\"0 0 24 24\" id=\"expand\"\u003e\n \u003cpath d=\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"/\u003e\n \u003c/symbol\u003e\n\n \u003c/defs\u003e\n\u003c/svg\u003e\n\n\u003cdiv id=\"swagger-ui\"\u003e\u003c/div\u003e\n\n\u003cscript src=\"./swagger-ui-bundle.js\"\u003e \u003c/script\u003e\n\u003cscript src=\"./swagger-ui-standalone-preset.js\"\u003e \u003c/script\u003e\n\u003cscript src=\"./swagger-ui-init.js\"\u003e \u003c/script\u003e\n\n\n\n\u003cstyle\u003e\n .swagger-ui .topbar .download-url-wrapper { display: none } undefined\n\u003c/style\u003e\n\u003c/body\u003e\n\n\u003c/html\u003e\n","meta":{"paths":"/api-docs/swagger.json"},"ip":"192.168.65.254","timestamp":"2025-10-10T15:52:05.378565304Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: text/html' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36' 'http://host.docker.internal:3000/api-docs/swagger.json'","matcher-status":true}
+{"template":"http/misconfiguration/missing-sri.yaml","template-url":"https://cloud.projectdiscovery.io/public/missing-sri","template-id":"missing-sri","template-path":"/root/nuclei-templates/http/misconfiguration/missing-sri.yaml","info":{"name":"Missing Subresource Integrity","author":["lucky0x0d","pulsesecurity.co.nz","sullo amarsct"],"tags":["compliance","js","css","sri","misconfig"],"description":"Checks if external script and stylesheet tags in the HTML response are missing the Subresource Integrity (SRI) attribute.\n","reference":["https://cheatsheetseries.owasp.org/cheatsheets/Third_Party_Javascript_Management_Cheat_Sheet.html#subresource-integrity","https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity"],"severity":"info","metadata":{"max-request":1}},"type":"http","host":"host.docker.internal:3000","port":"3000","scheme":"http","url":"http://host.docker.internal:3000","matched-at":"http://host.docker.internal:3000","extracted-results":["//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js","//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js","//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css"],"request":"GET / HTTP/1.1\r\nHost: host.docker.internal:3000\r\nUser-Agent: Mozilla/5.0 (SS; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36\r\nConnection: close\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nTransfer-Encoding: chunked\r\nAccept-Ranges: bytes\r\nAccess-Control-Allow-Origin: *\r\nCache-Control: public, max-age=0\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Fri, 10 Oct 2025 15:52:16 GMT\r\nEtag: W/\"124fa-199ceb49c18\"\r\nFeature-Policy: payment 'self'\r\nLast-Modified: Fri, 10 Oct 2025 15:19:27 GMT\r\nVary: Accept-Encoding\r\nX-Content-Type-Options: nosniff\r\nX-Frame-Options: SAMEORIGIN\r\nX-Recruiting: /#/jobs\r\n\r\n\u003c!--\n ~ Copyright (c) 2014-2025 Bjoern Kimminich \u0026 the OWASP Juice Shop contributors.\n ~ SPDX-License-Identifier: MIT\n --\u003e\n\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\" data-beasties-container\u003e\n\u003chead\u003e\n \u003cmeta charset=\"utf-8\"\u003e\n \u003ctitle\u003eOWASP Juice Shop\u003c/title\u003e\n \u003cmeta name=\"description\" content=\"Probably the most modern and sophisticated insecure web application\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\u003e\n \u003clink id=\"favicon\" rel=\"icon\" type=\"image/x-icon\" href=\"assets/public/favicon_js.ico\"\u003e\n \u003clink rel=\"stylesheet\" type=\"text/css\" href=\"//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css\"\u003e\n \u003cscript src=\"//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js\"\u003e\u003c/script\u003e\n \u003cscript src=\"//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n window.addEventListener(\"load\", function(){\n window.cookieconsent.initialise({\n \"palette\": {\n \"popup\": { \"background\": \"var(--theme-primary)\", \"text\": \"var(--theme-text)\" },\n \"button\": { \"background\": \"var(--theme-accent)\", \"text\": \"var(--theme-text)\" }\n },\n \"theme\": \"classic\",\n \"position\": \"bottom-right\",\n \"content\": { \"message\": \"This website uses fruit cookies to ensure you get the juiciest tracking experience.\", \"dismiss\": \"Me want it!\", \"link\": \"But me wait!\", \"href\": \"https://www.youtube.com/watch?v=9PnbKL3wuH4\" }\n })});\n \u003c/script\u003e\n\u003cstyle\u003ehtml{--mat-sys-on-surface:initial}.mat-app-background{background-color:var(--mat-app-background-color, var(--mat-sys-background, transparent));color:var(--mat-app-text-color, var(--mat-sys-on-background, inherit))}.mat-typography{font:400 14px/20px Roboto,sans-serif;letter-spacing:.0178571429em}html{--mat-tooltip-supporting-text-font:Roboto, sans-serif;--mat-tooltip-supporting-text-size:12px;--mat-tooltip-supporting-text-weight:400;--mat-tooltip-supporting-text-tracking:.0333333333em}html{--mat-app-background-color:#fafafa;--mat-app-text-color:rgba(0, 0, 0, .87);--mat-app-elevation-shadow-level-0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7:0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9:0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10:0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11:0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14:0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15:0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16:0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17:0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18:0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19:0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22:0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23:0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent)}html{--mat-option-selected-state-label-text-color:#673ab7;--mat-option-label-text-color:rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-option-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-option-selected-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent)}html{--mat-optgroup-label-text-color:rgba(0, 0, 0, .87)}html{--mat-pseudo-checkbox-full-selected-icon-color:#ffa000;--mat-pseudo-checkbox-full-selected-checkmark-color:#fafafa;--mat-pseudo-checkbox-full-unselected-icon-color:rgba(0, 0, 0, .54);--mat-pseudo-checkbox-full-disabled-selected-checkmark-color:#fafafa;--mat-pseudo-checkbox-full-disabled-unselected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-pseudo-checkbox-full-disabled-selected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-pseudo-checkbox-minimal-selected-checkmark-color:#ffa000;--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent)}html{--mat-card-elevated-container-shape:4px;--mat-card-outlined-container-shape:4px;--mat-card-filled-container-shape:4px;--mat-card-outlined-outline-width:1px}html{--mat-card-elevated-container-color:white;--mat-card-elevated-container-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-card-outlined-container-color:white;--mat-card-outlined-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-outlined-outline-color:rgba(0, 0, 0, .12);--mat-card-subtitle-text-color:rgba(0, 0, 0, .54);--mat-card-filled-container-color:white;--mat-card-filled-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-progress-bar-active-indicator-height:4px;--mat-progress-bar-track-height:4px;--mat-progress-bar-track-shape:0}html{--mat-tooltip-container-shape:4px;--mat-tooltip-supporting-text-line-height:16px}html{--mat-tooltip-container-color:#424242;--mat-tooltip-supporting-text-color:white}html{--mat-form-field-filled-active-indicator-height:1px;--mat-form-field-filled-focus-active-indicator-height:2px;--mat-form-field-filled-container-shape:4px;--mat-form-field-outlined-outline-width:1px;--mat-form-field-outlined-focus-outline-width:2px;--mat-form-field-outlined-container-shape:4px}html{--mat-form-field-focus-select-arrow-color:color-mix(in srgb, #673ab7 87%, transparent);--mat-form-field-filled-caret-color:#673ab7;--mat-form-field-filled-focus-active-indicator-color:#673ab7;--mat-form-field-filled-focus-label-text-color:color-mix(in srgb, #673ab7 87%, transparent);--mat-form-field-outlined-caret-color:#673ab7;--mat-form-field-outlined-focus-outline-color:#673ab7;--mat-form-field-outlined-focus-label-text-color:color-mix(in srgb, #673ab7 87%, transparent);--mat-form-field-disabled-input-text-placeholder-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-state-layer-color:rgba(0, 0, 0, .87);--mat-form-field-error-text-color:#f44336;--mat-form-field-select-option-text-color:inherit;--mat-form-field-select-disabled-option-text-color:GrayText;--mat-form-field-leading-icon-color:unset;--mat-form-field-disabled-leading-icon-color:unset;--mat-form-field-trailing-icon-color:unset;--mat-form-field-disabled-trailing-icon-color:unset;--mat-form-field-error-focus-trailing-icon-color:unset;--mat-form-field-error-hover-trailing-icon-color:unset;--mat-form-field-error-trailing-icon-color:unset;--mat-form-field-enabled-select-arrow-color:rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-hover-state-layer-opacity:.04;--mat-form-field-focus-state-layer-opacity:.12;--mat-form-field-filled-container-color:#f6f6f6;--mat-form-field-filled-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-form-field-filled-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-filled-hover-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-filled-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-filled-input-text-color:rgba(0, 0, 0, .87);--mat-form-field-filled-disabled-input-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-filled-input-text-placeholder-color:rgba(0, 0, 0, .54);--mat-form-field-filled-error-hover-label-text-color:#f44336;--mat-form-field-filled-error-focus-label-text-color:#f44336;--mat-form-field-filled-error-label-text-color:#f44336;--mat-form-field-filled-error-caret-color:#f44336;--mat-form-field-filled-active-indicator-color:rgba(0, 0, 0, .54);--mat-form-field-filled-disabled-active-indicator-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-form-field-filled-hover-active-indicator-color:rgba(0, 0, 0, .87);--mat-form-field-filled-error-active-indicator-color:#f44336;--mat-form-field-filled-error-focus-active-indicator-color:#f44336;--mat-form-field-filled-error-hover-active-indicator-color:#f44336;--mat-form-field-outlined-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-outlined-hover-label-text-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-outlined-input-text-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-disabled-input-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-outlined-input-text-placeholder-color:rgba(0, 0, 0, .54);--mat-form-field-outlined-error-caret-color:#f44336;--mat-form-field-outlined-error-focus-label-text-color:#f44336;--mat-form-field-outlined-error-label-text-color:#f44336;--mat-form-field-outlined-error-hover-label-text-color:#f44336;--mat-form-field-outlined-outline-color:rgba(0, 0, 0, .38);--mat-form-field-outlined-disabled-outline-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-form-field-outlined-hover-outline-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-error-focus-outline-color:#f44336;--mat-form-field-outlined-error-hover-outline-color:#f44336;--mat-form-field-outlined-error-outline-color:#f44336}html{--mat-form-field-container-height:56px;--mat-form-field-filled-label-display:block;--mat-form-field-container-vertical-padding:16px;--mat-form-field-filled-with-label-container-padding-top:24px;--mat-form-field-filled-with-label-container-padding-bottom:8px}html{--mat-select-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-select-placeholder-text-color:rgba(0, 0, 0, .54);--mat-select-enabled-arrow-color:rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-select-focused-arrow-color:#673ab7;--mat-select-invalid-arrow-color:#f44336}html{--mat-select-arrow-transform:translateY(-8px)}html{--mat-autocomplete-container-shape:4px;--mat-autocomplete-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-autocomplete-background-color:white}html{--mat-dialog-container-shape:4px;--mat-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-dialog-container-max-width:80vw;--mat-dialog-container-small-max-width:80vw;--mat-dialog-container-min-width:0;--mat-dialog-actions-alignment:start;--mat-dialog-actions-padding:8px;--mat-dialog-content-padding:20px 24px;--mat-dialog-with-actions-content-padding:20px 24px;--mat-dialog-headline-padding:0 24px 9px}html{--mat-dialog-container-color:white;--mat-dialog-subhead-color:rgba(0, 0, 0, .87);--mat-dialog-supporting-text-color:rgba(0, 0, 0, .54)}html{--mat-slide-toggle-disabled-handle-opacity:.38;--mat-slide-toggle-disabled-selected-handle-opacity:.38;--mat-slide-toggle-disabled-selected-icon-opacity:.38;--mat-slide-toggle-disabled-track-opacity:.12;--mat-slide-toggle-disabled-unselected-handle-opacity:.38;--mat-slide-toggle-disabled-unselected-icon-opacity:.38;--mat-slide-toggle-disabled-unselected-track-outline-color:transparent;--mat-slide-toggle-disabled-unselected-track-outline-width:1px;--mat-slide-toggle-handle-height:20px;--mat-slide-toggle-handle-shape:10px;--mat-slide-toggle-handle-width:20px;--mat-slide-toggle-hidden-track-opacity:1;--mat-slide-toggle-hidden-track-transition:transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-slide-toggle-pressed-handle-size:20px;--mat-slide-toggle-selected-focus-state-layer-opacity:.12;--mat-slide-toggle-selected-handle-horizontal-margin:0;--mat-slide-toggle-selected-handle-size:20px;--mat-slide-toggle-selected-hover-state-layer-opacity:.04;--mat-slide-toggle-selected-icon-size:18px;--mat-slide-toggle-selected-pressed-handle-horizontal-margin:0;--mat-slide-toggle-selected-pressed-state-layer-opacity:.12;--mat-slide-toggle-selected-track-outline-color:transparent;--mat-slide-toggle-selected-track-outline-width:1px;--mat-slide-toggle-selected-with-icon-handle-horizontal-margin:0;--mat-slide-toggle-track-height:14px;--mat-slide-toggle-track-outline-color:transparent;--mat-slide-toggle-track-outline-width:1px;--mat-slide-toggle-track-shape:7px;--mat-slide-toggle-track-width:36px;--mat-slide-toggle-unselected-focus-state-layer-opacity:.12;--mat-slide-toggle-unselected-handle-horizontal-margin:0;--mat-slide-toggle-unselected-handle-size:20px;--mat-slide-toggle-unselected-hover-state-layer-opacity:.12;--mat-slide-toggle-unselected-icon-size:18px;--mat-slide-toggle-unselected-pressed-handle-horizontal-margin:0;--mat-slide-toggle-unselected-pressed-state-layer-opacity:.1;--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin:0;--mat-slide-toggle-visible-track-opacity:1;--mat-slide-toggle-visible-track-transition:transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-slide-toggle-with-icon-handle-size:20px;--mat-slide-toggle-touch-target-size:48px}html{--mat-slide-toggle-selected-icon-color:white;--mat-slide-toggle-disabled-selected-icon-color:white;--mat-slide-toggle-selected-focus-state-layer-color:#673ab7;--mat-slide-toggle-selected-handle-color:#673ab7;--mat-slide-toggle-selected-hover-state-layer-color:#673ab7;--mat-slide-toggle-selected-pressed-state-layer-color:#673ab7;--mat-slide-toggle-selected-focus-handle-color:#673ab7;--mat-slide-toggle-selected-hover-handle-color:#673ab7;--mat-slide-toggle-selected-pressed-handle-color:#673ab7;--mat-slide-toggle-selected-focus-track-color:#9575cd;--mat-slide-toggle-selected-hover-track-color:#9575cd;--mat-slide-toggle-selected-pressed-track-color:#9575cd;--mat-slide-toggle-selected-track-color:#9575cd;--mat-slide-toggle-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-slide-toggle-disabled-handle-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-disabled-selected-handle-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-selected-track-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-unselected-handle-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-unselected-icon-color:#f6f6f6;--mat-slide-toggle-disabled-unselected-track-color:rgba(0, 0, 0, .87);--mat-slide-toggle-handle-elevation-shadow:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-handle-surface-color:white;--mat-slide-toggle-label-text-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-hover-handle-color:#424242;--mat-slide-toggle-unselected-focus-handle-color:#424242;--mat-slide-toggle-unselected-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-focus-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-icon-color:#f6f6f6;--mat-slide-toggle-unselected-handle-color:rgba(0, 0, 0, .54);--mat-slide-toggle-unselected-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-hover-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-pressed-handle-color:#424242;--mat-slide-toggle-unselected-pressed-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-pressed-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-track-color:rgba(0, 0, 0, .12)}html{--mat-slide-toggle-state-layer-size:40px;--mat-slide-toggle-touch-target-display:block}html{--mat-radio-disabled-selected-icon-opacity:.38;--mat-radio-disabled-unselected-icon-opacity:.38;--mat-radio-state-layer-size:40px;--mat-radio-touch-target-size:48px}html{--mat-radio-state-layer-size:40px;--mat-radio-touch-target-display:block}html{--mat-slider-active-track-height:6px;--mat-slider-active-track-shape:9999px;--mat-slider-handle-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slider-handle-height:20px;--mat-slider-handle-shape:50%;--mat-slider-handle-width:20px;--mat-slider-inactive-track-height:4px;--mat-slider-inactive-track-shape:9999px;--mat-slider-value-indicator-border-radius:4px;--mat-slider-value-indicator-caret-display:block;--mat-slider-value-indicator-container-transform:translateX(-50%);--mat-slider-value-indicator-height:32px;--mat-slider-value-indicator-padding:0 12px;--mat-slider-value-indicator-text-transform:none;--mat-slider-value-indicator-width:auto;--mat-slider-with-overlap-handle-outline-width:1px;--mat-slider-with-tick-marks-active-container-opacity:.6;--mat-slider-with-tick-marks-container-shape:50%;--mat-slider-with-tick-marks-container-size:2px;--mat-slider-with-tick-marks-inactive-container-opacity:.6}html{--mat-slider-active-track-color:#673ab7;--mat-slider-focus-handle-color:#673ab7;--mat-slider-handle-color:#673ab7;--mat-slider-hover-handle-color:#673ab7;--mat-slider-focus-state-layer-color:color-mix(in srgb, #673ab7 12%, transparent);--mat-slider-hover-state-layer-color:color-mix(in srgb, #673ab7 4%, transparent);--mat-slider-inactive-track-color:#673ab7;--mat-slider-ripple-color:#673ab7;--mat-slider-with-tick-marks-active-container-color:white;--mat-slider-with-tick-marks-inactive-container-color:#673ab7;--mat-slider-disabled-active-track-color:rgba(0, 0, 0, .87);--mat-slider-disabled-handle-color:rgba(0, 0, 0, .87);--mat-slider-disabled-inactive-track-color:rgba(0, 0, 0, .87);--mat-slider-label-container-color:#424242;--mat-slider-label-label-text-color:white;--mat-slider-value-indicator-opacity:1;--mat-slider-with-overlap-handle-outline-color:rgba(0, 0, 0, .87);--mat-slider-with-tick-marks-disabled-container-color:rgba(0, 0, 0, .87)}html{--mat-menu-container-shape:4px;--mat-menu-divider-bottom-spacing:0;--mat-menu-divider-top-spacing:0;--mat-menu-item-spacing:16px;--mat-menu-item-icon-size:24px;--mat-menu-item-leading-spacing:16px;--mat-menu-item-trailing-spacing:16px;--mat-menu-item-with-icon-leading-spacing:16px;--mat-menu-item-with-icon-trailing-spacing:16px;--mat-menu-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-menu-item-label-text-color:rgba(0, 0, 0, .87);--mat-menu-item-icon-color:rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-menu-item-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-menu-container-color:white;--mat-menu-divider-color:rgba(0, 0, 0, .12)}html{--mat-list-active-indicator-color:transparent;--mat-list-active-indicator-shape:4px;--mat-list-list-item-container-shape:0;--mat-list-list-item-leading-avatar-shape:50%;--mat-list-list-item-container-color:transparent;--mat-list-list-item-selected-container-color:transparent;--mat-list-list-item-leading-avatar-color:transparent;--mat-list-list-item-leading-icon-size:24px;--mat-list-list-item-leading-avatar-size:40px;--mat-list-list-item-trailing-icon-size:24px;--mat-list-list-item-disabled-state-layer-color:transparent;--mat-list-list-item-disabled-state-layer-opacity:0;--mat-list-list-item-disabled-label-text-opacity:.38;--mat-list-list-item-disabled-leading-icon-opacity:.38;--mat-list-list-item-disabled-trailing-icon-opacity:.38}html{--mat-list-list-item-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-supporting-text-color:rgba(0, 0, 0, .54);--mat-list-list-item-leading-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-trailing-supporting-text-color:rgba(0, 0, 0, .54);--mat-list-list-item-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-selected-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-disabled-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-disabled-leading-icon-color:rgba(0, 0, 0, .87);--mat-list-list-item-disabled-trailing-icon-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-leading-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-state-layer-opacity:.04;--mat-list-list-item-hover-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-focus-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-list-list-item-focus-state-layer-opacity:.12}html{--mat-list-list-item-leading-icon-start-space:16px;--mat-list-list-item-leading-icon-end-space:32px;--mat-list-list-item-one-line-container-height:48px;--mat-list-list-item-two-line-container-height:64px;--mat-list-list-item-three-line-container-height:88px}html{--mat-paginator-page-size-select-width:84px;--mat-paginator-page-size-select-touch-target-height:48px}html{--mat-paginator-container-text-color:rgba(0, 0, 0, .87);--mat-paginator-container-background-color:white;--mat-paginator-enabled-icon-color:rgba(0, 0, 0, .54);--mat-paginator-disabled-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent)}html{--mat-paginator-container-size:56px;--mat-paginator-form-field-container-height:40px;--mat-paginator-form-field-container-vertical-padding:8px;--mat-paginator-touch-target-display:block}html{--mat-tab-container-height:48px;--mat-tab-divider-color:transparent;--mat-tab-divider-height:0;--mat-tab-active-indicator-height:2px;--mat-tab-active-indicator-shape:0}html{--mat-checkbox-disabled-selected-checkmark-color:white;--mat-checkbox-selected-focus-state-layer-opacity:.12;--mat-checkbox-selected-hover-state-layer-opacity:.04;--mat-checkbox-selected-pressed-state-layer-opacity:.12;--mat-checkbox-unselected-focus-state-layer-opacity:.12;--mat-checkbox-unselected-hover-state-layer-opacity:.04;--mat-checkbox-unselected-pressed-state-layer-opacity:.12;--mat-checkbox-touch-target-size:48px}html{--mat-checkbox-disabled-label-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-label-text-color:rgba(0, 0, 0, .87);--mat-checkbox-disabled-selected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-disabled-unselected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-selected-checkmark-color:rgba(0, 0, 0, .87);--mat-checkbox-selected-focus-icon-color:#ffa000;--mat-checkbox-selected-hover-icon-color:#ffa000;--mat-checkbox-selected-icon-color:#ffa000;--mat-checkbox-selected-pressed-icon-color:#ffa000;--mat-checkbox-unselected-focus-icon-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-hover-icon-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mat-checkbox-selected-focus-state-layer-color:#ffa000;--mat-checkbox-selected-hover-state-layer-color:#ffa000;--mat-checkbox-selected-pressed-state-layer-color:#ffa000;--mat-checkbox-unselected-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-pressed-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-checkbox-touch-target-display:block;--mat-checkbox-state-layer-size:40px}html{--mat-button-filled-container-shape:4px;--mat-button-filled-horizontal-padding:16px;--mat-button-filled-icon-offset:-4px;--mat-button-filled-icon-spacing:8px;--mat-button-filled-touch-target-size:48px;--mat-button-outlined-container-shape:4px;--mat-button-outlined-horizontal-padding:15px;--mat-button-outlined-icon-offset:-4px;--mat-button-outlined-icon-spacing:8px;--mat-button-outlined-keep-touch-target:false;--mat-button-outlined-outline-width:1px;--mat-button-outlined-touch-target-size:48px;--mat-button-protected-container-elevation-shadow:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-button-protected-container-shape:4px;--mat-button-protected-disabled-container-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-button-protected-focus-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-button-protected-horizontal-padding:16px;--mat-button-protected-hover-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-button-protected-icon-offset:-4px;--mat-button-protected-icon-spacing:8px;--mat-button-protected-pressed-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-button-protected-touch-target-size:48px;--mat-button-text-container-shape:4px;--mat-button-text-horizontal-padding:8px;--mat-button-text-icon-offset:0;--mat-button-text-icon-spacing:8px;--mat-button-text-with-icon-horizontal-padding:8px;--mat-button-text-touch-target-size:48px;--mat-button-tonal-container-shape:4px;--mat-button-tonal-horizontal-padding:16px;--mat-button-tonal-icon-offset:-4px;--mat-button-tonal-icon-spacing:8px;--mat-button-tonal-touch-target-size:48px}html{--mat-button-filled-container-color:white;--mat-button-filled-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-filled-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-filled-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-filled-focus-state-layer-opacity:.12;--mat-button-filled-hover-state-layer-opacity:.04;--mat-button-filled-label-text-color:rgba(0, 0, 0, .87);--mat-button-filled-pressed-state-layer-opacity:.12;--mat-button-filled-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-filled-state-layer-color:rgba(0, 0, 0, .87);--mat-button-outlined-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-outlined-disabled-outline-color:rgba(0, 0, 0, .12);--mat-button-outlined-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-outlined-focus-state-layer-opacity:.12;--mat-button-outlined-hover-state-layer-opacity:.04;--mat-button-outlined-label-text-color:rgba(0, 0, 0, .87);--mat-button-outlined-outline-color:rgba(0, 0, 0, .12);--mat-button-outlined-pressed-state-layer-opacity:.12;--mat-button-outlined-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-outlined-state-layer-color:rgba(0, 0, 0, .87);--mat-button-protected-container-color:white;--mat-button-protected-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-protected-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-protected-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-protected-focus-state-layer-opacity:.12;--mat-button-protected-hover-state-layer-opacity:.04;--mat-button-protected-label-text-color:rgba(0, 0, 0, .87);--mat-button-protected-pressed-state-layer-opacity:.12;--mat-button-protected-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-protected-state-layer-color:rgba(0, 0, 0, .87);--mat-button-text-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-text-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-text-focus-state-layer-opacity:.12;--mat-button-text-hover-state-layer-opacity:.04;--mat-button-text-label-text-color:rgba(0, 0, 0, .87);--mat-button-text-pressed-state-layer-opacity:.12;--mat-button-text-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-text-state-layer-color:rgba(0, 0, 0, .87);--mat-button-tonal-container-color:white;--mat-button-tonal-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-tonal-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-tonal-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-tonal-focus-state-layer-opacity:.12;--mat-button-tonal-hover-state-layer-opacity:.04;--mat-button-tonal-label-text-color:rgba(0, 0, 0, .87);--mat-button-tonal-pressed-state-layer-opacity:.12;--mat-button-tonal-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-tonal-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-button-filled-container-height:36px;--mat-button-filled-touch-target-display:block;--mat-button-outlined-container-height:36px;--mat-button-outlined-touch-target-display:block;--mat-button-protected-container-height:36px;--mat-button-protected-touch-target-display:block;--mat-button-text-container-height:36px;--mat-button-text-touch-target-display:block;--mat-button-tonal-container-height:36px;--mat-button-tonal-touch-target-display:block}html{--mat-icon-button-icon-size:24px;--mat-icon-button-container-shape:50%;--mat-icon-button-touch-target-size:48px}html{--mat-icon-button-disabled-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-icon-button-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-icon-button-focus-state-layer-opacity:.12;--mat-icon-button-hover-state-layer-opacity:.04;--mat-icon-button-icon-color:inherit;--mat-icon-button-pressed-state-layer-opacity:.12;--mat-icon-button-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-icon-button-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-icon-button-touch-target-display:block}html{--mat-fab-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-fab-container-shape:50%;--mat-fab-touch-target-size:48px;--mat-fab-extended-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-fab-extended-container-height:48px;--mat-fab-extended-container-shape:24px;--mat-fab-extended-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-extended-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-extended-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-fab-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-fab-small-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-fab-small-container-shape:50%;--mat-fab-small-touch-target-size:48px;--mat-fab-small-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-small-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-small-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html{--mat-fab-container-color:white;--mat-fab-disabled-state-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-disabled-state-foreground-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-fab-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-fab-focus-state-layer-opacity:.12;--mat-fab-foreground-color:rgba(0, 0, 0, .87);--mat-fab-hover-state-layer-opacity:.04;--mat-fab-pressed-state-layer-opacity:.12;--mat-fab-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-small-container-color:white;--mat-fab-small-disabled-state-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-small-disabled-state-foreground-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-fab-small-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-fab-small-focus-state-layer-opacity:.12;--mat-fab-small-foreground-color:rgba(0, 0, 0, .87);--mat-fab-small-hover-state-layer-opacity:.04;--mat-fab-small-pressed-state-layer-opacity:.12;--mat-fab-small-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-small-state-layer-color:rgba(0, 0, 0, .87);--mat-fab-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-fab-small-touch-target-display:block;--mat-fab-touch-target-display:block}html{--mat-snack-bar-container-shape:4px}html{--mat-snack-bar-container-color:#424242;--mat-snack-bar-supporting-text-color:white;--mat-snack-bar-button-color:#9575cd}html{--mat-table-row-item-outline-width:1px}html{--mat-table-background-color:white;--mat-table-header-headline-color:rgba(0, 0, 0, .87);--mat-table-row-item-label-text-color:rgba(0, 0, 0, .87);--mat-table-row-item-outline-color:rgba(0, 0, 0, .12)}html{--mat-table-header-container-height:56px;--mat-table-footer-container-height:52px;--mat-table-row-item-container-height:52px}html{--mat-progress-spinner-active-indicator-width:4px;--mat-progress-spinner-size:48px}html{--mat-progress-spinner-active-indicator-color:#673ab7}html{--mat-badge-container-shape:50%;--mat-badge-container-size:unset;--mat-badge-small-size-container-size:unset;--mat-badge-large-size-container-size:unset;--mat-badge-legacy-container-size:22px;--mat-badge-legacy-small-size-container-size:16px;--mat-badge-legacy-large-size-container-size:28px;--mat-badge-container-offset:-11px 0;--mat-badge-small-size-container-offset:-8px 0;--mat-badge-large-size-container-offset:-14px 0;--mat-badge-container-overlap-offset:-11px;--mat-badge-small-size-container-overlap-offset:-8px;--mat-badge-large-size-container-overlap-offset:-14px;--mat-badge-container-padding:0;--mat-badge-small-size-container-padding:0;--mat-badge-large-size-container-padding:0}html{--mat-badge-background-color:#673ab7;--mat-badge-text-color:white;--mat-badge-disabled-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-badge-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent)}html{--mat-bottom-sheet-container-shape:4px}html{--mat-bottom-sheet-container-text-color:rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color:white}html{--mat-button-toggle-focus-state-layer-opacity:.12;--mat-button-toggle-hover-state-layer-opacity:.04;--mat-button-toggle-legacy-focus-state-layer-opacity:1;--mat-button-toggle-legacy-height:36px;--mat-button-toggle-legacy-shape:2px;--mat-button-toggle-shape:4px}html{--mat-button-toggle-background-color:white;--mat-button-toggle-disabled-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-disabled-selected-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-disabled-state-background-color:white;--mat-button-toggle-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-divider-color:rgba(0, 0, 0, .12);--mat-button-toggle-legacy-disabled-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-disabled-state-background-color:white;--mat-button-toggle-legacy-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-legacy-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-selected-state-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-legacy-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-selected-state-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-state-layer-color:rgba(0, 0, 0, .87);--mat-button-toggle-text-color:rgba(0, 0, 0, .87)}html{--mat-button-toggle-height:48px}html{--mat-datepicker-calendar-container-shape:4px;--mat-datepicker-calendar-container-touch-shape:4px;--mat-datepicker-calendar-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-datepicker-calendar-date-in-range-state-background-color:color-mix(in srgb, #673ab7 20%, transparent);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:color-mix(in srgb, #ffa000 20%, transparent);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:rgb(69.5241935484, 163.4758064516, 93.9516129032);--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#673ab7;--mat-datepicker-calendar-date-selected-disabled-state-background-color:color-mix(in srgb, #673ab7 38%, transparent);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:color-mix(in srgb, #673ab7 12%, transparent);--mat-datepicker-calendar-date-hover-state-background-color:color-mix(in srgb, #673ab7 4%, transparent);--mat-datepicker-toggle-active-state-icon-color:#673ab7;--mat-datepicker-toggle-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-body-label-text-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-period-button-text-color:rgba(0, 0, 0, .87);--mat-datepicker-calendar-period-button-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-navigation-button-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-header-divider-color:rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-text-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-date-today-outline-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-date-today-disabled-state-outline-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-calendar-date-text-color:rgba(0, 0, 0, .87);--mat-datepicker-calendar-date-outline-color:transparent;--mat-datepicker-calendar-date-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-calendar-date-preview-state-outline-color:rgba(0, 0, 0, .54);--mat-datepicker-range-input-separator-color:rgba(0, 0, 0, .87);--mat-datepicker-range-input-disabled-state-separator-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-range-input-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-calendar-container-background-color:white;--mat-datepicker-calendar-container-text-color:rgba(0, 0, 0, .87)}html{--mat-divider-width:1px}html{--mat-divider-color:rgba(0, 0, 0, .12)}html{--mat-expansion-container-shape:4px;--mat-expansion-container-elevation-shadow:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-expansion-legacy-header-indicator-display:inline-block;--mat-expansion-header-indicator-display:none}html{--mat-expansion-container-background-color:white;--mat-expansion-container-text-color:rgba(0, 0, 0, .87);--mat-expansion-actions-divider-color:rgba(0, 0, 0, .12);--mat-expansion-header-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-expansion-header-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-expansion-header-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-expansion-header-text-color:rgba(0, 0, 0, .87);--mat-expansion-header-description-color:rgba(0, 0, 0, .54);--mat-expansion-header-indicator-color:rgba(0, 0, 0, .54)}html{--mat-expansion-header-collapsed-state-height:48px;--mat-expansion-header-expanded-state-height:64px}html{--mat-icon-color:inherit}html{--mat-sidenav-container-shape:0;--mat-sidenav-container-elevation-shadow:0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-sidenav-container-width:auto}html{--mat-sidenav-container-divider-color:rgba(0, 0, 0, .12);--mat-sidenav-container-background-color:white;--mat-sidenav-container-text-color:rgba(0, 0, 0, .87);--mat-sidenav-content-background-color:#fafafa;--mat-sidenav-content-text-color:rgba(0, 0, 0, .87);--mat-sidenav-scrim-color:rgba(0, 0, 0, .6)}html{--mat-stepper-header-focus-state-layer-shape:0;--mat-stepper-header-hover-state-layer-shape:0}html{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#673ab7;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#673ab7;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#673ab7;--mat-stepper-header-edit-state-icon-foreground-color:white;--mat-stepper-container-color:white;--mat-stepper-line-color:rgba(0, 0, 0, .12);--mat-stepper-header-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-stepper-header-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-stepper-header-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-optional-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-selected-state-label-text-color:rgba(0, 0, 0, .87);--mat-stepper-header-error-state-label-text-color:#f44336;--mat-stepper-header-icon-background-color:rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color:#f44336;--mat-stepper-header-error-state-icon-background-color:transparent}html{--mat-stepper-header-height:72px}html{--mat-sort-arrow-color:rgba(0, 0, 0, .87)}html{--mat-toolbar-container-background-color:white;--mat-toolbar-container-text-color:rgba(0, 0, 0, .87)}html{--mat-toolbar-standard-height:64px;--mat-toolbar-mobile-height:56px}html{--mat-tree-container-background-color:white;--mat-tree-node-text-color:rgba(0, 0, 0, .87)}html{--mat-tree-node-min-height:48px}html{--mat-timepicker-container-shape:4px;--mat-timepicker-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-timepicker-container-background-color:white}.bluegrey-lightgreen-theme{--mat-app-background-color:#303030;--mat-app-text-color:white;--mat-app-elevation-shadow-level-0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7:0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9:0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10:0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11:0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14:0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15:0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16:0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17:0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18:0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19:0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22:0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23:0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-option-selected-state-label-text-color:#546e7a;--mat-option-label-text-color:white;--mat-option-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-option-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-option-selected-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-optgroup-label-text-color:white;--mat-pseudo-checkbox-full-selected-icon-color:#689f38;--mat-pseudo-checkbox-full-selected-checkmark-color:#303030;--mat-pseudo-checkbox-full-unselected-icon-color:rgba(255, 255, 255, .7);--mat-pseudo-checkbox-full-disabled-selected-checkmark-color:#303030;--mat-pseudo-checkbox-full-disabled-unselected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-pseudo-checkbox-full-disabled-selected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-pseudo-checkbox-minimal-selected-checkmark-color:#689f38;--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color:color-mix(in srgb, white 38%, transparent);--mat-card-elevated-container-color:#424242;--mat-card-elevated-container-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-card-outlined-container-color:#424242;--mat-card-outlined-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-outlined-outline-color:rgba(255, 255, 255, .12);--mat-card-subtitle-text-color:rgba(255, 255, 255, .7);--mat-card-filled-container-color:#424242;--mat-card-filled-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-tooltip-container-color:white;--mat-tooltip-supporting-text-color:rgba(0, 0, 0, .87);--mat-form-field-focus-select-arrow-color:color-mix(in srgb, #546e7a 87%, transparent);--mat-form-field-filled-caret-color:#546e7a;--mat-form-field-filled-focus-active-indicator-color:#546e7a;--mat-form-field-filled-focus-label-text-color:color-mix(in srgb, #546e7a 87%, transparent);--mat-form-field-outlined-caret-color:#546e7a;--mat-form-field-outlined-focus-outline-color:#546e7a;--mat-form-field-outlined-focus-label-text-color:color-mix(in srgb, #546e7a 87%, transparent);--mat-form-field-disabled-input-text-placeholder-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-state-layer-color:white;--mat-form-field-error-text-color:#ff5722;--mat-form-field-select-option-text-color:rgba(0, 0, 0, .87);--mat-form-field-select-disabled-option-text-color:rgba(0, 0, 0, .38);--mat-form-field-leading-icon-color:unset;--mat-form-field-disabled-leading-icon-color:unset;--mat-form-field-trailing-icon-color:unset;--mat-form-field-disabled-trailing-icon-color:unset;--mat-form-field-error-focus-trailing-icon-color:unset;--mat-form-field-error-hover-trailing-icon-color:unset;--mat-form-field-error-trailing-icon-color:unset;--mat-form-field-enabled-select-arrow-color:rgba(255, 255, 255, .7);--mat-form-field-disabled-select-arrow-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-hover-state-layer-opacity:.04;--mat-form-field-focus-state-layer-opacity:.12;--mat-form-field-filled-container-color:#4a4a4a;--mat-form-field-filled-disabled-container-color:color-mix(in srgb, white 4%, transparent);--mat-form-field-filled-label-text-color:rgba(255, 255, 255, .7);--mat-form-field-filled-hover-label-text-color:rgba(255, 255, 255, .7);--mat-form-field-filled-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-filled-input-text-color:white;--mat-form-field-filled-disabled-input-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-filled-input-text-placeholder-color:rgba(255, 255, 255, .7);--mat-form-field-filled-error-hover-label-text-color:#ff5722;--mat-form-field-filled-error-focus-label-text-color:#ff5722;--mat-form-field-filled-error-label-text-color:#ff5722;--mat-form-field-filled-error-caret-color:#ff5722;--mat-form-field-filled-active-indicator-color:rgba(255, 255, 255, .7);--mat-form-field-filled-disabled-active-indicator-color:color-mix(in srgb, white 12%, transparent);--mat-form-field-filled-hover-active-indicator-color:white;--mat-form-field-filled-error-active-indicator-color:#ff5722;--mat-form-field-filled-error-focus-active-indicator-color:#ff5722;--mat-form-field-filled-error-hover-active-indicator-color:#ff5722;--mat-form-field-outlined-label-text-color:rgba(255, 255, 255, .7);--mat-form-field-outlined-hover-label-text-color:white;--mat-form-field-outlined-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-outlined-input-text-color:white;--mat-form-field-outlined-disabled-input-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-outlined-input-text-placeholder-color:rgba(255, 255, 255, .7);--mat-form-field-outlined-error-caret-color:#ff5722;--mat-form-field-outlined-error-focus-label-text-color:#ff5722;--mat-form-field-outlined-error-label-text-color:#ff5722;--mat-form-field-outlined-error-hover-label-text-color:#ff5722;--mat-form-field-outlined-outline-color:rgba(255, 255, 255, .38);--mat-form-field-outlined-disabled-outline-color:color-mix(in srgb, white 12%, transparent);--mat-form-field-outlined-hover-outline-color:white;--mat-form-field-outlined-error-focus-outline-color:#ff5722;--mat-form-field-outlined-error-hover-outline-color:#ff5722;--mat-form-field-outlined-error-outline-color:#ff5722;--mat-select-panel-background-color:#424242;--mat-select-enabled-trigger-text-color:white;--mat-select-disabled-trigger-text-color:color-mix(in srgb, white 38%, transparent);--mat-select-placeholder-text-color:rgba(255, 255, 255, .7);--mat-select-enabled-arrow-color:rgba(255, 255, 255, .7);--mat-select-disabled-arrow-color:color-mix(in srgb, white 38%, transparent);--mat-select-focused-arrow-color:#546e7a;--mat-select-invalid-arrow-color:#ff5722;--mat-autocomplete-background-color:#424242;--mat-dialog-container-color:#424242;--mat-dialog-subhead-color:white;--mat-dialog-supporting-text-color:rgba(255, 255, 255, .7);--mat-slide-toggle-selected-icon-color:white;--mat-slide-toggle-disabled-selected-icon-color:white;--mat-slide-toggle-selected-focus-state-layer-color:#546e7a;--mat-slide-toggle-selected-handle-color:#546e7a;--mat-slide-toggle-selected-hover-state-layer-color:#546e7a;--mat-slide-toggle-selected-pressed-state-layer-color:#546e7a;--mat-slide-toggle-selected-focus-handle-color:#546e7a;--mat-slide-toggle-selected-hover-handle-color:#546e7a;--mat-slide-toggle-selected-pressed-handle-color:#546e7a;--mat-slide-toggle-selected-focus-track-color:#546e7a;--mat-slide-toggle-selected-hover-track-color:#546e7a;--mat-slide-toggle-selected-pressed-track-color:#546e7a;--mat-slide-toggle-selected-track-color:#546e7a;--mat-slide-toggle-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-slide-toggle-disabled-handle-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-disabled-selected-handle-color:white;--mat-slide-toggle-disabled-selected-track-color:white;--mat-slide-toggle-disabled-unselected-handle-color:white;--mat-slide-toggle-disabled-unselected-icon-color:#4a4a4a;--mat-slide-toggle-disabled-unselected-track-color:white;--mat-slide-toggle-handle-elevation-shadow:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-handle-surface-color:#424242;--mat-slide-toggle-label-text-color:white;--mat-slide-toggle-unselected-hover-handle-color:white;--mat-slide-toggle-unselected-focus-handle-color:white;--mat-slide-toggle-unselected-focus-state-layer-color:white;--mat-slide-toggle-unselected-focus-track-color:rgba(255, 255, 255, .12);--mat-slide-toggle-unselected-icon-color:#4a4a4a;--mat-slide-toggle-unselected-handle-color:rgba(255, 255, 255, .7);--mat-slide-toggle-unselected-hover-state-layer-color:white;--mat-slide-toggle-unselected-hover-track-color:rgba(255, 255, 255, .12);--mat-slide-toggle-unselected-pressed-handle-color:white;--mat-slide-toggle-unselected-pressed-track-color:rgba(255, 255, 255, .12);--mat-slide-toggle-unselected-pressed-state-layer-color:white;--mat-slide-toggle-unselected-track-color:rgba(255, 255, 255, .12);--mat-slider-active-track-color:#546e7a;--mat-slider-focus-handle-color:#546e7a;--mat-slider-handle-color:#546e7a;--mat-slider-hover-handle-color:#546e7a;--mat-slider-focus-state-layer-color:color-mix(in srgb, #546e7a 12%, transparent);--mat-slider-hover-state-layer-color:color-mix(in srgb, #546e7a 4%, transparent);--mat-slider-inactive-track-color:#546e7a;--mat-slider-ripple-color:#546e7a;--mat-slider-with-tick-marks-active-container-color:white;--mat-slider-with-tick-marks-inactive-container-color:#546e7a;--mat-slider-disabled-active-track-color:white;--mat-slider-disabled-handle-color:white;--mat-slider-disabled-inactive-track-color:white;--mat-slider-label-container-color:white;--mat-slider-label-label-text-color:rgba(0, 0, 0, .87);--mat-slider-value-indicator-opacity:1;--mat-slider-with-overlap-handle-outline-color:white;--mat-slider-with-tick-marks-disabled-container-color:white;--mat-menu-item-label-text-color:white;--mat-menu-item-icon-color:white;--mat-menu-item-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-menu-item-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-menu-container-color:#424242;--mat-menu-divider-color:rgba(255, 255, 255, .12);--mat-list-list-item-label-text-color:white;--mat-list-list-item-supporting-text-color:rgba(255, 255, 255, .7);--mat-list-list-item-leading-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-trailing-supporting-text-color:rgba(255, 255, 255, .7);--mat-list-list-item-trailing-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-selected-trailing-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-disabled-label-text-color:white;--mat-list-list-item-disabled-leading-icon-color:white;--mat-list-list-item-disabled-trailing-icon-color:white;--mat-list-list-item-hover-label-text-color:white;--mat-list-list-item-hover-leading-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-hover-state-layer-color:white;--mat-list-list-item-hover-state-layer-opacity:.04;--mat-list-list-item-hover-trailing-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-focus-label-text-color:white;--mat-list-list-item-focus-state-layer-color:white;--mat-list-list-item-focus-state-layer-opacity:.12;--mat-paginator-container-text-color:white;--mat-paginator-container-background-color:#424242;--mat-paginator-enabled-icon-color:rgba(255, 255, 255, .7);--mat-paginator-disabled-icon-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-disabled-label-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-label-text-color:white;--mat-checkbox-disabled-selected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-disabled-unselected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-selected-checkmark-color:white;--mat-checkbox-selected-focus-icon-color:#689f38;--mat-checkbox-selected-hover-icon-color:#689f38;--mat-checkbox-selected-icon-color:#689f38;--mat-checkbox-selected-pressed-icon-color:#689f38;--mat-checkbox-unselected-focus-icon-color:white;--mat-checkbox-unselected-hover-icon-color:white;--mat-checkbox-unselected-icon-color:rgba(255, 255, 255, .7);--mat-checkbox-selected-focus-state-layer-color:#689f38;--mat-checkbox-selected-hover-state-layer-color:#689f38;--mat-checkbox-selected-pressed-state-layer-color:#689f38;--mat-checkbox-unselected-focus-state-layer-color:white;--mat-checkbox-unselected-hover-state-layer-color:white;--mat-checkbox-unselected-pressed-state-layer-color:white;--mat-button-filled-container-color:#424242;--mat-button-filled-disabled-container-color:color-mix(in srgb, white 12%, transparent);--mat-button-filled-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-filled-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-filled-focus-state-layer-opacity:.12;--mat-button-filled-hover-state-layer-opacity:.04;--mat-button-filled-label-text-color:white;--mat-button-filled-pressed-state-layer-opacity:.12;--mat-button-filled-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-filled-state-layer-color:white;--mat-button-outlined-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-outlined-disabled-outline-color:rgba(255, 255, 255, .12);--mat-button-outlined-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-outlined-focus-state-layer-opacity:.12;--mat-button-outlined-hover-state-layer-opacity:.04;--mat-button-outlined-label-text-color:white;--mat-button-outlined-outline-color:rgba(255, 255, 255, .12);--mat-button-outlined-pressed-state-layer-opacity:.12;--mat-button-outlined-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-outlined-state-layer-color:white;--mat-button-protected-container-color:#424242;--mat-button-protected-disabled-container-color:color-mix(in srgb, white 12%, transparent);--mat-button-protected-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-protected-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-protected-focus-state-layer-opacity:.12;--mat-button-protected-hover-state-layer-opacity:.04;--mat-button-protected-label-text-color:white;--mat-button-protected-pressed-state-layer-opacity:.12;--mat-button-protected-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-protected-state-layer-color:white;--mat-button-text-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-text-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-text-focus-state-layer-opacity:.12;--mat-button-text-hover-state-layer-opacity:.04;--mat-button-text-label-text-color:white;--mat-button-text-pressed-state-layer-opacity:.12;--mat-button-text-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-text-state-layer-color:white;--mat-button-tonal-container-color:#424242;--mat-button-tonal-disabled-container-color:color-mix(in srgb, white 12%, transparent);--mat-button-tonal-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-tonal-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-tonal-focus-state-layer-opacity:.12;--mat-button-tonal-hover-state-layer-opacity:.04;--mat-button-tonal-label-text-color:white;--mat-button-tonal-pressed-state-layer-opacity:.12;--mat-button-tonal-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-tonal-state-layer-color:white;--mat-icon-button-disabled-icon-color:color-mix(in srgb, white 38%, transparent);--mat-icon-button-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-icon-button-focus-state-layer-opacity:.12;--mat-icon-button-hover-state-layer-opacity:.04;--mat-icon-button-icon-color:inherit;--mat-icon-button-pressed-state-layer-opacity:.12;--mat-icon-button-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-icon-button-state-layer-color:white;--mat-fab-container-color:#424242;--mat-fab-disabled-state-container-color:color-mix(in srgb, white 12%, transparent);--mat-fab-disabled-state-foreground-color:color-mix(in srgb, white 38%, transparent);--mat-fab-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-fab-focus-state-layer-opacity:.12;--mat-fab-foreground-color:white;--mat-fab-hover-state-layer-opacity:.04;--mat-fab-pressed-state-layer-opacity:.12;--mat-fab-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-fab-small-container-color:#424242;--mat-fab-small-disabled-state-container-color:color-mix(in srgb, white 12%, transparent);--mat-fab-small-disabled-state-foreground-color:color-mix(in srgb, white 38%, transparent);--mat-fab-small-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-fab-small-focus-state-layer-opacity:.12;--mat-fab-small-foreground-color:white;--mat-fab-small-hover-state-layer-opacity:.04;--mat-fab-small-pressed-state-layer-opacity:.12;--mat-fab-small-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-fab-small-state-layer-color:white;--mat-fab-state-layer-color:white;--mat-snack-bar-container-color:white;--mat-snack-bar-supporting-text-color:rgba(0, 0, 0, .87);--mat-snack-bar-button-color:#546e7a;--mat-table-background-color:#424242;--mat-table-header-headline-color:white;--mat-table-row-item-label-text-color:white;--mat-table-row-item-outline-color:rgba(255, 255, 255, .12);--mat-progress-spinner-active-indicator-color:#546e7a;--mat-badge-background-color:#546e7a;--mat-badge-text-color:white;--mat-badge-disabled-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-badge-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-bottom-sheet-container-text-color:white;--mat-bottom-sheet-container-background-color:#424242;--mat-button-toggle-background-color:#424242;--mat-button-toggle-disabled-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-disabled-selected-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-toggle-disabled-state-background-color:#424242;--mat-button-toggle-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-toggle-divider-color:rgba(255, 255, 255, .12);--mat-button-toggle-legacy-disabled-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-legacy-disabled-state-background-color:#424242;--mat-button-toggle-legacy-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-toggle-legacy-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-legacy-selected-state-text-color:white;--mat-button-toggle-legacy-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-legacy-text-color:white;--mat-button-toggle-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-selected-state-text-color:white;--mat-button-toggle-state-layer-color:white;--mat-button-toggle-text-color:white;--mat-datepicker-calendar-date-in-range-state-background-color:color-mix(in srgb, #546e7a 20%, transparent);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:color-mix(in srgb, #689f38 20%, transparent);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:rgb(69.5241935484, 163.4758064516, 93.9516129032);--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#546e7a;--mat-datepicker-calendar-date-selected-disabled-state-background-color:color-mix(in srgb, #546e7a 38%, transparent);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:color-mix(in srgb, #546e7a 12%, transparent);--mat-datepicker-calendar-date-hover-state-background-color:color-mix(in srgb, #546e7a 4%, transparent);--mat-datepicker-toggle-active-state-icon-color:#546e7a;--mat-datepicker-toggle-icon-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-body-label-text-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-period-button-text-color:white;--mat-datepicker-calendar-period-button-icon-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-navigation-button-icon-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-header-divider-color:rgba(255, 255, 255, .12);--mat-datepicker-calendar-header-text-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-date-today-outline-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-date-today-disabled-state-outline-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-calendar-date-text-color:white;--mat-datepicker-calendar-date-outline-color:transparent;--mat-datepicker-calendar-date-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-calendar-date-preview-state-outline-color:rgba(255, 255, 255, .7);--mat-datepicker-range-input-separator-color:white;--mat-datepicker-range-input-disabled-state-separator-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-range-input-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-calendar-container-background-color:#424242;--mat-datepicker-calendar-container-text-color:white;--mat-divider-color:rgba(255, 255, 255, .12);--mat-expansion-container-background-color:#424242;--mat-expansion-container-text-color:white;--mat-expansion-actions-divider-color:rgba(255, 255, 255, .12);--mat-expansion-header-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-expansion-header-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-expansion-header-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-expansion-header-text-color:white;--mat-expansion-header-description-color:rgba(255, 255, 255, .7);--mat-expansion-header-indicator-color:rgba(255, 255, 255, .7);--mat-icon-color:inherit;--mat-sidenav-container-divider-color:rgba(255, 255, 255, .12);--mat-sidenav-container-background-color:#424242;--mat-sidenav-container-text-color:white;--mat-sidenav-content-background-color:#303030;--mat-sidenav-content-text-color:white;--mat-sidenav-scrim-color:rgba(255, 255, 255, .6);--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#546e7a;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#546e7a;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#546e7a;--mat-stepper-header-edit-state-icon-foreground-color:white;--mat-stepper-container-color:#424242;--mat-stepper-line-color:rgba(255, 255, 255, .12);--mat-stepper-header-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-stepper-header-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-stepper-header-label-text-color:rgba(255, 255, 255, .7);--mat-stepper-header-optional-label-text-color:rgba(255, 255, 255, .7);--mat-stepper-header-selected-state-label-text-color:white;--mat-stepper-header-error-state-label-text-color:#ff5722;--mat-stepper-header-icon-background-color:rgba(255, 255, 255, .7);--mat-stepper-header-error-state-icon-foreground-color:#ff5722;--mat-stepper-header-error-state-icon-background-color:transparent;--mat-sort-arrow-color:white;--mat-toolbar-container-background-color:#424242;--mat-toolbar-container-text-color:white;--mat-tree-container-background-color:#424242;--mat-tree-node-text-color:white;--mat-timepicker-container-background-color:#424242}.bluegrey-lightgreen-theme{--theme-primary:#546e7a;--theme-primary-lighter:rgb(96.4776699029, 126.3398058252, 140.1223300971);--theme-primary-light:rgb(105.1650485437, 137.0970873786, 151.8349514563);--theme-primary-darker:rgb(71.5223300971, 93.6601941748, 103.8776699029);--theme-primary-dark:rgb(63.2038834951, 82.7669902913, 91.7961165049);--theme-primary-fade-10:#546e7a;--theme-primary-fade-20:#546e7a;--theme-primary-fade-30:#546e7a;--theme-primary-fade-40:#546e7a;--theme-primary-fade-50:#546e7a;--theme-accent:#689f38;--theme-accent-lighter:rgb(118.8018604651, 181.6297674419, 63.9702325581);--theme-accent-light:rgb(129.0279069767, 191.4465116279, 74.5534883721);--theme-accent-darker:rgb(89.1981395349, 136.3702325581, 48.0297674419);--theme-accent-dark:rgb(79.3302325581, 121.2837209302, 42.7162790698);--theme-accent-fade-10:#689f38;--theme-accent-fade-20:#689f38;--theme-accent-fade-30:#689f38;--theme-accent-fade-40:#689f38;--theme-accent-fade-50:#689f38;--theme-warn:#ff5722;--theme-warn-lighter:rgb(255, 110.2615384615, 64.6);--theme-warn-light:rgb(255, 125.7692307692, 85);--theme-warn-darker:rgb(255, 63.7384615385, 3.4);--theme-warn-dark:rgb(238, 57.0769230769, 0);--theme-warn-fade-10:#ff5722;--theme-warn-fade-20:#ff5722;--theme-warn-fade-30:#ff5722;--theme-warn-fade-40:#ff5722;--theme-warn-fade-50:#ff5722;--theme-text:white;--theme-text-lighter:hsl(0, 0%, 106%);--theme-text-light:hsl(0, 0%, 110%);--theme-text-darker:rgb(229.5, 229.5, 229.5);--theme-text-dark:rgb(191.25, 191.25, 191.25);--theme-text-fade-10:white;--theme-text-fade-20:white;--theme-text-fade-30:white;--theme-text-fade-40:white;--theme-text-fade-50:white;--theme-text-invert-15:rgb(216.75, 216.75, 216.75);--theme-text-invert-30:rgb(178.5, 178.5, 178.5);--theme-background:#424242;--theme-background-lighter:rgb(81.3, 81.3, 81.3);--theme-background-light:rgb(91.5, 91.5, 91.5);--theme-background-darker:rgb(50.7, 50.7, 50.7);--theme-background-dark:rgb(40.5, 40.5, 40.5);--theme-background-darkest:rgb(30.3, 30.3, 30.3);--mdc-filled-text-field-container-color:#0000;--mdc-filled-text-field-disabled-container-color:#0000}@media screen and (-webkit-min-device-pixel-ratio:0){}\u003c/style\u003e\u003clink rel=\"stylesheet\" href=\"styles.css\" media=\"print\" onload=\"this.media='all'\"\u003e\u003cnoscript\u003e\u003clink rel=\"stylesheet\" href=\"styles.css\"\u003e\u003c/noscript\u003e\u003c/head\u003e\n\u003cbody class=\"mat-app-background mat-typography bluegrey-lightgreen-theme\"\u003e\n \u003capp-root\u003e\u003c/app-root\u003e\n\u003cscript src=\"runtime.js\" type=\"module\"\u003e\u003c/script\u003e\u003cscript src=\"polyfills.js\" type=\"module\"\u003e\u003c/script\u003e\u003cscript src=\"vendor.js\" type=\"module\"\u003e\u003c/script\u003e\u003cscript src=\"main.js\" type=\"module\"\u003e\u003c/script\u003e\u003c/body\u003e\n\u003c/html\u003e\n","ip":"192.168.65.254","timestamp":"2025-10-10T15:52:16.833863378Z","curl-command":"curl -X 'GET' -d '' -H 'Host: host.docker.internal:3000' -H 'User-Agent: Mozilla/5.0 (SS; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' 'http://host.docker.internal:3000'","matcher-status":true}
+{"template":"http/miscellaneous/external-service-interaction.yaml","template-url":"https://cloud.projectdiscovery.io/public/external-service-interaction","template-id":"external-service-interaction","template-path":"/root/nuclei-templates/http/miscellaneous/external-service-interaction.yaml","info":{"name":"External Service Interaction","author":["andreluna"],"tags":["miscellaneous","http","misc","oast"],"description":"External Service interaction via Host Header Injection.","reference":["https://portswigger.net/kb/issues/00300210_external-service-interaction-http","https://success.qualys.com/support/s/article/000006843","https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/17-Testing_for_Host_Header_Injection"],"severity":"info","metadata":{"max-request":1},"classification":{"cve-id":null,"cwe-id":["cwe-918","cwe-406"]}},"type":"http","host":"host.docker.internal:3000","port":"3000","scheme":"http","url":"http://host.docker.internal:3000","matched-at":"http://host.docker.internal:3000","request":"GET / HTTP/1.1\r\nHost: d3kin1q08hes73f859bgqcpfuf1qxf49u.oast.site\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1.1 Safari/605.1.1\r\nConnection: close\r\nAccept-Encoding: gzip\r\n\r\n","response":"HTTP/1.1 200 OK\r\nConnection: close\r\nTransfer-Encoding: chunked\r\nAccept-Ranges: bytes\r\nAccess-Control-Allow-Origin: *\r\nCache-Control: public, max-age=0\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Fri, 10 Oct 2025 15:52:12 GMT\r\nEtag: W/\"124fa-199ceb49c18\"\r\nFeature-Policy: payment 'self'\r\nLast-Modified: Fri, 10 Oct 2025 15:19:27 GMT\r\nVary: Accept-Encoding\r\nX-Content-Type-Options: nosniff\r\nX-Frame-Options: SAMEORIGIN\r\nX-Recruiting: /#/jobs\r\n\r\n\u003c!--\n ~ Copyright (c) 2014-2025 Bjoern Kimminich \u0026 the OWASP Juice Shop contributors.\n ~ SPDX-License-Identifier: MIT\n --\u003e\n\n\u003c!doctype html\u003e\n\u003chtml lang=\"en\" data-beasties-container\u003e\n\u003chead\u003e\n \u003cmeta charset=\"utf-8\"\u003e\n \u003ctitle\u003eOWASP Juice Shop\u003c/title\u003e\n \u003cmeta name=\"description\" content=\"Probably the most modern and sophisticated insecure web application\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\u003e\n \u003clink id=\"favicon\" rel=\"icon\" type=\"image/x-icon\" href=\"assets/public/favicon_js.ico\"\u003e\n \u003clink rel=\"stylesheet\" type=\"text/css\" href=\"//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css\"\u003e\n \u003cscript src=\"//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js\"\u003e\u003c/script\u003e\n \u003cscript src=\"//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js\"\u003e\u003c/script\u003e\n \u003cscript\u003e\n window.addEventListener(\"load\", function(){\n window.cookieconsent.initialise({\n \"palette\": {\n \"popup\": { \"background\": \"var(--theme-primary)\", \"text\": \"var(--theme-text)\" },\n \"button\": { \"background\": \"var(--theme-accent)\", \"text\": \"var(--theme-text)\" }\n },\n \"theme\": \"classic\",\n \"position\": \"bottom-right\",\n \"content\": { \"message\": \"This website uses fruit cookies to ensure you get the juiciest tracking experience.\", \"dismiss\": \"Me want it!\", \"link\": \"But me wait!\", \"href\": \"https://www.youtube.com/watch?v=9PnbKL3wuH4\" }\n })});\n \u003c/script\u003e\n\u003cstyle\u003ehtml{--mat-sys-on-surface:initial}.mat-app-background{background-color:var(--mat-app-background-color, var(--mat-sys-background, transparent));color:var(--mat-app-text-color, var(--mat-sys-on-background, inherit))}.mat-typography{font:400 14px/20px Roboto,sans-serif;letter-spacing:.0178571429em}html{--mat-tooltip-supporting-text-font:Roboto, sans-serif;--mat-tooltip-supporting-text-size:12px;--mat-tooltip-supporting-text-weight:400;--mat-tooltip-supporting-text-tracking:.0333333333em}html{--mat-app-background-color:#fafafa;--mat-app-text-color:rgba(0, 0, 0, .87);--mat-app-elevation-shadow-level-0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7:0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9:0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10:0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11:0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14:0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15:0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16:0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17:0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18:0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19:0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22:0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23:0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent)}html{--mat-option-selected-state-label-text-color:#673ab7;--mat-option-label-text-color:rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-option-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-option-selected-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent)}html{--mat-optgroup-label-text-color:rgba(0, 0, 0, .87)}html{--mat-pseudo-checkbox-full-selected-icon-color:#ffa000;--mat-pseudo-checkbox-full-selected-checkmark-color:#fafafa;--mat-pseudo-checkbox-full-unselected-icon-color:rgba(0, 0, 0, .54);--mat-pseudo-checkbox-full-disabled-selected-checkmark-color:#fafafa;--mat-pseudo-checkbox-full-disabled-unselected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-pseudo-checkbox-full-disabled-selected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-pseudo-checkbox-minimal-selected-checkmark-color:#ffa000;--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent)}html{--mat-card-elevated-container-shape:4px;--mat-card-outlined-container-shape:4px;--mat-card-filled-container-shape:4px;--mat-card-outlined-outline-width:1px}html{--mat-card-elevated-container-color:white;--mat-card-elevated-container-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-card-outlined-container-color:white;--mat-card-outlined-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-outlined-outline-color:rgba(0, 0, 0, .12);--mat-card-subtitle-text-color:rgba(0, 0, 0, .54);--mat-card-filled-container-color:white;--mat-card-filled-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-progress-bar-active-indicator-height:4px;--mat-progress-bar-track-height:4px;--mat-progress-bar-track-shape:0}html{--mat-tooltip-container-shape:4px;--mat-tooltip-supporting-text-line-height:16px}html{--mat-tooltip-container-color:#424242;--mat-tooltip-supporting-text-color:white}html{--mat-form-field-filled-active-indicator-height:1px;--mat-form-field-filled-focus-active-indicator-height:2px;--mat-form-field-filled-container-shape:4px;--mat-form-field-outlined-outline-width:1px;--mat-form-field-outlined-focus-outline-width:2px;--mat-form-field-outlined-container-shape:4px}html{--mat-form-field-focus-select-arrow-color:color-mix(in srgb, #673ab7 87%, transparent);--mat-form-field-filled-caret-color:#673ab7;--mat-form-field-filled-focus-active-indicator-color:#673ab7;--mat-form-field-filled-focus-label-text-color:color-mix(in srgb, #673ab7 87%, transparent);--mat-form-field-outlined-caret-color:#673ab7;--mat-form-field-outlined-focus-outline-color:#673ab7;--mat-form-field-outlined-focus-label-text-color:color-mix(in srgb, #673ab7 87%, transparent);--mat-form-field-disabled-input-text-placeholder-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-state-layer-color:rgba(0, 0, 0, .87);--mat-form-field-error-text-color:#f44336;--mat-form-field-select-option-text-color:inherit;--mat-form-field-select-disabled-option-text-color:GrayText;--mat-form-field-leading-icon-color:unset;--mat-form-field-disabled-leading-icon-color:unset;--mat-form-field-trailing-icon-color:unset;--mat-form-field-disabled-trailing-icon-color:unset;--mat-form-field-error-focus-trailing-icon-color:unset;--mat-form-field-error-hover-trailing-icon-color:unset;--mat-form-field-error-trailing-icon-color:unset;--mat-form-field-enabled-select-arrow-color:rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-hover-state-layer-opacity:.04;--mat-form-field-focus-state-layer-opacity:.12;--mat-form-field-filled-container-color:#f6f6f6;--mat-form-field-filled-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-form-field-filled-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-filled-hover-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-filled-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-filled-input-text-color:rgba(0, 0, 0, .87);--mat-form-field-filled-disabled-input-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-filled-input-text-placeholder-color:rgba(0, 0, 0, .54);--mat-form-field-filled-error-hover-label-text-color:#f44336;--mat-form-field-filled-error-focus-label-text-color:#f44336;--mat-form-field-filled-error-label-text-color:#f44336;--mat-form-field-filled-error-caret-color:#f44336;--mat-form-field-filled-active-indicator-color:rgba(0, 0, 0, .54);--mat-form-field-filled-disabled-active-indicator-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-form-field-filled-hover-active-indicator-color:rgba(0, 0, 0, .87);--mat-form-field-filled-error-active-indicator-color:#f44336;--mat-form-field-filled-error-focus-active-indicator-color:#f44336;--mat-form-field-filled-error-hover-active-indicator-color:#f44336;--mat-form-field-outlined-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-outlined-hover-label-text-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-outlined-input-text-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-disabled-input-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-outlined-input-text-placeholder-color:rgba(0, 0, 0, .54);--mat-form-field-outlined-error-caret-color:#f44336;--mat-form-field-outlined-error-focus-label-text-color:#f44336;--mat-form-field-outlined-error-label-text-color:#f44336;--mat-form-field-outlined-error-hover-label-text-color:#f44336;--mat-form-field-outlined-outline-color:rgba(0, 0, 0, .38);--mat-form-field-outlined-disabled-outline-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-form-field-outlined-hover-outline-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-error-focus-outline-color:#f44336;--mat-form-field-outlined-error-hover-outline-color:#f44336;--mat-form-field-outlined-error-outline-color:#f44336}html{--mat-form-field-container-height:56px;--mat-form-field-filled-label-display:block;--mat-form-field-container-vertical-padding:16px;--mat-form-field-filled-with-label-container-padding-top:24px;--mat-form-field-filled-with-label-container-padding-bottom:8px}html{--mat-select-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-select-placeholder-text-color:rgba(0, 0, 0, .54);--mat-select-enabled-arrow-color:rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-select-focused-arrow-color:#673ab7;--mat-select-invalid-arrow-color:#f44336}html{--mat-select-arrow-transform:translateY(-8px)}html{--mat-autocomplete-container-shape:4px;--mat-autocomplete-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-autocomplete-background-color:white}html{--mat-dialog-container-shape:4px;--mat-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-dialog-container-max-width:80vw;--mat-dialog-container-small-max-width:80vw;--mat-dialog-container-min-width:0;--mat-dialog-actions-alignment:start;--mat-dialog-actions-padding:8px;--mat-dialog-content-padding:20px 24px;--mat-dialog-with-actions-content-padding:20px 24px;--mat-dialog-headline-padding:0 24px 9px}html{--mat-dialog-container-color:white;--mat-dialog-subhead-color:rgba(0, 0, 0, .87);--mat-dialog-supporting-text-color:rgba(0, 0, 0, .54)}html{--mat-slide-toggle-disabled-handle-opacity:.38;--mat-slide-toggle-disabled-selected-handle-opacity:.38;--mat-slide-toggle-disabled-selected-icon-opacity:.38;--mat-slide-toggle-disabled-track-opacity:.12;--mat-slide-toggle-disabled-unselected-handle-opacity:.38;--mat-slide-toggle-disabled-unselected-icon-opacity:.38;--mat-slide-toggle-disabled-unselected-track-outline-color:transparent;--mat-slide-toggle-disabled-unselected-track-outline-width:1px;--mat-slide-toggle-handle-height:20px;--mat-slide-toggle-handle-shape:10px;--mat-slide-toggle-handle-width:20px;--mat-slide-toggle-hidden-track-opacity:1;--mat-slide-toggle-hidden-track-transition:transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-slide-toggle-pressed-handle-size:20px;--mat-slide-toggle-selected-focus-state-layer-opacity:.12;--mat-slide-toggle-selected-handle-horizontal-margin:0;--mat-slide-toggle-selected-handle-size:20px;--mat-slide-toggle-selected-hover-state-layer-opacity:.04;--mat-slide-toggle-selected-icon-size:18px;--mat-slide-toggle-selected-pressed-handle-horizontal-margin:0;--mat-slide-toggle-selected-pressed-state-layer-opacity:.12;--mat-slide-toggle-selected-track-outline-color:transparent;--mat-slide-toggle-selected-track-outline-width:1px;--mat-slide-toggle-selected-with-icon-handle-horizontal-margin:0;--mat-slide-toggle-track-height:14px;--mat-slide-toggle-track-outline-color:transparent;--mat-slide-toggle-track-outline-width:1px;--mat-slide-toggle-track-shape:7px;--mat-slide-toggle-track-width:36px;--mat-slide-toggle-unselected-focus-state-layer-opacity:.12;--mat-slide-toggle-unselected-handle-horizontal-margin:0;--mat-slide-toggle-unselected-handle-size:20px;--mat-slide-toggle-unselected-hover-state-layer-opacity:.12;--mat-slide-toggle-unselected-icon-size:18px;--mat-slide-toggle-unselected-pressed-handle-horizontal-margin:0;--mat-slide-toggle-unselected-pressed-state-layer-opacity:.1;--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin:0;--mat-slide-toggle-visible-track-opacity:1;--mat-slide-toggle-visible-track-transition:transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-slide-toggle-with-icon-handle-size:20px;--mat-slide-toggle-touch-target-size:48px}html{--mat-slide-toggle-selected-icon-color:white;--mat-slide-toggle-disabled-selected-icon-color:white;--mat-slide-toggle-selected-focus-state-layer-color:#673ab7;--mat-slide-toggle-selected-handle-color:#673ab7;--mat-slide-toggle-selected-hover-state-layer-color:#673ab7;--mat-slide-toggle-selected-pressed-state-layer-color:#673ab7;--mat-slide-toggle-selected-focus-handle-color:#673ab7;--mat-slide-toggle-selected-hover-handle-color:#673ab7;--mat-slide-toggle-selected-pressed-handle-color:#673ab7;--mat-slide-toggle-selected-focus-track-color:#9575cd;--mat-slide-toggle-selected-hover-track-color:#9575cd;--mat-slide-toggle-selected-pressed-track-color:#9575cd;--mat-slide-toggle-selected-track-color:#9575cd;--mat-slide-toggle-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-slide-toggle-disabled-handle-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-disabled-selected-handle-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-selected-track-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-unselected-handle-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-unselected-icon-color:#f6f6f6;--mat-slide-toggle-disabled-unselected-track-color:rgba(0, 0, 0, .87);--mat-slide-toggle-handle-elevation-shadow:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-handle-surface-color:white;--mat-slide-toggle-label-text-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-hover-handle-color:#424242;--mat-slide-toggle-unselected-focus-handle-color:#424242;--mat-slide-toggle-unselected-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-focus-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-icon-color:#f6f6f6;--mat-slide-toggle-unselected-handle-color:rgba(0, 0, 0, .54);--mat-slide-toggle-unselected-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-hover-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-pressed-handle-color:#424242;--mat-slide-toggle-unselected-pressed-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-pressed-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-track-color:rgba(0, 0, 0, .12)}html{--mat-slide-toggle-state-layer-size:40px;--mat-slide-toggle-touch-target-display:block}html{--mat-radio-disabled-selected-icon-opacity:.38;--mat-radio-disabled-unselected-icon-opacity:.38;--mat-radio-state-layer-size:40px;--mat-radio-touch-target-size:48px}html{--mat-radio-state-layer-size:40px;--mat-radio-touch-target-display:block}html{--mat-slider-active-track-height:6px;--mat-slider-active-track-shape:9999px;--mat-slider-handle-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slider-handle-height:20px;--mat-slider-handle-shape:50%;--mat-slider-handle-width:20px;--mat-slider-inactive-track-height:4px;--mat-slider-inactive-track-shape:9999px;--mat-slider-value-indicator-border-radius:4px;--mat-slider-value-indicator-caret-display:block;--mat-slider-value-indicator-container-transform:translateX(-50%);--mat-slider-value-indicator-height:32px;--mat-slider-value-indicator-padding:0 12px;--mat-slider-value-indicator-text-transform:none;--mat-slider-value-indicator-width:auto;--mat-slider-with-overlap-handle-outline-width:1px;--mat-slider-with-tick-marks-active-container-opacity:.6;--mat-slider-with-tick-marks-container-shape:50%;--mat-slider-with-tick-marks-container-size:2px;--mat-slider-with-tick-marks-inactive-container-opacity:.6}html{--mat-slider-active-track-color:#673ab7;--mat-slider-focus-handle-color:#673ab7;--mat-slider-handle-color:#673ab7;--mat-slider-hover-handle-color:#673ab7;--mat-slider-focus-state-layer-color:color-mix(in srgb, #673ab7 12%, transparent);--mat-slider-hover-state-layer-color:color-mix(in srgb, #673ab7 4%, transparent);--mat-slider-inactive-track-color:#673ab7;--mat-slider-ripple-color:#673ab7;--mat-slider-with-tick-marks-active-container-color:white;--mat-slider-with-tick-marks-inactive-container-color:#673ab7;--mat-slider-disabled-active-track-color:rgba(0, 0, 0, .87);--mat-slider-disabled-handle-color:rgba(0, 0, 0, .87);--mat-slider-disabled-inactive-track-color:rgba(0, 0, 0, .87);--mat-slider-label-container-color:#424242;--mat-slider-label-label-text-color:white;--mat-slider-value-indicator-opacity:1;--mat-slider-with-overlap-handle-outline-color:rgba(0, 0, 0, .87);--mat-slider-with-tick-marks-disabled-container-color:rgba(0, 0, 0, .87)}html{--mat-menu-container-shape:4px;--mat-menu-divider-bottom-spacing:0;--mat-menu-divider-top-spacing:0;--mat-menu-item-spacing:16px;--mat-menu-item-icon-size:24px;--mat-menu-item-leading-spacing:16px;--mat-menu-item-trailing-spacing:16px;--mat-menu-item-with-icon-leading-spacing:16px;--mat-menu-item-with-icon-trailing-spacing:16px;--mat-menu-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-menu-item-label-text-color:rgba(0, 0, 0, .87);--mat-menu-item-icon-color:rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-menu-item-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-menu-container-color:white;--mat-menu-divider-color:rgba(0, 0, 0, .12)}html{--mat-list-active-indicator-color:transparent;--mat-list-active-indicator-shape:4px;--mat-list-list-item-container-shape:0;--mat-list-list-item-leading-avatar-shape:50%;--mat-list-list-item-container-color:transparent;--mat-list-list-item-selected-container-color:transparent;--mat-list-list-item-leading-avatar-color:transparent;--mat-list-list-item-leading-icon-size:24px;--mat-list-list-item-leading-avatar-size:40px;--mat-list-list-item-trailing-icon-size:24px;--mat-list-list-item-disabled-state-layer-color:transparent;--mat-list-list-item-disabled-state-layer-opacity:0;--mat-list-list-item-disabled-label-text-opacity:.38;--mat-list-list-item-disabled-leading-icon-opacity:.38;--mat-list-list-item-disabled-trailing-icon-opacity:.38}html{--mat-list-list-item-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-supporting-text-color:rgba(0, 0, 0, .54);--mat-list-list-item-leading-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-trailing-supporting-text-color:rgba(0, 0, 0, .54);--mat-list-list-item-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-selected-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-disabled-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-disabled-leading-icon-color:rgba(0, 0, 0, .87);--mat-list-list-item-disabled-trailing-icon-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-leading-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-state-layer-opacity:.04;--mat-list-list-item-hover-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-focus-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-list-list-item-focus-state-layer-opacity:.12}html{--mat-list-list-item-leading-icon-start-space:16px;--mat-list-list-item-leading-icon-end-space:32px;--mat-list-list-item-one-line-container-height:48px;--mat-list-list-item-two-line-container-height:64px;--mat-list-list-item-three-line-container-height:88px}html{--mat-paginator-page-size-select-width:84px;--mat-paginator-page-size-select-touch-target-height:48px}html{--mat-paginator-container-text-color:rgba(0, 0, 0, .87);--mat-paginator-container-background-color:white;--mat-paginator-enabled-icon-color:rgba(0, 0, 0, .54);--mat-paginator-disabled-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent)}html{--mat-paginator-container-size:56px;--mat-paginator-form-field-container-height:40px;--mat-paginator-form-field-container-vertical-padding:8px;--mat-paginator-touch-target-display:block}html{--mat-tab-container-height:48px;--mat-tab-divider-color:transparent;--mat-tab-divider-height:0;--mat-tab-active-indicator-height:2px;--mat-tab-active-indicator-shape:0}html{--mat-checkbox-disabled-selected-checkmark-color:white;--mat-checkbox-selected-focus-state-layer-opacity:.12;--mat-checkbox-selected-hover-state-layer-opacity:.04;--mat-checkbox-selected-pressed-state-layer-opacity:.12;--mat-checkbox-unselected-focus-state-layer-opacity:.12;--mat-checkbox-unselected-hover-state-layer-opacity:.04;--mat-checkbox-unselected-pressed-state-layer-opacity:.12;--mat-checkbox-touch-target-size:48px}html{--mat-checkbox-disabled-label-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-label-text-color:rgba(0, 0, 0, .87);--mat-checkbox-disabled-selected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-disabled-unselected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-selected-checkmark-color:rgba(0, 0, 0, .87);--mat-checkbox-selected-focus-icon-color:#ffa000;--mat-checkbox-selected-hover-icon-color:#ffa000;--mat-checkbox-selected-icon-color:#ffa000;--mat-checkbox-selected-pressed-icon-color:#ffa000;--mat-checkbox-unselected-focus-icon-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-hover-icon-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mat-checkbox-selected-focus-state-layer-color:#ffa000;--mat-checkbox-selected-hover-state-layer-color:#ffa000;--mat-checkbox-selected-pressed-state-layer-color:#ffa000;--mat-checkbox-unselected-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-pressed-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-checkbox-touch-target-display:block;--mat-checkbox-state-layer-size:40px}html{--mat-button-filled-container-shape:4px;--mat-button-filled-horizontal-padding:16px;--mat-button-filled-icon-offset:-4px;--mat-button-filled-icon-spacing:8px;--mat-button-filled-touch-target-size:48px;--mat-button-outlined-container-shape:4px;--mat-button-outlined-horizontal-padding:15px;--mat-button-outlined-icon-offset:-4px;--mat-button-outlined-icon-spacing:8px;--mat-button-outlined-keep-touch-target:false;--mat-button-outlined-outline-width:1px;--mat-button-outlined-touch-target-size:48px;--mat-button-protected-container-elevation-shadow:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-button-protected-container-shape:4px;--mat-button-protected-disabled-container-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-button-protected-focus-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-button-protected-horizontal-padding:16px;--mat-button-protected-hover-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-button-protected-icon-offset:-4px;--mat-button-protected-icon-spacing:8px;--mat-button-protected-pressed-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-button-protected-touch-target-size:48px;--mat-button-text-container-shape:4px;--mat-button-text-horizontal-padding:8px;--mat-button-text-icon-offset:0;--mat-button-text-icon-spacing:8px;--mat-button-text-with-icon-horizontal-padding:8px;--mat-button-text-touch-target-size:48px;--mat-button-tonal-container-shape:4px;--mat-button-tonal-horizontal-padding:16px;--mat-button-tonal-icon-offset:-4px;--mat-button-tonal-icon-spacing:8px;--mat-button-tonal-touch-target-size:48px}html{--mat-button-filled-container-color:white;--mat-button-filled-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-filled-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-filled-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-filled-focus-state-layer-opacity:.12;--mat-button-filled-hover-state-layer-opacity:.04;--mat-button-filled-label-text-color:rgba(0, 0, 0, .87);--mat-button-filled-pressed-state-layer-opacity:.12;--mat-button-filled-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-filled-state-layer-color:rgba(0, 0, 0, .87);--mat-button-outlined-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-outlined-disabled-outline-color:rgba(0, 0, 0, .12);--mat-button-outlined-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-outlined-focus-state-layer-opacity:.12;--mat-button-outlined-hover-state-layer-opacity:.04;--mat-button-outlined-label-text-color:rgba(0, 0, 0, .87);--mat-button-outlined-outline-color:rgba(0, 0, 0, .12);--mat-button-outlined-pressed-state-layer-opacity:.12;--mat-button-outlined-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-outlined-state-layer-color:rgba(0, 0, 0, .87);--mat-button-protected-container-color:white;--mat-button-protected-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-protected-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-protected-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-protected-focus-state-layer-opacity:.12;--mat-button-protected-hover-state-layer-opacity:.04;--mat-button-protected-label-text-color:rgba(0, 0, 0, .87);--mat-button-protected-pressed-state-layer-opacity:.12;--mat-button-protected-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-protected-state-layer-color:rgba(0, 0, 0, .87);--mat-button-text-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-text-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-text-focus-state-layer-opacity:.12;--mat-button-text-hover-state-layer-opacity:.04;--mat-button-text-label-text-color:rgba(0, 0, 0, .87);--mat-button-text-pressed-state-layer-opacity:.12;--mat-button-text-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-text-state-layer-color:rgba(0, 0, 0, .87);--mat-button-tonal-container-color:white;--mat-button-tonal-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-tonal-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-tonal-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-tonal-focus-state-layer-opacity:.12;--mat-button-tonal-hover-state-layer-opacity:.04;--mat-button-tonal-label-text-color:rgba(0, 0, 0, .87);--mat-button-tonal-pressed-state-layer-opacity:.12;--mat-button-tonal-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-tonal-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-button-filled-container-height:36px;--mat-button-filled-touch-target-display:block;--mat-button-outlined-container-height:36px;--mat-button-outlined-touch-target-display:block;--mat-button-protected-container-height:36px;--mat-button-protected-touch-target-display:block;--mat-button-text-container-height:36px;--mat-button-text-touch-target-display:block;--mat-button-tonal-container-height:36px;--mat-button-tonal-touch-target-display:block}html{--mat-icon-button-icon-size:24px;--mat-icon-button-container-shape:50%;--mat-icon-button-touch-target-size:48px}html{--mat-icon-button-disabled-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-icon-button-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-icon-button-focus-state-layer-opacity:.12;--mat-icon-button-hover-state-layer-opacity:.04;--mat-icon-button-icon-color:inherit;--mat-icon-button-pressed-state-layer-opacity:.12;--mat-icon-button-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-icon-button-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-icon-button-touch-target-display:block}html{--mat-fab-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-fab-container-shape:50%;--mat-fab-touch-target-size:48px;--mat-fab-extended-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-fab-extended-container-height:48px;--mat-fab-extended-container-shape:24px;--mat-fab-extended-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-extended-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-extended-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-fab-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-fab-small-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-fab-small-container-shape:50%;--mat-fab-small-touch-target-size:48px;--mat-fab-small-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-small-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-fab-small-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html{--mat-fab-container-color:white;--mat-fab-disabled-state-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-disabled-state-foreground-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-fab-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-fab-focus-state-layer-opacity:.12;--mat-fab-foreground-color:rgba(0, 0, 0, .87);--mat-fab-hover-state-layer-opacity:.04;--mat-fab-pressed-state-layer-opacity:.12;--mat-fab-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-small-container-color:white;--mat-fab-small-disabled-state-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-small-disabled-state-foreground-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-fab-small-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-fab-small-focus-state-layer-opacity:.12;--mat-fab-small-foreground-color:rgba(0, 0, 0, .87);--mat-fab-small-hover-state-layer-opacity:.04;--mat-fab-small-pressed-state-layer-opacity:.12;--mat-fab-small-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-fab-small-state-layer-color:rgba(0, 0, 0, .87);--mat-fab-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-fab-small-touch-target-display:block;--mat-fab-touch-target-display:block}html{--mat-snack-bar-container-shape:4px}html{--mat-snack-bar-container-color:#424242;--mat-snack-bar-supporting-text-color:white;--mat-snack-bar-button-color:#9575cd}html{--mat-table-row-item-outline-width:1px}html{--mat-table-background-color:white;--mat-table-header-headline-color:rgba(0, 0, 0, .87);--mat-table-row-item-label-text-color:rgba(0, 0, 0, .87);--mat-table-row-item-outline-color:rgba(0, 0, 0, .12)}html{--mat-table-header-container-height:56px;--mat-table-footer-container-height:52px;--mat-table-row-item-container-height:52px}html{--mat-progress-spinner-active-indicator-width:4px;--mat-progress-spinner-size:48px}html{--mat-progress-spinner-active-indicator-color:#673ab7}html{--mat-badge-container-shape:50%;--mat-badge-container-size:unset;--mat-badge-small-size-container-size:unset;--mat-badge-large-size-container-size:unset;--mat-badge-legacy-container-size:22px;--mat-badge-legacy-small-size-container-size:16px;--mat-badge-legacy-large-size-container-size:28px;--mat-badge-container-offset:-11px 0;--mat-badge-small-size-container-offset:-8px 0;--mat-badge-large-size-container-offset:-14px 0;--mat-badge-container-overlap-offset:-11px;--mat-badge-small-size-container-overlap-offset:-8px;--mat-badge-large-size-container-overlap-offset:-14px;--mat-badge-container-padding:0;--mat-badge-small-size-container-padding:0;--mat-badge-large-size-container-padding:0}html{--mat-badge-background-color:#673ab7;--mat-badge-text-color:white;--mat-badge-disabled-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-badge-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent)}html{--mat-bottom-sheet-container-shape:4px}html{--mat-bottom-sheet-container-text-color:rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color:white}html{--mat-button-toggle-focus-state-layer-opacity:.12;--mat-button-toggle-hover-state-layer-opacity:.04;--mat-button-toggle-legacy-focus-state-layer-opacity:1;--mat-button-toggle-legacy-height:36px;--mat-button-toggle-legacy-shape:2px;--mat-button-toggle-shape:4px}html{--mat-button-toggle-background-color:white;--mat-button-toggle-disabled-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-disabled-selected-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-disabled-state-background-color:white;--mat-button-toggle-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-divider-color:rgba(0, 0, 0, .12);--mat-button-toggle-legacy-disabled-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-disabled-state-background-color:white;--mat-button-toggle-legacy-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-legacy-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-selected-state-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-legacy-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-selected-state-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-state-layer-color:rgba(0, 0, 0, .87);--mat-button-toggle-text-color:rgba(0, 0, 0, .87)}html{--mat-button-toggle-height:48px}html{--mat-datepicker-calendar-container-shape:4px;--mat-datepicker-calendar-container-touch-shape:4px;--mat-datepicker-calendar-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-datepicker-calendar-date-in-range-state-background-color:color-mix(in srgb, #673ab7 20%, transparent);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:color-mix(in srgb, #ffa000 20%, transparent);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:rgb(69.5241935484, 163.4758064516, 93.9516129032);--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#673ab7;--mat-datepicker-calendar-date-selected-disabled-state-background-color:color-mix(in srgb, #673ab7 38%, transparent);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:color-mix(in srgb, #673ab7 12%, transparent);--mat-datepicker-calendar-date-hover-state-background-color:color-mix(in srgb, #673ab7 4%, transparent);--mat-datepicker-toggle-active-state-icon-color:#673ab7;--mat-datepicker-toggle-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-body-label-text-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-period-button-text-color:rgba(0, 0, 0, .87);--mat-datepicker-calendar-period-button-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-navigation-button-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-header-divider-color:rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-text-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-date-today-outline-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-date-today-disabled-state-outline-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-calendar-date-text-color:rgba(0, 0, 0, .87);--mat-datepicker-calendar-date-outline-color:transparent;--mat-datepicker-calendar-date-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-calendar-date-preview-state-outline-color:rgba(0, 0, 0, .54);--mat-datepicker-range-input-separator-color:rgba(0, 0, 0, .87);--mat-datepicker-range-input-disabled-state-separator-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-range-input-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-datepicker-calendar-container-background-color:white;--mat-datepicker-calendar-container-text-color:rgba(0, 0, 0, .87)}html{--mat-divider-width:1px}html{--mat-divider-color:rgba(0, 0, 0, .12)}html{--mat-expansion-container-shape:4px;--mat-expansion-container-elevation-shadow:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-expansion-legacy-header-indicator-display:inline-block;--mat-expansion-header-indicator-display:none}html{--mat-expansion-container-background-color:white;--mat-expansion-container-text-color:rgba(0, 0, 0, .87);--mat-expansion-actions-divider-color:rgba(0, 0, 0, .12);--mat-expansion-header-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-expansion-header-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-expansion-header-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-expansion-header-text-color:rgba(0, 0, 0, .87);--mat-expansion-header-description-color:rgba(0, 0, 0, .54);--mat-expansion-header-indicator-color:rgba(0, 0, 0, .54)}html{--mat-expansion-header-collapsed-state-height:48px;--mat-expansion-header-expanded-state-height:64px}html{--mat-icon-color:inherit}html{--mat-sidenav-container-shape:0;--mat-sidenav-container-elevation-shadow:0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-sidenav-container-width:auto}html{--mat-sidenav-container-divider-color:rgba(0, 0, 0, .12);--mat-sidenav-container-background-color:white;--mat-sidenav-container-text-color:rgba(0, 0, 0, .87);--mat-sidenav-content-background-color:#fafafa;--mat-sidenav-content-text-color:rgba(0, 0, 0, .87);--mat-sidenav-scrim-color:rgba(0, 0, 0, .6)}html{--mat-stepper-header-focus-state-layer-shape:0;--mat-stepper-header-hover-state-layer-shape:0}html{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#673ab7;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#673ab7;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#673ab7;--mat-stepper-header-edit-state-icon-foreground-color:white;--mat-stepper-container-color:white;--mat-stepper-line-color:rgba(0, 0, 0, .12);--mat-stepper-header-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-stepper-header-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-stepper-header-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-optional-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-selected-state-label-text-color:rgba(0, 0, 0, .87);--mat-stepper-header-error-state-label-text-color:#f44336;--mat-stepper-header-icon-background-color:rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color:#f44336;--mat-stepper-header-error-state-icon-background-color:transparent}html{--mat-stepper-header-height:72px}html{--mat-sort-arrow-color:rgba(0, 0, 0, .87)}html{--mat-toolbar-container-background-color:white;--mat-toolbar-container-text-color:rgba(0, 0, 0, .87)}html{--mat-toolbar-standard-height:64px;--mat-toolbar-mobile-height:56px}html{--mat-tree-container-background-color:white;--mat-tree-node-text-color:rgba(0, 0, 0, .87)}html{--mat-tree-node-min-height:48px}html{--mat-timepicker-container-shape:4px;--mat-timepicker-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-timepicker-container-background-color:white}.bluegrey-lightgreen-theme{--mat-app-background-color:#303030;--mat-app-text-color:white;--mat-app-elevation-shadow-level-0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7:0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9:0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10:0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rgba(0, 0, 0, .14), 0px 4px 18px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-11:0px 6px 7px -4px rgba(0, 0, 0, .2), 0px 11px 15px 1px rgba(0, 0, 0, .14), 0px 4px 20px 3px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-12:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-13:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 13px 19px 2px rgba(0, 0, 0, .14), 0px 5px 24px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-14:0px 7px 9px -4px rgba(0, 0, 0, .2), 0px 14px 21px 2px rgba(0, 0, 0, .14), 0px 5px 26px 4px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-15:0px 8px 9px -5px rgba(0, 0, 0, .2), 0px 15px 22px 2px rgba(0, 0, 0, .14), 0px 6px 28px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-16:0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-17:0px 8px 11px -5px rgba(0, 0, 0, .2), 0px 17px 26px 2px rgba(0, 0, 0, .14), 0px 6px 32px 5px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-18:0px 9px 11px -5px rgba(0, 0, 0, .2), 0px 18px 28px 2px rgba(0, 0, 0, .14), 0px 7px 34px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-19:0px 9px 12px -6px rgba(0, 0, 0, .2), 0px 19px 29px 2px rgba(0, 0, 0, .14), 0px 7px 36px 6px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-20:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 20px 31px 3px rgba(0, 0, 0, .14), 0px 8px 38px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-21:0px 10px 13px -6px rgba(0, 0, 0, .2), 0px 21px 33px 3px rgba(0, 0, 0, .14), 0px 8px 40px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-22:0px 10px 14px -6px rgba(0, 0, 0, .2), 0px 22px 35px 3px rgba(0, 0, 0, .14), 0px 8px 42px 7px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-23:0px 11px 14px -7px rgba(0, 0, 0, .2), 0px 23px 36px 3px rgba(0, 0, 0, .14), 0px 9px 44px 8px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-24:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-option-selected-state-label-text-color:#546e7a;--mat-option-label-text-color:white;--mat-option-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-option-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-option-selected-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-optgroup-label-text-color:white;--mat-pseudo-checkbox-full-selected-icon-color:#689f38;--mat-pseudo-checkbox-full-selected-checkmark-color:#303030;--mat-pseudo-checkbox-full-unselected-icon-color:rgba(255, 255, 255, .7);--mat-pseudo-checkbox-full-disabled-selected-checkmark-color:#303030;--mat-pseudo-checkbox-full-disabled-unselected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-pseudo-checkbox-full-disabled-selected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-pseudo-checkbox-minimal-selected-checkmark-color:#689f38;--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color:color-mix(in srgb, white 38%, transparent);--mat-card-elevated-container-color:#424242;--mat-card-elevated-container-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-card-outlined-container-color:#424242;--mat-card-outlined-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-outlined-outline-color:rgba(255, 255, 255, .12);--mat-card-subtitle-text-color:rgba(255, 255, 255, .7);--mat-card-filled-container-color:#424242;--mat-card-filled-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-tooltip-container-color:white;--mat-tooltip-supporting-text-color:rgba(0, 0, 0, .87);--mat-form-field-focus-select-arrow-color:color-mix(in srgb, #546e7a 87%, transparent);--mat-form-field-filled-caret-color:#546e7a;--mat-form-field-filled-focus-active-indicator-color:#546e7a;--mat-form-field-filled-focus-label-text-color:color-mix(in srgb, #546e7a 87%, transparent);--mat-form-field-outlined-caret-color:#546e7a;--mat-form-field-outlined-focus-outline-color:#546e7a;--mat-form-field-outlined-focus-label-text-color:color-mix(in srgb, #546e7a 87%, transparent);--mat-form-field-disabled-input-text-placeholder-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-state-layer-color:white;--mat-form-field-error-text-color:#ff5722;--mat-form-field-select-option-text-color:rgba(0, 0, 0, .87);--mat-form-field-select-disabled-option-text-color:rgba(0, 0, 0, .38);--mat-form-field-leading-icon-color:unset;--mat-form-field-disabled-leading-icon-color:unset;--mat-form-field-trailing-icon-color:unset;--mat-form-field-disabled-trailing-icon-color:unset;--mat-form-field-error-focus-trailing-icon-color:unset;--mat-form-field-error-hover-trailing-icon-color:unset;--mat-form-field-error-trailing-icon-color:unset;--mat-form-field-enabled-select-arrow-color:rgba(255, 255, 255, .7);--mat-form-field-disabled-select-arrow-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-hover-state-layer-opacity:.04;--mat-form-field-focus-state-layer-opacity:.12;--mat-form-field-filled-container-color:#4a4a4a;--mat-form-field-filled-disabled-container-color:color-mix(in srgb, white 4%, transparent);--mat-form-field-filled-label-text-color:rgba(255, 255, 255, .7);--mat-form-field-filled-hover-label-text-color:rgba(255, 255, 255, .7);--mat-form-field-filled-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-filled-input-text-color:white;--mat-form-field-filled-disabled-input-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-filled-input-text-placeholder-color:rgba(255, 255, 255, .7);--mat-form-field-filled-error-hover-label-text-color:#ff5722;--mat-form-field-filled-error-focus-label-text-color:#ff5722;--mat-form-field-filled-error-label-text-color:#ff5722;--mat-form-field-filled-error-caret-color:#ff5722;--mat-form-field-filled-active-indicator-color:rgba(255, 255, 255, .7);--mat-form-field-filled-disabled-active-indicator-color:color-mix(in srgb, white 12%, transparent);--mat-form-field-filled-hover-active-indicator-color:white;--mat-form-field-filled-error-active-indicator-color:#ff5722;--mat-form-field-filled-error-focus-active-indicator-color:#ff5722;--mat-form-field-filled-error-hover-active-indicator-color:#ff5722;--mat-form-field-outlined-label-text-color:rgba(255, 255, 255, .7);--mat-form-field-outlined-hover-label-text-color:white;--mat-form-field-outlined-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-outlined-input-text-color:white;--mat-form-field-outlined-disabled-input-text-color:color-mix(in srgb, white 38%, transparent);--mat-form-field-outlined-input-text-placeholder-color:rgba(255, 255, 255, .7);--mat-form-field-outlined-error-caret-color:#ff5722;--mat-form-field-outlined-error-focus-label-text-color:#ff5722;--mat-form-field-outlined-error-label-text-color:#ff5722;--mat-form-field-outlined-error-hover-label-text-color:#ff5722;--mat-form-field-outlined-outline-color:rgba(255, 255, 255, .38);--mat-form-field-outlined-disabled-outline-color:color-mix(in srgb, white 12%, transparent);--mat-form-field-outlined-hover-outline-color:white;--mat-form-field-outlined-error-focus-outline-color:#ff5722;--mat-form-field-outlined-error-hover-outline-color:#ff5722;--mat-form-field-outlined-error-outline-color:#ff5722;--mat-select-panel-background-color:#424242;--mat-select-enabled-trigger-text-color:white;--mat-select-disabled-trigger-text-color:color-mix(in srgb, white 38%, transparent);--mat-select-placeholder-text-color:rgba(255, 255, 255, .7);--mat-select-enabled-arrow-color:rgba(255, 255, 255, .7);--mat-select-disabled-arrow-color:color-mix(in srgb, white 38%, transparent);--mat-select-focused-arrow-color:#546e7a;--mat-select-invalid-arrow-color:#ff5722;--mat-autocomplete-background-color:#424242;--mat-dialog-container-color:#424242;--mat-dialog-subhead-color:white;--mat-dialog-supporting-text-color:rgba(255, 255, 255, .7);--mat-slide-toggle-selected-icon-color:white;--mat-slide-toggle-disabled-selected-icon-color:white;--mat-slide-toggle-selected-focus-state-layer-color:#546e7a;--mat-slide-toggle-selected-handle-color:#546e7a;--mat-slide-toggle-selected-hover-state-layer-color:#546e7a;--mat-slide-toggle-selected-pressed-state-layer-color:#546e7a;--mat-slide-toggle-selected-focus-handle-color:#546e7a;--mat-slide-toggle-selected-hover-handle-color:#546e7a;--mat-slide-toggle-selected-pressed-handle-color:#546e7a;--mat-slide-toggle-selected-focus-track-color:#546e7a;--mat-slide-toggle-selected-hover-track-color:#546e7a;--mat-slide-toggle-selected-pressed-track-color:#546e7a;--mat-slide-toggle-selected-track-color:#546e7a;--mat-slide-toggle-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-slide-toggle-disabled-handle-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-disabled-selected-handle-color:white;--mat-slide-toggle-disabled-selected-track-color:white;--mat-slide-toggle-disabled-unselected-handle-color:white;--mat-slide-toggle-disabled-unselected-icon-color:#4a4a4a;--mat-slide-toggle-disabled-unselected-track-color:white;--mat-slide-toggle-handle-elevation-shadow:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-handle-surface-color:#424242;--mat-slide-toggle-label-text-color:white;--mat-slide-toggle-unselected-hover-handle-color:white;--mat-slide-toggle-unselected-focus-handle-color:white;--mat-slide-toggle-unselected-focus-state-layer-color:white;--mat-slide-toggle-unselected-focus-track-color:rgba(255, 255, 255, .12);--mat-slide-toggle-unselected-icon-color:#4a4a4a;--mat-slide-toggle-unselected-handle-color:rgba(255, 255, 255, .7);--mat-slide-toggle-unselected-hover-state-layer-color:white;--mat-slide-toggle-unselected-hover-track-color:rgba(255, 255, 255, .12);--mat-slide-toggle-unselected-pressed-handle-color:white;--mat-slide-toggle-unselected-pressed-track-color:rgba(255, 255, 255, .12);--mat-slide-toggle-unselected-pressed-state-layer-color:white;--mat-slide-toggle-unselected-track-color:rgba(255, 255, 255, .12);--mat-slider-active-track-color:#546e7a;--mat-slider-focus-handle-color:#546e7a;--mat-slider-handle-color:#546e7a;--mat-slider-hover-handle-color:#546e7a;--mat-slider-focus-state-layer-color:color-mix(in srgb, #546e7a 12%, transparent);--mat-slider-hover-state-layer-color:color-mix(in srgb, #546e7a 4%, transparent);--mat-slider-inactive-track-color:#546e7a;--mat-slider-ripple-color:#546e7a;--mat-slider-with-tick-marks-active-container-color:white;--mat-slider-with-tick-marks-inactive-container-color:#546e7a;--mat-slider-disabled-active-track-color:white;--mat-slider-disabled-handle-color:white;--mat-slider-disabled-inactive-track-color:white;--mat-slider-label-container-color:white;--mat-slider-label-label-text-color:rgba(0, 0, 0, .87);--mat-slider-value-indicator-opacity:1;--mat-slider-with-overlap-handle-outline-color:white;--mat-slider-with-tick-marks-disabled-container-color:white;--mat-menu-item-label-text-color:white;--mat-menu-item-icon-color:white;--mat-menu-item-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-menu-item-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-menu-container-color:#424242;--mat-menu-divider-color:rgba(255, 255, 255, .12);--mat-list-list-item-label-text-color:white;--mat-list-list-item-supporting-text-color:rgba(255, 255, 255, .7);--mat-list-list-item-leading-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-trailing-supporting-text-color:rgba(255, 255, 255, .7);--mat-list-list-item-trailing-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-selected-trailing-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-disabled-label-text-color:white;--mat-list-list-item-disabled-leading-icon-color:white;--mat-list-list-item-disabled-trailing-icon-color:white;--mat-list-list-item-hover-label-text-color:white;--mat-list-list-item-hover-leading-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-hover-state-layer-color:white;--mat-list-list-item-hover-state-layer-opacity:.04;--mat-list-list-item-hover-trailing-icon-color:rgba(255, 255, 255, .7);--mat-list-list-item-focus-label-text-color:white;--mat-list-list-item-focus-state-layer-color:white;--mat-list-list-item-focus-state-layer-opacity:.12;--mat-paginator-container-text-color:white;--mat-paginator-container-background-color:#424242;--mat-paginator-enabled-icon-color:rgba(255, 255, 255, .7);--mat-paginator-disabled-icon-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-disabled-label-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-label-text-color:white;--mat-checkbox-disabled-selected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-disabled-unselected-icon-color:color-mix(in srgb, white 38%, transparent);--mat-checkbox-selected-checkmark-color:white;--mat-checkbox-selected-focus-icon-color:#689f38;--mat-checkbox-selected-hover-icon-color:#689f38;--mat-checkbox-selected-icon-color:#689f38;--mat-checkbox-selected-pressed-icon-color:#689f38;--mat-checkbox-unselected-focus-icon-color:white;--mat-checkbox-unselected-hover-icon-color:white;--mat-checkbox-unselected-icon-color:rgba(255, 255, 255, .7);--mat-checkbox-selected-focus-state-layer-color:#689f38;--mat-checkbox-selected-hover-state-layer-color:#689f38;--mat-checkbox-selected-pressed-state-layer-color:#689f38;--mat-checkbox-unselected-focus-state-layer-color:white;--mat-checkbox-unselected-hover-state-layer-color:white;--mat-checkbox-unselected-pressed-state-layer-color:white;--mat-button-filled-container-color:#424242;--mat-button-filled-disabled-container-color:color-mix(in srgb, white 12%, transparent);--mat-button-filled-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-filled-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-filled-focus-state-layer-opacity:.12;--mat-button-filled-hover-state-layer-opacity:.04;--mat-button-filled-label-text-color:white;--mat-button-filled-pressed-state-layer-opacity:.12;--mat-button-filled-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-filled-state-layer-color:white;--mat-button-outlined-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-outlined-disabled-outline-color:rgba(255, 255, 255, .12);--mat-button-outlined-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-outlined-focus-state-layer-opacity:.12;--mat-button-outlined-hover-state-layer-opacity:.04;--mat-button-outlined-label-text-color:white;--mat-button-outlined-outline-color:rgba(255, 255, 255, .12);--mat-button-outlined-pressed-state-layer-opacity:.12;--mat-button-outlined-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-outlined-state-layer-color:white;--mat-button-protected-container-color:#424242;--mat-button-protected-disabled-container-color:color-mix(in srgb, white 12%, transparent);--mat-button-protected-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-protected-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-protected-focus-state-layer-opacity:.12;--mat-button-protected-hover-state-layer-opacity:.04;--mat-button-protected-label-text-color:white;--mat-button-protected-pressed-state-layer-opacity:.12;--mat-button-protected-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-protected-state-layer-color:white;--mat-button-text-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-text-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-text-focus-state-layer-opacity:.12;--mat-button-text-hover-state-layer-opacity:.04;--mat-button-text-label-text-color:white;--mat-button-text-pressed-state-layer-opacity:.12;--mat-button-text-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-text-state-layer-color:white;--mat-button-tonal-container-color:#424242;--mat-button-tonal-disabled-container-color:color-mix(in srgb, white 12%, transparent);--mat-button-tonal-disabled-label-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-tonal-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-button-tonal-focus-state-layer-opacity:.12;--mat-button-tonal-hover-state-layer-opacity:.04;--mat-button-tonal-label-text-color:white;--mat-button-tonal-pressed-state-layer-opacity:.12;--mat-button-tonal-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-button-tonal-state-layer-color:white;--mat-icon-button-disabled-icon-color:color-mix(in srgb, white 38%, transparent);--mat-icon-button-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-icon-button-focus-state-layer-opacity:.12;--mat-icon-button-hover-state-layer-opacity:.04;--mat-icon-button-icon-color:inherit;--mat-icon-button-pressed-state-layer-opacity:.12;--mat-icon-button-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-icon-button-state-layer-color:white;--mat-fab-container-color:#424242;--mat-fab-disabled-state-container-color:color-mix(in srgb, white 12%, transparent);--mat-fab-disabled-state-foreground-color:color-mix(in srgb, white 38%, transparent);--mat-fab-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-fab-focus-state-layer-opacity:.12;--mat-fab-foreground-color:white;--mat-fab-hover-state-layer-opacity:.04;--mat-fab-pressed-state-layer-opacity:.12;--mat-fab-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-fab-small-container-color:#424242;--mat-fab-small-disabled-state-container-color:color-mix(in srgb, white 12%, transparent);--mat-fab-small-disabled-state-foreground-color:color-mix(in srgb, white 38%, transparent);--mat-fab-small-disabled-state-layer-color:rgba(255, 255, 255, .7);--mat-fab-small-focus-state-layer-opacity:.12;--mat-fab-small-foreground-color:white;--mat-fab-small-hover-state-layer-opacity:.04;--mat-fab-small-pressed-state-layer-opacity:.12;--mat-fab-small-ripple-color:color-mix(in srgb, white 12%, transparent);--mat-fab-small-state-layer-color:white;--mat-fab-state-layer-color:white;--mat-snack-bar-container-color:white;--mat-snack-bar-supporting-text-color:rgba(0, 0, 0, .87);--mat-snack-bar-button-color:#546e7a;--mat-table-background-color:#424242;--mat-table-header-headline-color:white;--mat-table-row-item-label-text-color:white;--mat-table-row-item-outline-color:rgba(255, 255, 255, .12);--mat-progress-spinner-active-indicator-color:#546e7a;--mat-badge-background-color:#546e7a;--mat-badge-text-color:white;--mat-badge-disabled-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-badge-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-bottom-sheet-container-text-color:white;--mat-bottom-sheet-container-background-color:#424242;--mat-button-toggle-background-color:#424242;--mat-button-toggle-disabled-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-disabled-selected-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-toggle-disabled-state-background-color:#424242;--mat-button-toggle-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-toggle-divider-color:rgba(255, 255, 255, .12);--mat-button-toggle-legacy-disabled-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-legacy-disabled-state-background-color:#424242;--mat-button-toggle-legacy-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-button-toggle-legacy-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-legacy-selected-state-text-color:white;--mat-button-toggle-legacy-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-legacy-text-color:white;--mat-button-toggle-selected-state-background-color:color-mix(in srgb, white 12%, transparent);--mat-button-toggle-selected-state-text-color:white;--mat-button-toggle-state-layer-color:white;--mat-button-toggle-text-color:white;--mat-datepicker-calendar-date-in-range-state-background-color:color-mix(in srgb, #546e7a 20%, transparent);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:color-mix(in srgb, #689f38 20%, transparent);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:rgb(69.5241935484, 163.4758064516, 93.9516129032);--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#546e7a;--mat-datepicker-calendar-date-selected-disabled-state-background-color:color-mix(in srgb, #546e7a 38%, transparent);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:color-mix(in srgb, #546e7a 12%, transparent);--mat-datepicker-calendar-date-hover-state-background-color:color-mix(in srgb, #546e7a 4%, transparent);--mat-datepicker-toggle-active-state-icon-color:#546e7a;--mat-datepicker-toggle-icon-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-body-label-text-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-period-button-text-color:white;--mat-datepicker-calendar-period-button-icon-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-navigation-button-icon-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-header-divider-color:rgba(255, 255, 255, .12);--mat-datepicker-calendar-header-text-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-date-today-outline-color:rgba(255, 255, 255, .7);--mat-datepicker-calendar-date-today-disabled-state-outline-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-calendar-date-text-color:white;--mat-datepicker-calendar-date-outline-color:transparent;--mat-datepicker-calendar-date-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-calendar-date-preview-state-outline-color:rgba(255, 255, 255, .7);--mat-datepicker-range-input-separator-color:white;--mat-datepicker-range-input-disabled-state-separator-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-range-input-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-datepicker-calendar-container-background-color:#424242;--mat-datepicker-calendar-container-text-color:white;--mat-divider-color:rgba(255, 255, 255, .12);--mat-expansion-container-background-color:#424242;--mat-expansion-container-text-color:white;--mat-expansion-actions-divider-color:rgba(255, 255, 255, .12);--mat-expansion-header-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-expansion-header-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-expansion-header-disabled-state-text-color:color-mix(in srgb, white 38%, transparent);--mat-expansion-header-text-color:white;--mat-expansion-header-description-color:rgba(255, 255, 255, .7);--mat-expansion-header-indicator-color:rgba(255, 255, 255, .7);--mat-icon-color:inherit;--mat-sidenav-container-divider-color:rgba(255, 255, 255, .12);--mat-sidenav-container-background-color:#424242;--mat-sidenav-container-text-color:white;--mat-sidenav-content-background-color:#303030;--mat-sidenav-content-text-color:white;--mat-sidenav-scrim-color:rgba(255, 255, 255, .6);--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#546e7a;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#546e7a;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#546e7a;--mat-stepper-header-edit-state-icon-foreground-color:white;--mat-stepper-container-color:#424242;--mat-stepper-line-color:rgba(255, 255, 255, .12);--mat-stepper-header-hover-state-layer-color:color-mix(in srgb, white 4%, transparent);--mat-stepper-header-focus-state-layer-color:color-mix(in srgb, white 12%, transparent);--mat-stepper-header-label-text-color:rgba(255, 255, 255, .7);--mat-stepper-header-optional-label-text-color:rgba(255, 255, 255, .7);--mat-stepper-header-selected-state-label-text-color:white;--mat-stepper-header-error-state-label-text-color:#ff5722;--mat-stepper-header-icon-background-color:rgba(255, 255, 255, .7);--mat-stepper-header-error-state-icon-foreground-color:#ff5722;--mat-stepper-header-error-state-icon-background-color:transparent;--mat-sort-arrow-color:white;--mat-toolbar-container-background-color:#424242;--mat-toolbar-container-text-color:white;--mat-tree-container-background-color:#424242;--mat-tree-node-text-color:white;--mat-timepicker-container-background-color:#424242}.bluegrey-lightgreen-theme{--theme-primary:#546e7a;--theme-primary-lighter:rgb(96.4776699029, 126.3398058252, 140.1223300971);--theme-primary-light:rgb(105.1650485437, 137.0970873786, 151.8349514563);--theme-primary-darker:rgb(71.5223300971, 93.6601941748, 103.8776699029);--theme-primary-dark:rgb(63.2038834951, 82.7669902913, 91.7961165049);--theme-primary-fade-10:#546e7a;--theme-primary-fade-20:#546e7a;--theme-primary-fade-30:#546e7a;--theme-primary-fade-40:#546e7a;--theme-primary-fade-50:#546e7a;--theme-accent:#689f38;--theme-accent-lighter:rgb(118.8018604651, 181.6297674419, 63.9702325581);--theme-accent-light:rgb(129.0279069767, 191.4465116279, 74.5534883721);--theme-accent-darker:rgb(89.1981395349, 136.3702325581, 48.0297674419);--theme-accent-dark:rgb(79.3302325581, 121.2837209302, 42.7162790698);--theme-accent-fade-10:#689f38;--theme-accent-fade-20:#689f38;--theme-accent-fade-30:#689f38;--theme-accent-fade-40:#689f38;--theme-accent-fade-50:#689f38;--theme-warn:#ff5722;--theme-warn-lighter:rgb(255, 110.2615384615, 64.6);--theme-warn-light:rgb(255, 125.7692307692, 85);--theme-warn-darker:rgb(255, 63.7384615385, 3.4);--theme-warn-dark:rgb(238, 57.0769230769, 0);--theme-warn-fade-10:#ff5722;--theme-warn-fade-20:#ff5722;--theme-warn-fade-30:#ff5722;--theme-warn-fade-40:#ff5722;--theme-warn-fade-50:#ff5722;--theme-text:white;--theme-text-lighter:hsl(0, 0%, 106%);--theme-text-light:hsl(0, 0%, 110%);--theme-text-darker:rgb(229.5, 229.5, 229.5);--theme-text-dark:rgb(191.25, 191.25, 191.25);--theme-text-fade-10:white;--theme-text-fade-20:white;--theme-text-fade-30:white;--theme-text-fade-40:white;--theme-text-fade-50:white;--theme-text-invert-15:rgb(216.75, 216.75, 216.75);--theme-text-invert-30:rgb(178.5, 178.5, 178.5);--theme-background:#424242;--theme-background-lighter:rgb(81.3, 81.3, 81.3);--theme-background-light:rgb(91.5, 91.5, 91.5);--theme-background-darker:rgb(50.7, 50.7, 50.7);--theme-background-dark:rgb(40.5, 40.5, 40.5);--theme-background-darkest:rgb(30.3, 30.3, 30.3);--mdc-filled-text-field-container-color:#0000;--mdc-filled-text-field-disabled-container-color:#0000}@media screen and (-webkit-min-device-pixel-ratio:0){}\u003c/style\u003e\u003clink rel=\"stylesheet\" href=\"styles.css\" media=\"print\" onload=\"this.media='all'\"\u003e\u003cnoscript\u003e\u003clink rel=\"stylesheet\" href=\"styles.css\"\u003e\u003c/noscript\u003e\u003c/head\u003e\n\u003cbody class=\"mat-app-background mat-typography bluegrey-lightgreen-theme\"\u003e\n \u003capp-root\u003e\u003c/app-root\u003e\n\u003cscript src=\"runtime.js\" type=\"module\"\u003e\u003c/script\u003e\u003cscript src=\"polyfills.js\" type=\"module\"\u003e\u003c/script\u003e\u003cscript src=\"vendor.js\" type=\"module\"\u003e\u003c/script\u003e\u003cscript src=\"main.js\" type=\"module\"\u003e\u003c/script\u003e\u003c/body\u003e\n\u003c/html\u003e\n","timestamp":"2025-10-10T15:52:17.45093542Z","interaction":{"protocol":"dns","unique-id":"d3kin1q08hes73f859bgqcpfuf1qxf49u","full-id":"d3kIN1q08hes73f859bgqcpfUF1qXF49u","q-type":"A","raw-request":";; opcode: QUERY, status: NOERROR, id: 53057\n;; flags: cd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0\n\n;; QUESTION SECTION:\n;d3kIN1q08hes73f859bgqcpfUF1qXF49u.oaSt.SitE.\tIN\t A\n","raw-response":";; opcode: QUERY, status: NOERROR, id: 53057\n;; flags: qr aa cd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2\n\n;; QUESTION SECTION:\n;d3kIN1q08hes73f859bgqcpfUF1qXF49u.oaSt.SitE.\tIN\t A\n\n;; ANSWER SECTION:\nd3kIN1q08hes73f859bgqcpfUF1qXF49u.oaSt.SitE.\t3600\tIN\tA\t178.128.16.97\n\n;; AUTHORITY SECTION:\nd3kIN1q08hes73f859bgqcpfUF1qXF49u.oaSt.SitE.\t3600\tIN\tNS\tns1.oast.site.\nd3kIN1q08hes73f859bgqcpfUF1qXF49u.oaSt.SitE.\t3600\tIN\tNS\tns2.oast.site.\n\n;; ADDITIONAL SECTION:\nns1.oast.site.\t3600\tIN\tA\t178.128.16.97\nns2.oast.site.\t3600\tIN\tA\t178.128.16.97\n","remote-address":"172.217.33.220","timestamp":"2025-10-10T15:52:13.420001673Z"},"curl-command":"curl -X 'GET' -d '' -H 'Host: d3kin1q08hes73f859bgqcpfuf1qxf49u.oast.site' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1.1 Safari/605.1.1' 'http://host.docker.internal:3000'","matcher-status":true}
diff --git a/labs/lab5/semgrep/juice-shop b/labs/lab5/semgrep/juice-shop
new file mode 160000
index 00000000..36870cbb
--- /dev/null
+++ b/labs/lab5/semgrep/juice-shop
@@ -0,0 +1 @@
+Subproject commit 36870cbbdfe7864698e1adf644c7bf772f67ebb7
diff --git a/labs/lab5/semgrep/semgrep-report.txt b/labs/lab5/semgrep/semgrep-report.txt
new file mode 100644
index 00000000..49b6afdf
--- /dev/null
+++ b/labs/lab5/semgrep/semgrep-report.txt
@@ -0,0 +1,222 @@
+
+
+┌──────────────────┐
+│ 25 Code Findings │
+└──────────────────┘
+
+ /src/data/static/codefixes/dbSchemaChallenge_1.ts
+ ❯❯❱ javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection
+ Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if
+ the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it
+ is recommended to use parameterized queries or prepared statements.
+ Details: https://sg.run/gjoe
+
+ 5┆ models.sequelize.query("SELECT * FROM Products WHERE ((name LIKE '%"+criteria+"%' OR
+ description LIKE '%"+criteria+"%') AND deletedAt IS NULL) ORDER BY name")
+
+ /src/data/static/codefixes/dbSchemaChallenge_3.ts
+ ❯❯❱ javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection
+ Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if
+ the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it
+ is recommended to use parameterized queries or prepared statements.
+ Details: https://sg.run/gjoe
+
+ 11┆ models.sequelize.query(`SELECT * FROM Products WHERE ((name LIKE '%${criteria}%' OR
+ description LIKE '%${criteria}%') AND deletedAt IS NULL) ORDER BY name`)
+
+ /src/data/static/codefixes/unionSqlInjectionChallenge_1.ts
+ ❯❯❱ javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection
+ Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if
+ the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it
+ is recommended to use parameterized queries or prepared statements.
+ Details: https://sg.run/gjoe
+
+ 6┆ models.sequelize.query(`SELECT * FROM Products WHERE ((name LIKE '%${criteria}%' OR
+ description LIKE '%${criteria}%') AND deletedAt IS NULL) ORDER BY name`)
+
+ /src/data/static/codefixes/unionSqlInjectionChallenge_3.ts
+ ❯❯❱ javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection
+ Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if
+ the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it
+ is recommended to use parameterized queries or prepared statements.
+ Details: https://sg.run/gjoe
+
+ 10┆ models.sequelize.query(`SELECT * FROM Products WHERE ((name LIKE '%${criteria}%' OR
+ description LIKE '%${criteria}%') AND deletedAt IS NULL) ORDER BY name`)
+
+ /src/frontend/src/app/navbar/navbar.component.html
+ ❯❱ generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var
+ Detected a unquoted template variable as an attribute. If unquoted, a malicious actor could inject
+ custom JavaScript handlers. To fix this, add quotes around the template expression, like this: "{{
+ expr }}".
+ Details: https://sg.run/weNX
+
+ 17┆
+
+ /src/frontend/src/app/purchase-basket/purchase-basket.component.html
+ ❯❱ generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var
+ Detected a unquoted template variable as an attribute. If unquoted, a malicious actor could inject
+ custom JavaScript handlers. To fix this, add quotes around the template expression, like this: "{{
+ expr }}".
+ Details: https://sg.run/weNX
+
+ 15┆
jwt.sign(user, privateKey, { expiresIn: '6h',
+ algorithm: 'RS256' })
+
+ /src/routes/chatbot.ts
+ ❯❱ javascript.express.security.injection.raw-html-format.raw-html-format
+ User data flows into the host portion of this manually-constructed HTML. This can introduce a Cross-
+ Site-Scripting (XSS) vulnerability if this comes from user-provided input. Consider using a
+ sanitization library such as DOMPurify to sanitize the HTML within.
+ Details: https://sg.run/5DO3
+
+ 197┆ body: bot.training.state ? bot.greet(`${user.id}`) :
+ `${config.get('application.chatBot.name')} isn't ready at the moment, please wait
+ while I set things up`
+
+ /src/routes/fileServer.ts
+ ❯❱ javascript.express.security.audit.express-res-sendfile.express-res-sendfile
+ The application processes user-input, this is passed to res.sendFile which can allow an attacker to
+ arbitrarily read files on the system through path traversal. It is recommended to perform input
+ validation in addition to canonicalizing the path. This allows you to validate the path against the
+ intended directory it should be accessing.
+ Details: https://sg.run/7DJk
+
+ 33┆ res.sendFile(path.resolve('ftp/', file))
+
+ /src/routes/keyServer.ts
+ ❯❱ javascript.express.security.audit.express-res-sendfile.express-res-sendfile
+ The application processes user-input, this is passed to res.sendFile which can allow an attacker to
+ arbitrarily read files on the system through path traversal. It is recommended to perform input
+ validation in addition to canonicalizing the path. This allows you to validate the path against the
+ intended directory it should be accessing.
+ Details: https://sg.run/7DJk
+
+ 14┆ res.sendFile(path.resolve('encryptionkeys/', file))
+
+ /src/routes/logfileServer.ts
+ ❯❱ javascript.express.security.audit.express-res-sendfile.express-res-sendfile
+ The application processes user-input, this is passed to res.sendFile which can allow an attacker to
+ arbitrarily read files on the system through path traversal. It is recommended to perform input
+ validation in addition to canonicalizing the path. This allows you to validate the path against the
+ intended directory it should be accessing.
+ Details: https://sg.run/7DJk
+
+ 14┆ res.sendFile(path.resolve('logs/', file))
+
+ /src/routes/login.ts
+ ❯❯❱ javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection
+ Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if
+ the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it
+ is recommended to use parameterized queries or prepared statements.
+ Details: https://sg.run/gjoe
+
+ 34┆ models.sequelize.query(`SELECT * FROM Users WHERE email = '${req.body.email || ''}' AND
+ password = '${security.hash(req.body.password || '')}' AND deletedAt IS NULL`, { model:
+ UserModel, plain: true }) // vuln-code-snippet vuln-line loginAdminChallenge
+ loginBenderChallenge loginJimChallenge
+
+ /src/routes/quarantineServer.ts
+ ❯❱ javascript.express.security.audit.express-res-sendfile.express-res-sendfile
+ The application processes user-input, this is passed to res.sendFile which can allow an attacker to
+ arbitrarily read files on the system through path traversal. It is recommended to perform input
+ validation in addition to canonicalizing the path. This allows you to validate the path against the
+ intended directory it should be accessing.
+ Details: https://sg.run/7DJk
+
+ 14┆ res.sendFile(path.resolve('ftp/quarantine/', file))
+
+ /src/routes/redirect.ts
+ ❯❱ javascript.express.security.audit.possible-user-input-redirect.unknown-value-in-redirect
+ It looks like 'toUrl' is read from user input and it is used to as a redirect. Ensure 'toUrl' is not
+ externally controlled, otherwise this is an open redirect.
+ Details: https://sg.run/OPv2
+
+ 19┆ res.redirect(toUrl)
+
+ ❯❱ javascript.express.security.audit.express-open-redirect.express-open-redirect
+ The application redirects to a URL specified by user-supplied input `query` that is not validated.
+ This could redirect users to malicious locations. Consider using an allow-list approach to validate
+ URLs, or warn users they are being redirected to a third-party website.
+ Details: https://sg.run/EpoP
+
+ 19┆ res.redirect(toUrl)
+
+ /src/routes/search.ts
+ ❯❯❱ javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection
+ Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if
+ the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it
+ is recommended to use parameterized queries or prepared statements.
+ Details: https://sg.run/gjoe
+
+ 23┆ models.sequelize.query(`SELECT * FROM Products WHERE ((name LIKE '%${criteria}%' OR
+ description LIKE '%${criteria}%') AND deletedAt IS NULL) ORDER BY name`) // vuln-code-
+ snippet vuln-line unionSqlInjectionChallenge dbSchemaChallenge
+
+ /src/routes/userProfile.ts
+ ❯❯❱ javascript.lang.security.audit.code-string-concat.code-string-concat
+ Found data from an Express or Next web request flowing to `eval`. If this data is user-controllable
+ this can lead to execution of arbitrary system commands in the context of your application process.
+ Avoid `eval` whenever possible.
+ Details: https://sg.run/96Yk
+
+ 62┆ username = eval(code) // eslint-disable-line no-eval
+
+ /src/routes/videoHandler.ts
+ ❯❱ javascript.lang.security.audit.unknown-value-with-script-tag.unknown-value-with-script-tag
+ Cannot determine what 'subs' is and it is used with a '') })
+ ⋮┆----------------------------------------
+ 71┆ compiledTemplate = compiledTemplate.replace('', '')
+
+ /src/server.ts
+ ❯❱ javascript.express.security.audit.express-check-directory-listing.express-check-directory-listing
+ Directory listing/indexing is enabled, which may lead to disclosure of sensitive directories and
+ files. It is recommended to disable directory listing unless it is a public resource. If you need
+ directory listing, ensure that sensitive files are inaccessible when querying the resource.
+ Details: https://sg.run/DX2G
+
+ 269┆ app.use('/ftp', serveIndexMiddleware, serveIndex('ftp', { icons: true })) // vuln-code-
+ snippet vuln-line directoryListingChallenge
+ ⋮┆----------------------------------------
+ 273┆ app.use('/.well-known', serveIndexMiddleware, serveIndex('.well-known', { icons: true,
+ view: 'details' }))
+ ⋮┆----------------------------------------
+ 277┆ app.use('/encryptionkeys', serveIndexMiddleware, serveIndex('encryptionkeys', { icons:
+ true, view: 'details' }))
+ ⋮┆----------------------------------------
+ 281┆ app.use('/support/logs', serveIndexMiddleware, serveIndex('logs', { icons: true, view:
+ 'details' })) // vuln-code-snippet vuln-line accessLogDisclosureChallenge
+
+ /src/views/dataErasureForm.hbs
+ ❯❱ generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var
+ Detected a unquoted template variable as an attribute. If unquoted, a malicious actor could inject
+ custom JavaScript handlers. To fix this, add quotes around the template expression, like this: "{{
+ expr }}".
+ Details: https://sg.run/weNX
+
+ 21┆
diff --git a/labs/lab5/semgrep/semgrep-results.json b/labs/lab5/semgrep/semgrep-results.json
new file mode 100644
index 00000000..20d35ce4
--- /dev/null
+++ b/labs/lab5/semgrep/semgrep-results.json
@@ -0,0 +1 @@
+{"version":"1.138.0","results":[{"check_id":"javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","path":"/src/data/static/codefixes/dbSchemaChallenge_1.ts","start":{"line":5,"col":28,"offset":284},"end":{"line":5,"col":162,"offset":418},"extra":{"message":"Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it is recommended to use parameterized queries or prepared statements.","metadata":{"interfile":true,"references":["https://sequelize.org/docs/v6/core-concepts/raw-queries/#replacements"],"category":"security","technology":["express"],"cwe":["CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')"],"owasp":["A01:2017 - Injection","A03:2021 - Injection"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"HIGH","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["SQL Injection"],"source":"https://semgrep.dev/r/javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","shortlink":"https://sg.run/gjoe"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","path":"/src/data/static/codefixes/dbSchemaChallenge_3.ts","start":{"line":11,"col":28,"offset":419},"end":{"line":11,"col":159,"offset":550},"extra":{"message":"Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it is recommended to use parameterized queries or prepared statements.","metadata":{"interfile":true,"references":["https://sequelize.org/docs/v6/core-concepts/raw-queries/#replacements"],"category":"security","technology":["express"],"cwe":["CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')"],"owasp":["A01:2017 - Injection","A03:2021 - Injection"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"HIGH","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["SQL Injection"],"source":"https://semgrep.dev/r/javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","shortlink":"https://sg.run/gjoe"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","path":"/src/data/static/codefixes/unionSqlInjectionChallenge_1.ts","start":{"line":6,"col":28,"offset":326},"end":{"line":6,"col":159,"offset":457},"extra":{"message":"Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it is recommended to use parameterized queries or prepared statements.","metadata":{"interfile":true,"references":["https://sequelize.org/docs/v6/core-concepts/raw-queries/#replacements"],"category":"security","technology":["express"],"cwe":["CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')"],"owasp":["A01:2017 - Injection","A03:2021 - Injection"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"HIGH","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["SQL Injection"],"source":"https://semgrep.dev/r/javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","shortlink":"https://sg.run/gjoe"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","path":"/src/data/static/codefixes/unionSqlInjectionChallenge_3.ts","start":{"line":10,"col":28,"offset":458},"end":{"line":10,"col":159,"offset":589},"extra":{"message":"Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it is recommended to use parameterized queries or prepared statements.","metadata":{"interfile":true,"references":["https://sequelize.org/docs/v6/core-concepts/raw-queries/#replacements"],"category":"security","technology":["express"],"cwe":["CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')"],"owasp":["A01:2017 - Injection","A03:2021 - Injection"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"HIGH","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["SQL Injection"],"source":"https://semgrep.dev/r/javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","shortlink":"https://sg.run/gjoe"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var","path":"/src/frontend/src/app/navbar/navbar.component.html","start":{"line":17,"col":47,"offset":665},"end":{"line":17,"col":66,"offset":684},"extra":{"message":"Detected a unquoted template variable as an attribute. If unquoted, a malicious actor could inject custom JavaScript handlers. To fix this, add quotes around the template expression, like this: \"{{ expr }}\".","metadata":{"cwe":["CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"owasp":["A07:2017 - Cross-Site Scripting (XSS)","A03:2021 - Injection"],"references":["https://flask.palletsprojects.com/en/1.1.x/security/#cross-site-scripting-xss"],"category":"security","technology":["html-templates"],"confidence":"LOW","cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["audit"],"likelihood":"LOW","impact":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Cross-Site-Scripting (XSS)"],"source":"https://semgrep.dev/r/generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var","shortlink":"https://sg.run/weNX"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var","path":"/src/frontend/src/app/purchase-basket/purchase-basket.component.html","start":{"line":15,"col":71,"offset":491},"end":{"line":15,"col":87,"offset":507},"extra":{"message":"Detected a unquoted template variable as an attribute. If unquoted, a malicious actor could inject custom JavaScript handlers. To fix this, add quotes around the template expression, like this: \"{{ expr }}\".","metadata":{"cwe":["CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"owasp":["A07:2017 - Cross-Site Scripting (XSS)","A03:2021 - Injection"],"references":["https://flask.palletsprojects.com/en/1.1.x/security/#cross-site-scripting-xss"],"category":"security","technology":["html-templates"],"confidence":"LOW","cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["audit"],"likelihood":"LOW","impact":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Cross-Site-Scripting (XSS)"],"source":"https://semgrep.dev/r/generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var","shortlink":"https://sg.run/weNX"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var","path":"/src/frontend/src/app/search-result/search-result.component.html","start":{"line":40,"col":97,"offset":1765},"end":{"line":40,"col":110,"offset":1778},"extra":{"message":"Detected a unquoted template variable as an attribute. If unquoted, a malicious actor could inject custom JavaScript handlers. To fix this, add quotes around the template expression, like this: \"{{ expr }}\".","metadata":{"cwe":["CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"owasp":["A07:2017 - Cross-Site Scripting (XSS)","A03:2021 - Injection"],"references":["https://flask.palletsprojects.com/en/1.1.x/security/#cross-site-scripting-xss"],"category":"security","technology":["html-templates"],"confidence":"LOW","cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["audit"],"likelihood":"LOW","impact":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Cross-Site-Scripting (XSS)"],"source":"https://semgrep.dev/r/generic.html-templates.security.unquoted-attribute-var.unquoted-attribute-var","shortlink":"https://sg.run/weNX"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.jsonwebtoken.security.jwt-hardcode.hardcoded-jwt-secret","path":"/src/lib/insecurity.ts","start":{"line":56,"col":56,"offset":2827},"end":{"line":56,"col":66,"offset":2837},"extra":{"message":"A hard-coded credential was detected. It is not recommended to store credentials in source-code, as this risks secrets being leaked and used by either an internal or external malicious adversary. It is recommended to use environment variables to securely provide credentials or retrieve credentials from a secure vault or HSM (Hardware Security Module).","metadata":{"cwe":["CWE-798: Use of Hard-coded Credentials"],"references":["https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html"],"owasp":["A07:2021 - Identification and Authentication Failures"],"asvs":{"control_id":"3.5.2 Static API keys or secret","control_url":"https://github.com/OWASP/ASVS/blob/master/4.0/en/0x12-V3-Session-management.md#v35-token-based-session-management","section":"V3: Session Management Verification Requirements","version":"4"},"category":"security","technology":["jwt","javascript","secrets"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"MEDIUM","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Hard-coded Secrets"],"source":"https://semgrep.dev/r/javascript.jsonwebtoken.security.jwt-hardcode.hardcoded-jwt-secret","shortlink":"https://sg.run/4xN9"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.express.security.injection.raw-html-format.raw-html-format","path":"/src/routes/chatbot.ts","start":{"line":197,"col":46,"offset":6083},"end":{"line":197,"col":56,"offset":6093},"extra":{"message":"User data flows into the host portion of this manually-constructed HTML. This can introduce a Cross-Site-Scripting (XSS) vulnerability if this comes from user-provided input. Consider using a sanitization library such as DOMPurify to sanitize the HTML within.","metadata":{"cwe":["CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"owasp":["A07:2017 - Cross-Site Scripting (XSS)","A03:2021 - Injection"],"references":["https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html"],"category":"security","technology":["express"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"MEDIUM","confidence":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Cross-Site-Scripting (XSS)"],"source":"https://semgrep.dev/r/javascript.express.security.injection.raw-html-format.raw-html-format","shortlink":"https://sg.run/5DO3"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.express.security.audit.express-res-sendfile.express-res-sendfile","path":"/src/routes/fileServer.ts","start":{"line":33,"col":20,"offset":1142},"end":{"line":33,"col":46,"offset":1168},"extra":{"message":"The application processes user-input, this is passed to res.sendFile which can allow an attacker to arbitrarily read files on the system through path traversal. It is recommended to perform input validation in addition to canonicalizing the path. This allows you to validate the path against the intended directory it should be accessing.","metadata":{"references":["https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html"],"technology":["express"],"category":"security","cwe":["CWE-73: External Control of File Name or Path"],"owasp":["A04:2021 - Insecure Design"],"subcategory":["vuln"],"likelihood":"HIGH","impact":"MEDIUM","confidence":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Path Traversal"],"source":"https://semgrep.dev/r/javascript.express.security.audit.express-res-sendfile.express-res-sendfile","shortlink":"https://sg.run/7DJk"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.express.security.audit.express-res-sendfile.express-res-sendfile","path":"/src/routes/keyServer.ts","start":{"line":14,"col":20,"offset":410},"end":{"line":14,"col":57,"offset":447},"extra":{"message":"The application processes user-input, this is passed to res.sendFile which can allow an attacker to arbitrarily read files on the system through path traversal. It is recommended to perform input validation in addition to canonicalizing the path. This allows you to validate the path against the intended directory it should be accessing.","metadata":{"references":["https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html"],"technology":["express"],"category":"security","cwe":["CWE-73: External Control of File Name or Path"],"owasp":["A04:2021 - Insecure Design"],"subcategory":["vuln"],"likelihood":"HIGH","impact":"MEDIUM","confidence":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Path Traversal"],"source":"https://semgrep.dev/r/javascript.express.security.audit.express-res-sendfile.express-res-sendfile","shortlink":"https://sg.run/7DJk"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.express.security.audit.express-res-sendfile.express-res-sendfile","path":"/src/routes/logfileServer.ts","start":{"line":14,"col":20,"offset":410},"end":{"line":14,"col":47,"offset":437},"extra":{"message":"The application processes user-input, this is passed to res.sendFile which can allow an attacker to arbitrarily read files on the system through path traversal. It is recommended to perform input validation in addition to canonicalizing the path. This allows you to validate the path against the intended directory it should be accessing.","metadata":{"references":["https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html"],"technology":["express"],"category":"security","cwe":["CWE-73: External Control of File Name or Path"],"owasp":["A04:2021 - Insecure Design"],"subcategory":["vuln"],"likelihood":"HIGH","impact":"MEDIUM","confidence":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Path Traversal"],"source":"https://semgrep.dev/r/javascript.express.security.audit.express-res-sendfile.express-res-sendfile","shortlink":"https://sg.run/7DJk"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","path":"/src/routes/login.ts","start":{"line":34,"col":28,"offset":1459},"end":{"line":34,"col":169,"offset":1600},"extra":{"message":"Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it is recommended to use parameterized queries or prepared statements.","metadata":{"interfile":true,"references":["https://sequelize.org/docs/v6/core-concepts/raw-queries/#replacements"],"category":"security","technology":["express"],"cwe":["CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')"],"owasp":["A01:2017 - Injection","A03:2021 - Injection"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"HIGH","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["SQL Injection"],"source":"https://semgrep.dev/r/javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","shortlink":"https://sg.run/gjoe"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.express.security.audit.express-res-sendfile.express-res-sendfile","path":"/src/routes/quarantineServer.ts","start":{"line":14,"col":20,"offset":424},"end":{"line":14,"col":57,"offset":461},"extra":{"message":"The application processes user-input, this is passed to res.sendFile which can allow an attacker to arbitrarily read files on the system through path traversal. It is recommended to perform input validation in addition to canonicalizing the path. This allows you to validate the path against the intended directory it should be accessing.","metadata":{"references":["https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html"],"technology":["express"],"category":"security","cwe":["CWE-73: External Control of File Name or Path"],"owasp":["A04:2021 - Insecure Design"],"subcategory":["vuln"],"likelihood":"HIGH","impact":"MEDIUM","confidence":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Path Traversal"],"source":"https://semgrep.dev/r/javascript.express.security.audit.express-res-sendfile.express-res-sendfile","shortlink":"https://sg.run/7DJk"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.express.security.audit.possible-user-input-redirect.unknown-value-in-redirect","path":"/src/routes/redirect.ts","start":{"line":19,"col":7,"offset":1032},"end":{"line":19,"col":26,"offset":1051},"extra":{"message":"It looks like 'toUrl' is read from user input and it is used to as a redirect. Ensure 'toUrl' is not externally controlled, otherwise this is an open redirect.","metadata":{"owasp":["A01:2021 - Broken Access Control"],"cwe":["CWE-601: URL Redirection to Untrusted Site ('Open Redirect')"],"asvs":{"control_id":"5.5.1 Insecue Redirect","control_url":"https://github.com/OWASP/ASVS/blob/master/4.0/en/0x13-V5-Validation-Sanitization-Encoding.md#v51-input-validation","section":"V5 Validation, Sanitization and Encoding","version":"4"},"category":"security","technology":["express"],"subcategory":["audit"],"likelihood":"LOW","impact":"LOW","confidence":"LOW","references":["https://owasp.org/Top10/A01_2021-Broken_Access_Control"],"license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Open Redirect"],"source":"https://semgrep.dev/r/javascript.express.security.audit.possible-user-input-redirect.unknown-value-in-redirect","shortlink":"https://sg.run/OPv2"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.express.security.audit.express-open-redirect.express-open-redirect","path":"/src/routes/redirect.ts","start":{"line":19,"col":20,"offset":1045},"end":{"line":19,"col":25,"offset":1050},"extra":{"message":"The application redirects to a URL specified by user-supplied input `query` that is not validated. This could redirect users to malicious locations. Consider using an allow-list approach to validate URLs, or warn users they are being redirected to a third-party website.","metadata":{"technology":["express"],"references":["https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html"],"cwe":["CWE-601: URL Redirection to Untrusted Site ('Open Redirect')"],"category":"security","owasp":["A01:2021 - Broken Access Control"],"subcategory":["vuln"],"likelihood":"HIGH","impact":"MEDIUM","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Open Redirect"],"source":"https://semgrep.dev/r/javascript.express.security.audit.express-open-redirect.express-open-redirect","shortlink":"https://sg.run/EpoP"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","path":"/src/routes/search.ts","start":{"line":23,"col":28,"offset":847},"end":{"line":23,"col":159,"offset":978},"extra":{"message":"Detected a sequelize statement that is tainted by user-input. This could lead to SQL injection if the variable is user-controlled and is not properly sanitized. In order to prevent SQL injection, it is recommended to use parameterized queries or prepared statements.","metadata":{"interfile":true,"references":["https://sequelize.org/docs/v6/core-concepts/raw-queries/#replacements"],"category":"security","technology":["express"],"cwe":["CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')"],"owasp":["A01:2017 - Injection","A03:2021 - Injection"],"cwe2022-top25":true,"cwe2021-top25":true,"subcategory":["vuln"],"likelihood":"HIGH","impact":"HIGH","confidence":"HIGH","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["SQL Injection"],"source":"https://semgrep.dev/r/javascript.sequelize.security.audit.sequelize-injection-express.express-sequelize-injection","shortlink":"https://sg.run/gjoe"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.lang.security.audit.code-string-concat.code-string-concat","path":"/src/routes/userProfile.ts","start":{"line":62,"col":20,"offset":1855},"end":{"line":62,"col":30,"offset":1865},"extra":{"message":"Found data from an Express or Next web request flowing to `eval`. If this data is user-controllable this can lead to execution of arbitrary system commands in the context of your application process. Avoid `eval` whenever possible.","metadata":{"interfile":true,"confidence":"HIGH","owasp":["A03:2021 - Injection"],"cwe":["CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')"],"references":["https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval","https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback","https://www.stackhawk.com/blog/nodejs-command-injection-examples-and-prevention/","https://ckarande.gitbooks.io/owasp-nodegoat-tutorial/content/tutorial/a1_-_server_side_js_injection.html"],"category":"security","technology":["node.js","Express","Next.js"],"subcategory":["vuln"],"likelihood":"MEDIUM","impact":"MEDIUM","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Code Injection"],"source":"https://semgrep.dev/r/javascript.lang.security.audit.code-string-concat.code-string-concat","shortlink":"https://sg.run/96Yk"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.lang.security.audit.unknown-value-with-script-tag.unknown-value-with-script-tag","path":"/src/routes/videoHandler.ts","start":{"line":58,"col":90,"offset":1893},"end":{"line":58,"col":94,"offset":1897},"extra":{"message":"Cannot determine what 'subs' is and it is used with a '