@bridge_gpt/mcp-server 0.2.19 → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +6 -3
  2. package/build/agents.generated.js +1 -1
  3. package/build/commands.generated.js +4 -3
  4. package/build/conductor/local-merge.js +458 -95
  5. package/build/estimate-epic.js +84 -0
  6. package/build/executor/job-runner.js +151 -17
  7. package/build/executor/merge-job.js +84 -10
  8. package/build/executor/worker-finalization.js +98 -18
  9. package/build/index.js +1843 -401
  10. package/build/pipelines.generated.js +16 -20
  11. package/build/readme.generated.js +1 -1
  12. package/build/review-tickets.js +15 -5
  13. package/build/sfcc/client.js +192 -50
  14. package/build/sfcc/ocapi-write-faults.js +94 -0
  15. package/build/sfcc/permissions.js +7 -22
  16. package/build/sfcc/register.js +9 -0
  17. package/build/sfcc/write-grants.js +80 -0
  18. package/build/sfcc/write-guard.js +39 -0
  19. package/build/sfcc/write-result.js +47 -0
  20. package/build/sfcc/write-tool-common.js +85 -0
  21. package/build/sfcc/writes-custom-object-def.js +141 -0
  22. package/build/sfcc/writes-object-attribute-payloads.js +97 -0
  23. package/build/sfcc/writes-site-preference-payloads.js +59 -0
  24. package/build/sfcc/writes-site-preference.js +96 -0
  25. package/build/sfcc/writes-system-object-payloads.js +213 -0
  26. package/build/sfcc/writes-system-object.js +348 -0
  27. package/build/sfcc/writes.js +66 -0
  28. package/build/version.generated.js +1 -1
  29. package/package.json +3 -3
  30. package/pipelines/idea-to-ticket.json +7 -0
  31. package/pipelines/review-ticket.json +5 -18
  32. package/public/css/main.min.css +1583 -117
  33. package/public/css/main.min.css.map +1 -1
  34. package/public/js/main.min.js +2792 -449
  35. package/public/js/main.min.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"css/main.min.css","mappings":";;;AAAA,mBAAmB;;AAEnB,0BAA0B;AAC1B;IACI,SAAS;IACT,UAAU;IACV,sBAAsB;AAC1B;;AAEA;IACI,wIAAwI;IACxI,yCAAyC;IACzC,wBAAwB;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,iCAAiC;AACrC;;AAEA,kBAAkB;AAClB;IACI,eAAe;IACf,MAAM;IACN,OAAO;IACP,WAAW;IACX,4BAA4B;IAC5B,sCAAsC;IACtC,6BAA6B;IAC7B,YAAY;AAChB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,eAAe;AACnB;;AAEA;IACI,YAAY;IACZ,WAAW;AACf;;AAEA;IACI,aAAa;IACb,qBAAqB;AACzB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,wBAAwB;IACxB,qBAAqB;IACrB,gBAAgB;AACpB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA,sBAAsB;AACtB;IACI,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;AACnB;;AAEA,qBAAqB;AACrB;IACI,sCAAsC;IACtC,qBAAqB;IACrB,aAAa;IACb,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,wBAAwB;AAC5B;;AAEA,mBAAmB;AACnB;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,gBAAgB;AAChB;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,qBAAqB;AACzB;;AAEA;IACI,oBAAoB;IACpB,wBAAwB;AAC5B;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,qBAAqB;IACrB,mBAAmB;AACvB;;AAEA;IACI,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,qBAAqB;AACzB;;AAEA;;;;;;;IAOI,WAAW;IACX,eAAe;IACf,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB;AAC1B;;AAEA;IACI,WAAW;AACf;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,oBAAoB;AACxB;;AAEA;IACI,gBAAgB;AACpB;;AAEA,kBAAkB;AAClB;IACI,aAAa;IACb,0BAA0B;IAC1B,SAAS;AACb;;AAEA;IACI,sCAAsC;IACtC,qCAAqC;IACrC,qBAAqB;IACrB,eAAe;IACf,uGAAuG;AAC3G;;AAEA;IACI,2BAA2B;IAC3B,mFAAmF;AACvF;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;AAC5B;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,4BAA4B;IAC5B,aAAa;AACjB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,kBAAkB;IAClB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA,gCAAgC;AAChC;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,aAAa;IACb,WAAW;IACX,8BAA8B;IAC9B,mBAAmB;IACnB,WAAW;AACf;;AAEA;IACI,OAAO;IACP,kBAAkB;IAClB,cAAc;AAClB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,wBAAwB;AACxB;IACI,yBAAyB;IACzB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,eAAe;IACf,4BAA4B;AAChC;;AAEA;IACI,cAAc;IACd,0BAA0B;AAC9B;;AAEA,iBAAiB;AACjB;IACI,aAAa;IACb,eAAe;IACf,aAAa;IACb,OAAO;IACP,MAAM;IACN,WAAW;IACX,YAAY;IACZ,cAAc;IACd,oCAAoC;AACxC;;AAEA;IACI,sCAAsC;IACtC,gBAAgB;IAChB,aAAa;IACb,qBAAqB;IACrB,UAAU;IACV,gBAAgB;IAChB,6BAA6B;AACjC;;AAEA;IACI,6BAA6B;IAC7B,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;AACnB;;AAEA;IACI,wBAAwB;AAC5B;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,oBAAoB;AACxB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,yBAAyB;IACzB,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,yCAAyC;AAC7C;;AAEA;IACI,aAAa;AACjB;;AAEA,oBAAoB;AACpB;IACI,eAAe;IACf,MAAM;IACN,OAAO;IACP,WAAW;IACX,YAAY;IACZ,0CAA0C;IAC1C,aAAa;IACb,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,oCAAoC;IACpC,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,sCAAsC;IACtC,kCAAkC;IAClC,mBAAmB;AACvB;;AAEA;IACI,KAAK,uBAAuB,EAAE;IAC9B,OAAO,yBAAyB,EAAE;AACtC;;AAEA,2BAA2B;AAC3B;IACI;QACI,0BAA0B;IAC9B;;IAEA;QACI,eAAe;IACnB;;IAEA;QACI,iBAAiB;IACrB;;IAEA;QACI,eAAe;IACnB;;IAEA;QACI,UAAU;QACV,gBAAgB;IACpB;AACJ,C;;;;AC5XA,6BAA6B;;AAE7B,sDAAsD;AACtD;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA,wDAAwD;AACxD;IACI,aAAa;IACb,uBAAuB;IACvB,gBAAgB;AACpB;;AAEA;IACI,uBAAuB;IACvB,eAAe;AACnB;;AAEA,yCAAyC;AACzC;IACI,yCAAyC;IACzC,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB;IACtB,6BAA6B;IAC7B,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA,uCAAuC;AACvC;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,yBAAyB;AACzB;IACI,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,WAAW;IACX,yBAAyB;IACzB,kBAAkB;IAClB,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI;4EACwE;IACxE,eAAe;IACf,aAAa;IACb,yBAAyB;IACzB,kBAAkB;IAClB,yBAAyB;IACzB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;AACpB;;AAEA;;kDAEkD;AAClD;IACI,aAAa;IACb,sBAAsB;IACtB,QAAQ;AACZ;;AAEA;IACI,2BAA2B;IAC3B,gBAAgB;IAChB,0BAA0B;IAC1B,uBAAuB;AAC3B;;AAEA;IACI,0BAA0B;AAC9B;;AAEA;IACI,uCAAuC;IACvC,mBAAmB;AACvB;;AAEA;IACI,SAAS;IACT,kBAAkB;AACtB;;AAEA;IACI,eAAe;AACnB;;AAEA;IACI,SAAS;IACT,6BAA6B;AACjC;;AAEA,uBAAuB;AACvB;IACI,yBAAyB;IACzB,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;AACjB;;AAEA;IACI,cAAc;AAClB;;AAEA;;;IAGI,gCAAgC;IAChC,gDAAgD;AACpD;;AAEA,6BAA6B;AAC7B;IACI,yBAAyB;AAC7B;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA,gBAAgB;AAChB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,iBAAiB;AACjB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,sBAAsB;AACtB;IACI,sBAAsB;IACtB,iBAAiB;IACjB,yBAAyB;IACzB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,gBAAgB;AACpB;;AAEA;IACI,mBAAmB;IACnB,qBAAqB;AACzB;;AAEA;IACI,gCAAgC;AACpC;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;IAC7B,iBAAiB;IACjB,mBAAmB;AACvB;;AAEA,4BAA4B;AAC5B;IACI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,wBAAwB;AACxB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,yBAAyB;AACzB;IACI,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,2BAA2B;AAC3B;IACI,6BAA6B;IAC7B,qCAAqC;IACrC,sBAAsB;IACtB,yBAAyB;IACzB,mBAAmB;IACnB,6BAA6B;IAC7B,eAAe;IACf,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,oCAAoC;IACpC,wBAAwB;AAC5B;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA,6CAA6C;AAC7C;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA;;6CAE6C;;AAE7C,oDAAoD;AACpD;IACI,aAAa;IACb,mBAAmB;IACnB,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;IAC7B,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA;IACI,SAAS;AACb;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;IACtB,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,4EAA4E;AAC5E;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,0CAA0C;AAC1C;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;;;;;IAMI,UAAU;IACV,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;IACV,kBAAkB;AACtB;;AAEA,wCAAwC;AACxC;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;IACV,sBAAsB;IACtB,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;AACd;;AAEA,oBAAoB;AACpB;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;AACpB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,sBAAsB;AACtB;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;;6CAE6C;;AAE7C,yCAAyC;AACzC;IACI,uBAAuB;IACvB,iBAAiB;IACjB,6BAA6B;IAC7B,gBAAgB;AACpB;;AAEA,+EAA+E;AAC/E;IACI,qCAAqC;IACrC,sBAAsB;IACtB,aAAa;IACb,mBAAmB;IACnB,yBAAyB;AAC7B;;AAEA;IACI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;AAC1B;;AAEA,6BAA6B;AAC7B;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,SAAS;IACT,mBAAmB;IACnB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;AACb;;AAEA;IACI,yCAAyC;IACzC,oBAAoB;AACxB;;AAEA;IACI,mBAAmB;IACnB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;AAClB;;AAEA,6BAA6B;AAC7B;IACI,qBAAqB;IACrB,mBAAmB;IACnB,6BAA6B;IAC7B,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA,wEAAwE;AACxE;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,6BAA6B;AACjC;;AAEA,4CAA4C;AAC5C;IACI,oBAAoB;IACpB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;AAC1B;;AAEA,kFAAkF;AAClF;IACI,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,gBAAgB;IAChB,oCAAoC;IACpC,0BAA0B;IAC1B,eAAe;AACnB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,gDAAgD;IAChD,mBAAmB;IACnB,sBAAsB;AAC1B;;AAEA,wEAAwE;AACxE;IACI;QACI,WAAW;IACf;;IAEA;QACI,sBAAsB;QACtB,uBAAuB;IAC3B;;IAEA;QACI,cAAc;QACd,mBAAmB;IACvB;AACJ;;;;;;ACn4BA;gFACgF;;AAEhF;IACI,aAAa;IACb,mBAAmB;IACnB,2BAA2B;IAC3B,eAAe;IACf,qBAAqB;IACrB,4CAA4C;AAChD;;AAEA;IACI,oBAAoB;IACpB,mBAAmB;IACnB,qBAAqB;IACrB,cAAc;AAClB;;AAEA;IACI,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,cAAc;AAClB;;AAEA;IACI;QACI,gBAAgB;IACpB;AACJ;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,wBAAwB;IACxB,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,eAAe;AACnB;;AAEA;IACI,qBAAqB;IACrB,qBAAqB;AACzB;;AAEA;IACI,gBAAgB;IAChB,mBAAmB;IACnB,yCAAyC;IACzC,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,WAAW;IACX,eAAe;AACnB;;AAEA;IACI,6BAA6B;IAC7B,qBAAqB;AACzB;;AAEA;IACI,2BAA2B;IAC3B,0BAA0B;AAC9B;;AAEA;IACI,gBAAgB;IAChB,sCAAsC;IACtC,qBAAqB;IACrB,aAAa;IACb,6BAA6B;AACjC;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;IACI,6BAA6B;IAC7B,mBAAmB;IACnB,qBAAqB;AACzB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;IACI,wBAAwB;IACxB,gBAAgB;IAChB,sBAAsB;AAC1B;;;;;AC7HA,+BAA+B;;AAE/B,wDAAwD;AACxD;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA,0DAA0D;AAC1D;IACI,aAAa;IACb,uBAAuB;IACvB,gBAAgB;AACpB;;AAEA;IACI,uBAAuB;IACvB,eAAe;AACnB;;AAEA,4CAA4C;AAC5C;IACI,yCAAyC;IACzC,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB,EAAE,+BAA+B;IACvD,6BAA6B;IAC7B,kBAAkB,EAAE,sBAAsB;IAC1C,qBAAqB,EAAE,4CAA4C;AACvE;;AAEA,uCAAuC;AACvC;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,yBAAyB;AACzB;IACI,mBAAmB;IACnB,2BAA2B;IAC3B,qBAAqB;IACrB,iBAAiB;AACrB;;AAEA;IACI,0BAA0B;AAC9B;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB,EAAE,4BAA4B;IACvD,2CAA2C;IAC3C,mBAAmB;IACnB,cAAc,EAAE,aAAa;IAC7B,kCAAkC,EAAE,oBAAoB;IACxD,gBAAgB;IAChB,WAAW;AACf;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;AACvB;;AAEA,wCAAwC;AACxC;IACI,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,WAAW;IACX,yBAAyB,EAAE,8BAA8B;IACzD,kBAAkB;IAClB,qBAAqB;IACrB,eAAe;IACf,sBAAsB,EAAE,8BAA8B;IACtD,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI;6DACyD;IACzD,eAAe;IACf,aAAa;IACb,yBAAyB,EAAE,sBAAsB;IACjD,kBAAkB;IAClB,yBAAyB,EAAE,qBAAqB;IAChD,gBAAgB;IAChB,cAAc;IACd,gBAAgB;AACpB;;AAEA;;;;gFAIgF;AAChF;IACI,cAAc;AAClB;;AAEA;IACI,aAAa;AACjB;;AAEA,yCAAyC;AACzC;IACI,8CAA8C;IAC9C,qCAAqC;IACrC,sBAAsB;IACtB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW,EAAE,+BAA+B;AAChD;;AAEA,6CAA6C;AAC7C;IACI,cAAc,EAAE,2BAA2B;IAC3C,kBAAkB;IAClB,mBAAmB;IACnB,aAAa,EAAE,oBAAoB;AACvC;;AAEA;;;IAGI,qBAAqB;IACrB,gDAAgD,EAAE,yBAAyB;AAC/E;;AAEA,2DAA2D;AAC3D;IACI,cAAc;AAClB;;AAEA,+CAA+C;AAC/C;IACI,yBAAyB;IACzB,mBAAmB;IACnB,kBAAkB;IAClB,aAAa,EAAE,sBAAsB;AACzC;;AAEA;IACI,cAAc,EAAE,wBAAwB;AAC5C;;AAEA;;;0CAG0C;AAC1C;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,gBAAgB;IAChB,eAAe;AACnB;;AAEA;IACI,SAAS,EAAE,+CAA+C;IAC1D,cAAc,EAAE,yDAAyD;AAC7E;;AAEA;IACI,6EAA6E;IAC7E,eAAe;AACnB;;AAEA;IACI,kBAAkB;IAClB,uBAAuB;IACvB,qCAAqC;IACrC,sBAAsB;IACtB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA,gDAAgD;AAChD;uEACuE;AACvE;IACI,qCAAqC;IACrC,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,cAAc;IACd,qBAAqB;AACzB;;AAEA;;2BAE2B;AAC3B;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,oBAAoB;AACxB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;;;sEAGsE;AACtE;IACI,0CAA0C;IAC1C,qBAAqB;AACzB;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;IAC7B,mBAAmB;IACnB,gBAAgB;AACpB,C;;;;AChSA,0BAA0B;;AAE1B;IACI,wBAAwB;AAC5B;;AAEA;IACI,mBAAmB;IACnB,sBAAsB;IACtB,4CAA4C;AAChD;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,mBAAmB;IACnB,kBAAkB;IAClB,WAAW;IACX,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;AACpB;;AAEA;IACI,SAAS;AACb;;AAEA;IACI,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;AACpB;;AAEA;IACI,0BAA0B;AAC9B;;AAEA;IACI,gBAAgB;IAChB,eAAe;IACf,yCAAyC;AAC7C;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;;IAEI,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,oBAAoB;AACxB;;AAEA;;IAEI,aAAa;IACb,kCAAkC;IAClC,4CAA4C;AAChD;;AAEA;IACI,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;IACf,sBAAsB;AAC1B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,WAAW;IACX,wDAAwD;IACxD,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;IACtB,kBAAkB;AACtB;;;;;ACrIA,yBAAyB;;AAEzB,kDAAkD;AAClD;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA,wBAAwB;AACxB;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,gBAAgB;AACpB;;AAEA;IACI,iBAAiB;IACjB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA,kBAAkB;AAClB;IACI,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,cAAc;AAClB;;AAEA;;yEAEyE;AACzE;IACI;QACI,gBAAgB;IACpB;;IAEA,oBAAoB;IACpB,4CAA4C;AAChD;;AAEA;IACI,sBAAsB;IACtB,qBAAqB;IACrB,gCAAgC;AACpC;;AAEA;IACI,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;;;;;;;;yEAQyE;AACzE;IACI,0CAA0C;IAC1C,kBAAkB;AACtB;;AAEA;IACI,2CAA2C;IAC3C,kBAAkB;AACtB;;AAEA;IACI,2CAA2C;IAC3C,kBAAkB;AACtB;;AAEA;IACI,2CAA2C;IAC3C,kBAAkB;AACtB;;AAEA;IACI,wCAAwC;IACxC,kBAAkB;AACtB;;AAEA;6EAC6E;AAC7E;IACI,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,qBAAqB;IACrB,qCAAqC;IACrC,uBAAuB;AAC3B;;AAEA;;yDAEyD;AACzD;IACI,mBAAmB;AACvB;;AAEA;;yEAEyE;;AAEzE;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;AACb;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,qCAAqC;AACzC;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;IACzB,iCAAiC;IACjC,kBAAkB;AACtB;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,WAAW;IACX,iBAAiB;IACjB,gBAAgB;IAChB,qCAAqC;IACrC,uBAAuB;IACvB,wDAAwD;IACxD,mBAAmB;IACnB,gBAAgB;IAChB,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,kCAAkC;IAClC,4CAA4C;AAChD;;AAEA;IACI,aAAa;IACb,WAAW;IACX,gBAAgB;AACpB;;AAEA;IACI,cAAc;AAClB;;AAEA,oCAAoC;AACpC;IACI;QACI,iBAAiB;QACjB,kBAAkB;IACtB;;IAEA;QACI,sBAAsB;IAC1B;;IAEA;QACI,WAAW;IACf;AACJ;;AAEA,gDAAgD;AAChD;IACI,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,mBAAmB;AACvB;;;;;AC5QA,eAAe;AACf;IACI,8BAA8B;IAC9B,sEAAsE;IACtE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,qEAAqE;IACrE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,yEAAyE;IACzE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,+EAA+E;IAC/E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,oEAAoE;IACpE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,0EAA0E;IAC1E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,uEAAuE;IACvE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,6EAA6E;IAC7E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,mEAAmE;IACnE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,yEAAyE;IACzE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,oEAAoE;IACpE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,0EAA0E;IAC1E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA,qBAAqB;AACrB;IACI,wBAAwB;IACxB,uBAAuB;IACvB,0BAA0B;IAC1B,kBAAkB;IAClB,sCAAsC;IACtC,uBAAuB;IACvB,sBAAsB;IACtB,2BAA2B;IAC3B,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,wBAAwB;IACxB,qBAAqB;IACrB,mFAAmF;AACvF;;AAEA,0BAA0B;AAC1B;IACI,SAAS;IACT,UAAU;IACV,sBAAsB;AAC1B;;AAEA;IACI,2JAA2J;IAC3J,yCAAyC;IACzC,wBAAwB;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,iCAAiC;AACrC;;AAEA;IACI,wBAAwB;AAC5B;;AAEA,kBAAkB;AAClB;IACI,eAAe;IACf,qBAAqB;IACrB,kBAAkB;IAClB,6BAA6B;IAC7B,eAAe;IACf,oBAAoB;IACpB,sCAAsC;AAC1C;;AAEA;IACI,sCAAsC;IACtC,YAAY;AAChB;;AAEA;IACI,qCAAqC;AACzC;;AAEA;IACI,oDAAoD;IACpD,qCAAqC;IACrC,WAAW;AACf;;AAEA;IACI,2CAA2C;IAC3C,oCAAoC;IACpC,YAAY;AAChB;;AAEA;IACI,sBAAsB;IACtB,kBAAkB;AACtB;;AAEA;IACI,oCAAoC;IACpC,YAAY;AAChB;;AAEA;IACI,yBAAyB,EAAE,yBAAyB;AACxD;;AAEA;IACI,yBAAyB;IACzB,mBAAmB;IACnB,YAAY;AAChB;;AAEA,6BAA6B;AAC7B;IACI,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,qBAAqB;AACzB;;AAEA;;;;;;IAMI,WAAW;IACX,eAAe;IACf,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB;AAC1B;;AAEA;IACI,WAAW;AACf;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,oBAAoB;AACxB;;AAEA;IACI,gBAAgB;AACpB;;AAEA,yCAAyC;AACzC;IACI,aAAa;IACb,eAAe;IACf,aAAa;IACb,OAAO;IACP,MAAM;IACN,YAAY;IACZ,aAAa;IACb,2BAA2B;IAC3B,mBAAmB;IACnB,uBAAuB;AAC3B;;;;;AC9OA,4BAA4B;;AAE5B,6CAA6C;AAC7C;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA;;6CAE6C;;AAE7C;;IAEI,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;;AAEA;oDACoD;AACpD;IACI,kBAAkB;IAClB,mBAAmB;AACvB;;AAEA;+EAC+E;AAC/E;IACI,mBAAmB;IACnB,gBAAgB;IAChB,qCAAqC;IACrC,kBAAkB;IAClB,mBAAmB;AACvB;;AAEA;IACI,2BAA2B;IAC3B,kCAAkC;AACtC;;AAEA;;IAEI,yBAAyB;IACzB,gCAAgC;AACpC;;AAEA;IACI,cAAc;IACd,mBAAmB;IACnB,wBAAwB;AAC5B;;AAEA;IACI,kBAAkB;IAClB,aAAa;IACb,WAAW;AACf;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,oBAAoB;IACpB,4CAA4C;AAChD;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;AACrB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,SAAS;IACT,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;;IAEI,WAAW;IACX,gBAAgB;IAChB,wBAAwB;IACxB,mBAAmB;AACvB;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA,gBAAgB;AAChB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,iBAAiB;AACjB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,sBAAsB;AACtB;IACI,sBAAsB;IACtB,iBAAiB;IACjB,yBAAyB;IACzB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,gBAAgB;AACpB;;AAEA;IACI,mBAAmB;IACnB,qBAAqB;AACzB;;AAEA;IACI,gCAAgC;AACpC;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;IAC7B,iBAAiB;IACjB,mBAAmB;AACvB;;AAEA,4BAA4B;AAC5B;IACI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,wBAAwB;AACxB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,yBAAyB;AACzB;IACI,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,yCAAyC;AACzC;IACI,6BAA6B;IAC7B,qCAAqC;IACrC,sBAAsB;IACtB,yBAAyB;IACzB,mBAAmB;IACnB,6BAA6B;IAC7B,eAAe;IACf,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,oCAAoC;IACpC,wBAAwB;AAC5B;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA,6CAA6C;AAC7C;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA;;6CAE6C;;AAE7C,oDAAoD;AACpD;IACI,aAAa;IACb,mBAAmB;IACnB,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;IAC7B,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA;IACI,SAAS;AACb;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;IACtB,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,4EAA4E;AAC5E;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,0CAA0C;AAC1C;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;;;;;IAMI,UAAU;IACV,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;IACV,kBAAkB;AACtB;;AAEA,wCAAwC;AACxC;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;IACV,sBAAsB;IACtB,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;AACd;;AAEA,sBAAsB;AACtB;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;;6CAE6C;;AAE7C;IACI,kBAAkB;IAClB,mBAAmB;IACnB,yCAAyC;AAC7C;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,oBAAoB;AACxB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,eAAe;IACf,kCAAkC;AACtC;;AAEA;IACI,wBAAwB;AAC5B;;AAEA;IACI,sBAAsB;IACtB,iBAAiB;IACjB,yBAAyB;IACzB,0BAA0B;IAC1B,sBAAsB;IACtB,6BAA6B;AACjC;;AAEA;IACI,kBAAkB;IAClB,cAAc;IACd,oBAAoB;AACxB;;AAEA,wBAAwB;AACxB;IACI,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,YAAY;IACZ,qBAAqB;IACrB,UAAU;IACV,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,sBAAsB;IACtB,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;AAC/B;;AAEA,yBAAyB;AACzB;IACI,iCAAiC;IACjC,yBAAyB;IACzB,iBAAiB;IACjB,cAAc;IACd,yBAAyB;IACzB,2CAA2C;IAC3C,kCAAkC;IAClC,gBAAgB;AACpB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,wBAAwB;AAC5B;;AAEA,uCAAuC;AACvC;IACI,aAAa;IACb,uBAAuB;IACvB,WAAW;IACX,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;AAClB;;AAEA;IACI,iBAAiB;IACjB,cAAc;IACd,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,WAAW;IACX,gBAAgB;IAChB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,cAAc;AAClB;;AAEA;IACI,iBAAiB;IACjB,cAAc;IACd,gBAAgB;AACpB;;AAEA,yBAAyB;AACzB;IACI,yBAAyB;IACzB,WAAW;IACX,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;IACrB,mBAAmB;AACvB;;AAEA;iCACiC;;AAEjC,oDAAoD;AACpD;IACI,kBAAkB;IAClB,aAAa;IACb,mBAAmB;AACvB;AACA;IACI,qBAAqB;AACzB;AACA;IACI,kBAAkB;IAClB,cAAc;IACd,sBAAsB;AAC1B;AACA;IACI,YAAY;IACZ,UAAU;IACV,qBAAqB;IACrB,aAAa;IACb,2DAA2D;IAC3D,iBAAiB;AACrB;AACA;IACI,gBAAgB;IAChB,sBAAsB;AAC1B;AACA;IACI,kBAAkB;AACtB;AACA;IACI,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;AAClB;AACA;IACI,mBAAmB;IACnB,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;AACA;IACI,yBAAyB;IACzB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;AACA;IACI,kBAAkB;IAClB,cAAc;IACd,iBAAiB;AACrB;AACA;IACI,kBAAkB;IAClB,aAAa;IACb,WAAW;AACf;AACA;IACI,cAAc;AAClB;AACA;IACI,cAAc;AAClB;AACA;IACI,cAAc;AAClB;AACA;IACI,cAAc;AAClB;AACA;IACI,kBAAkB;IAClB,kBAAkB;AACtB;AACA;IACI,qBAAqB;IACrB,yBAAyB;IACzB,yBAAyB;IACzB,kBAAkB;IAClB,eAAe;IACf,qBAAqB;AACzB;AACA;IACI,cAAc;IACd,kBAAkB;IAClB,mBAAmB;AACvB","sources":["webpack:///./src/css/setup.css","webpack:///./src/css/setup-detail.css","webpack:///./src/css/public-pages.css","webpack:///./src/css/project-detail.css","webpack:///./src/css/optimize_analysis.css","webpack:///./src/css/optimize.css","webpack:///./src/css/globals.css","webpack:///./src/css/data_health.css"],"sourcesContent":["/* Setup page CSS */\n\n/* Reset and base styles */\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n background-color: var(--background-color);\n color: var(--text-color);\n line-height: 1.5;\n min-height: 100vh;\n padding-top: var(--header-height);\n}\n\n/* Header styles */\n.header {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--header-height);\n background-color: var(--surface-color);\n box-shadow: var(--box-shadow);\n z-index: 100;\n}\n\n.header-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-width: 1200px;\n height: 100%;\n margin: 0 auto;\n padding: 0 1rem;\n}\n\n.logo-container img {\n height: 32px;\n width: auto;\n}\n\n.nav-menu ul {\n display: flex;\n list-style-type: none;\n}\n\n.nav-menu li {\n margin-left: 2rem;\n}\n\n.nav-menu a {\n color: var(--text-color);\n text-decoration: none;\n font-weight: 500;\n}\n\n.nav-menu a:hover {\n color: var(--primary-color);\n}\n\n/* Main content area */\n.main-content {\n max-width: 1200px;\n margin: 2rem auto;\n padding: 0 1rem;\n}\n\n/* Container styles */\n.container {\n background-color: var(--surface-color);\n border-radius: 0.5rem;\n padding: 2rem;\n box-shadow: var(--box-shadow);\n margin-bottom: 2rem;\n}\n\n.hidden {\n display: none !important;\n}\n\n/* Section header */\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 2rem;\n}\n\n.section-header h1 {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Form styles */\n.form-intro {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 1.5rem;\n}\n\n.form-intro code {\n font-size: 0.8125rem;\n color: var(--text-color);\n}\n\n.form-group {\n margin-bottom: 1.5rem;\n}\n\n.form-group-block {\n display: flex;\n justify-content: left;\n align-items: center;\n}\n\nlabel {\n display: block;\n font-size: 0.875rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n}\n\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"number\"],\nselect,\ntextarea {\n width: 100%;\n padding: 0.5rem;\n font-size: 1rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n background-color: #fff;\n}\n\ninput[type=\"number\"] {\n width: auto;\n}\n\ntextarea {\n min-height: 100px;\n resize: vertical;\n}\n\n.required {\n color: var(--error-color);\n}\n\n/* Checkbox styling */\n.form-group.checkbox {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.form-group.checkbox input {\n margin-right: 0.5rem;\n}\n\n.form-group.checkbox label {\n margin-bottom: 0;\n}\n\n/* Projects grid */\n.projects-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 1rem;\n}\n\n.project-card {\n background-color: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 0.5rem;\n padding: 1.5rem;\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.project-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n}\n\n.project-card h2 {\n font-size: 1.125rem;\n margin-bottom: 1rem;\n color: var(--text-color);\n}\n\n.project-card p {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 1.5rem;\n height: 4.5rem;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n line-clamp: 3;\n}\n\n.project-card .project-meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 0.75rem;\n color: var(--secondary-color);\n margin-bottom: 1rem;\n}\n\n/* Project card actions layout */\n.project-card-actions {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.project-card-actions-row {\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n}\n\n.project-card-actions-row .btn {\n flex: 1;\n text-align: center;\n margin: 0.5rem;\n}\n\n.project-card-actions-secondary {\n justify-content: flex-end;\n}\n\n/* Delete link styling */\n.delete-link {\n color: var(--error-color);\n text-decoration: none;\n font-size: 0.875rem;\n font-weight: 500;\n cursor: pointer;\n transition: color 150ms ease;\n}\n\n.delete-link:hover {\n color: #dc2626;\n text-decoration: underline;\n}\n\n/* Modal styles */\n.modal {\n display: none;\n position: fixed;\n z-index: 1000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: rgba(0, 0, 0, 0.4);\n}\n\n.modal-content {\n background-color: var(--surface-color);\n margin: 15% auto;\n padding: 2rem;\n border-radius: 0.5rem;\n width: 80%;\n max-width: 500px;\n box-shadow: var(--box-shadow);\n}\n\n.close-modal {\n color: var(--secondary-color);\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n}\n\n.close-modal:hover {\n color: var(--text-color);\n}\n\n#modal-title {\n margin-bottom: 1rem;\n}\n\n#modal-body {\n margin-bottom: 1rem;\n line-height: 1.5;\n}\n\n#modal-body ul {\n margin: 0.5rem 0;\n padding-left: 1.5rem;\n}\n\n#modal-body li {\n margin: 0.25rem 0;\n}\n\n#modal-body p {\n margin: 0.5rem 0;\n}\n\n.modal-actions {\n display: flex;\n justify-content: flex-end;\n gap: 0.75rem;\n margin-top: 1.5rem;\n padding-top: 1rem;\n border-top: 1px solid var(--border-color);\n}\n\n.modal-actions.hidden {\n display: none;\n}\n\n/* Loading overlay */\n.loading-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0.8);\n z-index: 2000;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.spinner {\n border: 4px solid rgba(0, 0, 0, 0.1);\n width: 40px;\n height: 40px;\n border-radius: 50%;\n border-top-color: var(--primary-color);\n animation: spin 1s linear infinite;\n margin-bottom: 1rem;\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .projects-grid {\n grid-template-columns: 1fr;\n }\n\n .header-container {\n padding: 0 1rem;\n }\n\n .nav-menu li {\n margin-left: 1rem;\n }\n\n .container {\n padding: 1.5rem;\n }\n\n .modal-content {\n width: 90%;\n margin: 10% auto;\n }\n}","/* src/css/setup-detail.css */\n\n/* Collapsible drawers specific to Setup Detail View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* Save button container specific to Setup Detail View */\n.save-container {\n display: flex;\n justify-content: center;\n margin-top: 2rem;\n}\n\n.save-container .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1rem;\n}\n\n/* Static text display (like repo name) */\n.form-static-text {\n background-color: var(--background-color);\n padding: 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n font-family: monospace;\n color: var(--secondary-color);\n margin-top: 0.5rem;\n word-break: break-all;\n}\n\n/* Header title specific to this page */\n.header-title {\n font-size: 1.2rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Explain Link Styling */\n.explain-link {\n display: inline-block;\n margin-left: 6px;\n padding: 1px 6px;\n font-size: 0.8em;\n font-weight: bold;\n color: #fff;\n background-color: #6c757d;\n border-radius: 50%;\n text-decoration: none;\n cursor: pointer;\n vertical-align: middle;\n line-height: 1.2;\n}\n\n.explain-link:hover {\n background-color: #444;\n text-decoration: none;\n}\n\n.explanation-content {\n /* Hidden by default via the global `.hidden` class in the markup; the JS\n toggles only `.hidden` (BAPI-301), so no base `display: none` here. */\n margin-top: 8px;\n padding: 10px;\n border: 1px solid #ced4da;\n border-radius: 4px;\n background-color: #f8f9fa;\n font-size: 0.9em;\n color: #495057;\n line-height: 1.4;\n}\n\n/* Structured server-sourced setup instructions (BAPI-515), rendered inside\n .explanation-content by renderExplanationContent(). Scoped to this wrapper\n only — the container above is left untouched. */\n.explanation-content .setup-instructions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.explanation-content .setup-instructions-link {\n color: var(--primary-color);\n font-weight: 500;\n text-decoration: underline;\n overflow-wrap: anywhere;\n}\n\n.explanation-content .setup-instructions-link:hover {\n color: var(--primary-dark);\n}\n\n.explanation-content .setup-instructions-link:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n}\n\n.explanation-content .setup-instructions-steps {\n margin: 0;\n padding-left: 20px;\n}\n\n.explanation-content .setup-instructions-steps li + li {\n margin-top: 4px;\n}\n\n.explanation-content .setup-instructions-note {\n margin: 0;\n color: var(--secondary-color);\n}\n\n/* Form error styling */\n.form-error {\n color: var(--error-color);\n font-size: 0.875rem;\n margin-top: 0.5rem;\n display: none;\n}\n\n.form-error.visible {\n display: block;\n}\n\ninput.input-error,\ntextarea.input-error,\nselect.input-error {\n border-color: var(--error-color);\n box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.25);\n}\n\n/* Required field indicator */\n.required {\n color: var(--error-color);\n}\n\n/* ========================================\n Data Integrity Section Styles\n ======================================== */\n\n/* Loading and error states */\n.integrity-loading,\n.integrity-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.integrity-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.integrity-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.integrity-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.integrity-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.integrity-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.integrity-stat-value.integrity-healthy {\n color: #16a34a;\n}\n\n/* Empty state */\n.integrity-empty-state {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.integrity-empty-state p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Issues table */\n.integrity-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.integrity-table th,\n.integrity-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.integrity-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.integrity-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.integrity-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* File list styling */\n.integrity-file-list {\n font-family: monospace;\n font-size: 0.8rem;\n background-color: #f1f5f9;\n padding: 0.5rem;\n border-radius: 4px;\n max-height: 150px;\n overflow-y: auto;\n margin: 0;\n list-style: none;\n}\n\n.integrity-file-list li {\n padding: 0.125rem 0;\n word-break: break-all;\n}\n\n.integrity-file-list li:not(:last-child) {\n border-bottom: 1px solid #e2e8f0;\n}\n\n.integrity-more-files {\n font-style: italic;\n color: var(--secondary-color);\n font-size: 0.8rem;\n margin-top: 0.25rem;\n}\n\n/* Issues container header */\n#integrity-issues-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n/* ========================================\n Configuration Health Section Styles\n ======================================== */\n\n/* Loading and error states */\n.config-health-loading,\n.config-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.config-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.health-stats {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.health-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.health-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.health-stat-value.config-healthy {\n color: #16a34a;\n}\n\n.health-stat-value.config-errors {\n color: var(--error-color);\n}\n\n.health-stat-value.config-warnings {\n color: #f59e0b;\n}\n\n/* All good state */\n.config-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.config-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Config health table */\n.config-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.config-health-table th,\n.config-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.config-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.config-health-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.config-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Status badge styling */\n.config-status-badge {\n display: inline-block;\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: uppercase;\n}\n\n.config-status-badge.status-missing {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.config-status-badge.status-invalid {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n/* Dismiss button styling */\n.dismiss-warning-btn {\n background-color: transparent;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.dismiss-warning-btn:hover {\n background-color: #f9fafb;\n border-color: var(--secondary-color);\n color: var(--text-color);\n}\n\n.dismiss-warning-btn:active {\n background-color: #f3f4f6;\n}\n\n.dismiss-warning-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Config errors/warnings container headers */\n#config-errors-container h3,\n#config-warnings-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#config-errors-container h3 {\n color: var(--error-color);\n}\n\n#config-warnings-container h3 {\n color: #f59e0b;\n}\n\n/* ========================================\n Pinecone Data Integrity Section Styles\n ======================================== */\n\n/* Actions container with button and last run text */\n.pinecone-health-actions {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.last-run-text {\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n/* Loading and error states */\n.pinecone-health-loading,\n.pinecone-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.pinecone-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* No results state */\n.pinecone-health-no-results {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n background-color: #f9fafb;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n.pinecone-health-no-results p {\n margin: 0;\n}\n\n/* Status container and badge */\n.pinecone-health-status-container {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.pinecone-health-status {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.pinecone-health-status.status-healthy {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.pinecone-health-status.status-error {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.pinecone-health-status.status-warning {\n background-color: #fef3c7;\n color: #92400e;\n}\n\n.pinecone-health-status.status-running {\n background-color: #dbeafe;\n color: #1e40af;\n}\n\n/* Summary statistics */\n.pinecone-health-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n flex-wrap: wrap;\n}\n\n.pinecone-health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 80px;\n}\n\n.pinecone-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.pinecone-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.pinecone-stat-value.stat-healthy {\n color: #16a34a;\n}\n\n.pinecone-stat-value.stat-error {\n color: var(--error-color);\n}\n\n/* All good state */\n.pinecone-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.pinecone-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Pinecone health table (shared styles for namespace and failures tables) */\n.pinecone-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n table-layout: fixed;\n}\n\n.pinecone-health-table th,\n.pinecone-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.pinecone-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.pinecone-health-table td {\n font-size: 0.875rem;\n vertical-align: middle;\n word-wrap: break-word;\n}\n\n.pinecone-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Namespace results table column widths */\n#pinecone-namespace-container .pinecone-health-table th:nth-child(1),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(1) {\n width: 25%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(2),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(5),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(5) {\n width: 12%;\n text-align: right;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(6),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(6) {\n width: 12%;\n text-align: center;\n}\n\n/* Sample failures table column widths */\n#pinecone-failures-container .pinecone-health-table th:nth-child(1),\n#pinecone-failures-container .pinecone-health-table td:nth-child(1) {\n width: 20%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(2),\n#pinecone-failures-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(3),\n#pinecone-failures-container .pinecone-health-table td:nth-child(3) {\n width: 30%;\n font-family: monospace;\n font-size: 0.8rem;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(4),\n#pinecone-failures-container .pinecone-health-table td:nth-child(4) {\n width: 35%;\n}\n\n/* Match indicator */\n.pinecone-match-badge {\n display: inline-block;\n padding: 0.125rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n}\n\n.pinecone-match-badge.match-yes {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.pinecone-match-badge.match-no {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n/* Container headers */\n#pinecone-namespace-container h3,\n#pinecone-failures-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#pinecone-failures-container h3 {\n color: var(--error-color);\n}\n\n/* ========================================\n Install Status Review Panel (BAPI-384)\n ======================================== */\n\n/* Intro paragraph below the page title */\n.setup-detail-intro {\n margin: 0.5rem 0 1.5rem;\n font-size: 0.9rem;\n color: var(--secondary-color);\n line-height: 1.5;\n}\n\n/* Top-level review panel; matches the drawer/panel border + radius + spacing */\n.install-status-panel {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 1rem;\n margin-bottom: 2rem;\n background-color: #f9fafb;\n}\n\n.install-status-panel-title {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.75rem;\n}\n\n/* Compact set/unset counts */\n.install-status-summary {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 1rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 1rem;\n}\n\n.install-status-summary-count {\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Manifest-driven group list */\n.install-status-groups {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.install-status-group {\n border-top: 1px solid var(--border-color);\n padding-top: 0.75rem;\n}\n\n.install-status-group-title {\n font-size: 0.875rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n.install-status-field-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.5rem;\n padding: 0.375rem 0;\n font-size: 0.875rem;\n}\n\n.install-status-field-name {\n font-weight: 500;\n color: var(--text-color);\n}\n\n.install-status-field-value {\n color: var(--secondary-color);\n word-break: break-word;\n}\n\n.install-status-field-confirm {\n font-size: 0.75rem;\n font-style: italic;\n color: #92400e;\n}\n\n/* Unavailable / error area */\n.install-status-error {\n padding: 0.75rem 1rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n background-color: #f9fafb;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n/* Base status badge — always pairs color with text, never color alone */\n.install-status-badge {\n display: inline-block;\n padding: 0.125rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1.4;\n white-space: nowrap;\n}\n\n.install-status-badge.status-set {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.install-status-badge.status-unset {\n background-color: #fef3c7;\n color: #92400e;\n}\n\n.install-status-badge.status-loading {\n background-color: #f1f5f9;\n color: var(--secondary-color);\n}\n\n.install-status-badge.status-unavailable {\n background-color: #f1f5f9;\n color: var(--secondary-color);\n}\n\n/* Inline badge slot next to a field label */\n.install-status-badge-slot {\n display: inline-flex;\n align-items: center;\n margin-left: 6px;\n vertical-align: middle;\n}\n\n/* Keyboard-focusable edit affordance — matches existing link/button affordances */\n.install-status-edit {\n background: none;\n border: none;\n padding: 0;\n font-size: 0.8rem;\n font-weight: 500;\n color: var(--primary-color, #2563eb);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.install-status-edit:hover {\n text-decoration: none;\n}\n\n.install-status-edit:focus-visible {\n outline: 2px solid var(--primary-color, #2563eb);\n outline-offset: 2px;\n border-radius: 0.25rem;\n}\n\n/* Mobile: keep labels/badges/edit controls from crowding the controls */\n@media (max-width: 600px) {\n .install-status-summary {\n gap: 0.5rem;\n }\n\n .install-status-field-row {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .install-status-badge-slot {\n margin-left: 0;\n margin-top: 0.25rem;\n }\n}\n\n","/* Public-page styling for the homepage and the legal placeholder pages.\n Class-scoped only — no overrides of body, :root, .hidden, or form elements. */\n\n.public-page-header {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 1rem 0;\n margin-bottom: 1.5rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n.public-page-header a {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n color: inherit;\n}\n\n.public-page-logo {\n height: auto;\n max-width: 240px;\n width: 100%;\n display: block;\n}\n\n@media (max-width: 480px) {\n .public-page-logo {\n max-width: 180px;\n }\n}\n\n.public-page-hero {\n padding: 2rem 0 1.5rem;\n}\n\n.public-page-hero h1 {\n font-size: 1.75rem;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 1rem;\n}\n\n.public-page-copy {\n font-size: 1rem;\n color: var(--text-color);\n line-height: 1.6;\n}\n\n.public-page-copy p {\n margin-bottom: 0.75rem;\n}\n\n.public-page-actions {\n margin-top: 1.5rem;\n display: flex;\n gap: 0.75rem;\n flex-wrap: wrap;\n}\n\n.public-page-actions a {\n text-decoration: none;\n display: inline-block;\n}\n\n.public-page-footer {\n margin-top: 3rem;\n padding-top: 1.5rem;\n border-top: 1px solid var(--border-color);\n color: var(--secondary-color);\n font-size: 0.875rem;\n}\n\n.public-page-footer-nav {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n}\n\n.public-page-footer-nav a {\n color: var(--secondary-color);\n text-decoration: none;\n}\n\n.public-page-footer-nav a:hover {\n color: var(--primary-color);\n text-decoration: underline;\n}\n\n.legal-page-content {\n max-width: 800px;\n background-color: var(--surface-color);\n border-radius: 0.5rem;\n padding: 2rem;\n box-shadow: var(--box-shadow);\n}\n\n.legal-page-content h1 {\n font-size: 1.75rem;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n.legal-page-content .last-updated {\n color: var(--secondary-color);\n font-size: 0.875rem;\n margin-bottom: 1.5rem;\n}\n\n.legal-section {\n margin-bottom: 1.5rem;\n}\n\n.legal-section h2 {\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n.legal-section p {\n color: var(--text-color);\n line-height: 1.6;\n margin-bottom: 0.75rem;\n}\n","/* src/css/project-detail.css */\n\n/* Collapsible drawers specific to Project Detail View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* Save button container specific to Project Detail View */\n.save-container {\n display: flex;\n justify-content: center;\n margin-top: 2rem;\n}\n\n.save-container .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1rem;\n}\n\n/* Static text display (like project path) */\n.form-static-text {\n background-color: var(--background-color);\n padding: 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n font-family: monospace; /* Or choose appropriate font */\n color: var(--secondary-color);\n margin-top: 0.5rem; /* Align with inputs */\n word-break: break-all; /* Prevent long paths from breaking layout */\n}\n\n/* Header title specific to this page */\n.header-title {\n font-size: 1.2rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Explain Link Styling */\n.explain-link {\n margin-left: 0.5rem;\n color: var(--primary-color);\n text-decoration: none;\n font-weight: bold;\n}\n\n.explain-link:hover {\n text-decoration: underline;\n}\n\n.explanation-content {\n margin-top: 0.5rem;\n padding: 0.75rem;\n background-color: #eef2ff; /* Light indigo background */\n border-left: 4px solid var(--primary-color);\n font-size: 0.875rem;\n color: #374151; /* Gray-700 */\n border-radius: 0 0.25rem 0.25rem 0; /* Slight rounding */\n flex-basis: 100%;\n width: 100%;\n}\n\n.project-card-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n/* Explanation link and content styles */\n.explain-link {\n display: inline-block;\n margin-left: 6px;\n padding: 1px 6px;\n font-size: 0.8em;\n font-weight: bold;\n color: #fff;\n background-color: #6c757d; /* Bootstrap secondary color */\n border-radius: 50%;\n text-decoration: none;\n cursor: pointer;\n vertical-align: middle; /* Align with the label text */\n line-height: 1.2;\n}\n\n.explain-link:hover {\n background-color: #444;\n text-decoration: none;\n}\n\n.explanation-content {\n /* Base styling only; visibility is toggled via the .hidden class so the JS\n can show/hide help without inline display mutations. */\n margin-top: 8px;\n padding: 10px;\n border: 1px solid #ced4da; /* Light grey border */\n border-radius: 4px;\n background-color: #f8f9fa; /* Light background */\n font-size: 0.9em;\n color: #495057;\n line-height: 1.4;\n}\n\n/* The shared setup-detail.css defines a global `.explanation-content { display:\n none }` that also lands in the bundled stylesheet. Scope the visible/hidden\n states to this page's container so they win deterministically regardless of\n bundle order, while leaving the setup-detail page's own behavior untouched.\n The .hidden variant has higher specificity so it always hides when present. */\n#project-detail-container .explanation-content {\n display: block;\n}\n\n#project-detail-container .explanation-content.hidden {\n display: none;\n}\n\n/* Added styles for JSON input textarea */\n.code-input {\n font-family: 'Courier New', Courier, monospace;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.75rem;\n font-size: 0.9rem;\n line-height: 1.4;\n width: 100%; /* Ensure it takes full width */\n}\n\n/* Add styles for input validation feedback */\n.form-error {\n color: #dc3545; /* Bootstrap danger color */\n font-size: 0.875em;\n margin-top: 0.25rem;\n display: none; /* Hide by default */\n}\n\ninput.input-error,\ntextarea.input-error,\nselect.input-error {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); /* Optional: Add a glow */\n}\n\n/* Ensure error messages are shown when they have content */\n.form-error:not(:empty) {\n display: block;\n}\n\n/* Added styles for validation error messages */\n.form-error {\n color: var(--error-color);\n font-size: 0.875rem;\n margin-top: 0.5rem;\n display: none; /* Hidden by default */\n}\n\n.form-error.visible {\n display: block; /* Visible when needed */\n}\n\n/* MCP Validation Manuals selector\n Lay each manual out on its own row with clear spacing between the checkbox and\n its label. JS-emitted classes (.mcp-doc-option/.mcp-doc-checkbox/.mcp-doc-label)\n are only styled here — never renamed. */\n.mcp-docs-checkbox-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-top: 0.5rem;\n}\n\n.mcp-doc-option {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n line-height: 1.4;\n cursor: pointer;\n}\n\n.mcp-doc-checkbox {\n margin: 0; /* drop inconsistent default checkbox margins */\n flex-shrink: 0; /* keep the checkbox from shrinking next to long labels */\n}\n\n.mcp-doc-label {\n /* Spacing comes from the parent's gap; keep the label inline and readable. */\n display: inline;\n}\n\n.mcp-docs-empty-state {\n margin-top: 0.5rem;\n padding: 0.5rem 0.75rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n color: var(--secondary-color);\n font-size: 0.875rem;\n}\n\n/* --- CI Follow-up sub-section (BAPI-308) --- */\n/* Page-scoped under #project-detail-container so these styles never leak to other\n Configure-page-like layouts. Uses existing semantic CSS variables. */\n#project-detail-container .ci-followup-section {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.75rem;\n margin-top: 0.5rem;\n}\n\n#project-detail-container .ci-followup-controls {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n margin-top: 0.75rem;\n}\n\n#project-detail-container .ci-followup-strategy-option {\n display: block;\n margin-bottom: 0.5rem;\n}\n\n/* .form-help styles all page-scoped help paragraphs (the deep-research stall\n timeout helper and the CI Follow-up strategy descriptions), not only the CI\n Follow-up sub-section. */\n#project-detail-container .form-help {\n margin: 0.25rem 0 0;\n color: var(--secondary-color);\n font-size: 0.875rem;\n}\n\n#project-detail-container .ci-followup-byte-counter {\n margin-top: 0.25rem;\n color: var(--secondary-color);\n font-size: 0.8125rem;\n}\n\n#project-detail-container .ci-followup-byte-counter.over-limit {\n color: var(--error-color);\n}\n\n/* BAPI-355: low-emphasis grouping for the TDD/FSD document-format controls.\n Keeps the existing drawer rhythm (form-group spacing, textarea readability,\n focus states inherited from the base textarea rules) while visually grouping\n the two document-format textareas under a shared intro paragraph. */\n#project-detail-container .form-group-document-format {\n border-left: 3px solid var(--border-color);\n padding-left: 0.75rem;\n}\n\n#project-detail-container .document-format-help {\n margin: 0 0 0.5rem;\n color: var(--secondary-color);\n font-size: 0.875rem;\n line-height: 1.4;\n}","/* Code Analysis Styling */\n\n.hidden {\n display: none !important;\n}\n\n.analysis-section {\n margin-bottom: 2rem;\n padding-bottom: 1.5rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n#build-section {\n padding-top: 2rem;\n}\n\n.analysis-section:last-child {\n border-bottom: none;\n}\n\n.analysis-section h4 {\n margin-bottom: 1rem;\n font-size: 1.1rem;\n font-weight: 600;\n}\n\n.analysis-info-label {\n margin-bottom: 10px;\n font-style: italic;\n color: #555;\n line-height: 1.5;\n}\n\n.reanalyze-container {\n margin-top: 10px;\n font-size: 0.9em;\n}\n\n.reanalyze-container p {\n margin: 0;\n}\n\n.reanalyze-container a {\n color: var(--primary-color);\n text-decoration: none;\n font-weight: 500;\n}\n\n.reanalyze-container a:hover {\n text-decoration: underline;\n}\n\n.code-analysis {\n margin-top: 2rem;\n padding: 1rem 0;\n border-top: 1px solid var(--border-color);\n}\n\n.code-analysis h3 {\n margin-bottom: 1rem;\n font-size: 1.1rem;\n font-weight: 600;\n}\n\n.code-analysis form {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.code-analysis form > div {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.code-analysis label {\n font-weight: 500;\n color: var(--text-color);\n}\n\n.code-analysis select,\n.code-analysis textarea {\n padding: 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n font-family: inherit;\n}\n\n.code-analysis select:focus,\n.code-analysis textarea:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);\n}\n\n.status-message {\n margin-top: 0.5rem;\n font-size: 0.875rem;\n padding: 0.5rem;\n border-radius: 0.25rem;\n}\n\n.status-message.processing {\n background-color: #e0f2fe;\n color: #0277bd;\n border: 1px solid #81d4fa;\n}\n\n.status-message.success {\n background-color: #e8f5e8;\n color: #2e7d32;\n border: 1px solid #a5d6a7;\n}\n\n.status-message.error {\n background-color: #ffebee;\n color: #c62828;\n border: 1px solid #ef9a9a;\n}\n\n.textarea-wide {\n width: 100%;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.875rem;\n line-height: 1.4;\n resize: vertical;\n}\n\n.code-analysis button {\n align-self: flex-start;\n margin-top: 0.5rem;\n}\n","/* src/css/optimize.css */\n\n/* Collapsible drawers specific to Optimize View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* Planner sub-section */\n.planner-section {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin-top: 1rem;\n}\n\nselect[multiple] {\n min-height: 180px;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n/* Label styling */\nlabel {\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n display: block;\n}\n\n/* ====================================================================\n * LEARN REPOSITORY STYLES\n * ==================================================================== */\n#learn-repository-section {\n * {\n margin-top: 1rem;\n }\n\n padding-bottom: 2rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n.learn-section {\n padding-bottom: 1.5rem;\n margin-bottom: 1.5rem;\n border-bottom: 1px solid #e5e7eb;\n}\n\n.learn-section:last-of-type {\n border-bottom: none;\n margin-bottom: 0;\n}\n\n/* ====================================================================\n * LEARN REPOSITORY PER-SECTION STATE CLASSES (BAPI-307)\n *\n * Declarative per-section state cues. Visibility is driven ONLY by the global\n * `.hidden` class (toggled in JS by the renderer); these classes add a small\n * left-border status accent and never set display/visibility. `data-state` is\n * intentionally NOT used as a visibility mechanism, and `.hidden` is never\n * redefined here.\n * ==================================================================== */\n.learn-section.lr-state-idle {\n border-left: 3px solid var(--border-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-running {\n border-left: 3px solid var(--primary-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-review {\n border-left: 3px solid var(--primary-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-draft {\n border-left: 3px solid var(--primary-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-complete {\n border-left: 3px solid var(--text-color);\n padding-left: 1rem;\n}\n\n/* The Reanalyze control is now a <button> (BAPI-307) rather than an inline\n * link; keep it left-aligned as a block action within the section actions. */\n.lr-reanalyze-link {\n display: inline-block;\n}\n\n.lr-initial-mode-options {\n display: flex;\n flex-direction: row;\n gap: 1.25rem;\n align-items: center;\n}\n\n.lr-initial-mode-options label {\n display: inline;\n font-weight: normal;\n}\n\n.lr-in-progress-container {\n margin: 0.5rem 0 1rem;\n padding: 0.75rem 1rem;\n border: 1px solid var(--border-color);\n border-radius: 0.375rem;\n}\n\n/* Horizontal separation between the reanalyze Confirm and Cancel buttons.\n * Adjacent-sibling margin keeps the existing block-level radio labels from\n * being reflowed, which a flex/gap container would do. */\n.lr-reanalyze-confirm-btn + .lr-reanalyze-cancel-btn {\n margin-left: 0.5rem;\n}\n\n/* ====================================================================\n * ESTIMATOR SECTION STYLES\n * ==================================================================== */\n\n#estimator-section {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n#estimator-section > div {\n padding: 1rem;\n border-radius: 0.375rem;\n border: 1px solid var(--border-color);\n}\n\n#estimator-optimize {\n background-color: #f0f9ff;\n border-color: #0ea5e9;\n}\n\n#estimator-running {\n background-color: #fef3c7;\n border-color: #f59e0b;\n}\n\n#estimator-review {\n background-color: #f0fdf4;\n border-color: #22c55e;\n}\n\n#estimator-loading {\n background-color: #f3f4f6;\n border-color: var(--border-color);\n text-align: center;\n}\n\n#range-editor {\n margin: 1rem 0;\n}\n\n#range-json {\n width: 100%;\n min-height: 300px;\n padding: 0.75rem;\n border: 1px solid var(--border-color);\n border-radius: 0.375rem;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.875rem;\n line-height: 1.5;\n background-color: #f8fafc;\n resize: vertical;\n}\n\n#range-json:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);\n}\n\n.estimator-actions {\n display: flex;\n gap: 0.5rem;\n margin-top: 1rem;\n}\n\n.estimator-actions .btn {\n flex: 0 0 auto;\n}\n\n/* Responsive design for estimator */\n@media (max-width: 768px) {\n #range-json {\n min-height: 200px;\n font-size: 0.75rem;\n }\n \n .estimator-actions {\n flex-direction: column;\n }\n \n .estimator-actions .btn {\n width: 100%;\n }\n}\n\n/* Success/Error states for estimator messages */\n.estimator-message {\n padding: 0.75rem;\n border-radius: 0.375rem;\n margin-bottom: 1rem;\n}\n\n.estimator-message.success {\n background-color: #dcfce7;\n color: #166534;\n border: 1px solid #22c55e;\n}\n\n.estimator-message.error {\n background-color: #fef2f2;\n color: #991b1b;\n border: 1px solid #ef4444;\n}\n\n.estimator-message.info {\n background-color: #eff6ff;\n color: #1e40af;\n border: 1px solid #3b82f6;\n}\n\n.draft-review-container .btn + .btn {\n margin-left: 1.5rem;\n}\n","/* Font faces */\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Regular.ttf') format('truetype');\n font-weight: 400;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Italic.ttf') format('truetype');\n font-weight: 400;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-ExtraLight.ttf') format('truetype');\n font-weight: 200;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-ExtraLightItalic.ttf') format('truetype');\n font-weight: 200;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Light.ttf') format('truetype');\n font-weight: 300;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-LightItalic.ttf') format('truetype');\n font-weight: 300;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-SemiBold.ttf') format('truetype');\n font-weight: 600;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-SemiBoldItalic.ttf') format('truetype');\n font-weight: 600;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Bold.ttf') format('truetype');\n font-weight: 700;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-BoldItalic.ttf') format('truetype');\n font-weight: 700;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Black.ttf') format('truetype');\n font-weight: 900;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-BlackItalic.ttf') format('truetype');\n font-weight: 900;\n font-style: italic;\n}\n\n/* Global variables */\n:root {\n --primary-color: #E2624B;\n --primary-dark: #C51616;\n --secondary-color: #6b7280;\n --light-grey: #eee;\n --secondary-button-background: #fdf4ec;\n --light-orange: #F2B27A;\n --dark-orange: #e17055;\n --background-color: #fffdf0;\n --surface-color: #ffffff;\n --text-color: #393D4E;\n --border-color: #e6e4d5;\n --error-color: #ef4444;\n --success-color: #10b981;\n --header-height: 60px;\n --box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n}\n\n/* Reset and base styles */\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n background-color: var(--background-color);\n color: var(--text-color);\n line-height: 1.5;\n min-height: 100vh;\n padding-top: var(--header-height);\n}\n\n.hidden {\n display: none !important;\n}\n\n/* Button styles */\n.btn {\n cursor: pointer;\n padding: 0.75rem 2rem;\n border-radius: 4px;\n border: 1px solid transparent;\n font-size: 1rem;\n line-height: 1.25rem;\n transition: background-color 0.3s ease;\n}\n\n.btn-primary {\n background-color: var(--primary-color);\n color: white;\n}\n\n.btn-primary:hover {\n background-color: var(--primary-dark);\n}\n\n.btn-secondary {\n background-color: var(--secondary-button-background);\n border: 1px solid var(--light-orange);\n color: #333;\n}\n\n.btn-secondary:hover {\n text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);\n background-color: var(--dark-orange);\n color: white;\n} \n\n.btn-sm {\n padding: 0.2rem 0.5rem;\n font-size: 0.75rem;\n}\n\n.btn-danger {\n background-color: var(--error-color);\n color: white;\n}\n\n.btn-danger:hover {\n background-color: #b91c1c; /* darker red for hover */\n}\n\n.btn:disabled {\n background-color: #d1d5db;\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Form element base styles */\nlabel {\n display: block;\n font-size: 0.875rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n}\n\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"number\"],\ntextarea {\n width: 100%;\n padding: 0.5rem;\n font-size: 1rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n background-color: #fff;\n}\n\ninput[type=\"number\"] {\n width: auto;\n}\n\ntextarea {\n min-height: 100px;\n resize: vertical;\n}\n\n.required {\n color: var(--error-color);\n}\n\n/* Checkbox styling */\n.form-group.checkbox {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.form-group.checkbox input {\n margin-right: 0.5rem;\n}\n\n.form-group.checkbox label {\n margin-bottom: 0;\n}\n\n/* Modal base styles (if used globally) */\n.modal {\n display: none;\n position: fixed;\n z-index: 1000;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0,0,0,0.4);\n align-items: center;\n justify-content: center;\n}\n","/* src/css/data_health.css */\n\n/* Collapsible drawers for Data Health View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* ========================================\n Parse / Learn Repository Jobs Section Styles\n ======================================== */\n\n.parse-repository-jobs-section,\n.learn-repository-jobs-section {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n\n/* Last-ran timestamp shown under the Update Repository action.\n Replaces a former inline style on the template. */\n.operation-last-ran {\n margin-top: 0.5rem;\n font-size: 0.875rem;\n}\n\n/* Parse schedule status panel. Replaces the former inline-styled status\n blocks; state colors come from global design tokens (no hardcoded colors). */\n.parse-schedule-status {\n margin-top: 0.75rem;\n padding: 0.75rem;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n font-size: 0.875rem;\n}\n\n.parse-schedule-status--active {\n color: var(--success-color);\n border-color: var(--success-color);\n}\n\n.parse-schedule-status--paused,\n.parse-schedule-status--empty {\n color: var(--dark-orange);\n border-color: var(--dark-orange);\n}\n\n.parse-schedule-next-run {\n display: block;\n margin-top: 0.25rem;\n color: var(--text-color);\n}\n\n.parse-schedule-actions {\n margin-top: 0.5rem;\n display: flex;\n gap: 0.5rem;\n}\n\n.operation-row {\n display: flex;\n flex-direction: column;\n padding-bottom: 1rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n.operation-row:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.operation-item {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.operation-item .btn {\n align-self: flex-start;\n}\n\n.operation-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n line-height: 1.4;\n}\n\n.schedule-controls {\n display: flex;\n gap: 1rem;\n margin-top: 0.5rem;\n align-items: flex-end;\n}\n\n.schedule-controls .form-group {\n margin-bottom: 0;\n}\n\n.schedule-controls .form-group.inline {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.schedule-controls .form-group.inline label {\n font-size: 0.75rem;\n color: var(--secondary-color);\n}\n\n.schedule-controls .form-group.inline input,\n.schedule-controls .form-group.inline select {\n width: auto;\n min-width: 120px;\n padding: 0.375rem 0.5rem;\n font-size: 0.875rem;\n}\n\n/* ========================================\n Data Integrity Section Styles\n ======================================== */\n\n/* Loading and error states */\n.integrity-loading,\n.integrity-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.integrity-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.integrity-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.integrity-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.integrity-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.integrity-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.integrity-stat-value.integrity-healthy {\n color: #16a34a;\n}\n\n/* Empty state */\n.integrity-empty-state {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.integrity-empty-state p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Issues table */\n.integrity-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.integrity-table th,\n.integrity-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.integrity-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.integrity-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.integrity-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* File list styling */\n.integrity-file-list {\n font-family: monospace;\n font-size: 0.8rem;\n background-color: #f1f5f9;\n padding: 0.5rem;\n border-radius: 4px;\n max-height: 150px;\n overflow-y: auto;\n margin: 0;\n list-style: none;\n}\n\n.integrity-file-list li {\n padding: 0.125rem 0;\n word-break: break-all;\n}\n\n.integrity-file-list li:not(:last-child) {\n border-bottom: 1px solid #e2e8f0;\n}\n\n.integrity-more-files {\n font-style: italic;\n color: var(--secondary-color);\n font-size: 0.8rem;\n margin-top: 0.25rem;\n}\n\n/* Issues container header */\n#integrity-issues-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n/* ========================================\n Configuration Health Section Styles\n ======================================== */\n\n/* Loading and error states */\n.config-health-loading,\n.config-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.config-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.health-stats {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.health-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.health-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.health-stat-value.health-configured {\n color: #16a34a;\n}\n\n.health-stat-value.health-errors {\n color: var(--error-color);\n}\n\n.health-stat-value.health-warnings {\n color: #f59e0b;\n}\n\n/* All good state */\n.config-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.config-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Config health table */\n.config-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.config-health-table th,\n.config-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.config-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.config-health-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.config-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Status badge styling */\n.config-status-badge {\n display: inline-block;\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: uppercase;\n}\n\n.config-status-badge.status-missing {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.config-status-badge.status-invalid {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n/* Dismiss button / text button styling */\n.btn-text {\n background-color: transparent;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-text:hover {\n background-color: #f9fafb;\n border-color: var(--secondary-color);\n color: var(--text-color);\n}\n\n.btn-text:active {\n background-color: #f3f4f6;\n}\n\n.btn-text:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Config errors/warnings container headers */\n#config-errors-container h3,\n#config-warnings-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#config-errors-container h3 {\n color: var(--error-color);\n}\n\n#config-warnings-container h3 {\n color: #f59e0b;\n}\n\n/* ========================================\n Pinecone Data Integrity Section Styles\n ======================================== */\n\n/* Actions container with button and last run text */\n.pinecone-health-actions {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.last-run-text {\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n/* Loading and error states */\n.pinecone-health-loading,\n.pinecone-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.pinecone-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* No results state */\n.pinecone-health-no-results {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n background-color: #f9fafb;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n.pinecone-health-no-results p {\n margin: 0;\n}\n\n/* Status container and badge */\n.pinecone-health-status-container {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.pinecone-health-status {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.pinecone-health-status.status-healthy {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.pinecone-health-status.status-error {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.pinecone-health-status.status-warning {\n background-color: #fef3c7;\n color: #92400e;\n}\n\n.pinecone-health-status.status-running {\n background-color: #dbeafe;\n color: #1e40af;\n}\n\n/* Summary statistics */\n.pinecone-health-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n flex-wrap: wrap;\n}\n\n.pinecone-health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 80px;\n}\n\n.pinecone-health-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.pinecone-health-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* All good state */\n.pinecone-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.pinecone-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Pinecone health table (shared styles for namespace and failures tables) */\n.pinecone-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n table-layout: fixed;\n}\n\n.pinecone-health-table th,\n.pinecone-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.pinecone-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.pinecone-health-table td {\n font-size: 0.875rem;\n vertical-align: middle;\n word-wrap: break-word;\n}\n\n.pinecone-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Namespace results table column widths */\n#pinecone-namespace-container .pinecone-health-table th:nth-child(1),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(1) {\n width: 25%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(2),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(5),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(5) {\n width: 12%;\n text-align: right;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(6),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(6) {\n width: 12%;\n text-align: center;\n}\n\n/* Sample failures table column widths */\n#pinecone-failures-container .pinecone-health-table th:nth-child(1),\n#pinecone-failures-container .pinecone-health-table td:nth-child(1) {\n width: 20%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(2),\n#pinecone-failures-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(3),\n#pinecone-failures-container .pinecone-health-table td:nth-child(3) {\n width: 30%;\n font-family: monospace;\n font-size: 0.8rem;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(4),\n#pinecone-failures-container .pinecone-health-table td:nth-child(4) {\n width: 35%;\n}\n\n/* Container headers */\n#pinecone-namespace-container h3,\n#pinecone-failures-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#pinecone-failures-container h3 {\n color: var(--error-color);\n}\n\n/* ========================================\n Pinecone Regenerate Section Styles\n ======================================== */\n\n.pinecone-regenerate-section {\n margin-top: 1.5rem;\n padding-top: 1.5rem;\n border-top: 1px solid var(--border-color);\n}\n\n.pinecone-regenerate-section h4 {\n font-size: 0.95rem;\n font-weight: 600;\n color: var(--text-color);\n margin: 0 0 0.5rem 0;\n}\n\n.regenerate-instructions {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin: 0 0 0.75rem 0;\n}\n\n.regenerate-checkboxes {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.regenerate-checkboxes .checkbox-label {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.875rem;\n cursor: pointer;\n}\n\n.regenerate-checkboxes .checkbox-label input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n accent-color: var(--primary-color);\n}\n\n.regenerate-checkboxes .checkbox-label span {\n color: var(--text-color);\n}\n\n.regenerate-checkboxes .namespace-name {\n font-family: monospace;\n font-size: 0.8rem;\n background-color: #f1f5f9;\n padding: 0.125rem 0.375rem;\n border-radius: 0.25rem;\n color: var(--secondary-color);\n}\n\n.regenerate-checkboxes .metadata-warning {\n font-size: 0.75rem;\n color: #f59e0b;\n margin-left: 0.25rem;\n}\n\n/* Info tooltip button */\n.info-tooltip-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n margin-left: 0.375rem;\n padding: 0;\n font-size: 0.75rem;\n color: #6b7280;\n background: none;\n border: none;\n cursor: pointer;\n vertical-align: middle;\n transition: color 0.15s ease;\n}\n\n.info-tooltip-btn:hover {\n color: var(--primary-color);\n}\n\n/* Namespace info panel */\n.namespace-info {\n margin: 0.375rem 0 0.75rem 1.5rem;\n padding: 0.625rem 0.75rem;\n font-size: 0.8rem;\n color: #4b5563;\n background-color: #f3f4f6;\n border-left: 3px solid var(--primary-color);\n border-radius: 0 0.25rem 0.25rem 0;\n line-height: 1.4;\n}\n\n.namespace-info.hidden {\n display: none;\n}\n\n.namespace-info strong {\n color: var(--text-color);\n}\n\n/* Note styling (softer than warning) */\n.regenerate-note {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n padding: 0.625rem 0.75rem;\n background-color: #eff6ff;\n border: 1px solid #bfdbfe;\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n}\n\n.regenerate-note .note-label {\n font-size: 0.8rem;\n font-weight: 600;\n color: #1e40af;\n}\n\n.regenerate-note .note-text {\n font-size: 0.8rem;\n color: #1e40af;\n line-height: 1.4;\n}\n\n.regenerate-warning {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n padding: 0.75rem;\n background-color: #fef3c7;\n border: 1px solid #fcd34d;\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n}\n\n.regenerate-warning .warning-icon {\n font-size: 1rem;\n line-height: 1;\n}\n\n.regenerate-warning .warning-text {\n font-size: 0.8rem;\n color: #92400e;\n line-height: 1.4;\n}\n\n/* Warning button style */\n.btn-warning {\n background-color: #f59e0b;\n color: #fff;\n border: 1px solid #d97706;\n}\n\n.btn-warning:hover {\n background-color: #d97706;\n border-color: #b45309;\n}\n\n.btn-warning:active {\n background-color: #b45309;\n}\n\n.btn-warning:disabled {\n background-color: #fcd34d;\n border-color: #fcd34d;\n cursor: not-allowed;\n}\n\n/* `.hidden` is provided by the global utility in src/css/globals.css; do not\n redefine it here (BAPI-301). */\n\n/* Phase 1b: Learn-repository auto-update schedule */\n.learn-repo-schedule-section {\n border-radius: 6px;\n padding: 1rem;\n margin-top: 0.75rem;\n}\n.learn-repo-schedule-section h4 {\n margin: 0 0 0.25rem 0;\n}\n.learn-repo-instructions {\n font-size: 0.85rem;\n color: #6b7280;\n margin-bottom: 0.75rem;\n}\n.learn-repo-analysis-types {\n border: none;\n padding: 0;\n margin: 0 0 0.75rem 0;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 0.25rem 1rem;\n}\n.learn-repo-analysis-types legend {\n font-weight: 600;\n margin-bottom: 0.25rem;\n}\n.learn-repo-actions {\n margin-top: 0.5rem;\n}\n.learn-repo-message {\n margin-top: 0.5rem;\n font-size: 0.875rem;\n color: #1f2937;\n}\n.learn-repo-schedule-status {\n margin-top: 0.75rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.learn-repo-schedule-row {\n border: 1px solid #e5e7eb;\n border-radius: 4px;\n padding: 0.75rem;\n background-color: #f9fafb;\n}\n.learn-repo-schedule-meta {\n font-size: 0.85rem;\n color: #4b5563;\n margin: 0.25rem 0;\n}\n.learn-repo-row-actions {\n margin-top: 0.5rem;\n display: flex;\n gap: 0.5rem;\n}\n.learn-repo-status-running {\n color: #2563eb;\n}\n.learn-repo-status-success {\n color: #15803d;\n}\n.learn-repo-status-failure {\n color: #b91c1c;\n}\n.learn-repo-status-idle {\n color: #6b7280;\n}\n.learn-repo-schedule-row details {\n margin-top: 0.5rem;\n font-size: 0.85rem;\n}\n.learn-repo-schedule-row details pre {\n white-space: pre-wrap;\n background-color: #ffffff;\n border: 1px solid #e5e7eb;\n border-radius: 3px;\n padding: 0.5rem;\n margin: 0.25rem 0 0 0;\n}\n.form-error {\n color: #b91c1c;\n font-size: 0.85rem;\n margin-top: 0.25rem;\n}\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"css/main.min.css","mappings":";;;AAAA,mBAAmB;;AAEnB,0BAA0B;AAC1B;IACI,SAAS;IACT,UAAU;IACV,sBAAsB;AAC1B;;AAEA;IACI,wIAAwI;IACxI,yCAAyC;IACzC,wBAAwB;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,iCAAiC;AACrC;;AAEA,kBAAkB;AAClB;IACI,eAAe;IACf,MAAM;IACN,OAAO;IACP,WAAW;IACX,4BAA4B;IAC5B,sCAAsC;IACtC,6BAA6B;IAC7B,YAAY;AAChB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,eAAe;AACnB;;AAEA;IACI,YAAY;IACZ,WAAW;AACf;;AAEA;IACI,aAAa;IACb,qBAAqB;AACzB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,wBAAwB;IACxB,qBAAqB;IACrB,gBAAgB;AACpB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA,sBAAsB;AACtB;IACI,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;AACnB;;AAEA,qBAAqB;AACrB;IACI,sCAAsC;IACtC,qBAAqB;IACrB,aAAa;IACb,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,wBAAwB;AAC5B;;AAEA,mBAAmB;AACnB;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,gBAAgB;AAChB;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,qBAAqB;AACzB;;AAEA;IACI,oBAAoB;IACpB,wBAAwB;AAC5B;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,qBAAqB;IACrB,mBAAmB;AACvB;;AAEA;IACI,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,qBAAqB;AACzB;;AAEA;;;;;;;IAOI,WAAW;IACX,eAAe;IACf,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB;AAC1B;;AAEA;IACI,WAAW;AACf;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,oBAAoB;AACxB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;;;+EAG+E;;AAE/E,8BAA8B;AAC9B;IACI,aAAa;IACb,qBAAqB;IACrB,YAAY;IACZ,eAAe;AACnB;;AAEA;IACI,iBAAiB;IACjB,6BAA6B;AACjC;;AAEA;IACI,6BAA6B;AACjC;;AAEA;IACI,2BAA2B;IAC3B,gBAAgB;AACpB;;AAEA,6DAA6D;AAC7D;IACI,aAAa;IACb,0BAA0B;IAC1B,YAAY;AAChB;;AAEA;IACI,sCAAsC;IACtC,qCAAqC;IACrC,sBAAsB;IACtB,uBAAuB;IACvB,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;;AAEA,oFAAoF;AACpF;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,SAAS;IACT,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,YAAY;AAChB;;AAEA;IACI,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,wCAAwC;AAC5C;;AAEA,yBAAyB,sCAAsC,EAAE;AACjE,8BAA8B,qCAAqC,EAAE;AACrE,+BAA+B,sCAAsC,EAAE;AACvE,8BAA8B,yBAAyB,EAAE;;AAEzD;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;IAC7B,oDAAoD;IACpD,qCAAqC;IACrC,sBAAsB;IACtB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA,gBAAgB;AAChB;IACI,iBAAiB;IACjB,gBAAgB;IAChB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;AACvB;;AAEA;IACI,cAAc;IACd,0CAA0C;AAC9C;;AAEA;IACI,yBAAyB;IACzB,2CAA2C;AAC/C;;AAEA,+EAA+E;AAC/E;IACI,2BAA2B;IAC3B,yCAAyC;AAC7C;;AAEA,oBAAoB;AACpB;IACI,iBAAiB;IACjB,6BAA6B;AACjC;;AAEA,uCAAuC;AACvC;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,iBAAiB;IACjB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;IACrB,aAAa;IACb,4BAA4B;AAChC;;AAEA,iCAAiC;AACjC;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,uBAAuB;IACvB,sBAAsB;IACtB,6BAA6B;AACjC;;AAEA;IACI,2CAA2C;IAC3C,sCAAsC;AAC1C;;AAEA;IACI,wCAAwC;IACxC,qCAAqC;AACzC;;AAEA;IACI,6BAA6B;IAC7B,oBAAoB;IACpB,iCAAiC;AACrC;;AAEA;IACI,cAAc;IACd,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,iBAAiB;IACjB,sCAAsC;IACtC,qCAAqC;AACzC;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,OAAO;IACP,YAAY;AAChB;;AAEA;IACI,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;AAC5B;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,sCAAsC;IACtC,qCAAqC;IACrC,qBAAqB;IACrB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,kCAAkC;AACtC;;AAEA;IACI,6BAA6B;IAC7B,eAAe;AACnB;;AAEA,iCAAiC;AACjC;IACI,kBAAkB;AACtB;;AAEA;IACI,eAAe;IACf,6BAA6B;IAC7B,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;IACZ,kBAAkB;IAClB,oBAAoB;AACxB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;AACf;;AAEA;IACI,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA,6CAA6C,2BAA2B,EAAE;AAC1E,kDAAkD,yBAAyB,EAAE;AAC7E,mDAAmD,2BAA2B,EAAE;;AAEhF,0EAA0E;AAC1E;IACI,6BAA6B;IAC7B,2CAA2C;IAC3C,oBAAoB;AACxB;;AAEA,uBAAuB,gBAAgB,EAAE,wBAAwB,EAAE;AACnE,yBAAyB,6BAA6B,EAAE;;AAExD,mCAAmC;AACnC;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,yCAAyC;IACzC,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,WAAW;IACX,eAAe;AACnB;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,sCAAsC;IACtC,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB;AAC1B;;AAEA;IACI,kCAAkC;IAClC,2BAA2B;AAC/B;;AAEA;IACI,kBAAkB;AACtB;;AAEA;IACI,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,aAAa;IACb,cAAc;IACd,qCAAqC;IACrC,sBAAsB;IACtB,6BAA6B;IAC7B,gBAAgB;AACpB;;AAEA,oDAAoD,aAAa,EAAE;;AAEnE;IACI,kBAAkB;IAClB,QAAQ;IACR,yBAAyB;IACzB,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,gBAAgB;IAChB,sCAAsC;IACtC,qCAAqC;IACrC,qBAAqB;IACrB,6BAA6B;IAC7B,gBAAgB;AACpB;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,sBAAsB;IACtB,sBAAsB;IACtB,eAAe;IACf,aAAa;AACjB;;AAEA;IACI,oDAAoD;AACxD;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,yBAAyB;AACzB;;IAEI,kBAAkB;IAClB,sBAAsB;IACtB,sCAAsC;IACtC,sBAAsB;IACtB,yCAAyC;AAC7C;;AAEA;;IAEI,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;;IAEI,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,oCAAoC;AACxC;;AAEA,qBAAqB,yBAAyB,EAAE;;AAEhD,qEAAqE;AACrE;;;;;IAKI,uCAAuC;IACvC,mBAAmB;AACvB;;AAEA,iBAAiB;AACjB;IACI,aAAa;IACb,eAAe;IACf,aAAa;IACb,OAAO;IACP,MAAM;IACN,WAAW;IACX,YAAY;IACZ,cAAc;IACd,oCAAoC;AACxC;;AAEA;IACI,sCAAsC;IACtC,gBAAgB;IAChB,aAAa;IACb,qBAAqB;IACrB,UAAU;IACV,gBAAgB;IAChB,6BAA6B;AACjC;;AAEA;IACI,6BAA6B;IAC7B,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;AACnB;;AAEA;IACI,wBAAwB;AAC5B;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,oBAAoB;AACxB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,yBAAyB;IACzB,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,yCAAyC;AAC7C;;AAEA;IACI,aAAa;AACjB;;AAEA,oBAAoB;AACpB;IACI,eAAe;IACf,MAAM;IACN,OAAO;IACP,WAAW;IACX,YAAY;IACZ,0CAA0C;IAC1C,aAAa;IACb,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,oCAAoC;IACpC,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,sCAAsC;IACtC,kCAAkC;IAClC,mBAAmB;AACvB;;AAEA;IACI,KAAK,uBAAuB,EAAE;IAC9B,OAAO,yBAAyB,EAAE;AACtC;;AAEA,2BAA2B;AAC3B;IACI;QACI,0BAA0B;IAC9B;;IAEA;QACI,eAAe;IACnB;;IAEA;QACI,iBAAiB;IACrB;;IAEA;QACI,eAAe;IACnB;;IAEA;QACI,UAAU;QACV,gBAAgB;IACpB;;IAEA,0EAA0E;IAC1E;QACI,sBAAsB;QACtB,uBAAuB;QACvB,WAAW;IACf;;IAEA;QACI,sBAAsB;IAC1B;;IAEA;QACI,eAAe;IACnB;;IAEA;QACI,oBAAoB;IACxB;;IAEA;QACI,sBAAsB;QACtB,oBAAoB;IACxB;;IAEA;QACI,2BAA2B;IAC/B;;IAEA;QACI,WAAW;QACX,OAAO;IACX;AACJ,C;;;;ACptBA,6BAA6B;;AAE7B,sDAAsD;AACtD;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA,wDAAwD;AACxD;IACI,aAAa;IACb,uBAAuB;IACvB,gBAAgB;AACpB;;AAEA;IACI,uBAAuB;IACvB,eAAe;AACnB;;AAEA,yCAAyC;AACzC;IACI,yCAAyC;IACzC,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB;IACtB,6BAA6B;IAC7B,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA,uCAAuC;AACvC;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,yBAAyB;AACzB;IACI,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,WAAW;IACX,yBAAyB;IACzB,kBAAkB;IAClB,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI;4EACwE;IACxE,eAAe;IACf,aAAa;IACb,yBAAyB;IACzB,kBAAkB;IAClB,yBAAyB;IACzB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;AACpB;;AAEA;;kDAEkD;AAClD;IACI,aAAa;IACb,sBAAsB;IACtB,QAAQ;AACZ;;AAEA;IACI,2BAA2B;IAC3B,gBAAgB;IAChB,0BAA0B;IAC1B,uBAAuB;AAC3B;;AAEA;IACI,0BAA0B;AAC9B;;AAEA;IACI,uCAAuC;IACvC,mBAAmB;AACvB;;AAEA;IACI,SAAS;IACT,kBAAkB;AACtB;;AAEA;IACI,eAAe;AACnB;;AAEA;IACI,SAAS;IACT,6BAA6B;AACjC;;AAEA,uBAAuB;AACvB;IACI,yBAAyB;IACzB,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;AACjB;;AAEA;IACI,cAAc;AAClB;;AAEA;;;IAGI,gCAAgC;IAChC,gDAAgD;AACpD;;AAEA,6BAA6B;AAC7B;IACI,yBAAyB;AAC7B;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA,gBAAgB;AAChB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,iBAAiB;AACjB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,sBAAsB;AACtB;IACI,sBAAsB;IACtB,iBAAiB;IACjB,yBAAyB;IACzB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,gBAAgB;AACpB;;AAEA;IACI,mBAAmB;IACnB,qBAAqB;AACzB;;AAEA;IACI,gCAAgC;AACpC;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;IAC7B,iBAAiB;IACjB,mBAAmB;AACvB;;AAEA,4BAA4B;AAC5B;IACI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,wBAAwB;AACxB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,yBAAyB;AACzB;IACI,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,2BAA2B;AAC3B;IACI,6BAA6B;IAC7B,qCAAqC;IACrC,sBAAsB;IACtB,yBAAyB;IACzB,mBAAmB;IACnB,6BAA6B;IAC7B,eAAe;IACf,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,oCAAoC;IACpC,wBAAwB;AAC5B;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA,6CAA6C;AAC7C;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA;;6CAE6C;;AAE7C,oDAAoD;AACpD;IACI,aAAa;IACb,mBAAmB;IACnB,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;IAC7B,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA;IACI,SAAS;AACb;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;IACtB,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,4EAA4E;AAC5E;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,0CAA0C;AAC1C;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;;;;;IAMI,UAAU;IACV,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;IACV,kBAAkB;AACtB;;AAEA,wCAAwC;AACxC;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;IACV,sBAAsB;IACtB,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;AACd;;AAEA,oBAAoB;AACpB;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;AACpB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,sBAAsB;AACtB;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;;6CAE6C;;AAE7C,yCAAyC;AACzC;IACI,uBAAuB;IACvB,iBAAiB;IACjB,6BAA6B;IAC7B,gBAAgB;AACpB;;AAEA,+EAA+E;AAC/E;IACI,qCAAqC;IACrC,sBAAsB;IACtB,aAAa;IACb,mBAAmB;IACnB,yBAAyB;AAC7B;;AAEA;IACI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;AAC1B;;AAEA,6BAA6B;AAC7B;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,SAAS;IACT,mBAAmB;IACnB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;AACb;;AAEA;IACI,yCAAyC;IACzC,oBAAoB;AACxB;;AAEA;IACI,mBAAmB;IACnB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;AAClB;;AAEA,6BAA6B;AAC7B;IACI,qBAAqB;IACrB,mBAAmB;IACnB,6BAA6B;IAC7B,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA,wEAAwE;AACxE;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,6BAA6B;AACjC;;AAEA,4CAA4C;AAC5C;IACI,oBAAoB;IACpB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;AAC1B;;AAEA,kFAAkF;AAClF;IACI,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,gBAAgB;IAChB,oCAAoC;IACpC,0BAA0B;IAC1B,eAAe;AACnB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,gDAAgD;IAChD,mBAAmB;IACnB,sBAAsB;AAC1B;;AAEA,wEAAwE;AACxE;IACI;QACI,WAAW;IACf;;IAEA;QACI,sBAAsB;QACtB,uBAAuB;IAC3B;;IAEA;QACI,cAAc;QACd,mBAAmB;IACvB;AACJ;;;;;;ACn4BA,8BAA8B;AAC9B;;;qEAGqE;;AAErE;IACI,aAAa;IACb,mBAAmB;IACnB,8BAA8B;IAC9B,SAAS;IACT,mBAAmB;AACvB;;AAEA;;;;IAII,yBAAyB;IACzB,oCAAoC;IACpC;;8BAE0B;IAC1B,0BAA0B;IAC1B,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,eAAe;AACnB;;AAEA;;yEAEyE;;AAEzE;IACI,aAAa;IACb,2DAA2D;IAC3D,SAAS;IACT,qBAAqB;AACzB;;AAEA;IACI,gCAAgC;IAChC,qCAAqC;IACrC,sBAAsB;IACtB,qBAAqB;IACrB,6BAA6B;AACjC;;AAEA;IACI,gCAAgC;IAChC,8CAA8C;AAClD;;AAEA;IACI,gCAAgC;IAChC,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,6BAA6B;IAC7B,yBAAyB;IACzB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;;yEAEyE;;AAEzE;IACI,gBAAgB;AACpB;;AAEA;IACI,WAAW;IACX,yBAAyB;IACzB,eAAe;AACnB;;AAEA;;IAEI,iBAAiB;IACjB,gBAAgB;IAChB,4CAA4C;IAC5C,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,eAAe;AACnB;;AAEA;IACI,qBAAqB;IACrB,gBAAgB;IAChB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,0BAA0B;IAC1B,wBAAwB;IACxB,6BAA6B;AACjC;;AAEA;IACI;4CACwC;IACxC,mBAAmB;IACnB,cAAc;AAClB;;AAEA;;IAEI,+BAA+B;IAC/B,wBAAwB;AAC5B;;AAEA;IACI;2DACuD;IACvD,+BAA+B;IAC/B,cAAc;AAClB;;AAEA;IACI,+BAA+B;IAC/B,cAAc;AAClB;;AAEA;;;IAGI,6BAA6B;IAC7B,6BAA6B;AACjC;;AAEA;IACI,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,eAAe;IACf,6BAA6B;AACjC;;AAEA;IACI,eAAe;IACf,YAAY;IACZ,mCAAmC;IACnC,qCAAqC;IACrC,sBAAsB;IACtB,eAAe;IACf,qBAAqB;IACrB,sBAAsB;AAC1B;;AAEA;;yEAEyE;;AAEzE;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,SAAS;IACT,iBAAiB;IACjB,4CAA4C;IAC5C,eAAe;AACnB;;AAEA;IACI,6BAA6B;IAC7B,kBAAkB;AACtB;;AAEA;;IAEI,6BAA6B;AACjC;;AAEA;;yEAEyE;;AAEzE;IACI,gCAAgC;IAChC,oCAAoC;IACpC,sBAAsB;IACtB,aAAa;IACb,mBAAmB;AACvB;;AAEA;IACI,kBAAkB;AACtB;;AAEA;IACI,kBAAkB;IAClB,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,SAAS;IACT,eAAe;AACnB;;AAEA;IACI,6BAA6B;IAC7B,eAAe;IACf,kBAAkB;AACtB;;AAEA;;yEAEyE;;AAEzE;IACI,8CAA8C;IAC9C,qBAAqB;AACzB;;AAEA;IACI,eAAe;IACf,kBAAkB;IAClB,6BAA6B;IAC7B,eAAe;AACnB;;AAEA;;yEAEyE;;AAEzE;IACI;QACI,sBAAsB;QACtB,uBAAuB;QACvB,YAAY;IAChB;;IAEA;QACI,0BAA0B;IAC9B;;IAEA;QACI,eAAe;IACnB;;IAEA;QACI,sBAAsB;QACtB,uBAAuB;QACvB,QAAQ;IACZ;AACJ;;;;;AC3QA;gFACgF;;AAEhF;IACI,aAAa;IACb,mBAAmB;IACnB,2BAA2B;IAC3B,eAAe;IACf,qBAAqB;IACrB,4CAA4C;AAChD;;AAEA;IACI,oBAAoB;IACpB,mBAAmB;IACnB,qBAAqB;IACrB,cAAc;AAClB;;AAEA;IACI,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,cAAc;AAClB;;AAEA;IACI;QACI,gBAAgB;IACpB;AACJ;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,wBAAwB;IACxB,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,eAAe;AACnB;;AAEA;IACI,qBAAqB;IACrB,qBAAqB;AACzB;;AAEA;IACI,gBAAgB;IAChB,mBAAmB;IACnB,yCAAyC;IACzC,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,WAAW;IACX,eAAe;AACnB;;AAEA;IACI,6BAA6B;IAC7B,qBAAqB;AACzB;;AAEA;IACI,2BAA2B;IAC3B,0BAA0B;AAC9B;;AAEA;IACI,gBAAgB;IAChB,sCAAsC;IACtC,qBAAqB;IACrB,aAAa;IACb,6BAA6B;AACjC;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;IACI,6BAA6B;IAC7B,mBAAmB;IACnB,qBAAqB;AACzB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;IACI,wBAAwB;IACxB,gBAAgB;IAChB,sBAAsB;AAC1B;;;;;AC7HA,+BAA+B;;AAE/B,wDAAwD;AACxD;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA,0DAA0D;AAC1D;IACI,aAAa;IACb,uBAAuB;IACvB,gBAAgB;AACpB;;AAEA;IACI,uBAAuB;IACvB,eAAe;AACnB;;AAEA,4CAA4C;AAC5C;IACI,yCAAyC;IACzC,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB,EAAE,+BAA+B;IACvD,6BAA6B;IAC7B,kBAAkB,EAAE,sBAAsB;IAC1C,qBAAqB,EAAE,4CAA4C;AACvE;;AAEA,uCAAuC;AACvC;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,yBAAyB;AACzB;IACI,mBAAmB;IACnB,2BAA2B;IAC3B,qBAAqB;IACrB,iBAAiB;AACrB;;AAEA;IACI,0BAA0B;AAC9B;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB,EAAE,4BAA4B;IACvD,2CAA2C;IAC3C,mBAAmB;IACnB,cAAc,EAAE,aAAa;IAC7B,kCAAkC,EAAE,oBAAoB;IACxD,gBAAgB;IAChB,WAAW;AACf;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;AACvB;;AAEA,wCAAwC;AACxC;IACI,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,WAAW;IACX,yBAAyB,EAAE,8BAA8B;IACzD,kBAAkB;IAClB,qBAAqB;IACrB,eAAe;IACf,sBAAsB,EAAE,8BAA8B;IACtD,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI;6DACyD;IACzD,eAAe;IACf,aAAa;IACb,yBAAyB,EAAE,sBAAsB;IACjD,kBAAkB;IAClB,yBAAyB,EAAE,qBAAqB;IAChD,gBAAgB;IAChB,cAAc;IACd,gBAAgB;AACpB;;AAEA;;;;gFAIgF;AAChF;IACI,cAAc;AAClB;;AAEA;IACI,aAAa;AACjB;;AAEA,yCAAyC;AACzC;IACI,8CAA8C;IAC9C,qCAAqC;IACrC,sBAAsB;IACtB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW,EAAE,+BAA+B;AAChD;;AAEA,6CAA6C;AAC7C;IACI,cAAc,EAAE,2BAA2B;IAC3C,kBAAkB;IAClB,mBAAmB;IACnB,aAAa,EAAE,oBAAoB;AACvC;;AAEA;;;IAGI,qBAAqB;IACrB,gDAAgD,EAAE,yBAAyB;AAC/E;;AAEA,2DAA2D;AAC3D;IACI,cAAc;AAClB;;AAEA,+CAA+C;AAC/C;IACI,yBAAyB;IACzB,mBAAmB;IACnB,kBAAkB;IAClB,aAAa,EAAE,sBAAsB;AACzC;;AAEA;IACI,cAAc,EAAE,wBAAwB;AAC5C;;AAEA;;;0CAG0C;AAC1C;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,gBAAgB;IAChB,eAAe;AACnB;;AAEA;IACI,SAAS,EAAE,+CAA+C;IAC1D,cAAc,EAAE,yDAAyD;AAC7E;;AAEA;IACI,6EAA6E;IAC7E,eAAe;AACnB;;AAEA;IACI,kBAAkB;IAClB,uBAAuB;IACvB,qCAAqC;IACrC,sBAAsB;IACtB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA,gDAAgD;AAChD;uEACuE;AACvE;IACI,qCAAqC;IACrC,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,cAAc;IACd,qBAAqB;AACzB;;AAEA;;2BAE2B;AAC3B;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,oBAAoB;AACxB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;;;sEAGsE;AACtE;IACI,0CAA0C;IAC1C,qBAAqB;AACzB;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;IAC7B,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA,mEAAmE;AACnE;;oEAEoE;AACpE;IACI,qCAAqC;IACrC,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,0DAA0D;AAC1D;IACI,aAAa;IACb,eAAe;IACf,WAAW;IACX,sBAAsB;AAC1B;;AAEA;IACI,oBAAoB;IACpB,qBAAqB;IACrB,aAAa;IACb,uBAAuB;IACvB,qCAAqC;IACrC,oBAAoB;IACpB,oDAAoD;IACpD,oBAAoB;AACxB;;AAEA;IACI,wBAAwB;IACxB,gBAAgB;AACpB;;AAEA;IACI,6BAA6B;AACjC;;AAEA;IACI,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,gBAAgB;IAChB,sCAAsC;AAC1C;;AAEA,mFAAmF;AACnF;IACI,gCAAgC;IAChC,gDAAgD;AACpD;;AAEA;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,oBAAoB;IACpB,6BAA6B;AACjC;;AAEA;iEACiE;AACjE;IACI,wBAAwB;IACxB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,qCAAqC;AACzC;;AAEA;IACI,6BAA6B;IAC7B,oDAAoD;AACxD;;AAEA;IACI,0BAA0B;IAC1B,kCAAkC;IAClC,oDAAoD;AACxD;;AAEA;IACI,aAAa;IACb,qBAAqB;AACzB;;AAEA,iFAAiF;AACjF;IACI,aAAa;IACb,eAAe;IACf,YAAY;AAChB;;AAEA;IACI,eAAe;IACf,YAAY;IACZ,qCAAqC;IACrC,sBAAsB;IACtB,eAAe;IACf,yCAAyC;AAC7C;;AAEA;IACI,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACrB,wBAAwB;AAC5B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;AACf;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,YAAY;AAChB;;AAEA;IACI,oBAAoB;IACpB,6BAA6B;IAC7B,mBAAmB;AACvB;;AAEA;IACI,cAAc;IACd,YAAY;IACZ,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;IACtB,sCAAsC;IACtC,wBAAwB;IACxB,mBAAmB;AACvB;;AAEA;IACI,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA,6EAA6E;AAC7E;;;;IAII,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;IACtB,oDAAoD;IACpD,wBAAwB;IACxB,oBAAoB;IACpB,eAAe;AACnB;;AAEA;;;;IAII,kCAAkC;IAClC,0BAA0B;AAC9B;;AAEA;;IAEI,YAAY;IACZ,mBAAmB;AACvB;;AAEA,6EAA6E;AAC7E;;;;;IAKI,uCAAuC;IACvC,mBAAmB;AACvB;;AAEA,2DAA2D;AAC3D;IACI;QACI,sBAAsB;IAC1B;;IAEA;QACI,gBAAgB;IACpB;AACJ,C;;;;AC3gBA,0BAA0B;;AAE1B;IACI,wBAAwB;AAC5B;;AAEA;IACI,mBAAmB;IACnB,sBAAsB;IACtB,4CAA4C;AAChD;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,mBAAmB;IACnB,kBAAkB;IAClB,WAAW;IACX,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;AACpB;;AAEA;IACI,SAAS;AACb;;AAEA;IACI,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;AACpB;;AAEA;IACI,0BAA0B;AAC9B;;AAEA;IACI,gBAAgB;IAChB,eAAe;IACf,yCAAyC;AAC7C;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;;IAEI,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,oBAAoB;AACxB;;AAEA;;IAEI,aAAa;IACb,kCAAkC;IAClC,4CAA4C;AAChD;;AAEA;IACI,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;IACf,sBAAsB;AAC1B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,WAAW;IACX,wDAAwD;IACxD,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;AACpB;;AAEA;IACI,sBAAsB;IACtB,kBAAkB;AACtB;;;;;ACrIA,yBAAyB;;AAEzB,kDAAkD;AAClD;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA,wBAAwB;AACxB;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,gBAAgB;AACpB;;AAEA;IACI,iBAAiB;IACjB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA,kBAAkB;AAClB;IACI,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,cAAc;AAClB;;AAEA;;yEAEyE;AACzE;IACI;QACI,gBAAgB;IACpB;;IAEA,oBAAoB;IACpB,4CAA4C;AAChD;;AAEA;IACI,sBAAsB;IACtB,qBAAqB;IACrB,gCAAgC;AACpC;;AAEA;IACI,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;;;;;;;;yEAQyE;AACzE;IACI,0CAA0C;IAC1C,kBAAkB;AACtB;;AAEA;IACI,2CAA2C;IAC3C,kBAAkB;AACtB;;AAEA;IACI,2CAA2C;IAC3C,kBAAkB;AACtB;;AAEA;IACI,2CAA2C;IAC3C,kBAAkB;AACtB;;AAEA;IACI,wCAAwC;IACxC,kBAAkB;AACtB;;AAEA;6EAC6E;AAC7E;IACI,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,qBAAqB;IACrB,qCAAqC;IACrC,uBAAuB;AAC3B;;AAEA;;yDAEyD;AACzD;IACI,mBAAmB;AACvB;;AAEA;;yEAEyE;;AAEzE;IACI,aAAa;IACb,sBAAsB;IACtB,SAAS;AACb;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,qCAAqC;AACzC;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;IACzB,iCAAiC;IACjC,kBAAkB;AACtB;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,WAAW;IACX,iBAAiB;IACjB,gBAAgB;IAChB,qCAAqC;IACrC,uBAAuB;IACvB,wDAAwD;IACxD,mBAAmB;IACnB,gBAAgB;IAChB,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,kCAAkC;IAClC,4CAA4C;AAChD;;AAEA;IACI,aAAa;IACb,WAAW;IACX,gBAAgB;AACpB;;AAEA;IACI,cAAc;AAClB;;AAEA,oCAAoC;AACpC;IACI;QACI,iBAAiB;QACjB,kBAAkB;IACtB;;IAEA;QACI,sBAAsB;IAC1B;;IAEA;QACI,WAAW;IACf;AACJ;;AAEA,gDAAgD;AAChD;IACI,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;IACd,yBAAyB;AAC7B;;AAEA;IACI,mBAAmB;AACvB;;;;;AC5QA,eAAe;AACf;IACI,8BAA8B;IAC9B,sEAAsE;IACtE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,qEAAqE;IACrE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,yEAAyE;IACzE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,+EAA+E;IAC/E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,oEAAoE;IACpE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,0EAA0E;IAC1E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,uEAAuE;IACvE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,6EAA6E;IAC7E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,mEAAmE;IACnE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,yEAAyE;IACzE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,oEAAoE;IACpE,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,8BAA8B;IAC9B,0EAA0E;IAC1E,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA,qBAAqB;AACrB;IACI,wBAAwB;IACxB,uBAAuB;IACvB,0BAA0B;IAC1B,kBAAkB;IAClB,sCAAsC;IACtC,uBAAuB;IACvB,sBAAsB;IACtB,2BAA2B;IAC3B,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,wBAAwB;IACxB,qBAAqB;IACrB,mFAAmF;AACvF;;AAEA,0BAA0B;AAC1B;IACI,SAAS;IACT,UAAU;IACV,sBAAsB;AAC1B;;AAEA;IACI,2JAA2J;IAC3J,yCAAyC;IACzC,wBAAwB;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,iCAAiC;AACrC;;AAEA;IACI,wBAAwB;AAC5B;;AAEA,kBAAkB;AAClB;IACI,eAAe;IACf,qBAAqB;IACrB,kBAAkB;IAClB,6BAA6B;IAC7B,eAAe;IACf,oBAAoB;IACpB,sCAAsC;AAC1C;;AAEA;IACI,sCAAsC;IACtC,YAAY;AAChB;;AAEA;IACI,qCAAqC;AACzC;;AAEA;IACI,oDAAoD;IACpD,qCAAqC;IACrC,WAAW;AACf;;AAEA;IACI,2CAA2C;IAC3C,oCAAoC;IACpC,YAAY;AAChB;;AAEA;IACI,sBAAsB;IACtB,kBAAkB;AACtB;;AAEA;IACI,oCAAoC;IACpC,YAAY;AAChB;;AAEA;IACI,yBAAyB,EAAE,yBAAyB;AACxD;;AAEA;IACI,yBAAyB;IACzB,mBAAmB;IACnB,YAAY;AAChB;;AAEA,6BAA6B;AAC7B;IACI,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,qBAAqB;AACzB;;AAEA;;;;;;IAMI,WAAW;IACX,eAAe;IACf,eAAe;IACf,qCAAqC;IACrC,sBAAsB;IACtB,sBAAsB;AAC1B;;AAEA;IACI,WAAW;AACf;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,oBAAoB;AACxB;;AAEA;IACI,gBAAgB;AACpB;;AAEA,yCAAyC;AACzC;IACI,aAAa;IACb,eAAe;IACf,aAAa;IACb,OAAO;IACP,MAAM;IACN,YAAY;IACZ,aAAa;IACb,2BAA2B;IAC3B,mBAAmB;IACnB,uBAAuB;AAC3B;;;;;AC9OA;;;iEAGiE;;AAEjE;IACI,8BAA8B;IAC9B,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;AACpB;;AAEA,4BAA4B;AAC5B;IACI,gCAAgC;IAChC,8CAA8C;IAC9C,kBAAkB;IAClB,eAAe;IACf,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,kBAAkB;IAClB,sBAAsB;AAC1B;;AAEA,2CAA2C;AAC3C;IACI,8CAA8C;IAC9C,mCAAmC;IACnC,kBAAkB;IAClB,qBAAqB;IACrB,yBAAyB;AAC7B;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,8BAA8B;IAC9B,SAAS;IACT,eAAe;AACnB;;AAEA;IACI,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,SAAS;IACT,kBAAkB;IAClB,8BAA8B;IAC9B,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,cAAc;AAClB;;AAEA;IACI,kBAAkB;IAClB,oCAAoC;AACxC;;AAEA;IACI,mBAAmB;IACnB,kBAAkB;IAClB,mCAAmC;AACvC;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,aAAa;AACjB;;AAEA,+CAA+C;AAC/C;IACI,cAAc;IACd,mBAAmB;IACnB,yBAAyB;IACzB,kBAAkB;IAClB,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,eAAe;AACnB;;AAEA;IACI,OAAO;IACP,gBAAgB;IAChB,uBAAuB;IACvB,8CAA8C;IAC9C,kBAAkB;IAClB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;AACpB;;AAEA,8DAA8D;AAC9D;IACI,mBAAmB;IACnB,cAAc;IACd,kBAAkB;AACtB;;AAEA,2BAA2B;AAC3B;IACI,aAAa;IACb,eAAe;IACf,WAAW;IACX,mBAAmB;IACnB,qDAAqD;IACrD,uBAAuB;AAC3B;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,sBAAsB;IACtB,eAAe;IACf,iBAAiB;IACjB,8BAA8B;IAC9B,0BAA0B;IAC1B,oCAAoC;IACpC,2CAA2C;AAC/C;;AAEA;IACI,oCAAoC;AACxC;;AAEA;;IAEI,oCAAoC;IACpC,kDAAkD;IAClD,gBAAgB;AACpB;;AAEA;IACI,gDAAgD;IAChD,mBAAmB;AACvB;;AAEA,0BAA0B;AAC1B;IACI,qBAAqB;AACzB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,kBAAkB;IAClB,8BAA8B;IAC9B,qBAAqB;IACrB,sBAAsB;AAC1B;;AAEA;IACI,kBAAkB;IAClB,8BAA8B;IAC9B,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,mCAAmC;IACnC,2CAA2C;IAC3C,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,qBAAqB;IACrB,eAAe;AACnB;;AAEA;IACI,8CAA8C;IAC9C,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA,6BAA6B;AAC7B;IACI,mBAAmB;IACnB,cAAc;IACd,kBAAkB;IAClB,cAAc;IACd,kBAAkB;IAClB,gBAAgB;AACpB;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;AACvB;;AAEA;IACI,kBAAkB;IAClB,oCAAoC;IACpC,eAAe;AACnB;;AAEA,uCAAuC;AACvC;IACI,mBAAmB;IACnB,8BAA8B;IAC9B,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,YAAY;IACZ,eAAe;AACnB;;AAEA;IACI,mCAAmC;IACnC,2CAA2C;IAC3C,kBAAkB;IAClB,sBAAsB;IACtB,kBAAkB;IAClB,sBAAsB;AAC1B;;AAEA,oCAAoC;AACpC;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,kBAAkB;IAClB,8BAA8B;AAClC;;AAEA;IACI,qBAAqB;IACrB,sBAAsB;IACtB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;AAC1B;;AAEA;IACI,mBAAmB;IACnB,cAAc;AAClB;;AAEA;IACI,mBAAmB;IACnB,cAAc;AAClB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,8BAA8B;IAC9B,kBAAkB;IAClB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,qBAAqB;IACrB,WAAW;IACX,kBAAkB;IAClB,kDAAkD;IAClD,eAAe;AACnB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,kBAAkB;IAClB,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,8BAA8B;IAC9B,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI,8BAA8B;IAC9B,kBAAkB;IAClB,iBAAiB;AACrB;;AAEA,gDAAgD;AAChD;uDACuD;AACvD;IACI,aAAa;AACjB;;AAEA;IACI,sBAAsB;IACtB,oBAAoB;IACpB,+CAA+C;AACnD;;AAEA;IACI,eAAe;IACf,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;IACI,8BAA8B;IAC9B,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,eAAe;AACnB;;AAEA;2DAC2D;AAC3D;IACI,oBAAoB;IACpB,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB;AAC3B;;AAEA;IACI,oCAAoC;IACpC,mBAAmB;IACnB,0BAA0B;AAC9B;;AAEA;IACI,gDAAgD;IAChD,mBAAmB;AACvB;;AAEA,+BAA+B;AAC/B;IACI,eAAe;AACnB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,yEAAyE;IACzE,0BAA0B;IAC1B,yCAAyC;IACzC,kBAAkB;IAClB,sBAAsB;AAC1B;;AAEA;IACI,OAAO,2BAA2B,EAAE;IACpC,OAAO,4BAA4B,EAAE;AACzC;;AAEA;IACI,YAAY;IACZ,UAAU;AACd;;AAEA;IACI,aAAa;IACb,WAAW;AACf;;AAEA;IACI,YAAY;IACZ,WAAW;AACf;;AAEA,2BAA2B;AAC3B;IACI,mCAAmC;IACnC,sBAAsB;AAC1B;;AAEA,0BAA0B;AAC1B;IACI,gBAAgB;IAChB,kBAAkB;AACtB;;AAEA,yBAAyB;AACzB;IACI;QACI,wBAAwB;QACxB,kBAAkB;IACtB;;IAEA;QACI,sBAAsB;QACtB,uBAAuB;IAC3B;;IAEA;QACI,sBAAsB;IAC1B;;IAEA;QACI,WAAW;IACf;;IAEA;QACI,OAAO;IACX;;IAEA;QACI,sBAAsB;QACtB,oBAAoB;IACxB;;IAEA;;QAEI,WAAW;IACf;;IAEA;QACI,sBAAsB;QACtB,WAAW;IACf;;IAEA;2EACuE;IACvE;QACI,uBAAuB;IAC3B;;IAEA;QACI,uBAAuB;IAC3B;;IAEA;QACI,sBAAsB;QACtB,oBAAoB;IACxB;;IAEA;QACI,WAAW;IACf;AACJ;;AAEA;;iEAEiE;;AAEjE;IACI,0EAA0E;AAC9E;;AAEA;IACI,8CAA8C;IAC9C,gCAAgC;IAChC,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;AACvB;;AAEA;IACI,8BAA8B;IAC9B,gBAAgB;IAChB,aAAa;AACjB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,eAAe;IACf,mBAAmB;IACnB,iBAAiB;AACrB;;AAEA;IACI,8BAA8B;IAC9B,iBAAiB;AACrB;;AAEA;IACI,8CAA8C;IAC9C,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;AACrB;;AAEA;IACI,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;IACI,2CAA2C;IAC3C,sCAAsC;AAC1C;;AAEA;IACI,2CAA2C;IAC3C,sCAAsC;AAC1C;;AAEA;IACI,yCAAyC;IACzC,oCAAoC;AACxC;;AAEA,kDAAkD;AAClD;IACI,8CAA8C;IAC9C,mCAAmC;IACnC,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;AACrB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,kBAAkB;AACtB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,uBAAuB;IACvB,sBAAsB;AAC1B;;AAEA;IACI,6CAA6C;IAC7C,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,uBAAuB;AAC3B;;AAEA;IACI,8BAA8B;IAC9B,kBAAkB;AACtB;;AAEA,0CAA0C;AAC1C;IACI,8BAA8B;IAC9B,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;AACpB;;;;;AClmBA,4BAA4B;;AAE5B,6CAA6C;AAC7C;IACI,mBAAmB;AACvB;;AAEA;IACI,qCAAqC;IACrC,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;IACb,yBAAyB;IACzB,eAAe;AACnB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,8CAA8C;AAClD;;AAEA;IACI,aAAa;IACb,yCAAyC;IACzC;;yEAEqE;AACzE;;AAEA;;6CAE6C;;AAE7C;;IAEI,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;;AAEA;oDACoD;AACpD;IACI,kBAAkB;IAClB,mBAAmB;AACvB;;AAEA;+EAC+E;AAC/E;IACI,mBAAmB;IACnB,gBAAgB;IAChB,qCAAqC;IACrC,kBAAkB;IAClB,mBAAmB;AACvB;;AAEA;IACI,2BAA2B;IAC3B,kCAAkC;AACtC;;AAEA;;IAEI,yBAAyB;IACzB,gCAAgC;AACpC;;AAEA;IACI,cAAc;IACd,mBAAmB;IACnB,wBAAwB;AAC5B;;AAEA;IACI,kBAAkB;IAClB,aAAa;IACb,WAAW;AACf;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,oBAAoB;IACpB,4CAA4C;AAChD;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;AACrB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,SAAS;IACT,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;;IAEI,WAAW;IACX,gBAAgB;IAChB,wBAAwB;IACxB,mBAAmB;AACvB;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA,gBAAgB;AAChB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,iBAAiB;AACjB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,sBAAsB;AACtB;IACI,sBAAsB;IACtB,iBAAiB;IACjB,yBAAyB;IACzB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,gBAAgB;AACpB;;AAEA;IACI,mBAAmB;IACnB,qBAAqB;AACzB;;AAEA;IACI,gCAAgC;AACpC;;AAEA;IACI,kBAAkB;IAClB,6BAA6B;IAC7B,iBAAiB;IACjB,mBAAmB;AACvB;;AAEA,4BAA4B;AAC5B;IACI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;AACzB;;AAEA;;6CAE6C;;AAE7C,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,wBAAwB;AACxB;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,mBAAmB;AACvB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,yBAAyB;AACzB;IACI,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,yCAAyC;AACzC;IACI,6BAA6B;IAC7B,qCAAqC;IACrC,sBAAsB;IACtB,yBAAyB;IACzB,mBAAmB;IACnB,6BAA6B;IAC7B,eAAe;IACf,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,oCAAoC;IACpC,wBAAwB;AAC5B;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA,6CAA6C;AAC7C;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,cAAc;AAClB;;AAEA;;6CAE6C;;AAE7C,oDAAoD;AACpD;IACI,aAAa;IACb,mBAAmB;IACnB,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA,6BAA6B;AAC7B;;IAEI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;AACjC;;AAEA;IACI,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;AAC1B;;AAEA,qBAAqB;AACrB;IACI,aAAa;IACb,kBAAkB;IAClB,6BAA6B;IAC7B,yBAAyB;IACzB,qCAAqC;IACrC,sBAAsB;AAC1B;;AAEA;IACI,SAAS;AACb;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA;IACI,yBAAyB;IACzB,cAAc;AAClB;;AAEA,uBAAuB;AACvB;IACI,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,sBAAsB;IACtB,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;AAC1B;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;AAC5B;;AAEA,mBAAmB;AACnB;IACI,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,gBAAgB;AACpB;;AAEA,4EAA4E;AAC5E;IACI,WAAW;IACX,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;AACvB;;AAEA;;IAEI,gBAAgB;IAChB,gBAAgB;IAChB,4CAA4C;AAChD;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,6BAA6B;AACjC;;AAEA;IACI,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA,0CAA0C;AAC1C;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;;;;;IAMI,UAAU;IACV,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;IACV,kBAAkB;AACtB;;AAEA,wCAAwC;AACxC;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;AACd;;AAEA;;IAEI,UAAU;IACV,sBAAsB;IACtB,iBAAiB;AACrB;;AAEA;;IAEI,UAAU;AACd;;AAEA,sBAAsB;AACtB;;IAEI,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,kBAAkB;AACtB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;;6CAE6C;;AAE7C;IACI,kBAAkB;IAClB,mBAAmB;IACnB,yCAAyC;AAC7C;;AAEA;IACI,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,oBAAoB;AACxB;;AAEA;IACI,mBAAmB;IACnB,6BAA6B;IAC7B,qBAAqB;AACzB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,eAAe;IACf,kCAAkC;AACtC;;AAEA;IACI,wBAAwB;AAC5B;;AAEA;IACI,sBAAsB;IACtB,iBAAiB;IACjB,yBAAyB;IACzB,0BAA0B;IAC1B,sBAAsB;IACtB,6BAA6B;AACjC;;AAEA;IACI,kBAAkB;IAClB,cAAc;IACd,oBAAoB;AACxB;;AAEA,wBAAwB;AACxB;IACI,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,YAAY;IACZ,qBAAqB;IACrB,UAAU;IACV,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,sBAAsB;IACtB,4BAA4B;AAChC;;AAEA;IACI,2BAA2B;AAC/B;;AAEA,yBAAyB;AACzB;IACI,iCAAiC;IACjC,yBAAyB;IACzB,iBAAiB;IACjB,cAAc;IACd,yBAAyB;IACzB,2CAA2C;IAC3C,kCAAkC;IAClC,gBAAgB;AACpB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,wBAAwB;AAC5B;;AAEA,uCAAuC;AACvC;IACI,aAAa;IACb,uBAAuB;IACvB,WAAW;IACX,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;AAClB;;AAEA;IACI,iBAAiB;IACjB,cAAc;IACd,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,WAAW;IACX,gBAAgB;IAChB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,cAAc;AAClB;;AAEA;IACI,iBAAiB;IACjB,cAAc;IACd,gBAAgB;AACpB;;AAEA,yBAAyB;AACzB;IACI,yBAAyB;IACzB,WAAW;IACX,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;AACzB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;IACrB,mBAAmB;AACvB;;AAEA;iCACiC;;AAEjC,oDAAoD;AACpD;IACI,kBAAkB;IAClB,aAAa;IACb,mBAAmB;AACvB;AACA;IACI,qBAAqB;AACzB;AACA;IACI,kBAAkB;IAClB,cAAc;IACd,sBAAsB;AAC1B;AACA;IACI,YAAY;IACZ,UAAU;IACV,qBAAqB;IACrB,aAAa;IACb,2DAA2D;IAC3D,iBAAiB;AACrB;AACA;IACI,gBAAgB;IAChB,sBAAsB;AAC1B;AACA;IACI,kBAAkB;AACtB;AACA;IACI,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;AAClB;AACA;IACI,mBAAmB;IACnB,aAAa;IACb,sBAAsB;IACtB,WAAW;AACf;AACA;IACI,yBAAyB;IACzB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;AAC7B;AACA;IACI,kBAAkB;IAClB,cAAc;IACd,iBAAiB;AACrB;AACA;IACI,kBAAkB;IAClB,aAAa;IACb,WAAW;AACf;AACA;IACI,cAAc;AAClB;AACA;IACI,cAAc;AAClB;AACA;IACI,cAAc;AAClB;AACA;IACI,cAAc;AAClB;AACA;IACI,kBAAkB;IAClB,kBAAkB;AACtB;AACA;IACI,qBAAqB;IACrB,yBAAyB;IACzB,yBAAyB;IACzB,kBAAkB;IAClB,eAAe;IACf,qBAAqB;AACzB;AACA;IACI,cAAc;IACd,kBAAkB;IAClB,mBAAmB;AACvB","sources":["webpack:///./src/css/setup.css","webpack:///./src/css/setup-detail.css","webpack:///./src/css/run-dashboard.css","webpack:///./src/css/public-pages.css","webpack:///./src/css/project-detail.css","webpack:///./src/css/optimize_analysis.css","webpack:///./src/css/optimize.css","webpack:///./src/css/globals.css","webpack:///./src/css/get-started.css","webpack:///./src/css/data_health.css"],"sourcesContent":["/* Setup page CSS */\n\n/* Reset and base styles */\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n background-color: var(--background-color);\n color: var(--text-color);\n line-height: 1.5;\n min-height: 100vh;\n padding-top: var(--header-height);\n}\n\n/* Header styles */\n.header {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--header-height);\n background-color: var(--surface-color);\n box-shadow: var(--box-shadow);\n z-index: 100;\n}\n\n.header-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-width: 1200px;\n height: 100%;\n margin: 0 auto;\n padding: 0 1rem;\n}\n\n.logo-container img {\n height: 32px;\n width: auto;\n}\n\n.nav-menu ul {\n display: flex;\n list-style-type: none;\n}\n\n.nav-menu li {\n margin-left: 2rem;\n}\n\n.nav-menu a {\n color: var(--text-color);\n text-decoration: none;\n font-weight: 500;\n}\n\n.nav-menu a:hover {\n color: var(--primary-color);\n}\n\n/* Main content area */\n.main-content {\n max-width: 1200px;\n margin: 2rem auto;\n padding: 0 1rem;\n}\n\n/* Container styles */\n.container {\n background-color: var(--surface-color);\n border-radius: 0.5rem;\n padding: 2rem;\n box-shadow: var(--box-shadow);\n margin-bottom: 2rem;\n}\n\n.hidden {\n display: none !important;\n}\n\n/* Section header */\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 2rem;\n}\n\n.section-header h1 {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Form styles */\n.form-intro {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 1.5rem;\n}\n\n.form-intro code {\n font-size: 0.8125rem;\n color: var(--text-color);\n}\n\n.form-group {\n margin-bottom: 1.5rem;\n}\n\n.form-group-block {\n display: flex;\n justify-content: left;\n align-items: center;\n}\n\nlabel {\n display: block;\n font-size: 0.875rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n}\n\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"number\"],\nselect,\ntextarea {\n width: 100%;\n padding: 0.5rem;\n font-size: 1rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n background-color: #fff;\n}\n\ninput[type=\"number\"] {\n width: auto;\n}\n\ntextarea {\n min-height: 100px;\n resize: vertical;\n}\n\n.required {\n color: var(--error-color);\n}\n\n/* Checkbox styling */\n.form-group.checkbox {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.form-group.checkbox input {\n margin-right: 0.5rem;\n}\n\n.form-group.checkbox label {\n margin-bottom: 0;\n}\n\n/* ==========================================================================\n BAPI-548: attention-first setup dashboard\n Reuses the existing cream/coral globals.css tokens; no new palette fork.\n ========================================================================== */\n\n/* Dashboard header counters */\n.setup-dashboard-title-group {\n display: flex;\n align-items: baseline;\n gap: 0.75rem;\n flex-wrap: wrap;\n}\n\n.setup-dashboard-counts {\n font-size: 0.9rem;\n color: var(--secondary-color);\n}\n\n.setup-dashboard-count {\n color: var(--secondary-color);\n}\n\n.setup-dashboard-attention-count {\n color: var(--primary-color);\n font-weight: 700;\n}\n\n/* Projects list — single-column, low-density signpost list */\n.projects-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 1.25rem;\n}\n\n.project-card {\n background-color: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 0.75rem;\n padding: 1.25rem 1.5rem;\n display: flex;\n flex-direction: column;\n gap: 0.6rem;\n}\n\n/* Summary row: state dot + title + repo tag on the left, status pill on the right */\n.project-card-summary {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n flex-wrap: wrap;\n}\n\n.project-identity {\n display: flex;\n align-items: center;\n gap: 0.6rem;\n min-width: 0;\n}\n\n.project-state-dot {\n width: 0.65rem;\n height: 0.65rem;\n border-radius: 50%;\n flex-shrink: 0;\n background-color: var(--secondary-color);\n}\n\n.project-state-dot--ok { background-color: var(--success-color); }\n.project-state-dot--warning { background-color: var(--light-orange); }\n.project-state-dot--critical { background-color: var(--primary-color); }\n.project-state-dot--unknown { background-color: #cfcabc; }\n\n.project-title {\n font-size: 1.05rem;\n font-weight: 700;\n color: var(--text-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.project-repo-tag {\n font-size: 0.72rem;\n color: var(--secondary-color);\n background-color: var(--secondary-button-background);\n border: 1px solid var(--border-color);\n border-radius: 0.35rem;\n padding: 0.1rem 0.45rem;\n white-space: nowrap;\n}\n\n/* Status pill */\n.project-status-pill {\n font-size: 0.8rem;\n font-weight: 600;\n padding: 0.28rem 0.7rem;\n border-radius: 999px;\n white-space: nowrap;\n}\n\n.project-status-pill--ok {\n color: #0f8a5f;\n background-color: rgba(16, 185, 129, 0.14);\n}\n\n.project-status-pill--attention {\n color: var(--dark-orange);\n background-color: rgba(242, 178, 122, 0.28);\n}\n\n/* A card carrying any critical signal uses the coral (error) pill treatment. */\n.project-card--critical .project-status-pill--attention {\n color: var(--primary-color);\n background-color: rgba(226, 98, 75, 0.14);\n}\n\n/* Muted meta line */\n.project-meta-line {\n font-size: 0.8rem;\n color: var(--secondary-color);\n}\n\n/* Description — clamped to two lines */\n.project-description {\n font-size: 0.875rem;\n color: var(--secondary-color);\n line-height: 1.45;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n/* Attention panels (signposts) */\n.project-attention-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.attention-panel {\n display: flex;\n align-items: center;\n gap: 0.7rem;\n padding: 0.7rem 0.85rem;\n border-radius: 0.55rem;\n border: 1px solid transparent;\n}\n\n.attention-panel--warning {\n background-color: rgba(242, 178, 122, 0.18);\n border-color: rgba(242, 178, 122, 0.5);\n}\n\n.attention-panel--critical {\n background-color: rgba(226, 98, 75, 0.1);\n border-color: rgba(226, 98, 75, 0.35);\n}\n\n.attention-panel--unknown {\n background-color: transparent;\n border-style: dashed;\n border-color: var(--border-color);\n}\n\n.attention-icon {\n flex-shrink: 0;\n width: 1.75rem;\n height: 1.75rem;\n border-radius: 0.4rem;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.9rem;\n background-color: var(--surface-color);\n border: 1px solid var(--border-color);\n}\n\n.attention-content {\n display: flex;\n flex-direction: column;\n gap: 0.1rem;\n flex: 1;\n min-width: 0;\n}\n\n.attention-label {\n font-weight: 700;\n font-size: 0.85rem;\n color: var(--text-color);\n}\n\n.attention-message {\n font-size: 0.78rem;\n color: var(--secondary-color);\n}\n\n.attention-fix-link {\n flex-shrink: 0;\n font-size: 0.8rem;\n font-weight: 600;\n color: var(--primary-color);\n text-decoration: none;\n background-color: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 0.4rem;\n padding: 0.35rem 0.7rem;\n white-space: nowrap;\n}\n\n.attention-fix-link:hover {\n border-color: var(--primary-color);\n}\n\n.attention-fix-link--inert {\n color: var(--secondary-color);\n cursor: default;\n}\n\n/* \"Show all checks\" disclosure */\n.project-checks-details {\n font-size: 0.82rem;\n}\n\n.project-checks-summary {\n cursor: pointer;\n color: var(--secondary-color);\n font-weight: 600;\n padding: 0.2rem 0;\n width: fit-content;\n list-style: revert;\n}\n\n.project-checks-list {\n display: flex;\n flex-direction: column;\n gap: 0.35rem;\n margin-top: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.project-check-row {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.project-check-icon {\n flex-shrink: 0;\n width: 1.2rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.project-check-row--ok .project-check-icon { color: var(--success-color); }\n.project-check-row--warning .project-check-icon { color: var(--dark-orange); }\n.project-check-row--critical .project-check-icon { color: var(--primary-color); }\n\n/* Unknown / backend-dependent check rows are visually dashed & neutral. */\n.project-check-row--unknown {\n color: var(--secondary-color);\n border-left: 2px dashed var(--border-color);\n padding-left: 0.5rem;\n}\n\n.project-check-label { font-weight: 600; color: var(--text-color); }\n.project-check-message { color: var(--secondary-color); }\n\n/* Bottom launcher row + overflow */\n.project-actions-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 0.5rem;\n margin-top: 0.4rem;\n padding-top: 0.9rem;\n border-top: 1px solid var(--border-color);\n flex-wrap: wrap;\n}\n\n.project-launcher {\n display: flex;\n gap: 0.4rem;\n flex-wrap: wrap;\n}\n\n.project-launcher-link {\n font-size: 0.82rem;\n font-weight: 600;\n color: var(--text-color);\n text-decoration: none;\n background-color: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 0.45rem;\n padding: 0.4rem 0.8rem;\n}\n\n.project-launcher-link:hover {\n border-color: var(--primary-color);\n color: var(--primary-color);\n}\n\n.project-overflow {\n position: relative;\n}\n\n.project-overflow-summary {\n cursor: pointer;\n list-style: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2.2rem;\n height: 2.1rem;\n border: 1px solid var(--border-color);\n border-radius: 0.45rem;\n color: var(--secondary-color);\n font-weight: 700;\n}\n\n.project-overflow-summary::-webkit-details-marker { display: none; }\n\n.project-overflow-menu {\n position: absolute;\n right: 0;\n top: calc(100% + 0.35rem);\n z-index: 10;\n display: flex;\n flex-direction: column;\n min-width: 12rem;\n background-color: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 0.5rem;\n box-shadow: var(--box-shadow);\n padding: 0.35rem;\n}\n\n.project-overflow-action {\n font-size: 0.85rem;\n text-align: left;\n color: var(--text-color);\n text-decoration: none;\n background: none;\n border: none;\n border-radius: 0.35rem;\n padding: 0.5rem 0.6rem;\n cursor: pointer;\n font: inherit;\n}\n\n.project-overflow-action:hover {\n background-color: var(--secondary-button-background);\n}\n\n.project-overflow-action--delete {\n color: var(--error-color);\n}\n\n/* Empty & error states */\n.setup-empty-state,\n.setup-error-state {\n text-align: center;\n padding: 2.5rem 1.5rem;\n border: 1px dashed var(--border-color);\n border-radius: 0.75rem;\n background-color: var(--background-color);\n}\n\n.setup-empty-title,\n.setup-error-title {\n font-weight: 700;\n color: var(--text-color);\n margin-bottom: 0.4rem;\n}\n\n.setup-empty-message,\n.setup-error-message {\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.setup-error-state {\n border-color: rgba(239, 68, 68, 0.4);\n}\n\n.setup-error-title { color: var(--error-color); }\n\n/* Keyboard-visible focus styles for interactive dashboard controls */\n.project-launcher-link:focus-visible,\n.project-overflow-summary:focus-visible,\n.project-overflow-action:focus-visible,\n.attention-fix-link:focus-visible,\n.project-checks-summary:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n}\n\n/* Modal styles */\n.modal {\n display: none;\n position: fixed;\n z-index: 1000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: rgba(0, 0, 0, 0.4);\n}\n\n.modal-content {\n background-color: var(--surface-color);\n margin: 15% auto;\n padding: 2rem;\n border-radius: 0.5rem;\n width: 80%;\n max-width: 500px;\n box-shadow: var(--box-shadow);\n}\n\n.close-modal {\n color: var(--secondary-color);\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n}\n\n.close-modal:hover {\n color: var(--text-color);\n}\n\n#modal-title {\n margin-bottom: 1rem;\n}\n\n#modal-body {\n margin-bottom: 1rem;\n line-height: 1.5;\n}\n\n#modal-body ul {\n margin: 0.5rem 0;\n padding-left: 1.5rem;\n}\n\n#modal-body li {\n margin: 0.25rem 0;\n}\n\n#modal-body p {\n margin: 0.5rem 0;\n}\n\n.modal-actions {\n display: flex;\n justify-content: flex-end;\n gap: 0.75rem;\n margin-top: 1.5rem;\n padding-top: 1rem;\n border-top: 1px solid var(--border-color);\n}\n\n.modal-actions.hidden {\n display: none;\n}\n\n/* Loading overlay */\n.loading-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0.8);\n z-index: 2000;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.spinner {\n border: 4px solid rgba(0, 0, 0, 0.1);\n width: 40px;\n height: 40px;\n border-radius: 50%;\n border-top-color: var(--primary-color);\n animation: spin 1s linear infinite;\n margin-bottom: 1rem;\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .projects-grid {\n grid-template-columns: 1fr;\n }\n\n .header-container {\n padding: 0 1rem;\n }\n\n .nav-menu li {\n margin-left: 1rem;\n }\n\n .container {\n padding: 1.5rem;\n }\n\n .modal-content {\n width: 90%;\n margin: 10% auto;\n }\n\n /* BAPI-548: let the dashboard wrap instead of overflowing horizontally. */\n .project-card-summary {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.5rem;\n }\n\n .project-status-pill {\n align-self: flex-start;\n }\n\n .attention-panel {\n flex-wrap: wrap;\n }\n\n .attention-fix-link {\n margin-left: 2.45rem;\n }\n\n .project-actions-footer {\n flex-direction: column;\n align-items: stretch;\n }\n\n .project-launcher {\n justify-content: flex-start;\n }\n\n .project-overflow-menu {\n right: auto;\n left: 0;\n }\n}","/* src/css/setup-detail.css */\n\n/* Collapsible drawers specific to Setup Detail View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* Save button container specific to Setup Detail View */\n.save-container {\n display: flex;\n justify-content: center;\n margin-top: 2rem;\n}\n\n.save-container .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1rem;\n}\n\n/* Static text display (like repo name) */\n.form-static-text {\n background-color: var(--background-color);\n padding: 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n font-family: monospace;\n color: var(--secondary-color);\n margin-top: 0.5rem;\n word-break: break-all;\n}\n\n/* Header title specific to this page */\n.header-title {\n font-size: 1.2rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Explain Link Styling */\n.explain-link {\n display: inline-block;\n margin-left: 6px;\n padding: 1px 6px;\n font-size: 0.8em;\n font-weight: bold;\n color: #fff;\n background-color: #6c757d;\n border-radius: 50%;\n text-decoration: none;\n cursor: pointer;\n vertical-align: middle;\n line-height: 1.2;\n}\n\n.explain-link:hover {\n background-color: #444;\n text-decoration: none;\n}\n\n.explanation-content {\n /* Hidden by default via the global `.hidden` class in the markup; the JS\n toggles only `.hidden` (BAPI-301), so no base `display: none` here. */\n margin-top: 8px;\n padding: 10px;\n border: 1px solid #ced4da;\n border-radius: 4px;\n background-color: #f8f9fa;\n font-size: 0.9em;\n color: #495057;\n line-height: 1.4;\n}\n\n/* Structured server-sourced setup instructions (BAPI-515), rendered inside\n .explanation-content by renderExplanationContent(). Scoped to this wrapper\n only — the container above is left untouched. */\n.explanation-content .setup-instructions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.explanation-content .setup-instructions-link {\n color: var(--primary-color);\n font-weight: 500;\n text-decoration: underline;\n overflow-wrap: anywhere;\n}\n\n.explanation-content .setup-instructions-link:hover {\n color: var(--primary-dark);\n}\n\n.explanation-content .setup-instructions-link:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n}\n\n.explanation-content .setup-instructions-steps {\n margin: 0;\n padding-left: 20px;\n}\n\n.explanation-content .setup-instructions-steps li + li {\n margin-top: 4px;\n}\n\n.explanation-content .setup-instructions-note {\n margin: 0;\n color: var(--secondary-color);\n}\n\n/* Form error styling */\n.form-error {\n color: var(--error-color);\n font-size: 0.875rem;\n margin-top: 0.5rem;\n display: none;\n}\n\n.form-error.visible {\n display: block;\n}\n\ninput.input-error,\ntextarea.input-error,\nselect.input-error {\n border-color: var(--error-color);\n box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.25);\n}\n\n/* Required field indicator */\n.required {\n color: var(--error-color);\n}\n\n/* ========================================\n Data Integrity Section Styles\n ======================================== */\n\n/* Loading and error states */\n.integrity-loading,\n.integrity-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.integrity-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.integrity-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.integrity-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.integrity-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.integrity-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.integrity-stat-value.integrity-healthy {\n color: #16a34a;\n}\n\n/* Empty state */\n.integrity-empty-state {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.integrity-empty-state p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Issues table */\n.integrity-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.integrity-table th,\n.integrity-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.integrity-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.integrity-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.integrity-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* File list styling */\n.integrity-file-list {\n font-family: monospace;\n font-size: 0.8rem;\n background-color: #f1f5f9;\n padding: 0.5rem;\n border-radius: 4px;\n max-height: 150px;\n overflow-y: auto;\n margin: 0;\n list-style: none;\n}\n\n.integrity-file-list li {\n padding: 0.125rem 0;\n word-break: break-all;\n}\n\n.integrity-file-list li:not(:last-child) {\n border-bottom: 1px solid #e2e8f0;\n}\n\n.integrity-more-files {\n font-style: italic;\n color: var(--secondary-color);\n font-size: 0.8rem;\n margin-top: 0.25rem;\n}\n\n/* Issues container header */\n#integrity-issues-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n/* ========================================\n Configuration Health Section Styles\n ======================================== */\n\n/* Loading and error states */\n.config-health-loading,\n.config-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.config-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.health-stats {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.health-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.health-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.health-stat-value.config-healthy {\n color: #16a34a;\n}\n\n.health-stat-value.config-errors {\n color: var(--error-color);\n}\n\n.health-stat-value.config-warnings {\n color: #f59e0b;\n}\n\n/* All good state */\n.config-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.config-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Config health table */\n.config-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.config-health-table th,\n.config-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.config-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.config-health-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.config-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Status badge styling */\n.config-status-badge {\n display: inline-block;\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: uppercase;\n}\n\n.config-status-badge.status-missing {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.config-status-badge.status-invalid {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n/* Dismiss button styling */\n.dismiss-warning-btn {\n background-color: transparent;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.dismiss-warning-btn:hover {\n background-color: #f9fafb;\n border-color: var(--secondary-color);\n color: var(--text-color);\n}\n\n.dismiss-warning-btn:active {\n background-color: #f3f4f6;\n}\n\n.dismiss-warning-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Config errors/warnings container headers */\n#config-errors-container h3,\n#config-warnings-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#config-errors-container h3 {\n color: var(--error-color);\n}\n\n#config-warnings-container h3 {\n color: #f59e0b;\n}\n\n/* ========================================\n Pinecone Data Integrity Section Styles\n ======================================== */\n\n/* Actions container with button and last run text */\n.pinecone-health-actions {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.last-run-text {\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n/* Loading and error states */\n.pinecone-health-loading,\n.pinecone-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.pinecone-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* No results state */\n.pinecone-health-no-results {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n background-color: #f9fafb;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n.pinecone-health-no-results p {\n margin: 0;\n}\n\n/* Status container and badge */\n.pinecone-health-status-container {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.pinecone-health-status {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.pinecone-health-status.status-healthy {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.pinecone-health-status.status-error {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.pinecone-health-status.status-warning {\n background-color: #fef3c7;\n color: #92400e;\n}\n\n.pinecone-health-status.status-running {\n background-color: #dbeafe;\n color: #1e40af;\n}\n\n/* Summary statistics */\n.pinecone-health-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n flex-wrap: wrap;\n}\n\n.pinecone-health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 80px;\n}\n\n.pinecone-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.pinecone-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.pinecone-stat-value.stat-healthy {\n color: #16a34a;\n}\n\n.pinecone-stat-value.stat-error {\n color: var(--error-color);\n}\n\n/* All good state */\n.pinecone-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.pinecone-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Pinecone health table (shared styles for namespace and failures tables) */\n.pinecone-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n table-layout: fixed;\n}\n\n.pinecone-health-table th,\n.pinecone-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.pinecone-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.pinecone-health-table td {\n font-size: 0.875rem;\n vertical-align: middle;\n word-wrap: break-word;\n}\n\n.pinecone-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Namespace results table column widths */\n#pinecone-namespace-container .pinecone-health-table th:nth-child(1),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(1) {\n width: 25%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(2),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(5),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(5) {\n width: 12%;\n text-align: right;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(6),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(6) {\n width: 12%;\n text-align: center;\n}\n\n/* Sample failures table column widths */\n#pinecone-failures-container .pinecone-health-table th:nth-child(1),\n#pinecone-failures-container .pinecone-health-table td:nth-child(1) {\n width: 20%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(2),\n#pinecone-failures-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(3),\n#pinecone-failures-container .pinecone-health-table td:nth-child(3) {\n width: 30%;\n font-family: monospace;\n font-size: 0.8rem;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(4),\n#pinecone-failures-container .pinecone-health-table td:nth-child(4) {\n width: 35%;\n}\n\n/* Match indicator */\n.pinecone-match-badge {\n display: inline-block;\n padding: 0.125rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n}\n\n.pinecone-match-badge.match-yes {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.pinecone-match-badge.match-no {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n/* Container headers */\n#pinecone-namespace-container h3,\n#pinecone-failures-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#pinecone-failures-container h3 {\n color: var(--error-color);\n}\n\n/* ========================================\n Install Status Review Panel (BAPI-384)\n ======================================== */\n\n/* Intro paragraph below the page title */\n.setup-detail-intro {\n margin: 0.5rem 0 1.5rem;\n font-size: 0.9rem;\n color: var(--secondary-color);\n line-height: 1.5;\n}\n\n/* Top-level review panel; matches the drawer/panel border + radius + spacing */\n.install-status-panel {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 1rem;\n margin-bottom: 2rem;\n background-color: #f9fafb;\n}\n\n.install-status-panel-title {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.75rem;\n}\n\n/* Compact set/unset counts */\n.install-status-summary {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 1rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 1rem;\n}\n\n.install-status-summary-count {\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Manifest-driven group list */\n.install-status-groups {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.install-status-group {\n border-top: 1px solid var(--border-color);\n padding-top: 0.75rem;\n}\n\n.install-status-group-title {\n font-size: 0.875rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n.install-status-field-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.5rem;\n padding: 0.375rem 0;\n font-size: 0.875rem;\n}\n\n.install-status-field-name {\n font-weight: 500;\n color: var(--text-color);\n}\n\n.install-status-field-value {\n color: var(--secondary-color);\n word-break: break-word;\n}\n\n.install-status-field-confirm {\n font-size: 0.75rem;\n font-style: italic;\n color: #92400e;\n}\n\n/* Unavailable / error area */\n.install-status-error {\n padding: 0.75rem 1rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n background-color: #f9fafb;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n/* Base status badge — always pairs color with text, never color alone */\n.install-status-badge {\n display: inline-block;\n padding: 0.125rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1.4;\n white-space: nowrap;\n}\n\n.install-status-badge.status-set {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.install-status-badge.status-unset {\n background-color: #fef3c7;\n color: #92400e;\n}\n\n.install-status-badge.status-loading {\n background-color: #f1f5f9;\n color: var(--secondary-color);\n}\n\n.install-status-badge.status-unavailable {\n background-color: #f1f5f9;\n color: var(--secondary-color);\n}\n\n/* Inline badge slot next to a field label */\n.install-status-badge-slot {\n display: inline-flex;\n align-items: center;\n margin-left: 6px;\n vertical-align: middle;\n}\n\n/* Keyboard-focusable edit affordance — matches existing link/button affordances */\n.install-status-edit {\n background: none;\n border: none;\n padding: 0;\n font-size: 0.8rem;\n font-weight: 500;\n color: var(--primary-color, #2563eb);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.install-status-edit:hover {\n text-decoration: none;\n}\n\n.install-status-edit:focus-visible {\n outline: 2px solid var(--primary-color, #2563eb);\n outline-offset: 2px;\n border-radius: 0.25rem;\n}\n\n/* Mobile: keep labels/badges/edit controls from crowding the controls */\n@media (max-width: 600px) {\n .install-status-summary {\n gap: 0.5rem;\n }\n\n .install-status-field-row {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .install-status-badge-slot {\n margin-left: 0;\n margin-top: 0.25rem;\n }\n}\n\n","/* src/css/run-dashboard.css */\n/* Epic Conductor v2 run dashboard (BAPI-539, T8) — a dense, calm operations\n surface. Reuses the Warm Coral + Cream tokens from globals.css instead of\n hardcoding matching colors. Selectors are scoped under\n .run-dashboard-container so nothing here leaks onto other pages. */\n\n.run-dashboard-container .section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.run-dashboard-container .run-dashboard-error,\n.run-dashboard-container .gate-matrix-error,\n.run-dashboard-container .active-jobs-error,\n.run-dashboard-container .needs-human-error {\n background-color: #fef2f2;\n border: 1px solid var(--error-color);\n /* var(--error-color) text on this pale background is only 3.44:1 —\n below the 4.5:1 normal-text floor. var(--primary-dark) on the same\n background is 5.48:1. */\n color: var(--primary-dark);\n border-radius: 0.25rem;\n padding: 0.5rem 0.75rem;\n margin-bottom: 0.5rem;\n font-size: 14px;\n}\n\n/* -------------------------------------------------------------------- *\n * Run health summary\n * -------------------------------------------------------------------- */\n\n.run-dashboard-summary {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 1rem;\n margin-bottom: 1.5rem;\n}\n\n.run-health-card {\n background: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.75rem 1rem;\n box-shadow: var(--box-shadow);\n}\n\n.run-health-card--warning {\n border-color: var(--dark-orange);\n background: var(--secondary-button-background);\n}\n\n.run-health-card--error {\n border-color: var(--error-color);\n background: #fef2f2;\n}\n\n.run-health-card .card-label {\n font-size: 14px;\n color: var(--secondary-color);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n}\n\n.run-health-card .card-value {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* -------------------------------------------------------------------- *\n * Ticket x Gate matrix\n * -------------------------------------------------------------------- */\n\n.gate-matrix-wrapper {\n overflow-x: auto;\n}\n\n.gate-matrix-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 14px;\n}\n\n.gate-matrix-table th,\n.gate-matrix-table td {\n padding: 8px 12px;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n vertical-align: top;\n}\n\n.gate-matrix-table th {\n font-weight: 600;\n color: var(--secondary-color);\n white-space: nowrap;\n}\n\n.gate-cell {\n min-width: 96px;\n}\n\n.gate-status-badge {\n display: inline-block;\n padding: 4px 8px;\n border-radius: 999px;\n font-size: 14px;\n font-weight: 600;\n text-transform: capitalize;\n color: var(--text-color);\n background: var(--light-grey);\n}\n\n.gate-status-badge--passed {\n /* white on var(--success-color) is only 2.54:1. This darker shade of the\n same green is 5.34:1 against white. */\n background: #0f7a53;\n color: #ffffff;\n}\n\n.gate-status-badge--in_progress,\n.gate-status-badge--running {\n background: var(--light-orange);\n color: var(--text-color);\n}\n\n.gate-status-badge--needs_human {\n /* white on var(--error-color) is only 3.76:1. var(--primary-dark) is\n 6.00:1 against white and reuses an existing token. */\n background: var(--primary-dark);\n color: #ffffff;\n}\n\n.gate-status-badge--failed {\n background: var(--primary-dark);\n color: #ffffff;\n}\n\n.gate-status-badge--pending,\n.gate-status-badge--queued,\n.gate-status-badge--skipped {\n background: var(--light-grey);\n color: var(--secondary-color);\n}\n\n.gate-observation-detail {\n margin-top: 4px;\n}\n\n.gate-observation-detail summary {\n cursor: pointer;\n font-size: 14px;\n color: var(--secondary-color);\n}\n\n.observation-detail-body {\n margin-top: 4px;\n padding: 8px;\n background: var(--background-color);\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n font-size: 14px;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* -------------------------------------------------------------------- *\n * Active jobs\n * -------------------------------------------------------------------- */\n\n.active-job-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 12px;\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n font-size: 14px;\n}\n\n.active-job-row .phase-hint {\n color: var(--secondary-color);\n font-style: italic;\n}\n\n.active-job-row .job-commit-count,\n.active-job-row .job-activity {\n color: var(--secondary-color);\n}\n\n/* -------------------------------------------------------------------- *\n * Needs-human incident cards\n * -------------------------------------------------------------------- */\n\n.needs-human-card {\n background: var(--surface-color);\n border: 1px solid var(--dark-orange);\n border-radius: 0.25rem;\n padding: 1rem;\n margin-bottom: 1rem;\n}\n\n.needs-human-card h3 {\n margin-bottom: 8px;\n}\n\n.needs-human-field {\n margin-bottom: 4px;\n font-size: 14px;\n}\n\n.needs-human-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-top: 8px;\n}\n\n.needs-human-secondary-action {\n color: var(--secondary-color);\n font-size: 14px;\n font-style: italic;\n}\n\n/* -------------------------------------------------------------------- *\n * Monospace + empty state\n * -------------------------------------------------------------------- */\n\n.run-dashboard-container .monospace {\n font-family: 'Courier New', Courier, monospace;\n word-break: break-all;\n}\n\n.run-dashboard-container .empty-state {\n padding: 1.5rem;\n text-align: center;\n color: var(--secondary-color);\n font-size: 16px;\n}\n\n/* -------------------------------------------------------------------- *\n * Responsive\n * -------------------------------------------------------------------- */\n\n@media (max-width: 768px) {\n .run-dashboard-container .section-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.75rem;\n }\n\n .run-dashboard-summary {\n grid-template-columns: 1fr;\n }\n\n .gate-matrix-table {\n font-size: 14px;\n }\n\n .active-job-row {\n flex-direction: column;\n align-items: flex-start;\n gap: 4px;\n }\n}\n","/* Public-page styling for the homepage and the legal placeholder pages.\n Class-scoped only — no overrides of body, :root, .hidden, or form elements. */\n\n.public-page-header {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 1rem 0;\n margin-bottom: 1.5rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n.public-page-header a {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n color: inherit;\n}\n\n.public-page-logo {\n height: auto;\n max-width: 240px;\n width: 100%;\n display: block;\n}\n\n@media (max-width: 480px) {\n .public-page-logo {\n max-width: 180px;\n }\n}\n\n.public-page-hero {\n padding: 2rem 0 1.5rem;\n}\n\n.public-page-hero h1 {\n font-size: 1.75rem;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 1rem;\n}\n\n.public-page-copy {\n font-size: 1rem;\n color: var(--text-color);\n line-height: 1.6;\n}\n\n.public-page-copy p {\n margin-bottom: 0.75rem;\n}\n\n.public-page-actions {\n margin-top: 1.5rem;\n display: flex;\n gap: 0.75rem;\n flex-wrap: wrap;\n}\n\n.public-page-actions a {\n text-decoration: none;\n display: inline-block;\n}\n\n.public-page-footer {\n margin-top: 3rem;\n padding-top: 1.5rem;\n border-top: 1px solid var(--border-color);\n color: var(--secondary-color);\n font-size: 0.875rem;\n}\n\n.public-page-footer-nav {\n display: flex;\n gap: 1.5rem;\n flex-wrap: wrap;\n}\n\n.public-page-footer-nav a {\n color: var(--secondary-color);\n text-decoration: none;\n}\n\n.public-page-footer-nav a:hover {\n color: var(--primary-color);\n text-decoration: underline;\n}\n\n.legal-page-content {\n max-width: 800px;\n background-color: var(--surface-color);\n border-radius: 0.5rem;\n padding: 2rem;\n box-shadow: var(--box-shadow);\n}\n\n.legal-page-content h1 {\n font-size: 1.75rem;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n.legal-page-content .last-updated {\n color: var(--secondary-color);\n font-size: 0.875rem;\n margin-bottom: 1.5rem;\n}\n\n.legal-section {\n margin-bottom: 1.5rem;\n}\n\n.legal-section h2 {\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n.legal-section p {\n color: var(--text-color);\n line-height: 1.6;\n margin-bottom: 0.75rem;\n}\n","/* src/css/project-detail.css */\n\n/* Collapsible drawers specific to Project Detail View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* Save button container specific to Project Detail View */\n.save-container {\n display: flex;\n justify-content: center;\n margin-top: 2rem;\n}\n\n.save-container .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1rem;\n}\n\n/* Static text display (like project path) */\n.form-static-text {\n background-color: var(--background-color);\n padding: 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n font-family: monospace; /* Or choose appropriate font */\n color: var(--secondary-color);\n margin-top: 0.5rem; /* Align with inputs */\n word-break: break-all; /* Prevent long paths from breaking layout */\n}\n\n/* Header title specific to this page */\n.header-title {\n font-size: 1.2rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* Explain Link Styling */\n.explain-link {\n margin-left: 0.5rem;\n color: var(--primary-color);\n text-decoration: none;\n font-weight: bold;\n}\n\n.explain-link:hover {\n text-decoration: underline;\n}\n\n.explanation-content {\n margin-top: 0.5rem;\n padding: 0.75rem;\n background-color: #eef2ff; /* Light indigo background */\n border-left: 4px solid var(--primary-color);\n font-size: 0.875rem;\n color: #374151; /* Gray-700 */\n border-radius: 0 0.25rem 0.25rem 0; /* Slight rounding */\n flex-basis: 100%;\n width: 100%;\n}\n\n.project-card-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n/* Explanation link and content styles */\n.explain-link {\n display: inline-block;\n margin-left: 6px;\n padding: 1px 6px;\n font-size: 0.8em;\n font-weight: bold;\n color: #fff;\n background-color: #6c757d; /* Bootstrap secondary color */\n border-radius: 50%;\n text-decoration: none;\n cursor: pointer;\n vertical-align: middle; /* Align with the label text */\n line-height: 1.2;\n}\n\n.explain-link:hover {\n background-color: #444;\n text-decoration: none;\n}\n\n.explanation-content {\n /* Base styling only; visibility is toggled via the .hidden class so the JS\n can show/hide help without inline display mutations. */\n margin-top: 8px;\n padding: 10px;\n border: 1px solid #ced4da; /* Light grey border */\n border-radius: 4px;\n background-color: #f8f9fa; /* Light background */\n font-size: 0.9em;\n color: #495057;\n line-height: 1.4;\n}\n\n/* The shared setup-detail.css defines a global `.explanation-content { display:\n none }` that also lands in the bundled stylesheet. Scope the visible/hidden\n states to this page's container so they win deterministically regardless of\n bundle order, while leaving the setup-detail page's own behavior untouched.\n The .hidden variant has higher specificity so it always hides when present. */\n#project-detail-container .explanation-content {\n display: block;\n}\n\n#project-detail-container .explanation-content.hidden {\n display: none;\n}\n\n/* Added styles for JSON input textarea */\n.code-input {\n font-family: 'Courier New', Courier, monospace;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.75rem;\n font-size: 0.9rem;\n line-height: 1.4;\n width: 100%; /* Ensure it takes full width */\n}\n\n/* Add styles for input validation feedback */\n.form-error {\n color: #dc3545; /* Bootstrap danger color */\n font-size: 0.875em;\n margin-top: 0.25rem;\n display: none; /* Hide by default */\n}\n\ninput.input-error,\ntextarea.input-error,\nselect.input-error {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); /* Optional: Add a glow */\n}\n\n/* Ensure error messages are shown when they have content */\n.form-error:not(:empty) {\n display: block;\n}\n\n/* Added styles for validation error messages */\n.form-error {\n color: var(--error-color);\n font-size: 0.875rem;\n margin-top: 0.5rem;\n display: none; /* Hidden by default */\n}\n\n.form-error.visible {\n display: block; /* Visible when needed */\n}\n\n/* MCP Validation Manuals selector\n Lay each manual out on its own row with clear spacing between the checkbox and\n its label. JS-emitted classes (.mcp-doc-option/.mcp-doc-checkbox/.mcp-doc-label)\n are only styled here — never renamed. */\n.mcp-docs-checkbox-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-top: 0.5rem;\n}\n\n.mcp-doc-option {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n line-height: 1.4;\n cursor: pointer;\n}\n\n.mcp-doc-checkbox {\n margin: 0; /* drop inconsistent default checkbox margins */\n flex-shrink: 0; /* keep the checkbox from shrinking next to long labels */\n}\n\n.mcp-doc-label {\n /* Spacing comes from the parent's gap; keep the label inline and readable. */\n display: inline;\n}\n\n.mcp-docs-empty-state {\n margin-top: 0.5rem;\n padding: 0.5rem 0.75rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n color: var(--secondary-color);\n font-size: 0.875rem;\n}\n\n/* --- CI Follow-up sub-section (BAPI-308) --- */\n/* Page-scoped under #project-detail-container so these styles never leak to other\n Configure-page-like layouts. Uses existing semantic CSS variables. */\n#project-detail-container .ci-followup-section {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.75rem;\n margin-top: 0.5rem;\n}\n\n#project-detail-container .ci-followup-controls {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n margin-top: 0.75rem;\n}\n\n#project-detail-container .ci-followup-strategy-option {\n display: block;\n margin-bottom: 0.5rem;\n}\n\n/* .form-help styles all page-scoped help paragraphs (the deep-research stall\n timeout helper and the CI Follow-up strategy descriptions), not only the CI\n Follow-up sub-section. */\n#project-detail-container .form-help {\n margin: 0.25rem 0 0;\n color: var(--secondary-color);\n font-size: 0.875rem;\n}\n\n#project-detail-container .ci-followup-byte-counter {\n margin-top: 0.25rem;\n color: var(--secondary-color);\n font-size: 0.8125rem;\n}\n\n#project-detail-container .ci-followup-byte-counter.over-limit {\n color: var(--error-color);\n}\n\n/* BAPI-355: low-emphasis grouping for the TDD/FSD document-format controls.\n Keeps the existing drawer rhythm (form-group spacing, textarea readability,\n focus states inherited from the base textarea rules) while visually grouping\n the two document-format textareas under a shared intro paragraph. */\n#project-detail-container .form-group-document-format {\n border-left: 3px solid var(--border-color);\n padding-left: 0.75rem;\n}\n\n#project-detail-container .document-format-help {\n margin: 0 0 0.5rem;\n color: var(--secondary-color);\n font-size: 0.875rem;\n line-height: 1.4;\n}\n\n/* --- Difficulty-adaptive review policy overrides (BAPI-579) --- */\n/* Page-scoped, low-specificity kebab-case classes that reuse the cream/coral\n globals.css tokens (no new palette). State differences (default / override /\n invalid) are always carried by a text label, never color alone. */\n#project-detail-container .review-policy-section {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.75rem;\n margin-top: 0.5rem;\n}\n\n#project-detail-container .review-policy-intro {\n margin: 0.25rem 0 0.75rem;\n}\n\n/* Compact 1-10 boundary reference strip (display-only). */\n#project-detail-container .review-policy-boundary-strip {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n margin-bottom: 0.75rem;\n}\n\n#project-detail-container .review-policy-boundary-item {\n display: inline-flex;\n align-items: baseline;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 999px;\n background-color: var(--secondary-button-background);\n font-size: 0.8125rem;\n}\n\n#project-detail-container .review-policy-boundary-label {\n color: var(--text-color);\n font-weight: 600;\n}\n\n#project-detail-container .review-policy-boundary-range {\n color: var(--secondary-color);\n}\n\n#project-detail-container .review-policy-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 0.75rem;\n}\n\n#project-detail-container .review-policy-buckets {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n#project-detail-container .review-policy-bucket-card {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.75rem;\n background-color: var(--surface-color);\n}\n\n/* Invalid buckets get a coral edge AND a visible error message below the header. */\n#project-detail-container .review-policy-bucket-card--invalid {\n border-color: var(--error-color);\n box-shadow: 0 0 0 0.15rem rgba(239, 68, 68, 0.2);\n}\n\n#project-detail-container .review-policy-bucket-header {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n#project-detail-container .review-policy-bucket-heading {\n display: flex;\n flex-direction: column;\n margin-right: auto;\n}\n\n#project-detail-container .review-policy-bucket-name {\n font-weight: 600;\n color: var(--text-color);\n}\n\n#project-detail-container .review-policy-bucket-range {\n font-size: 0.8125rem;\n color: var(--secondary-color);\n}\n\n/* State chip: text label always present (\"Using built-in defaults\" /\n \"Override active\"); the color is a redundant, secondary cue. */\n#project-detail-container .review-policy-state {\n padding: 0.125rem 0.5rem;\n border-radius: 999px;\n font-size: 0.75rem;\n font-weight: 600;\n border: 1px solid var(--border-color);\n}\n\n#project-detail-container .review-policy-state--default {\n color: var(--secondary-color);\n background-color: var(--secondary-button-background);\n}\n\n#project-detail-container .review-policy-state--override {\n color: var(--primary-dark);\n border-color: var(--primary-color);\n background-color: var(--secondary-button-background);\n}\n\n#project-detail-container .review-policy-bucket-error {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\n/* Two automation columns side-by-side; stacks on narrow viewports (see media). */\n#project-detail-container .review-policy-groups {\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n}\n\n#project-detail-container .review-policy-group {\n flex: 1 1 220px;\n min-width: 0;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.5rem;\n background-color: var(--background-color);\n}\n\n#project-detail-container .review-policy-group-title {\n font-weight: 600;\n font-size: 0.875rem;\n margin-bottom: 0.5rem;\n color: var(--text-color);\n}\n\n#project-detail-container .review-policy-rounds {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n#project-detail-container .review-policy-round {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n#project-detail-container .review-policy-round-label {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n#project-detail-container .review-policy-round-label-text {\n font-size: 0.8125rem;\n color: var(--secondary-color);\n white-space: nowrap;\n}\n\n#project-detail-container .review-policy-tier-select {\n flex: 1 1 auto;\n min-width: 0;\n padding: 0.25rem 0.375rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n background-color: var(--surface-color);\n color: var(--text-color);\n font-size: 0.875rem;\n}\n\n#project-detail-container .review-policy-empty {\n margin: 0 0 0.5rem;\n font-size: 0.8125rem;\n font-style: italic;\n color: var(--secondary-color);\n}\n\n/* Buttons: neutral by default; the two reset actions read as low-emphasis. */\n#project-detail-container .review-policy-add-round,\n#project-detail-container .review-policy-remove-round,\n#project-detail-container .review-policy-reset-bucket,\n#project-detail-container .review-policy-reset-all {\n padding: 0.25rem 0.625rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n background-color: var(--secondary-button-background);\n color: var(--text-color);\n font-size: 0.8125rem;\n cursor: pointer;\n}\n\n#project-detail-container .review-policy-add-round:hover:not(:disabled),\n#project-detail-container .review-policy-remove-round:hover:not(:disabled),\n#project-detail-container .review-policy-reset-bucket:hover,\n#project-detail-container .review-policy-reset-all:hover {\n border-color: var(--primary-color);\n color: var(--primary-dark);\n}\n\n#project-detail-container .review-policy-add-round:disabled,\n#project-detail-container .review-policy-remove-round:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Keep a clearly-visible keyboard focus ring on every interactive control. */\n#project-detail-container .review-policy-tier-select:focus-visible,\n#project-detail-container .review-policy-add-round:focus-visible,\n#project-detail-container .review-policy-remove-round:focus-visible,\n#project-detail-container .review-policy-reset-bucket:focus-visible,\n#project-detail-container .review-policy-reset-all:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 1px;\n}\n\n/* Stack the clarify/critique groups on narrow viewports. */\n@media (max-width: 768px) {\n #project-detail-container .review-policy-groups {\n flex-direction: column;\n }\n\n #project-detail-container .review-policy-group {\n flex-basis: auto;\n }\n}","/* Code Analysis Styling */\n\n.hidden {\n display: none !important;\n}\n\n.analysis-section {\n margin-bottom: 2rem;\n padding-bottom: 1.5rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n#build-section {\n padding-top: 2rem;\n}\n\n.analysis-section:last-child {\n border-bottom: none;\n}\n\n.analysis-section h4 {\n margin-bottom: 1rem;\n font-size: 1.1rem;\n font-weight: 600;\n}\n\n.analysis-info-label {\n margin-bottom: 10px;\n font-style: italic;\n color: #555;\n line-height: 1.5;\n}\n\n.reanalyze-container {\n margin-top: 10px;\n font-size: 0.9em;\n}\n\n.reanalyze-container p {\n margin: 0;\n}\n\n.reanalyze-container a {\n color: var(--primary-color);\n text-decoration: none;\n font-weight: 500;\n}\n\n.reanalyze-container a:hover {\n text-decoration: underline;\n}\n\n.code-analysis {\n margin-top: 2rem;\n padding: 1rem 0;\n border-top: 1px solid var(--border-color);\n}\n\n.code-analysis h3 {\n margin-bottom: 1rem;\n font-size: 1.1rem;\n font-weight: 600;\n}\n\n.code-analysis form {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.code-analysis form > div {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.code-analysis label {\n font-weight: 500;\n color: var(--text-color);\n}\n\n.code-analysis select,\n.code-analysis textarea {\n padding: 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n font-family: inherit;\n}\n\n.code-analysis select:focus,\n.code-analysis textarea:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);\n}\n\n.status-message {\n margin-top: 0.5rem;\n font-size: 0.875rem;\n padding: 0.5rem;\n border-radius: 0.25rem;\n}\n\n.status-message.processing {\n background-color: #e0f2fe;\n color: #0277bd;\n border: 1px solid #81d4fa;\n}\n\n.status-message.success {\n background-color: #e8f5e8;\n color: #2e7d32;\n border: 1px solid #a5d6a7;\n}\n\n.status-message.error {\n background-color: #ffebee;\n color: #c62828;\n border: 1px solid #ef9a9a;\n}\n\n.textarea-wide {\n width: 100%;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.875rem;\n line-height: 1.4;\n resize: vertical;\n}\n\n.code-analysis button {\n align-self: flex-start;\n margin-top: 0.5rem;\n}\n","/* src/css/optimize.css */\n\n/* Collapsible drawers specific to Optimize View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* Planner sub-section */\n.planner-section {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin-top: 1rem;\n}\n\nselect[multiple] {\n min-height: 180px;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n/* Label styling */\nlabel {\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n display: block;\n}\n\n/* ====================================================================\n * LEARN REPOSITORY STYLES\n * ==================================================================== */\n#learn-repository-section {\n * {\n margin-top: 1rem;\n }\n\n padding-bottom: 2rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n.learn-section {\n padding-bottom: 1.5rem;\n margin-bottom: 1.5rem;\n border-bottom: 1px solid #e5e7eb;\n}\n\n.learn-section:last-of-type {\n border-bottom: none;\n margin-bottom: 0;\n}\n\n/* ====================================================================\n * LEARN REPOSITORY PER-SECTION STATE CLASSES (BAPI-307)\n *\n * Declarative per-section state cues. Visibility is driven ONLY by the global\n * `.hidden` class (toggled in JS by the renderer); these classes add a small\n * left-border status accent and never set display/visibility. `data-state` is\n * intentionally NOT used as a visibility mechanism, and `.hidden` is never\n * redefined here.\n * ==================================================================== */\n.learn-section.lr-state-idle {\n border-left: 3px solid var(--border-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-running {\n border-left: 3px solid var(--primary-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-review {\n border-left: 3px solid var(--primary-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-draft {\n border-left: 3px solid var(--primary-color);\n padding-left: 1rem;\n}\n\n.learn-section.lr-state-complete {\n border-left: 3px solid var(--text-color);\n padding-left: 1rem;\n}\n\n/* The Reanalyze control is now a <button> (BAPI-307) rather than an inline\n * link; keep it left-aligned as a block action within the section actions. */\n.lr-reanalyze-link {\n display: inline-block;\n}\n\n.lr-initial-mode-options {\n display: flex;\n flex-direction: row;\n gap: 1.25rem;\n align-items: center;\n}\n\n.lr-initial-mode-options label {\n display: inline;\n font-weight: normal;\n}\n\n.lr-in-progress-container {\n margin: 0.5rem 0 1rem;\n padding: 0.75rem 1rem;\n border: 1px solid var(--border-color);\n border-radius: 0.375rem;\n}\n\n/* Horizontal separation between the reanalyze Confirm and Cancel buttons.\n * Adjacent-sibling margin keeps the existing block-level radio labels from\n * being reflowed, which a flex/gap container would do. */\n.lr-reanalyze-confirm-btn + .lr-reanalyze-cancel-btn {\n margin-left: 0.5rem;\n}\n\n/* ====================================================================\n * ESTIMATOR SECTION STYLES\n * ==================================================================== */\n\n#estimator-section {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n#estimator-section > div {\n padding: 1rem;\n border-radius: 0.375rem;\n border: 1px solid var(--border-color);\n}\n\n#estimator-optimize {\n background-color: #f0f9ff;\n border-color: #0ea5e9;\n}\n\n#estimator-running {\n background-color: #fef3c7;\n border-color: #f59e0b;\n}\n\n#estimator-review {\n background-color: #f0fdf4;\n border-color: #22c55e;\n}\n\n#estimator-loading {\n background-color: #f3f4f6;\n border-color: var(--border-color);\n text-align: center;\n}\n\n#range-editor {\n margin: 1rem 0;\n}\n\n#range-json {\n width: 100%;\n min-height: 300px;\n padding: 0.75rem;\n border: 1px solid var(--border-color);\n border-radius: 0.375rem;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.875rem;\n line-height: 1.5;\n background-color: #f8fafc;\n resize: vertical;\n}\n\n#range-json:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);\n}\n\n.estimator-actions {\n display: flex;\n gap: 0.5rem;\n margin-top: 1rem;\n}\n\n.estimator-actions .btn {\n flex: 0 0 auto;\n}\n\n/* Responsive design for estimator */\n@media (max-width: 768px) {\n #range-json {\n min-height: 200px;\n font-size: 0.75rem;\n }\n \n .estimator-actions {\n flex-direction: column;\n }\n \n .estimator-actions .btn {\n width: 100%;\n }\n}\n\n/* Success/Error states for estimator messages */\n.estimator-message {\n padding: 0.75rem;\n border-radius: 0.375rem;\n margin-bottom: 1rem;\n}\n\n.estimator-message.success {\n background-color: #dcfce7;\n color: #166534;\n border: 1px solid #22c55e;\n}\n\n.estimator-message.error {\n background-color: #fef2f2;\n color: #991b1b;\n border: 1px solid #ef4444;\n}\n\n.estimator-message.info {\n background-color: #eff6ff;\n color: #1e40af;\n border: 1px solid #3b82f6;\n}\n\n.draft-review-container .btn + .btn {\n margin-left: 1.5rem;\n}\n","/* Font faces */\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Regular.ttf') format('truetype');\n font-weight: 400;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Italic.ttf') format('truetype');\n font-weight: 400;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-ExtraLight.ttf') format('truetype');\n font-weight: 200;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-ExtraLightItalic.ttf') format('truetype');\n font-weight: 200;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Light.ttf') format('truetype');\n font-weight: 300;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-LightItalic.ttf') format('truetype');\n font-weight: 300;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-SemiBold.ttf') format('truetype');\n font-weight: 600;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-SemiBoldItalic.ttf') format('truetype');\n font-weight: 600;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Bold.ttf') format('truetype');\n font-weight: 700;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-BoldItalic.ttf') format('truetype');\n font-weight: 700;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-Black.ttf') format('truetype');\n font-weight: 900;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Source Sans Pro';\n src: url('/public/fonts/SourceSansPro-BlackItalic.ttf') format('truetype');\n font-weight: 900;\n font-style: italic;\n}\n\n/* Global variables */\n:root {\n --primary-color: #E2624B;\n --primary-dark: #C51616;\n --secondary-color: #6b7280;\n --light-grey: #eee;\n --secondary-button-background: #fdf4ec;\n --light-orange: #F2B27A;\n --dark-orange: #e17055;\n --background-color: #fffdf0;\n --surface-color: #ffffff;\n --text-color: #393D4E;\n --border-color: #e6e4d5;\n --error-color: #ef4444;\n --success-color: #10b981;\n --header-height: 60px;\n --box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n}\n\n/* Reset and base styles */\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n background-color: var(--background-color);\n color: var(--text-color);\n line-height: 1.5;\n min-height: 100vh;\n padding-top: var(--header-height);\n}\n\n.hidden {\n display: none !important;\n}\n\n/* Button styles */\n.btn {\n cursor: pointer;\n padding: 0.75rem 2rem;\n border-radius: 4px;\n border: 1px solid transparent;\n font-size: 1rem;\n line-height: 1.25rem;\n transition: background-color 0.3s ease;\n}\n\n.btn-primary {\n background-color: var(--primary-color);\n color: white;\n}\n\n.btn-primary:hover {\n background-color: var(--primary-dark);\n}\n\n.btn-secondary {\n background-color: var(--secondary-button-background);\n border: 1px solid var(--light-orange);\n color: #333;\n}\n\n.btn-secondary:hover {\n text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);\n background-color: var(--dark-orange);\n color: white;\n} \n\n.btn-sm {\n padding: 0.2rem 0.5rem;\n font-size: 0.75rem;\n}\n\n.btn-danger {\n background-color: var(--error-color);\n color: white;\n}\n\n.btn-danger:hover {\n background-color: #b91c1c; /* darker red for hover */\n}\n\n.btn:disabled {\n background-color: #d1d5db;\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Form element base styles */\nlabel {\n display: block;\n font-size: 0.875rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n}\n\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"number\"],\ntextarea {\n width: 100%;\n padding: 0.5rem;\n font-size: 1rem;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n background-color: #fff;\n}\n\ninput[type=\"number\"] {\n width: auto;\n}\n\ntextarea {\n min-height: 100px;\n resize: vertical;\n}\n\n.required {\n color: var(--error-color);\n}\n\n/* Checkbox styling */\n.form-group.checkbox {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.form-group.checkbox input {\n margin-right: 0.5rem;\n}\n\n.form-group.checkbox label {\n margin-bottom: 0;\n}\n\n/* Modal base styles (if used globally) */\n.modal {\n display: none;\n position: fixed;\n z-index: 1000;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0,0,0,0.4);\n align-items: center;\n justify-content: center;\n}\n","/* ============================================================\n Get-Started onboarding page styles\n All rules scoped under #get-started-container\n ============================================================ */\n\n#get-started-container .get-started-intro {\n color: var(--text-muted, #666);\n max-width: 720px;\n margin-bottom: 1.5rem;\n line-height: 1.6;\n}\n\n/* ---- Section cards ---- */\n#get-started-container .get-started-section {\n background: var(--card-bg, #fff);\n border: 1px solid var(--border-color, #e0e0e0);\n border-radius: 8px;\n padding: 1.5rem;\n margin-bottom: 1.5rem;\n}\n\n#get-started-container .get-started-section h2 {\n margin-top: 0;\n font-size: 1.15rem;\n margin-bottom: 0.75rem;\n}\n\n/* ---- Install-key generation panel ---- */\n.install-key-panel {\n border: 1px solid var(--border-color, #e0e0e0);\n background: var(--code-bg, #f8f9fa);\n border-radius: 8px;\n padding: 1rem 1.25rem;\n margin: 0.75rem 0 1.25rem;\n}\n\n.install-key-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 1rem;\n flex-wrap: wrap;\n}\n\n.install-key-header h3 {\n margin: 0 0 0.25rem;\n font-size: 1rem;\n}\n\n.install-key-header p {\n margin: 0;\n font-size: 0.88rem;\n color: var(--text-muted, #666);\n max-width: 48ch;\n}\n\n.install-key-actions {\n display: flex;\n align-items: center;\n gap: 0.6rem;\n flex-shrink: 0;\n}\n\n.install-key-status {\n font-size: 0.82rem;\n color: var(--success-color, #28a745);\n}\n\n.install-key-error {\n margin: 0.75rem 0 0;\n font-size: 0.85rem;\n color: var(--danger-color, #dc3545);\n}\n\n.install-key-error.hidden {\n display: none;\n}\n\n.install-key-result {\n margin-top: 1rem;\n}\n\n.install-key-result.hidden {\n display: none;\n}\n\n/* Mirror the Security page warning treatment */\n.install-key-panel .key-warning {\n color: #856404;\n background: #fff3cd;\n border: 1px solid #ffc107;\n border-radius: 4px;\n padding: 0.75rem;\n margin-bottom: 0.75rem;\n font-weight: 600;\n font-size: 0.88rem;\n}\n\n.install-key-panel .key-display {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n flex-wrap: wrap;\n}\n\n.install-key-panel .key-display input {\n flex: 1;\n min-width: 200px;\n padding: 0.5rem 0.75rem;\n border: 1px solid var(--border-color, #dee2e6);\n border-radius: 4px;\n font-family: monospace;\n font-size: 0.85rem;\n background: #fff;\n}\n\n/* Snippet placeholder once the minted key has been injected */\n.bapi-api-key-slot-filled {\n background: #d4edda;\n color: #155724;\n font-style: normal;\n}\n\n/* ---- Snippet tabs ---- */\n#editor-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n margin-bottom: 1rem;\n border-bottom: 2px solid var(--border-color, #e0e0e0);\n padding-bottom: 0.25rem;\n}\n\n.snippet-tab-btn {\n background: none;\n border: none;\n padding: 0.4rem 0.8rem;\n cursor: pointer;\n font-size: 0.9rem;\n color: var(--text-muted, #666);\n border-radius: 4px 4px 0 0;\n border-bottom: 3px solid transparent;\n transition: color 0.15s, border-color 0.15s;\n}\n\n.snippet-tab-btn:hover {\n color: var(--primary-color, #007bff);\n}\n\n.snippet-tab-btn.active,\n.snippet-tab-btn[aria-selected=\"true\"] {\n color: var(--primary-color, #007bff);\n border-bottom-color: var(--primary-color, #007bff);\n font-weight: 600;\n}\n\n.snippet-tab-btn:focus-visible {\n outline: 2px solid var(--primary-color, #007bff);\n outline-offset: 2px;\n}\n\n/* ---- Code panels ---- */\n.snippet-panel {\n margin-bottom: 0.5rem;\n}\n\n.snippet-panel.hidden {\n display: none;\n}\n\n.snippet-meta {\n font-size: 0.78rem;\n color: var(--text-muted, #888);\n margin-bottom: 0.4rem;\n font-family: monospace;\n}\n\n.snippet-notes {\n font-size: 0.85rem;\n color: var(--text-muted, #666);\n margin-bottom: 0.5rem;\n font-style: italic;\n}\n\n.snippet-panel pre {\n background: var(--code-bg, #f5f5f5);\n border: 1px solid var(--border-color, #ddd);\n border-radius: 6px;\n padding: 1rem;\n overflow-x: auto;\n margin-bottom: 0.5rem;\n max-width: 100%;\n}\n\n.snippet-panel code {\n font-family: 'Courier New', Courier, monospace;\n font-size: 0.82rem;\n line-height: 1.5;\n white-space: pre;\n word-break: normal;\n overflow-wrap: normal;\n}\n\n/* API-key placeholder slot */\n.bapi-api-key-slot {\n background: #fff3cd;\n color: #856404;\n border-radius: 3px;\n padding: 0 2px;\n font-style: italic;\n font-weight: 600;\n}\n\n/* ---- Copy row ---- */\n.snippet-copy-row {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-top: 0.25rem;\n}\n\n.copy-status {\n font-size: 0.82rem;\n color: var(--success-color, #28a745);\n min-width: 60px;\n}\n\n/* ---- /install-bridge hand-off ---- */\n.install-bridge-notice {\n background: #fff8e1;\n border-left: 4px solid #f59e0b;\n padding: 0.75rem 1rem;\n border-radius: 4px;\n margin-bottom: 1rem;\n font-size: 0.9rem;\n line-height: 1.5;\n}\n\n.handoff-copy-row {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n}\n\n.handoff-command {\n background: var(--code-bg, #f5f5f5);\n border: 1px solid var(--border-color, #ddd);\n border-radius: 4px;\n padding: 0.3rem 0.6rem;\n font-size: 0.95rem;\n font-family: monospace;\n}\n\n/* ---- Config-status readout ---- */\n.status-summary {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 1rem;\n flex-wrap: wrap;\n}\n\n.status-total {\n font-size: 0.85rem;\n color: var(--text-muted, #666);\n}\n\n.status-chip {\n display: inline-block;\n padding: 0.2rem 0.6rem;\n border-radius: 12px;\n font-size: 0.8rem;\n font-weight: 600;\n letter-spacing: 0.02em;\n}\n\n.status-set {\n background: #d4edda;\n color: #155724;\n}\n\n.status-unset {\n background: #f8d7da;\n color: #721c24;\n}\n\n.status-group {\n margin-bottom: 1rem;\n}\n\n.status-group-title {\n font-size: 0.9rem;\n font-weight: 600;\n color: var(--text-muted, #555);\n margin: 0 0 0.4rem;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n}\n\n.status-field-row {\n display: flex;\n align-items: baseline;\n gap: 0.6rem;\n padding: 0.25rem 0;\n border-bottom: 1px solid var(--border-color, #eee);\n flex-wrap: wrap;\n}\n\n.status-field-row:last-child {\n border-bottom: none;\n}\n\n.status-field-name {\n font-size: 0.88rem;\n font-family: monospace;\n}\n\n.status-field-value {\n font-size: 0.8rem;\n color: var(--text-muted, #888);\n font-family: monospace;\n word-break: break-all;\n}\n\n.status-empty {\n color: var(--text-muted, #888);\n font-style: italic;\n font-size: 0.9rem;\n}\n\n/* ---- Integrations checklist (BAPI-516) ---- */\n/* Collapse the container entirely when the checklist renders nothing so the\n absent-safe / fail-open cases leave no visual gap. */\n#get-started-container .install-integrations:empty {\n display: none;\n}\n\n.install-integrations:not(:empty) {\n margin: 0.75rem 0 1rem;\n padding-top: 0.75rem;\n border-top: 1px solid var(--border-color, #eee);\n}\n\n.install-integrations-title {\n font-size: 1rem;\n font-weight: 600;\n margin: 0 0 0.35rem;\n}\n\n.install-integrations-note {\n color: var(--text-muted, #666);\n font-size: 0.8rem;\n line-height: 1.5;\n margin: 0 0 0.6rem;\n}\n\n.install-integrations-list {\n display: flex;\n flex-direction: column;\n gap: 0.35rem;\n}\n\n.install-integration-row {\n flex-wrap: wrap;\n}\n\n/* Integration labels are human-readable names, not field keys — override the\n monospace treatment inherited from .status-field-name. */\n.install-integration-label {\n font-family: inherit;\n font-size: 1rem;\n font-weight: 600;\n}\n\n.install-integration-required {\n font-size: 0.875rem;\n line-height: 1.5;\n overflow-wrap: anywhere;\n}\n\n.install-integration-link {\n color: var(--primary-color, #0066cc);\n font-size: 0.875rem;\n text-decoration: underline;\n}\n\n.install-integration-link:focus-visible {\n outline: 2px solid var(--primary-color, #0066cc);\n outline-offset: 2px;\n}\n\n/* ---- Skeleton loading ---- */\n.get-started-state {\n padding: 1rem 0;\n}\n\n.get-started-state.hidden {\n display: none;\n}\n\n.skeleton {\n background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);\n background-size: 200% 100%;\n animation: skeleton-shimmer 1.4s infinite;\n border-radius: 6px;\n margin-bottom: 0.75rem;\n}\n\n@keyframes skeleton-shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n.skeleton-tabs {\n height: 36px;\n width: 70%;\n}\n\n.skeleton-code {\n height: 160px;\n width: 100%;\n}\n\n.skeleton-status {\n height: 80px;\n width: 100%;\n}\n\n/* ---- Inline error ---- */\n.get-started-error-msg {\n color: var(--danger-color, #dc3545);\n margin-bottom: 0.75rem;\n}\n\n/* ---- Footer link ---- */\n.get-started-footer {\n margin-top: 1rem;\n text-align: center;\n}\n\n/* ---- Responsive ---- */\n@media (max-width: 600px) {\n .snippet-tab-btn {\n padding: 0.35rem 0.55rem;\n font-size: 0.82rem;\n }\n\n .handoff-copy-row {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .install-key-header {\n flex-direction: column;\n }\n\n .install-key-actions {\n width: 100%;\n }\n\n .install-key-actions .btn {\n flex: 1;\n }\n\n .install-key-panel .key-display {\n flex-direction: column;\n align-items: stretch;\n }\n\n .install-key-panel .key-display input,\n .install-key-panel .key-display .btn {\n width: 100%;\n }\n\n .status-field-row {\n flex-direction: column;\n gap: 0.2rem;\n }\n\n /* Collapse checklist rows into a readable single-column stack at narrow\n widths so long required-for text never forces horizontal overflow. */\n .install-integration-row {\n align-items: flex-start;\n }\n\n .install-integration-required {\n overflow-wrap: anywhere;\n }\n\n .github-connect-actions {\n flex-direction: column;\n align-items: stretch;\n }\n\n .github-connect-actions .btn {\n width: 100%;\n }\n}\n\n/* ============================================================\n GitHub App connect flow (BAPI-506)\n ============================================================ */\n\n#get-started-container .github-connect-section {\n /* Inherits .get-started-section card rhythm; nothing extra needed here. */\n}\n\n.github-connect-card {\n border: 1px solid var(--border-color, #e0e0e0);\n background: var(--card-bg, #fff);\n border-radius: 8px;\n padding: 1rem 1.25rem;\n margin-top: 0.75rem;\n}\n\n.github-connect-card > p {\n color: var(--text-muted, #666);\n line-height: 1.6;\n margin-top: 0;\n}\n\n.github-connect-actions {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 0.5rem 0.75rem;\n margin: 0.75rem 0;\n}\n\n#github-connect-status {\n color: var(--text-muted, #666);\n font-size: 0.9rem;\n}\n\n.github-connect-result {\n border: 1px solid var(--border-color, #e0e0e0);\n border-radius: 6px;\n padding: 0.75rem 1rem;\n margin: 0.75rem 0;\n}\n\n.github-connect-result-title {\n font-weight: 600;\n margin: 0 0 0.25rem;\n}\n\n.github-connect-result--success {\n border-color: var(--success-color, #2e7d32);\n background: var(--success-bg, #edf7ee);\n}\n\n.github-connect-result--warning {\n border-color: var(--warning-color, #b26a00);\n background: var(--warning-bg, #fff6e5);\n}\n\n.github-connect-result--error {\n border-color: var(--error-color, #c62828);\n background: var(--error-bg, #fdecea);\n}\n\n/* ---- Ambiguous-install repository picker ---- */\n.github-repo-picker-panel {\n border: 1px solid var(--border-color, #e0e0e0);\n background: var(--code-bg, #f8f9fa);\n border-radius: 6px;\n padding: 0.75rem 1rem;\n margin: 0.75rem 0;\n}\n\n.github-repo-picker-list {\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n margin-top: 0.5rem;\n}\n\n.github-repo-picker-option {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.15rem;\n text-align: left;\n width: 100%;\n overflow-wrap: anywhere;\n word-break: break-word;\n}\n\n.github-repo-picker-option:focus-visible {\n outline: 2px solid var(--focus-ring, #1a73e8);\n outline-offset: 2px;\n}\n\n.github-repo-picker-option-name {\n font-weight: 600;\n overflow-wrap: anywhere;\n}\n\n.github-repo-picker-option-owner {\n color: var(--text-muted, #666);\n font-size: 0.85rem;\n}\n\n/* ---- Manual fallback helper text ---- */\n.github-manual-fallback {\n color: var(--text-muted, #666);\n font-size: 0.9rem;\n margin-top: 0.75rem;\n margin-bottom: 0;\n}\n","/* src/css/data_health.css */\n\n/* Collapsible drawers for Data Health View */\n.collapsible-drawers {\n margin-bottom: 2rem;\n}\n\n.drawer {\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n background-color: #f9fafb;\n cursor: pointer;\n}\n\n.drawer-header h2 {\n font-size: 1rem;\n font-weight: 500;\n}\n\n.toggle-drawer {\n background: none;\n border: none;\n font-size: 1rem;\n cursor: pointer;\n transition: transform var(--drawer-transition);\n}\n\n.drawer-content {\n padding: 1rem;\n border-top: 1px solid var(--border-color);\n /* Visibility is controlled solely by the global `.hidden` class (BAPI-301);\n `.expanded` is reserved for header/glyph styling. The shared drawer helper\n sets the ▲/▼ glyph text directly, so no CSS rotation is applied. */\n}\n\n/* ========================================\n Parse / Learn Repository Jobs Section Styles\n ======================================== */\n\n.parse-repository-jobs-section,\n.learn-repository-jobs-section {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n\n/* Last-ran timestamp shown under the Update Repository action.\n Replaces a former inline style on the template. */\n.operation-last-ran {\n margin-top: 0.5rem;\n font-size: 0.875rem;\n}\n\n/* Parse schedule status panel. Replaces the former inline-styled status\n blocks; state colors come from global design tokens (no hardcoded colors). */\n.parse-schedule-status {\n margin-top: 0.75rem;\n padding: 0.75rem;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n font-size: 0.875rem;\n}\n\n.parse-schedule-status--active {\n color: var(--success-color);\n border-color: var(--success-color);\n}\n\n.parse-schedule-status--paused,\n.parse-schedule-status--empty {\n color: var(--dark-orange);\n border-color: var(--dark-orange);\n}\n\n.parse-schedule-next-run {\n display: block;\n margin-top: 0.25rem;\n color: var(--text-color);\n}\n\n.parse-schedule-actions {\n margin-top: 0.5rem;\n display: flex;\n gap: 0.5rem;\n}\n\n.operation-row {\n display: flex;\n flex-direction: column;\n padding-bottom: 1rem;\n border-bottom: 1px solid var(--border-color);\n}\n\n.operation-row:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.operation-item {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.operation-item .btn {\n align-self: flex-start;\n}\n\n.operation-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n line-height: 1.4;\n}\n\n.schedule-controls {\n display: flex;\n gap: 1rem;\n margin-top: 0.5rem;\n align-items: flex-end;\n}\n\n.schedule-controls .form-group {\n margin-bottom: 0;\n}\n\n.schedule-controls .form-group.inline {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.schedule-controls .form-group.inline label {\n font-size: 0.75rem;\n color: var(--secondary-color);\n}\n\n.schedule-controls .form-group.inline input,\n.schedule-controls .form-group.inline select {\n width: auto;\n min-width: 120px;\n padding: 0.375rem 0.5rem;\n font-size: 0.875rem;\n}\n\n/* ========================================\n Data Integrity Section Styles\n ======================================== */\n\n/* Loading and error states */\n.integrity-loading,\n.integrity-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.integrity-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.integrity-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.integrity-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.integrity-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.integrity-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.integrity-stat-value.integrity-healthy {\n color: #16a34a;\n}\n\n/* Empty state */\n.integrity-empty-state {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.integrity-empty-state p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Issues table */\n.integrity-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.integrity-table th,\n.integrity-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.integrity-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.integrity-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.integrity-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* File list styling */\n.integrity-file-list {\n font-family: monospace;\n font-size: 0.8rem;\n background-color: #f1f5f9;\n padding: 0.5rem;\n border-radius: 4px;\n max-height: 150px;\n overflow-y: auto;\n margin: 0;\n list-style: none;\n}\n\n.integrity-file-list li {\n padding: 0.125rem 0;\n word-break: break-all;\n}\n\n.integrity-file-list li:not(:last-child) {\n border-bottom: 1px solid #e2e8f0;\n}\n\n.integrity-more-files {\n font-style: italic;\n color: var(--secondary-color);\n font-size: 0.8rem;\n margin-top: 0.25rem;\n}\n\n/* Issues container header */\n#integrity-issues-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n}\n\n/* ========================================\n Configuration Health Section Styles\n ======================================== */\n\n/* Loading and error states */\n.config-health-loading,\n.config-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.config-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* Summary statistics */\n.health-stats {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n}\n\n.health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.health-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.health-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.health-stat-value.health-configured {\n color: #16a34a;\n}\n\n.health-stat-value.health-errors {\n color: var(--error-color);\n}\n\n.health-stat-value.health-warnings {\n color: #f59e0b;\n}\n\n/* All good state */\n.config-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.config-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Config health table */\n.config-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\n.config-health-table th,\n.config-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.config-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.config-health-table td {\n font-size: 0.875rem;\n vertical-align: top;\n}\n\n.config-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Status badge styling */\n.config-status-badge {\n display: inline-block;\n padding: 0.25rem 0.5rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: uppercase;\n}\n\n.config-status-badge.status-missing {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.config-status-badge.status-invalid {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n/* Dismiss button / text button styling */\n.btn-text {\n background-color: transparent;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: 0.875rem;\n color: var(--secondary-color);\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-text:hover {\n background-color: #f9fafb;\n border-color: var(--secondary-color);\n color: var(--text-color);\n}\n\n.btn-text:active {\n background-color: #f3f4f6;\n}\n\n.btn-text:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Config errors/warnings container headers */\n#config-errors-container h3,\n#config-warnings-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#config-errors-container h3 {\n color: var(--error-color);\n}\n\n#config-warnings-container h3 {\n color: #f59e0b;\n}\n\n/* ========================================\n Pinecone Data Integrity Section Styles\n ======================================== */\n\n/* Actions container with button and last run text */\n.pinecone-health-actions {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.last-run-text {\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n/* Loading and error states */\n.pinecone-health-loading,\n.pinecone-health-error {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n}\n\n.pinecone-health-error {\n color: var(--error-color);\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 0.25rem;\n}\n\n/* No results state */\n.pinecone-health-no-results {\n padding: 1rem;\n text-align: center;\n color: var(--secondary-color);\n background-color: #f9fafb;\n border: 1px solid var(--border-color);\n border-radius: 0.25rem;\n}\n\n.pinecone-health-no-results p {\n margin: 0;\n}\n\n/* Status container and badge */\n.pinecone-health-status-container {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.pinecone-health-status {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 0.25rem;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.pinecone-health-status.status-healthy {\n background-color: #dcfce7;\n color: #166534;\n}\n\n.pinecone-health-status.status-error {\n background-color: #fef2f2;\n color: #991b1b;\n}\n\n.pinecone-health-status.status-warning {\n background-color: #fef3c7;\n color: #92400e;\n}\n\n.pinecone-health-status.status-running {\n background-color: #dbeafe;\n color: #1e40af;\n}\n\n/* Summary statistics */\n.pinecone-health-summary {\n display: flex;\n gap: 2rem;\n margin-bottom: 1.5rem;\n padding: 1rem;\n background-color: #f9fafb;\n border-radius: 0.25rem;\n flex-wrap: wrap;\n}\n\n.pinecone-health-stat {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 80px;\n}\n\n.pinecone-health-stat-label {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin-bottom: 0.25rem;\n}\n\n.pinecone-health-stat-value {\n font-size: 1.5rem;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* All good state */\n.pinecone-health-all-good {\n padding: 1.5rem;\n text-align: center;\n background-color: #f0fdf4;\n border: 1px solid #bbf7d0;\n border-radius: 0.25rem;\n color: #166534;\n}\n\n.pinecone-health-all-good p {\n margin: 0;\n font-weight: 500;\n}\n\n/* Pinecone health table (shared styles for namespace and failures tables) */\n.pinecone-health-table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n table-layout: fixed;\n}\n\n.pinecone-health-table th,\n.pinecone-health-table td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\n.pinecone-health-table th {\n background-color: #f9fafb;\n font-weight: 500;\n font-size: 0.875rem;\n color: var(--secondary-color);\n}\n\n.pinecone-health-table td {\n font-size: 0.875rem;\n vertical-align: middle;\n word-wrap: break-word;\n}\n\n.pinecone-health-table tbody tr:hover {\n background-color: #f9fafb;\n}\n\n/* Namespace results table column widths */\n#pinecone-namespace-container .pinecone-health-table th:nth-child(1),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(1) {\n width: 25%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(2),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(3),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(4),\n#pinecone-namespace-container .pinecone-health-table th:nth-child(5),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(5) {\n width: 12%;\n text-align: right;\n}\n\n#pinecone-namespace-container .pinecone-health-table th:nth-child(6),\n#pinecone-namespace-container .pinecone-health-table td:nth-child(6) {\n width: 12%;\n text-align: center;\n}\n\n/* Sample failures table column widths */\n#pinecone-failures-container .pinecone-health-table th:nth-child(1),\n#pinecone-failures-container .pinecone-health-table td:nth-child(1) {\n width: 20%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(2),\n#pinecone-failures-container .pinecone-health-table td:nth-child(2) {\n width: 15%;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(3),\n#pinecone-failures-container .pinecone-health-table td:nth-child(3) {\n width: 30%;\n font-family: monospace;\n font-size: 0.8rem;\n}\n\n#pinecone-failures-container .pinecone-health-table th:nth-child(4),\n#pinecone-failures-container .pinecone-health-table td:nth-child(4) {\n width: 35%;\n}\n\n/* Container headers */\n#pinecone-namespace-container h3,\n#pinecone-failures-container h3 {\n font-size: 1rem;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 0.5rem;\n margin-top: 1.5rem;\n}\n\n#pinecone-failures-container h3 {\n color: var(--error-color);\n}\n\n/* ========================================\n Pinecone Regenerate Section Styles\n ======================================== */\n\n.pinecone-regenerate-section {\n margin-top: 1.5rem;\n padding-top: 1.5rem;\n border-top: 1px solid var(--border-color);\n}\n\n.pinecone-regenerate-section h4 {\n font-size: 0.95rem;\n font-weight: 600;\n color: var(--text-color);\n margin: 0 0 0.5rem 0;\n}\n\n.regenerate-instructions {\n font-size: 0.875rem;\n color: var(--secondary-color);\n margin: 0 0 0.75rem 0;\n}\n\n.regenerate-checkboxes {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.regenerate-checkboxes .checkbox-label {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.875rem;\n cursor: pointer;\n}\n\n.regenerate-checkboxes .checkbox-label input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n accent-color: var(--primary-color);\n}\n\n.regenerate-checkboxes .checkbox-label span {\n color: var(--text-color);\n}\n\n.regenerate-checkboxes .namespace-name {\n font-family: monospace;\n font-size: 0.8rem;\n background-color: #f1f5f9;\n padding: 0.125rem 0.375rem;\n border-radius: 0.25rem;\n color: var(--secondary-color);\n}\n\n.regenerate-checkboxes .metadata-warning {\n font-size: 0.75rem;\n color: #f59e0b;\n margin-left: 0.25rem;\n}\n\n/* Info tooltip button */\n.info-tooltip-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n margin-left: 0.375rem;\n padding: 0;\n font-size: 0.75rem;\n color: #6b7280;\n background: none;\n border: none;\n cursor: pointer;\n vertical-align: middle;\n transition: color 0.15s ease;\n}\n\n.info-tooltip-btn:hover {\n color: var(--primary-color);\n}\n\n/* Namespace info panel */\n.namespace-info {\n margin: 0.375rem 0 0.75rem 1.5rem;\n padding: 0.625rem 0.75rem;\n font-size: 0.8rem;\n color: #4b5563;\n background-color: #f3f4f6;\n border-left: 3px solid var(--primary-color);\n border-radius: 0 0.25rem 0.25rem 0;\n line-height: 1.4;\n}\n\n.namespace-info.hidden {\n display: none;\n}\n\n.namespace-info strong {\n color: var(--text-color);\n}\n\n/* Note styling (softer than warning) */\n.regenerate-note {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n padding: 0.625rem 0.75rem;\n background-color: #eff6ff;\n border: 1px solid #bfdbfe;\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n}\n\n.regenerate-note .note-label {\n font-size: 0.8rem;\n font-weight: 600;\n color: #1e40af;\n}\n\n.regenerate-note .note-text {\n font-size: 0.8rem;\n color: #1e40af;\n line-height: 1.4;\n}\n\n.regenerate-warning {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n padding: 0.75rem;\n background-color: #fef3c7;\n border: 1px solid #fcd34d;\n border-radius: 0.25rem;\n margin-bottom: 1rem;\n}\n\n.regenerate-warning .warning-icon {\n font-size: 1rem;\n line-height: 1;\n}\n\n.regenerate-warning .warning-text {\n font-size: 0.8rem;\n color: #92400e;\n line-height: 1.4;\n}\n\n/* Warning button style */\n.btn-warning {\n background-color: #f59e0b;\n color: #fff;\n border: 1px solid #d97706;\n}\n\n.btn-warning:hover {\n background-color: #d97706;\n border-color: #b45309;\n}\n\n.btn-warning:active {\n background-color: #b45309;\n}\n\n.btn-warning:disabled {\n background-color: #fcd34d;\n border-color: #fcd34d;\n cursor: not-allowed;\n}\n\n/* `.hidden` is provided by the global utility in src/css/globals.css; do not\n redefine it here (BAPI-301). */\n\n/* Phase 1b: Learn-repository auto-update schedule */\n.learn-repo-schedule-section {\n border-radius: 6px;\n padding: 1rem;\n margin-top: 0.75rem;\n}\n.learn-repo-schedule-section h4 {\n margin: 0 0 0.25rem 0;\n}\n.learn-repo-instructions {\n font-size: 0.85rem;\n color: #6b7280;\n margin-bottom: 0.75rem;\n}\n.learn-repo-analysis-types {\n border: none;\n padding: 0;\n margin: 0 0 0.75rem 0;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 0.25rem 1rem;\n}\n.learn-repo-analysis-types legend {\n font-weight: 600;\n margin-bottom: 0.25rem;\n}\n.learn-repo-actions {\n margin-top: 0.5rem;\n}\n.learn-repo-message {\n margin-top: 0.5rem;\n font-size: 0.875rem;\n color: #1f2937;\n}\n.learn-repo-schedule-status {\n margin-top: 0.75rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.learn-repo-schedule-row {\n border: 1px solid #e5e7eb;\n border-radius: 4px;\n padding: 0.75rem;\n background-color: #f9fafb;\n}\n.learn-repo-schedule-meta {\n font-size: 0.85rem;\n color: #4b5563;\n margin: 0.25rem 0;\n}\n.learn-repo-row-actions {\n margin-top: 0.5rem;\n display: flex;\n gap: 0.5rem;\n}\n.learn-repo-status-running {\n color: #2563eb;\n}\n.learn-repo-status-success {\n color: #15803d;\n}\n.learn-repo-status-failure {\n color: #b91c1c;\n}\n.learn-repo-status-idle {\n color: #6b7280;\n}\n.learn-repo-schedule-row details {\n margin-top: 0.5rem;\n font-size: 0.85rem;\n}\n.learn-repo-schedule-row details pre {\n white-space: pre-wrap;\n background-color: #ffffff;\n border: 1px solid #e5e7eb;\n border-radius: 3px;\n padding: 0.5rem;\n margin: 0.25rem 0 0 0;\n}\n.form-error {\n color: #b91c1c;\n font-size: 0.85rem;\n margin-top: 0.25rem;\n}\n"],"names":[],"sourceRoot":""}