From 705cab9435dc71b6e6aca10f6f3c0f7d2affce32 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 17 Apr 2024 22:38:01 -0700 Subject: [PATCH 01/59] Allows resetting expense accounts --- src/clj/auto_ap/graphql/transactions.clj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/clj/auto_ap/graphql/transactions.clj b/src/clj/auto_ap/graphql/transactions.clj index e8398c27..ff92785c 100644 --- a/src/clj/auto_ap/graphql/transactions.clj +++ b/src/clj/auto_ap/graphql/transactions.clj @@ -374,8 +374,12 @@ set (conj "A") (conj "HQ"))))] - - (when-not (dollars= (Math/abs (:transaction/amount existing-transaction)) account-total) + + (when (and (not (dollars= (Math/abs (:transaction/amount existing-transaction)) account-total)) + (or + (and (= approval_status :unapproved) + (> (count accounts) 0)) + (not= approval_status :unapproved))) (let [error (str "Expense account total (" account-total ") does not equal transaction total (" (Math/abs (:transaction/amount existing-transaction)) ")")] (throw (ex-info error {:validation-error error})))) (when missing-locations From 61338dd4fc9a26a013ca17179d03137db256b875 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 17 Apr 2024 23:29:04 -0700 Subject: [PATCH 02/59] fixes a couple of dropdown-related bugs. --- src/clj/auto_ap/graphql/utils.clj | 2 +- src/clj/auto_ap/ssr/components/navbar.clj | 22 ++++++++++++---------- src/cljs/auto_ap/events.cljs | 10 ++++------ 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/clj/auto_ap/graphql/utils.clj b/src/clj/auto_ap/graphql/utils.clj index 4486b09b..07f411de 100644 --- a/src/clj/auto_ap/graphql/utils.clj +++ b/src/clj/auto_ap/graphql/utils.clj @@ -98,7 +98,7 @@ (= (:user/role id) "admin") nil - (#{"manager" "user" "power-user"} (:user/role id)) + (#{"manager" "user" "power-user" "read-only"} (:user/role id)) (:user/clients id []))) diff --git a/src/clj/auto_ap/ssr/components/navbar.clj b/src/clj/auto_ap/ssr/components/navbar.clj index e5617063..14714967 100644 --- a/src/clj/auto_ap/ssr/components/navbar.clj +++ b/src/clj/auto_ap/ssr/components/navbar.clj @@ -1,12 +1,11 @@ (ns auto-ap.ssr.components.navbar - (:require - [auto-ap.graphql.utils :refer [is-admin?]] - [auto-ap.ssr-routes :as ssr-routes] - [auto-ap.ssr.company-dropdown :as cd] - [auto-ap.ssr.components.buttons :refer [icon-button-]] - [auto-ap.ssr.components.user-dropdown :as user-dropdown] - [auto-ap.ssr.svg :as svg] - [bidi.bidi :as bidi])) + (:require [auto-ap.graphql.utils :refer [is-admin? limited-clients]] + [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.company-dropdown :as cd] + [auto-ap.ssr.components.buttons :refer [icon-button-]] + [auto-ap.ssr.components.user-dropdown :as user-dropdown] + [auto-ap.ssr.svg :as svg] + [bidi.bidi :as bidi])) (defn navbar- [{:keys [client-selection client identity clients dd-env]}] [:nav {:class "fixed z-30 w-full bg-white border-b border-gray-200 dark:bg-gray-800 dark:border-gray-700"} @@ -39,7 +38,10 @@ :hx-target "#modal-holder" :hx-swap "outerHTML"} svg/search) - (cd/dropdown {:client-selection client-selection :client client :identity identity - :clients clients}) + (let [limited-clients (limited-clients identity)] + (when (or (nil? limited-clients) + (> (count limited-clients) 1)) + (cd/dropdown {:client-selection client-selection :client client :identity identity + :clients clients}))) (user-dropdown/dropdown {:identity identity})]]]]) diff --git a/src/cljs/auto_ap/events.cljs b/src/cljs/auto_ap/events.cljs index f2c34ba9..1bca20c2 100644 --- a/src/cljs/auto_ap/events.cljs +++ b/src/cljs/auto_ap/events.cljs @@ -77,12 +77,10 @@ (and token last-client-id (not last-selected-clients)) - [(js/parseInt last-client-id)] + {:selected [(js/parseInt last-client-id)]} :else nil)] - - (cond (= :login handler) {:db (cond-> (assoc db/default-db @@ -135,11 +133,11 @@ ::received-initial (fn [{:keys [db]} [_ {clients :client}]] (let [only-one-client (when (= 1 (count clients)) - (->> clients first :id))] + (->> clients first :id js/parseInt))] (when only-one-client (.setItem js/localStorage "last-client-id" only-one-client) (.setItem js/localStorage "last-selected-clients" - (pr-str [(js/parseInt only-one-client)]))) + (.stringify js/JSON (clj->js {:selected [only-one-client]})))) {:db (cond-> (-> db (assoc :clients (by :id clients)) (assoc :is-initial-loading? false) @@ -149,7 +147,7 @@ (filter #(= % (:last-client-id db))) first)))) only-one-client (assoc :last-client-id only-one-client - :selected-clients [only-one-client])) + :selected-clients {:selected [only-one-client]})) :interval {:action :start :id :refresh-clients :frequency 600000 From 76c0ccb4a7c16f93c8480b2d036cb91c010aaefb Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 18 Apr 2024 00:33:54 -0700 Subject: [PATCH 03/59] Starts deleting voided orders after they've been imported --- src/clj/auto_ap/square/core3.clj | 67 ++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/src/clj/auto_ap/square/core3.clj b/src/clj/auto_ap/square/core3.clj index 1c5e82ed..a0f87f40 100644 --- a/src/clj/auto_ap/square/core3.clj +++ b/src/clj/auto_ap/square/core3.clj @@ -800,6 +800,69 @@ :client/square-integration-status (assoc integration-status :db/id (or (-> client :client/square-integration-status :db/id) (str (java.util.UUID/randomUUID))))}])) +(defn max-date [d1 d2] + (if (time/after? d1 d2) + d1 + d2)) + + + +(defn remove-voided-orders + ([client] + (apply de/zip + (for [square-location (:client/square-locations client) + :when (:square-location/client-location square-location)] + (remove-voided-orders client square-location (time/plus (time/now) (time/days -14)) (time/now))))) + ([client location start end] + (let [start (max-date start (coerce/to-date-time #inst "2024-04-15T00:00:00-08:00"))] + (capture-context->lc + (-> (de/chain (search client location start end) + (fn [search-results] + (->> (or search-results []) + (s/->source) + (s/filter #(not (should-import-order? %))) + (s/map #(mu/with-context lc (order->sales-order client location %))) + (s/buffer 10) + (s/realize-each) + (s/filter (fn already-exists [[o]] + (when (:sales-order/external-id o) + (seq (dc/q '[:find ?i + :in $ ?ei + :where [?i :sales-order/external-id ?ei]] + (dc/db conn) + (:sales-order/external-id o)))))) + (s/map (fn [[o]] + [[:db/retractEntity [:sales-order/external-id (:sales-order/external-id o)]]])) + + (s/reduce into []))) + + (fn [results] + (mu/with-context lc + (doseq [x (partition-all 100 results)] + (log/info ::removing-orders + :count (count x)) + @(dc/transact-async conn x))))) + (de/catch (fn [e] + (log/warn ::couldnt-remove :error e) + nil) )))))) + +#_(comment + (require 'auto-ap.time-reader) + + + + @(let [[c [l]] (get-square-client-and-location "NGAK") ] + (log/peek :x [ c l]) + + (remove-voided-orders c l #clj-time/date-time "2024-04-11" #clj-time/date-time "2024-04-15")) + (doseq [c (get-square-clients)] + (try + @(remove-voided-orders c) + (catch Exception e + nil))) + + + ) (defn upsert-all [& clients] (capture-context->lc @@ -819,6 +882,10 @@ (mu/with-context lc (log/info ::upsert-orders-started) (upsert client))) + (fn [_] + (mu/with-context lc + (log/info ::remove-voided-orders-started) + (remove-voided-orders client))) (fn [_] (mu/with-context lc (log/info ::upsert-payouts-started) From 7b15b35eff0438033f1c8b6cba4b7ebd38e55e48 Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 18 Apr 2024 10:54:54 -0700 Subject: [PATCH 04/59] calls out client on summaries. --- src/clj/auto_ap/ssr/admin/sales_summaries.clj | 24 +++++++++++++------ src/clj/user.fiddle | 24 ++++++++++++++++++- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/clj/auto_ap/ssr/admin/sales_summaries.clj b/src/clj/auto_ap/ssr/admin/sales_summaries.clj index 05c8e506..fb4c7043 100644 --- a/src/clj/auto_ap/ssr/admin/sales_summaries.clj +++ b/src/clj/auto_ap/ssr/admin/sales_summaries.clj @@ -45,6 +45,7 @@ (def default-read '[:db/id [:sales-summary/date :xform clj-time.coerce/from-date] + {:sales-summary/client [:client/code :client/name]} *]) ;; TODO (defn fetch-ids [db request] @@ -140,10 +141,19 @@ :title "Sales Summaries" :entity-name "Daily Summary" :route ::route/table - :headers [{:key "date" + :headers [{:key "client" + :name "Client" + :sort-key "client" + :hide? (fn [args] + (= (count (:clients args)) 1)) + :render #(-> % :sales-summary/client :client/code)} + + + {:key "date" :name "Date" :sort-key "date" :render #(some-> % :sales-summary/date (atime/unparse-local atime/normal-date))} + {:key "credits" :name "credits" :sort-key "credits" @@ -151,11 +161,11 @@ (let [total-debits (reduce + 0.0 (vals (get-debits ss))) total-credits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss))) - (reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss)))) - (reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss)))) + (reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss)))) + (reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss)))) - (:sales-summary/total-tax ss 0.0) - (:sales-summary/total-tip ss 0.0))] + (:sales-summary/total-tax ss 0.0) + (:sales-summary/total-tip ss 0.0))] [:ul (for [[n x] (group-by :sales-summary-item/category (:sales-summary/sales-items ss))] [:li n ": " (format "$%,.2f" (- (+ (reduce + 0.0 (map :sales-summary-item/total x)) @@ -181,7 +191,7 @@ cash-payments discounts fees gift-card-payments returns refunds] :as debits} (get-debits ss) - + total-debits (reduce + 0.0 (vals debits)) total-credits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss))) @@ -196,7 +206,7 @@ [:li "Food App Payments: " (format "$%,.2f" food-app-payments)] -[:li "Gift Card Payments" + [:li "Gift Card Payments" (format "$%,.2f" gift-card-payments)] [:li "Cash Payments: " diff --git a/src/clj/user.fiddle b/src/clj/user.fiddle index 75b90a2f..643f5413 100644 --- a/src/clj/user.fiddle +++ b/src/clj/user.fiddle @@ -1,4 +1,5 @@ (init-repl) + (comment (defn setup-randy-queries [] (import '[java.util UUID]) @@ -324,4 +325,25 @@ @(dc/transact conn [{:bank-account/code "NGKG-AMEX81007" :bank-account/visible true}]) - ) \ No newline at end of file + ) + + +(clojure.data.csv/write-csv *out* + (let [db (dc/db conn)] + + (dc/q '[:find ?d4 ?s (sum ?total) + :in $ [?clients ?start-date ?end-date] + :where + [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/source ?s] + [?e :sales-order/total ?total] + [?e :sales-order/date ?d] + [(iol-ion.query/excel-date ?d) ?d4]] + + db + [ + [ (pull-attr db :db/id [:client/code "NGRV"])] + #inst "2024-03-01" #inst "2024-03-30"])) + :separator \tab) + +(pull-attr (dc/db conn) :db/id [:client/code "NGRV"]) From 58217158e31f62a16e41b8fca6f8b38b764e11cf Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 18 Apr 2024 12:37:11 -0700 Subject: [PATCH 05/59] Adds unknown processor to payments --- resources/schema.edn | 5 +++ src/clj/auto_ap/jobs/sales_summaries.clj | 32 +++++++++++++++++-- src/clj/auto_ap/ssr/admin/sales_summaries.clj | 10 ++++-- 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/resources/schema.edn b/resources/schema.edn index 3092422f..1c5e1156 100644 --- a/resources/schema.edn +++ b/resources/schema.edn @@ -1932,6 +1932,11 @@ :db/noHistory true, :db/valueType :db.type/double :db/cardinality :db.cardinality/one} + {:db/ident :sales-summary/total-unknown-processor-payments + :db/noHistory true, + :db/valueType :db.type/double + :db/cardinality :db.cardinality/one} + {:db/ident :sales-summary/total-cash-refunds :db/noHistory true, :db/valueType :db.type/double diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 583ddc11..5de94d79 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -135,6 +135,18 @@ (dc/db conn) [[c] date date])) 0.0) + :sales-summary/total-unknown-processor-payments + (or (ffirst (dc/q '[:find (sum ?total) + :with ?c + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/charges ?c] + [?c :charge/type-name "OTHER"] + [?c :charge/processor :ccp-processor/na] + [?c :charge/total ?total]] + (dc/db conn) + [[c] date date])) + 0.0) :sales-summary/total-card-fees (or (ffirst (dc/q '[:find ?f :in $ ?client ?d @@ -250,10 +262,24 @@ (dc/q '[:find (pull ?sos [* {:sales-summary/sales-items [*]}]) :in $ - :where [?sos :sales-summary/client [:client/code "NGCL"]] + :where [?sos :sales-summary/client [:client/code "NGHW"]] [?sos :sales-summary/date ?d] - [(= ?d #inst "2024-03-25T00:00:00-07:00")]] - (dc/db conn))) + [(= ?d #inst "2024-04-10T00:00:00-07:00")]] + (dc/db conn)) + + (dc/q '[:find ?n ?p2 (sum ?total) + :with ?c + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/charges ?c] + [?c :charge/type-name ?n] + [?c :charge/processor ?p] + [?p :db/ident ?p2] + [?c :charge/total ?total]] + (dc/db conn) + [[(auto-ap.datomic/pull-attr (dc/db conn) :db/id [:client/code "NGHW"])] #inst "2024-04-11T00:00:00-07:00" #inst "2024-04-11T00:00:00-07:00"]) + + ) diff --git a/src/clj/auto_ap/ssr/admin/sales_summaries.clj b/src/clj/auto_ap/ssr/admin/sales_summaries.clj index fb4c7043..ffa03afa 100644 --- a/src/clj/auto_ap/ssr/admin/sales_summaries.clj +++ b/src/clj/auto_ap/ssr/admin/sales_summaries.clj @@ -104,8 +104,8 @@ (:sales-summary/total-food-app-fees ss 0.0) (- (:sales-summary/total-food-app-refunds ss 0.0))) :gift-card-payments (+ (:sales-summary/total-gift-card-payments ss 0.0) - (:sales-summary/total-gift-card-fees ss 0.0) - (- (:sales-summary/total-gift-card-refunds ss 0.0))) + (:sales-summary/total-gift-card-fees ss 0.0) + (- (:sales-summary/total-gift-card-refunds ss 0.0))) #_#_:refunds (+ (:sales-summary/total-food-app-refunds ss 0.0) (:sales-summary/total-card-refunds ss 0.0) (:sales-summary/total-cash-refunds ss 0.0)) @@ -113,6 +113,7 @@ :fees (- (:sales-summary/total-card-fees ss 0.0)) :cash-payments (+ (:sales-summary/total-cash-payments ss 0.0) (- (:sales-summary/total-cash-refunds ss 0.0))) + :total-unknown-processor-payments (:sales-summary/total-unknown-processor-payments ss 0.0) :discounts (+ (:sales-summary/discount ss 0.0)) :returns (+ (:sales-summary/total-returns ss 0.0))}) @@ -190,7 +191,7 @@ (let [{:keys [card-payments food-app-payments cash-payments discounts fees gift-card-payments - returns refunds] :as debits} (get-debits ss) + returns refunds total-unknown-processor-payments] :as debits} (get-debits ss) total-debits (reduce + 0.0 (vals debits)) total-credits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss))) @@ -208,6 +209,9 @@ (format "$%,.2f" food-app-payments)] [:li "Gift Card Payments" (format "$%,.2f" gift-card-payments)] + [:li "Unknown Processor Payments: " + + (format "$%,.2f" total-unknown-processor-payments)] [:li "Cash Payments: " (format "$%,.2f" cash-payments)] From 706924c21ca26ed99dfc47d5fd73370ccee0e7e3 Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 18 Apr 2024 14:04:24 -0700 Subject: [PATCH 06/59] shipping fix. --- src/cljs/auto_ap/views/pages/transactions/table.cljs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cljs/auto_ap/views/pages/transactions/table.cljs b/src/cljs/auto_ap/views/pages/transactions/table.cljs index 3d78fb88..f5f00c46 100644 --- a/src/cljs/auto_ap/views/pages/transactions/table.cljs +++ b/src/cljs/auto_ap/views/pages/transactions/table.cljs @@ -130,7 +130,7 @@ [:td (date->str (:date payment) pretty)] [:td [buttons/fa-icon {:icon "fa-external-link" - :href (str (bidi/path-for ssr-routes/only-routes ::payment-route/page) + :href (str (bidi/path-for ssr-routes/only-routes ::payment-route/all-page) "?" (url/map->query {:exact-match-id (:id payment)}))}]]]) (when expected-deposit From 22e92c819b886e95170f642d27a7b64aeeb93dff Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 19 Apr 2024 21:48:28 -0700 Subject: [PATCH 07/59] Adds new expense report, with ability to break down by vendor --- iol_ion/src/iol_ion/query.clj | 6 +++ resources/input.css | 23 ++++++++-- resources/public/output.css | 2 +- src/clj/auto_ap/jobs/sales_summaries.clj | 7 +++- src/clj/auto_ap/query_params.clj | 1 + src/clj/auto_ap/square/core3.clj | 18 +++++++- src/clj/auto_ap/ssr/company/reports.clj | 53 ++++++++++++++---------- src/clj/auto_ap/ssr/components/aside.clj | 14 ++++++- src/clj/auto_ap/ssr/core.clj | 4 +- src/clj/user.fiddle | 24 ++++++++++- src/cljc/auto_ap/ssr_routes.cljc | 4 +- src/cljs/auto_ap/views/pages/home.cljs | 30 ++++++++++---- 12 files changed, 141 insertions(+), 45 deletions(-) diff --git a/iol_ion/src/iol_ion/query.clj b/iol_ion/src/iol_ion/query.clj index 76ed64d7..c62c0f77 100644 --- a/iol_ion/src/iol_ion/query.clj +++ b/iol_ion/src/iol_ion/query.clj @@ -36,6 +36,12 @@ localize (f/unparse excel-formatter ))) +(def iso-formatter (f/with-zone (f/formatter "yyyy-MM-dd") (time/time-zone-for-id "America/Los_Angeles"))) +(defn iso-date [d] + (->> d + (coerce/to-date-time) + localize + (f/unparse iso-formatter ))) (defn sales-orders-in-range [db client start end] (let [end (or end #inst "2050-01-01")] diff --git a/resources/input.css b/resources/input.css index 0bbe8621..cd85a218 100644 --- a/resources/input.css +++ b/resources/input.css @@ -242,11 +242,26 @@ } -/* Use this selector to override the line style on a given series */ .ct-series-a .ct-bar { - /* Set the colour of this series line */ stroke: #79b52e; fill: #79b52e; - /* Control the thikness of your lines */ - stroke-width: 20px; } + +.ct-series-b .ct-bar { + stroke: #ff0303; + fill: #ff0303; +} + +.ct-series-c .ct-bar { + stroke: #009cea; + fill: #009cea; +} + +.ct-series-d .ct-bar { + stroke: #f48017; + fill: #f48017; +} +.ct-series-e .ct-bar { + stroke: #9c27b0; + fill: #9c27b0; +} \ No newline at end of file diff --git a/resources/public/output.css b/resources/public/output.css index 443f03e3..a770f38f 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' aria-hidden='true' viewBox='0 0 10 6'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:.55em .55em;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' aria-hidden='true' viewBox='0 0 16 12'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}.dark [type=radio]:checked,[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' aria-hidden='true' viewBox='0 0 16 12'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.max-w-24{max-width:6rem}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e;stroke-width:20px}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 5de94d79..676ed011 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -254,9 +254,14 @@ (comment (auto-ap.datomic/transact-schema conn) + @(dc/transact conn [{:db/ident :sales-summary/total-unknown-processor-payments + :db/noHistory true, + :db/valueType :db.type/double + :db/cardinality :db.cardinality/one}]) + (apply mark-dirty [:client/code "NGCL"] (last-n-days 12)) - (mark-all-dirty 30) + (mark-all-dirty 50) (sales-summaries) diff --git a/src/clj/auto_ap/query_params.clj b/src/clj/auto_ap/query_params.clj index c36837aa..9d6c47a1 100644 --- a/src/clj/auto_ap/query_params.clj +++ b/src/clj/auto_ap/query_params.clj @@ -4,6 +4,7 @@ [clj-time.core :as time] [clojure.string :as str])) +;; TODO should be able to get rid of this (defn wrap-copy-qp-pqp [handler] (fn [request] (handler (assoc request :parsed-query-params (:query-params request))))) diff --git a/src/clj/auto_ap/square/core3.clj b/src/clj/auto_ap/square/core3.clj index a0f87f40..56286276 100644 --- a/src/clj/auto_ap/square/core3.clj +++ b/src/clj/auto_ap/square/core3.clj @@ -1002,7 +1002,21 @@ - (clojure.pprint/pprint (let [[c [l]] (get-square-client-and-location "NGWC")] + (require 'auto-ap.time-reader) + + (clojure.pprint/pprint (let [[c [l]] (get-square-client-and-location "NGHW")] + + (def z @(search c l #clj-time/date-time "2024-04-10T00:00:00-08:00" + #clj-time/date-time "2024-04-13T00:00:00-08:00")))) + + (->> z + (filter (fn [o] + (seq (filter (comp #{"OTHER"} :type) (:tenders o))))) + (filter #(not (:name (:source %)))) + (count) + + ) + + #_(filter (comp #{"OTHER"} :type) (mapcat :tenders z)) - (get-order c l "yzmLBYVGhKXUPwGXm482GJb2VX9YY"))) ) \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/company/reports.clj b/src/clj/auto_ap/ssr/company/reports.clj index cf6fad3a..12ef490e 100644 --- a/src/clj/auto_ap/ssr/company/reports.clj +++ b/src/clj/auto_ap/ssr/company/reports.clj @@ -1,25 +1,23 @@ (ns auto-ap.ssr.company.reports - (:require - [amazonica.aws.s3 :as s3] - [auto-ap.datomic - :refer [add-sorter-fields - apply-pagination - apply-sort-3 - conn - merge-query - pull-many - query2]] - [auto-ap.graphql.utils :refer [assert-can-see-client is-admin?]] - [auto-ap.ssr-routes :as ssr-routes] - [auto-ap.ssr.components :as com] - [auto-ap.ssr.grid-page-helper :as helper] - [auto-ap.ssr.svg :as svg] - [auto-ap.ssr.utils :refer [html-response]] - [auto-ap.time :as atime] - [bidi.bidi :as bidi] - [clojure.set :as set] - [config.core :refer [env]] - [datomic.api :as dc])) + (:require [amazonica.aws.s3 :as s3] + [auto-ap.datomic + :refer [add-sorter-fields apply-pagination apply-sort-3 conn merge-query + pull-many query2]] + [auto-ap.graphql.utils :refer [assert-can-see-client is-admin?]] + [auto-ap.routes.utils :refer [wrap-client-redirect-unauthenticated + wrap-secure]] + [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.company.reports.expense :as company-expense-report] + [auto-ap.ssr.components :as com] + [auto-ap.ssr.grid-page-helper :as helper] + [auto-ap.ssr.svg :as svg] + [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers + html-response]] + [auto-ap.time :as atime] + [bidi.bidi :as bidi] + [clojure.set :as set] + [config.core :refer [env]] + [datomic.api :as dc])) (def default-read '[:db/id :report/client [:report/created :xform clj-time.coerce/from-date] :report/url :report/name :report/creator]) @@ -132,3 +130,16 @@ {:flash? true :delete-after-settle? true})))) + +(def key->handler + (apply-middleware-to-all-handlers + (->> + (into + {:company-reports page + :company-reports-table table + :company-reports-delete delete-report} + company-expense-report/key->handler)) + (fn [h] + (-> h + (wrap-secure) + (wrap-client-redirect-unauthenticated))))) diff --git a/src/clj/auto_ap/ssr/components/aside.clj b/src/clj/auto_ap/ssr/components/aside.clj index 1d57ff60..81b31385 100644 --- a/src/clj/auto_ap/ssr/components/aside.clj +++ b/src/clj/auto_ap/ssr/components/aside.clj @@ -270,10 +270,11 @@ :external-import-ledger)} "External Ledger Import")))))])) -(defn company-aside-nav- [_] +(defn company-aside-nav- [request] [:ul {:class "space-y-2" :hx-boost "true"} [:li (menu-button- {:icon svg/vendors + :active? (= :company (:matched-route request)) :href (bidi/path-for ssr-routes/only-routes :company) :hx-boost true} @@ -281,24 +282,35 @@ [:li (menu-button- {:icon svg/report + :active? (= :company-reports (:matched-route request)) :href (bidi/path-for ssr-routes/only-routes :company-reports) :hx-boost true} "Reports")] + [:li + (menu-button- {:icon svg/report + :active? (= :company-expense-report (:matched-route request)) + :href (bidi/path-for ssr-routes/only-routes + :company-expense-report) + :hx-boost true} + "Expense Report")] [:li (menu-button- {:icon svg/bank + :active? (= :company-plaid (:matched-route request)) :href (bidi/path-for ssr-routes/only-routes :company-plaid) :hx-boost true} "Plaid Link")] [:li (menu-button- {:icon svg/bank + :active? (= :company-yodlee (:matched-route request)) :href (bidi/path-for ssr-routes/only-routes :company-yodlee) :hx-boost true} "Yodlee Link")] [:li (menu-button- {:icon svg/government-building + :active? (= :company-1099 (:matched-route request)) :href (bidi/path-for ssr-routes/only-routes :company-1099) :hx-boost true} diff --git a/src/clj/auto_ap/ssr/core.clj b/src/clj/auto_ap/ssr/core.clj index b9f030c0..f6af4678 100644 --- a/src/clj/auto_ap/ssr/core.clj +++ b/src/clj/auto_ap/ssr/core.clj @@ -66,9 +66,6 @@ :company-yodlee-fastlink-dialog (wrap-client-redirect-unauthenticated (wrap-secure company-yodlee/fastlink-dialog)) :company-yodlee-provider-account-refresh (wrap-client-redirect-unauthenticated (wrap-admin company-yodlee/refresh-provider-account)) :company-yodlee-provider-account-reauthenticate (wrap-client-redirect-unauthenticated (wrap-secure company-yodlee/reauthenticate)) - :company-reports (wrap-client-redirect-unauthenticated (wrap-secure company-reports/page)) - :company-reports-table (wrap-client-redirect-unauthenticated (wrap-secure company-reports/table)) - :company-reports-delete (wrap-client-redirect-unauthenticated (wrap-admin company-reports/delete-report)) :invoice-glimpse (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/page)) :invoice-glimpse-upload (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/upload)) :invoice-glimpse-textract-invoice (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/textract-invoice)) @@ -83,6 +80,7 @@ :transaction-insight-explain (wrap-client-redirect-unauthenticated (wrap-admin insights/explain)) :admin-ezcater-xls (wrap-client-redirect-unauthenticated (wrap-admin ezcater-xls/page)) :search (wrap-client-redirect-unauthenticated (wrap-secure search/dialog-contents))} + (into company-reports/key->handler) (into company-1099/key->handler) (into invoice/key->handler) (into import-batch/key->handler) diff --git a/src/clj/user.fiddle b/src/clj/user.fiddle index 643f5413..766c1b10 100644 --- a/src/clj/user.fiddle +++ b/src/clj/user.fiddle @@ -342,8 +342,28 @@ db [ - [ (pull-attr db :db/id [:client/code "NGRV"])] - #inst "2024-03-01" #inst "2024-03-30"])) + [ (pull-attr db :db/id [:client/code "NGA1"])] + #inst "2023-01-01" #inst "2024-01-01"])) :separator \tab) (pull-attr (dc/db conn) :db/id [:client/code "NGRV"]) + +(clojure.data.csv/write-csv *out* + (let [db (dc/db conn)] + + (dc/q '[:find ?d4 (sum ?a) + :in $ [?clients ?start-date ?end-date] ?v + :where + [(iol-ion.query/scan-transactions $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :transaction/date ?d] + [(iol-ion.query/excel-date ?d) ?d4] + [?e :transaction/amount ?a] + [?e :transaction/vendor ?v]] + + db + [ + [ (pull-attr db :db/id [:client/code "NGA1"])] + #inst "2023-01-01" #inst "2024-01-01"] + (ffirst (dc/q '[:find ?v :where [?v :vendor/name "CCP Doordash"]] db)))) + :separator \tab) + diff --git a/src/cljc/auto_ap/ssr_routes.cljc b/src/cljc/auto_ap/ssr_routes.cljc index 8d63b197..39defef2 100644 --- a/src/cljc/auto_ap/ssr_routes.cljc +++ b/src/cljc/auto_ap/ssr_routes.cljc @@ -84,7 +84,9 @@ :post :company-1099-vendor-save}} "/reports" {"" {:get :company-reports :delete :company-reports-delete} - "/table" :company-reports-table} + "/table" :company-reports-table + "/expense" {:get :company-expense-report + "/card" :company-expense-report-card}} "/yodlee" {"" {:get :company-yodlee} "/table" {:get :company-yodlee-table} "/fastlink" {:get :company-yodlee-fastlink-dialog} diff --git a/src/cljs/auto_ap/views/pages/home.cljs b/src/cljs/auto_ap/views/pages/home.cljs index b9d3eb3c..a4fa59e6 100644 --- a/src/cljs/auto_ap/views/pages/home.cljs +++ b/src/cljs/auto_ap/views/pages/home.cljs @@ -21,6 +21,14 @@ [vimsical.re-frame.cofx.inject :as inject] [auto-ap.status :as status])) +(re-frame/reg-sub + ::client + :<- [::subs/clients] + :<- [::subs/client] + (fn [[ clients client]] + (or client + (first clients)))) + (def pie-chart (r/adapt-react-class recharts/PieChart)) (def pie (r/adapt-react-class recharts/Pie)) (def bar-chart (r/adapt-react-class recharts/BarChart)) @@ -239,8 +247,8 @@ (re-frame/reg-event-fx ::mounted - [(re-frame/inject-cofx ::inject/sub [::subs/client])] - (fn [{:keys [db] ::subs/keys [client]} _] + [(re-frame/inject-cofx ::inject/sub [::client]) ] + (fn [{:keys [db] ::keys [client]} _] (cond-> {:db (assoc db ::top-expense-categories nil ::cash-flow nil @@ -302,14 +310,19 @@ [grid/cell {:class "has-text-right"} (->$ amount)]])]]])) (defn home-content [] - (let [client-id (-> @(re-frame/subscribe [::subs/client]) :id) + (let [client @(re-frame/subscribe [::client]) + client-id (-> client :id) + one-client (not (-> @(re-frame/subscribe [::subs/client]) :id)) chart-options @(re-frame/subscribe [::chart-options]) state @(re-frame/subscribe [::status/single ::page])] ^{:key client-id} [side-bar-layout {:side-bar [:div] :main [:div [:h1.title "Home"] - (if client-id - (if (= :loading (:state state)) + (when one-client + + [:h2.title.is-6 "Note: these reports are for " + (:name client) ". Please choose a specific customer for their report."]) + (if (= :loading (:state state)) [:div.loader.is-loading.big.is-centered] [:<> @@ -350,17 +363,16 @@ (make-cash-flow-chart {:width 800 :height 500 :data (clj->js @(re-frame/subscribe [::cash-flow]))}) - [cash-flow-grid]]) - [:h2.title.is-6 "Please select a customer to see reports."])]}])) + [cash-flow-grid]])]}])) (defn home-page [] - (let [client-id (-> @(re-frame/subscribe [::subs/client]) :id)] + (let [client-id (-> @(re-frame/subscribe [::client]) :id)] (re-frame/dispatch [::mounted]) ^{:key client-id} [home-content])) (defn home-page-with-vendor [] - (let [client-id (-> @(re-frame/subscribe [::subs/client]) :id) + (let [client-id (-> @(re-frame/subscribe [::client]) :id) user @(re-frame/subscribe [::subs/user])] (re-frame/dispatch [::mounted]) (when (p/can? user {:subject :vendor From de6e6f15729afdf89e7099af003489a8d7988399 Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 19 Apr 2024 22:02:25 -0700 Subject: [PATCH 08/59] fixes bug, adds CSV template --- src/clj/auto_ap/parse/templates.clj | 55 ++++--- .../auto_ap/ssr/company/reports/expense.clj | 135 ++++++++++++++++++ 2 files changed, 174 insertions(+), 16 deletions(-) create mode 100644 src/clj/auto_ap/ssr/company/reports/expense.clj diff --git a/src/clj/auto_ap/parse/templates.clj b/src/clj/auto_ap/parse/templates.clj index 400b4a4d..5b42634f 100644 --- a/src/clj/auto_ap/parse/templates.clj +++ b/src/clj/auto_ap/parse/templates.clj @@ -657,22 +657,45 @@ :keywords [#"Mama Lu's Foods"] :extract (fn [sheet vendor] (transduce (comp - (drop 5) - (filter - (fn [r] - (and - (seq r) - (->> r second not-empty)))) - (map - (fn [r] - (let [[_ customer-order-number num date name amount] r] - {:customer-identifier (second (re-find #"([^:]*):" name)) - :text name - :full-text name - :date (u/parse-value :clj-time "MM/dd/yyyy" (str/trim date)) - :invoice-number (str customer-order-number "-" (Integer/parseInt num)) - :total (str amount) - :vendor-code vendor})))) + (drop 5) + (filter + (fn [r] + (and + (seq r) + (->> r second not-empty)))) + (map + (fn [r] + (let [[_ customer-order-number num date name amount] r] + {:customer-identifier (second (re-find #"([^:]*):" name)) + :text name + :full-text name + :date (u/parse-value :clj-time "MM/dd/yyyy" (str/trim date)) + :invoice-number (str customer-order-number "-" (Integer/parseInt num)) + :total (str amount) + :vendor-code vendor})))) + conj + [] + sheet))} + + {:vendor "Daylight Foods" + :keywords [#"CUSTNO"] + :extract (fn [sheet vendor] + (transduce (comp + (drop 1) + (filter + (fn [r] + (and + (seq r) + (->> r first not-empty)))) + (map + (fn [[customer-number _ _ _ invoice-number date amount :as row]] + {:customer-identifier customer-number + :text (str/join " " row) + :full-text (str/join " " row) + :date (u/parse-value :clj-time "MM/dd/yyyy" (str/trim date)) + :invoice-number invoice-number + :total (str amount) + :vendor-code vendor}))) conj [] sheet))}]) diff --git a/src/clj/auto_ap/ssr/company/reports/expense.clj b/src/clj/auto_ap/ssr/company/reports/expense.clj new file mode 100644 index 00000000..1d37961d --- /dev/null +++ b/src/clj/auto_ap/ssr/company/reports/expense.clj @@ -0,0 +1,135 @@ +(ns auto-ap.ssr.company.reports.expense + (:require [auto-ap.datomic :refer [conn merge-query]] + [auto-ap.graphql.utils :refer [extract-client-ids]] + [auto-ap.logging :as alog] + [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.components :as com] + [auto-ap.ssr.form-cursor :as fc] + [auto-ap.ssr.hx :as hx] + [auto-ap.ssr.ui :refer [base-page]] + [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers + html-response wrap-schema-enforce]] + [bidi.bidi :as bidi] + [cemerick.url :as url] + [clj-time.coerce :as coerce] + [clj-time.core :as time] + [datomic.api :as dc] + [hiccup2.core :as hiccup])) + +(defn lookup-data [request] + (let [query (cond-> {:query '{:find [?an ?user-date (sum ?amt)] + :in [$ [?clients ?start ?end]] + :where + [[(iol-ion.query/scan-invoices $ ?clients ?start ?end) [[?e _ ?sort-default] ...]] + [?e :invoice/date ?d] + [?e :invoice/expense-accounts ?iea] + [?iea :invoice-expense-account/amount ?amt] + [?iea :invoice-expense-account/account ?a] + [?a :account/name ?an] + [(iol-ion.query/iso-date ?d) ?user-date]]} + :args + [(dc/db conn) + [(extract-client-ids (:clients request) + (:client-id request) + (when (:client-code request) + [:client/code (:client-code request)])) + (some-> (time/plus (time/now) (time/days -14)) coerce/to-date) + (some-> (time/now) coerce/to-date)]]} + + (:vendor-id (:query-params request)) + (merge-query {:query '{:in [?v] + :where [ [?e :invoice/vendor ?v]]} + :args [ (:db/id (:vendor-id (:query-params request)))]}))] + + (dc/query query))) + +(defn card* [request] + (com/content-card {:class "w-full" :id "report"} + [:div {:class "flex flex-col px-8 py-8 space-y-3"} + [:div + [:h1.text-2xl.mb-3.font-bold "Expenses by day, 14 days"] + [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-card ) + :hx-trigger "change" + :hx-target "#report" + :hx-swap "outerHTML"} + (fc/start-form + (:query-params request) + (:form-errors request) + [:div + (fc/with-field :vendor-id + (com/validated-field {:label "Vendor" + :errors (fc/field-errors)} + (com/typeahead {:name (fc/field-name) + :class "w-64" + :url (bidi/path-for ssr-routes/only-routes :vendor-search) + :value (fc/field-value) + :value-fn :db/id + :content-fn :vendor/name})))])] + [:div + (let [data (lookup-data request) + distinct-accounts (take 5 (->> data + (reduce + (fn [acc [an _ amount]] + (update acc an (fnil + 0.0) amount)) + {}) + (sort-by last) + (reverse) + (map first) + (take 5))) + lookup (->> + (reduce + (fn [acc [a d v]] + (assoc-in acc [a d] v)) + {} + data)) + dates (for [d (range -14 0)] + (iol-ion.query/iso-date (coerce/to-date (time/plus (time/now) (time/days d))))) + series (for [ea distinct-accounts] + (for [d dates] + (get-in lookup [ea d] 0)))] + [:div {:class "w-full h-64" + :id "client-chart" + :x-data (hx/json {:chart {:labels dates + #_["2 years ago" "1 year ago" "today"], + :series (alog/peek ::test series)}}) + :x-init (hiccup/raw "new Chartist.Bar($el, chart, {seriesBarDistance:10}); ")} + [:div.flex.space-x-2.my-4 + (for [[d color] (map vector distinct-accounts ["bg-green-500" "bg-red-500" "bg-blue-500" "bg-yellow-500" "bg-purple-500"])] + [:span.px-2.py-1.rounded.rounded-full.text-sm.text-gray-100 {:class color} d])]])]]])) + +(defn page [request] + (base-page + request + (com/page {:nav com/company-aside-nav + :client-selection (:client-selection request) + :client (:client request) + :clients (:clients request) + :identity (:identity request) + :app-params {:hx-get (bidi/path-for ssr-routes/only-routes :company-expense-report) + :hx-trigger "clientSelected from:body" + :hx-select "#app-contents" + :hx-swap "outerHTML swap:300ms"}} + (com/breadcrumbs {} + [:a {:href (bidi/path-for ssr-routes/only-routes :company)} + "My Company"] + [:a {:href (bidi/path-for ssr-routes/only-routes :company-expense-report)} + "Expense Report"]) + (card* request)) + "My Company")) + +(defn card [request] + (html-response + (card* request) + :headers {"hx-push-url" (str "?" (url/map->query (update (:query-params request) :vendor-id :db/id))) })) + +(def key->handler + (apply-middleware-to-all-handlers + {:company-expense-report page + :company-expense-report-card card} + (fn [h] + (-> h + (wrap-schema-enforce :query-schema + [:map {:default {}} + [:vendor-id {:optional true} + [:maybe + [:entity-map {:pull [:vendor/name :db/id]}]]]] ))))) \ No newline at end of file From 85833d115630c9df0cae817b40b4e86f92d6d19c Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 22 Apr 2024 14:33:10 -0700 Subject: [PATCH 09/59] Adds expands expense account report --- resources/public/output.css | 2 +- .../auto_ap/ssr/company/reports/expense.clj | 95 ++++++++++++++----- src/clj/auto_ap/time.clj | 2 +- 3 files changed, 74 insertions(+), 25 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index a770f38f..a9a04adc 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/company/reports/expense.clj b/src/clj/auto_ap/ssr/company/reports/expense.clj index 1d37961d..e914d14a 100644 --- a/src/clj/auto_ap/ssr/company/reports/expense.clj +++ b/src/clj/auto_ap/ssr/company/reports/expense.clj @@ -9,6 +9,7 @@ [auto-ap.ssr.ui :refer [base-page]] [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers html-response wrap-schema-enforce]] + [auto-ap.time :as atime] [bidi.bidi :as bidi] [cemerick.url :as url] [clj-time.coerce :as coerce] @@ -17,37 +18,61 @@ [hiccup2.core :as hiccup])) (defn lookup-data [request] - (let [query (cond-> {:query '{:find [?an ?user-date (sum ?amt)] + (let [query (cond-> {:query '{:find [?cn ?user-date (sum ?amt)] :in [$ [?clients ?start ?end]] :where [[(iol-ion.query/scan-invoices $ ?clients ?start ?end) [[?e _ ?sort-default] ...]] [?e :invoice/date ?d] + [?e :invoice/client ?c] [?e :invoice/expense-accounts ?iea] [?iea :invoice-expense-account/amount ?amt] - [?iea :invoice-expense-account/account ?a] - [?a :account/name ?an] - [(iol-ion.query/iso-date ?d) ?user-date]]} + [?c :client/name ?cn] + [(clj-time.coerce/to-date-time ?d) ?user-date]]} :args [(dc/db conn) [(extract-client-ids (:clients request) (:client-id request) (when (:client-code request) [:client/code (:client-code request)])) - (some-> (time/plus (time/now) (time/days -14)) coerce/to-date) + (some-> (time/plus (time/now) (time/days -120)) coerce/to-date) (some-> (time/now) coerce/to-date)]]} (:vendor-id (:query-params request)) (merge-query {:query '{:in [?v] :where [ [?e :invoice/vendor ?v]]} - :args [ (:db/id (:vendor-id (:query-params request)))]}))] + :args [ (:db/id (:vendor-id (:query-params request)))]}) + + (:account-id (:query-params request)) + (merge-query {:query '{:in [?a] + :where [ [?iea :invoice-expense-account/account ?a]]} + :args [ (:db/id (:account-id (:query-params request)))]}))] (dc/query query))) +(defn week-seq + ([c] (week-seq c (atime/last-monday))) + ([c starting] (reverse (for [n (range c) + :let [start (time/minus starting (time/weeks n)) + end (time/minus starting (time/weeks (dec n)))]] + [(atime/as-local-time (coerce/to-date-time start)) (atime/as-local-time (coerce/to-date-time end))])))) + + +(defn- best-week [d weeks] + (reduce + (fn [acc [start end]] + (if (and (time/after? d start) + (time/before? d end)) + (reduced [start end]) + nil)) + nil + weeks)) + + (defn card* [request] (com/content-card {:class "w-full" :id "report"} [:div {:class "flex flex-col px-8 py-8 space-y-3"} [:div - [:h1.text-2xl.mb-3.font-bold "Expenses by day, 14 days"] + [:h1.text-2xl.mb-3.font-bold "Expense report, last 8 weeks"] [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-card ) :hx-trigger "change" :hx-target "#report" @@ -64,7 +89,16 @@ :url (bidi/path-for ssr-routes/only-routes :vendor-search) :value (fc/field-value) :value-fn :db/id - :content-fn :vendor/name})))])] + :content-fn :vendor/name}))) + (fc/with-field :account-id + (com/validated-field {:label "Account" + :errors (fc/field-errors)} + (com/typeahead {:name (fc/field-name) + :class "w-64" + :url (bidi/path-for ssr-routes/only-routes :account-search) + :value (fc/field-value) + :value-fn :db/id + :content-fn :account/name})))])] [:div (let [data (lookup-data request) distinct-accounts (take 5 (->> data @@ -76,26 +110,34 @@ (reverse) (map first) (take 5))) + weeks (week-seq 10 (time/plus (time/now) (time/days -60))) + x-axis (for [[start end] weeks] + (str (iol-ion.query/excel-date (coerce/to-date start)) + " - " + (iol-ion.query/excel-date (coerce/to-date end)))) + lookup (->> (reduce (fn [acc [a d v]] - (assoc-in acc [a d] v)) + (update-in acc [a (best-week d weeks)] (fnil + 0.0) v)) {} data)) - dates (for [d (range -14 0)] - (iol-ion.query/iso-date (coerce/to-date (time/plus (time/now) (time/days d))))) + + _ (alog/peek ::Lookup lookup) series (for [ea distinct-accounts] - (for [d dates] + (for [d weeks] (get-in lookup [ea d] 0)))] - [:div {:class "w-full h-64" - :id "client-chart" - :x-data (hx/json {:chart {:labels dates - #_["2 years ago" "1 year ago" "today"], - :series (alog/peek ::test series)}}) - :x-init (hiccup/raw "new Chartist.Bar($el, chart, {seriesBarDistance:10}); ")} - [:div.flex.space-x-2.my-4 + (list +[:div.flex.gap-2.my-4.flex-wrap (for [[d color] (map vector distinct-accounts ["bg-green-500" "bg-red-500" "bg-blue-500" "bg-yellow-500" "bg-purple-500"])] - [:span.px-2.py-1.rounded.rounded-full.text-sm.text-gray-100 {:class color} d])]])]]])) + [:span.px-2.py-1.rounded.rounded-full.text-sm.text-gray-100 {:class color} d])] + [:div {:class "w-full h-64" + :id "client-chart" + :x-data (hx/json {:chart {:labels x-axis + #_["2 years ago" "1 year ago" "today"], + :series (alog/peek ::test series)}}) + :x-init (hiccup/raw "new Chartist.Bar($el, chart, {seriesBarDistance:10}); ")} + ]))]]])) (defn page [request] (base-page @@ -118,9 +160,13 @@ "My Company")) (defn card [request] - (html-response + (html-response (card* request) - :headers {"hx-push-url" (str "?" (url/map->query (update (:query-params request) :vendor-id :db/id))) })) + :headers {"hx-push-url" (str "?" (-> request + :query-params + (update :vendor-id :db/id) + (update :account-id :db/id) + url/map->query))})) (def key->handler (apply-middleware-to-all-handlers @@ -132,4 +178,7 @@ [:map {:default {}} [:vendor-id {:optional true} [:maybe - [:entity-map {:pull [:vendor/name :db/id]}]]]] ))))) \ No newline at end of file + [:entity-map {:pull [:vendor/name :db/id]}]]] + [:account-id {:optional true} + [:maybe + [:entity-map {:pull [:account/name :db/id]}]]]] ))))) \ No newline at end of file diff --git a/src/clj/auto_ap/time.clj b/src/clj/auto_ap/time.clj index 389e14d0..070c00c3 100644 --- a/src/clj/auto_ap/time.clj +++ b/src/clj/auto_ap/time.clj @@ -59,7 +59,7 @@ (defn last-monday [] - (loop [current (local-now)] + (loop [current (local-today)] (if (= 1 (time/day-of-week current)) current (recur (time/minus current (time/days 1)))))) From 823ae4afe37b1248c6e045cf3432823081cb63e5 Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 22 Apr 2024 14:33:44 -0700 Subject: [PATCH 10/59] switches to 8 weeks --- src/clj/auto_ap/ssr/company/reports/expense.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/clj/auto_ap/ssr/company/reports/expense.clj b/src/clj/auto_ap/ssr/company/reports/expense.clj index e914d14a..7b3d8a55 100644 --- a/src/clj/auto_ap/ssr/company/reports/expense.clj +++ b/src/clj/auto_ap/ssr/company/reports/expense.clj @@ -34,7 +34,7 @@ (:client-id request) (when (:client-code request) [:client/code (:client-code request)])) - (some-> (time/plus (time/now) (time/days -120)) coerce/to-date) + (some-> (time/plus (time/now) (time/days -65)) coerce/to-date) (some-> (time/now) coerce/to-date)]]} (:vendor-id (:query-params request)) @@ -110,7 +110,7 @@ (reverse) (map first) (take 5))) - weeks (week-seq 10 (time/plus (time/now) (time/days -60))) + weeks (week-seq 8) x-axis (for [[start end] weeks] (str (iol-ion.query/excel-date (coerce/to-date start)) " - " From 095fdc1d2f5b1580597961b52208407539bcc95c Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 22 Apr 2024 21:48:22 -0700 Subject: [PATCH 11/59] Makes another new vendor report --- resources/public/output.css | 2 +- .../auto_ap/ssr/company/reports/expense.clj | 168 ++++++++++++++---- src/clj/auto_ap/ssr/components/aside.clj | 2 +- src/clj/auto_ap/ssr/components/data_grid.clj | 3 +- src/cljc/auto_ap/ssr_routes.cljc | 3 +- 5 files changed, 139 insertions(+), 39 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index a9a04adc..591393e8 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/company/reports/expense.clj b/src/clj/auto_ap/ssr/company/reports/expense.clj index 7b3d8a55..ca9b41fc 100644 --- a/src/clj/auto_ap/ssr/company/reports/expense.clj +++ b/src/clj/auto_ap/ssr/company/reports/expense.clj @@ -8,8 +8,10 @@ [auto-ap.ssr.hx :as hx] [auto-ap.ssr.ui :refer [base-page]] [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers - html-response wrap-schema-enforce]] + clj-date-schema html-response + wrap-schema-enforce]] [auto-ap.time :as atime] + [auto-ap.utils :refer [by]] [bidi.bidi :as bidi] [cemerick.url :as url] [clj-time.coerce :as coerce] @@ -17,11 +19,13 @@ [datomic.api :as dc] [hiccup2.core :as hiccup])) -(defn lookup-data [request] +(defn lookup-breakdown-data [request] (let [query (cond-> {:query '{:find [?cn ?user-date (sum ?amt)] + :with [?e] :in [$ [?clients ?start ?end]] :where [[(iol-ion.query/scan-invoices $ ?clients ?start ?end) [[?e _ ?sort-default] ...]] + (not [?e :invoice/status :invoice-status/voided]) [?e :invoice/date ?d] [?e :invoice/client ?c] [?e :invoice/expense-accounts ?iea] @@ -49,6 +53,32 @@ (dc/query query))) +(defn lookup-invoice-total-data [request] + (let [start (:start-date (:query-params request) (time/plus (time/now) (time/days -30))) + end (:start-date (:query-params request) (time/now)) + query (cond-> {:query '{:find [?cn ?vn (sum ?t)] + :with [ ?e] + :in [$ [?clients ?start ?end]] + :where + [[(iol-ion.query/scan-invoices $ ?clients ?start ?end) [[?e _ ?sort-default] ...]] + (not [?e :invoice/status :invoice-status/voided]) + [?e :invoice/client ?c] + [?e :invoice/total ?t] + [?e :invoice/vendor ?v] + [?v :vendor/name ?vn] + [?c :client/name ?cn] + ]} + :args + [(dc/db conn) + [(extract-client-ids (:clients request) + (:client-id request) + (when (:client-code request) + [:client/code (:client-code request)])) + (some-> start coerce/to-date) + (some-> end coerce/to-date)]]})] + + (dc/query query))) + (defn week-seq ([c] (week-seq c (atime/last-monday))) ([c starting] (reverse (for [n (range c) @@ -68,14 +98,14 @@ weeks)) -(defn card* [request] - (com/content-card {:class "w-full" :id "report"} +(defn expense-breakdown-card* [request] + (com/content-card {:class "w-full" :id "expense-breakdown-report"} [:div {:class "flex flex-col px-8 py-8 space-y-3"} [:div - [:h1.text-2xl.mb-3.font-bold "Expense report, last 8 weeks"] - [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-card ) + [:h1.text-2xl.mb-3.font-bold "Expense breakdown report, last 8 weeks"] + [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-breakdown-card ) :hx-trigger "change" - :hx-target "#report" + :hx-target "#expense-breakdown-report" :hx-swap "outerHTML"} (fc/start-form (:query-params request) @@ -100,7 +130,7 @@ :value-fn :db/id :content-fn :account/name})))])] [:div - (let [data (lookup-data request) + (let [data (lookup-breakdown-data request) distinct-accounts (take 5 (->> data (reduce (fn [acc [an _ amount]] @@ -127,8 +157,8 @@ series (for [ea distinct-accounts] (for [d weeks] (get-in lookup [ea d] 0)))] - (list -[:div.flex.gap-2.my-4.flex-wrap + (list + [:div.flex.gap-2.my-4.flex-wrap (for [[d color] (map vector distinct-accounts ["bg-green-500" "bg-red-500" "bg-blue-500" "bg-yellow-500" "bg-purple-500"])] [:span.px-2.py-1.rounded.rounded-full.text-sm.text-gray-100 {:class color} d])] [:div {:class "w-full h-64" @@ -136,8 +166,60 @@ :x-data (hx/json {:chart {:labels x-axis #_["2 years ago" "1 year ago" "today"], :series (alog/peek ::test series)}}) - :x-init (hiccup/raw "new Chartist.Bar($el, chart, {seriesBarDistance:10}); ")} - ]))]]])) + :x-init (hiccup/raw "new Chartist.Bar($el, chart, {seriesBarDistance:10}); ")}]))]]])) + +(defn vendor-invoice-total-card* [request] + (com/content-card {:class "w-full" :id "invoice-totals-report"} + [:div {:class "flex flex-col px-8 py-8 space-y-3"} + [:div + [:h1.text-2xl.mb-3.font-bold "Invoice totals by vendor"] + [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-invoice-total-card ) + :hx-trigger "change" + :hx-target "#invoice-totals-report" + :hx-swap "outerHTML"} + (fc/start-form + (:query-params request) + (:form-errors request) + [:div.flex.gap-2 + (fc/with-field :start-date + (com/validated-field {:label "Start" + :errors (fc/field-errors)} + [:div {:class "w-64"} + (com/date-input {:name (fc/field-name) + :class "w-64" + :value (some-> (fc/field-value) + (atime/unparse-local atime/normal-date)) })])) + (fc/with-field :end-date + (com/validated-field {:label "End" + :errors (fc/field-errors)} + [:div {:class "w-64"} + (com/date-input {:name (fc/field-name) + :class "w-64" + :value (some-> (fc/field-value) + (atime/unparse-local atime/normal-date)) })]))])] + [:div {:class "overflow-scroll min-w-full max-h-[700px]"} + (let [data (lookup-invoice-total-data request) + companies (sort (set (map first data))) + vendors (sort (set (map second data))) + result (by (juxt first second) last data) + ] + (com/data-grid + {:headers (into + [(com/data-grid-header {:class "sticky left-0 z-60 bg-gray-100"} "Vendor")] + (for [company companies] + (com/data-grid-header {} company))) + :thead-params {:class "sticky top-0 z-50"}} + (for [vendor vendors] + (com/data-grid-row + {} + (com/data-grid-cell {:class "sticky left-0 z-0 bg-gray-100"} + vendor) + (for [company companies] + (com/data-grid-cell + {} + (or (some->> (get result [company vendor]) + (format "$%,.2f" )) + [:span.text-gray-200 "-"])))))))]]])) (defn page [request] (base-page @@ -156,29 +238,45 @@ "My Company"] [:a {:href (bidi/path-for ssr-routes/only-routes :company-expense-report)} "Expense Report"]) - (card* request)) + (expense-breakdown-card* request) + (vendor-invoice-total-card* request)) "My Company")) -(defn card [request] - (html-response - (card* request) - :headers {"hx-push-url" (str "?" (-> request - :query-params - (update :vendor-id :db/id) - (update :account-id :db/id) - url/map->query))})) +(defn normalize-query-params [request] + (-> request + :query-params + (update :vendor-id :db/id) + (update :account-id :db/id) + (update :start-date #(atime/unparse-local % atime/normal-date)) + (update :end-date #(atime/unparse-local % atime/normal-date)) -(def key->handler - (apply-middleware-to-all-handlers - {:company-expense-report page - :company-expense-report-card card} - (fn [h] - (-> h - (wrap-schema-enforce :query-schema - [:map {:default {}} - [:vendor-id {:optional true} - [:maybe - [:entity-map {:pull [:vendor/name :db/id]}]]] - [:account-id {:optional true} - [:maybe - [:entity-map {:pull [:account/name :db/id]}]]]] ))))) \ No newline at end of file + url/map->query)) + +(defn expense-breakdown-card [request] + (html-response + (expense-breakdown-card* request) + :headers {"hx-push-url" (str "?" (normalize-query-params request))})) +(defn invoice-total-card [request] + (html-response + (vendor-invoice-total-card* request) + :headers {"hx-push-url" (str "?" (normalize-query-params request))})) + +(def key->handler + (apply-middleware-to-all-handlers + {:company-expense-report page + :company-expense-report-breakdown-card expense-breakdown-card + :company-expense-report-invoice-total-card invoice-total-card} + (fn [h] + (-> h + (wrap-schema-enforce :query-schema + [:map {:default {}} + [:start-date {:optional true} + [:maybe clj-date-schema]] + [:end-date {:optional true} + [:maybe clj-date-schema]] + [:vendor-id {:optional true} + [:maybe + [:entity-map {:pull [:vendor/name :db/id]}]]] + [:account-id {:optional true} + [:maybe + [:entity-map {:pull [:account/name :db/id]}]]]]))))) \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/components/aside.clj b/src/clj/auto_ap/ssr/components/aside.clj index 81b31385..3da9b45d 100644 --- a/src/clj/auto_ap/ssr/components/aside.clj +++ b/src/clj/auto_ap/ssr/components/aside.clj @@ -71,7 +71,7 @@ [:div.fixed.inset-0.lg:hidden {:x-show "leftNavShow" :x-transition:enter "transition duration-500" :x-transition:enter-start "opacity-0" :x-transition:enter-end "opacity-100" :x-transition:leave "transition duration-500" :x-transition:leave-start "opacity-100" :x-transition:leave-end "opacity-0" "@click.capture.prevent" "leftNavShow=false"} - [:div.fixed.inset-0.bg-gray-800.z-10.opacity-70]]] + [:div.fixed.inset-0.bg-gray-800.z-100.opacity-70]]] [:div {:class "overflow-y-auto py-5 px-3 h-full bg-gray-50 border-r border-gray-200 dark:bg-gray-800 dark:border-gray-700"} nav diff --git a/src/clj/auto_ap/ssr/components/data_grid.clj b/src/clj/auto_ap/ssr/components/data_grid.clj index eb86fa4a..0666f942 100644 --- a/src/clj/auto_ap/ssr/components/data_grid.clj +++ b/src/clj/auto_ap/ssr/components/data_grid.clj @@ -44,7 +44,8 @@ (defn data-grid- [{:keys [headers thead-params id] :as params} & rest] [:table (merge {:class "w-full text-sm text-left text-gray-500 dark:text-gray-400"} (dissoc params :headers :thead-params)) - [:thead (assoc thead-params :class "text-xs text-gray-800 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400") + [:thead (update thead-params :class #(-> "text-xs text-gray-800 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400" + (hh/add-class (or % "")))) (into [:tr] headers)] diff --git a/src/cljc/auto_ap/ssr_routes.cljc b/src/cljc/auto_ap/ssr_routes.cljc index 39defef2..f889582d 100644 --- a/src/cljc/auto_ap/ssr_routes.cljc +++ b/src/cljc/auto_ap/ssr_routes.cljc @@ -86,7 +86,8 @@ :delete :company-reports-delete} "/table" :company-reports-table "/expense" {:get :company-expense-report - "/card" :company-expense-report-card}} + "/card" :company-expense-report-breakdown-card + "/invoice-total-card" :company-expense-report-invoice-total-card}} "/yodlee" {"" {:get :company-yodlee} "/table" {:get :company-yodlee-table} "/fastlink" {:get :company-yodlee-fastlink-dialog} From 633973cde41272d57e3f24cd023465cf20b0210f Mon Sep 17 00:00:00 2001 From: Bryce Date: Tue, 23 Apr 2024 08:27:12 -0700 Subject: [PATCH 12/59] minor tweak for vendor total --- src/clj/auto_ap/ssr/company/reports/expense.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/auto_ap/ssr/company/reports/expense.clj b/src/clj/auto_ap/ssr/company/reports/expense.clj index ca9b41fc..5bb1be41 100644 --- a/src/clj/auto_ap/ssr/company/reports/expense.clj +++ b/src/clj/auto_ap/ssr/company/reports/expense.clj @@ -55,7 +55,7 @@ (defn lookup-invoice-total-data [request] (let [start (:start-date (:query-params request) (time/plus (time/now) (time/days -30))) - end (:start-date (:query-params request) (time/now)) + end (:end-date (:query-params request) (time/now)) query (cond-> {:query '{:find [?cn ?vn (sum ?t)] :with [ ?e] :in [$ [?clients ?start ?end]] From 72c53add1b9fef7256030071982071994c9d8cc2 Mon Sep 17 00:00:00 2001 From: Bryce Date: Tue, 23 Apr 2024 14:27:43 -0700 Subject: [PATCH 13/59] Open ended end dates, defaults to last year on invoices --- src/clj/auto_ap/ssr/utils.clj | 8 ++++---- src/cljs/auto_ap/views/components/layouts.cljs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/clj/auto_ap/ssr/utils.clj b/src/clj/auto_ap/ssr/utils.clj index ef21be4c..b6123de3 100644 --- a/src/clj/auto_ap/ssr/utils.clj +++ b/src/clj/auto_ap/ssr/utils.clj @@ -240,7 +240,7 @@ (if date-range-value (-> (condp = date-range-value "week" - (let [last-monday (atime/last-monday)] + (let [last-monday (coerce/to-date-time (atime/last-monday))] (assoc m start-date-key (time/plus last-monday (time/days -7)) end-date-key last-monday)) @@ -248,16 +248,16 @@ "month" (assoc m start-date-key (time/plus (time/now) (time/months -1)) - end-date-key (time/now)) + end-date-key nil) "year" (assoc m start-date-key (time/plus (time/now) (time/years -1)) - end-date-key (time/now)) + end-date-key nil) "all" (assoc m start-date-key (time/plus (time/now) (time/years -6)) - end-date-key (time/now)) + end-date-key nil) m) (dissoc date-range-key)) diff --git a/src/cljs/auto_ap/views/components/layouts.cljs b/src/cljs/auto_ap/views/components/layouts.cljs index 1d16b1cb..86f037de 100644 --- a/src/cljs/auto_ap/views/components/layouts.cljs +++ b/src/cljs/auto_ap/views/components/layouts.cljs @@ -177,7 +177,7 @@ "Home" ] (when (p/can? @user {:subject :invoice-page}) [:a.navbar-item {:class [(active-when ap #{:unpaid-invoices :paid-invoices})] - :href (str (bidi/path-for ssr-routes/only-routes ::invoice-routes/unpaid-page) "?date-range=month")} + :href (str (bidi/path-for ssr-routes/only-routes ::invoice-routes/unpaid-page) "?date-range=year")} "Invoices" ]) (when (p/can? @user {:subject :payment-page}) [:a.navbar-item {:class [(active-when ap = :payments)] From ad29a19ff330e61e0b1390469015a65f9176e448 Mon Sep 17 00:00:00 2001 From: Bryce Date: Tue, 23 Apr 2024 22:22:12 -0700 Subject: [PATCH 14/59] Adds lock icon for locked transactions. --- src/clj/auto_ap/datomic/transactions.clj | 20 ++++++++++++++++--- src/clj/auto_ap/graphql/transactions.clj | 1 + src/cljs/auto_ap/views/components/grid.cljs | 3 ++- .../views/pages/transactions/common.cljs | 2 ++ .../views/pages/transactions/table.cljs | 15 +++++++++++++- 5 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/clj/auto_ap/datomic/transactions.clj b/src/clj/auto_ap/datomic/transactions.clj index 9e9120e7..7ddce3df 100644 --- a/src/clj/auto_ap/datomic/transactions.clj +++ b/src/clj/auto_ap/datomic/transactions.clj @@ -12,7 +12,8 @@ [auto-ap.graphql.utils :refer [extract-client-ids]] [clj-time.coerce :as coerce] [clojure.string :as str] - [datomic.api :as dc])) + [datomic.api :as dc] + [clj-time.core :as time])) (defn potential-duplicate-ids [db args] (when (and (:potential-duplicates args) @@ -171,10 +172,22 @@ true (apply-sort-3 (assoc args :default-asc? false)) true (apply-pagination args))))) +(defn is-locked? [transaction] + (let [transaction-date (some-> transaction :transaction/date coerce/to-date-time) + bank-account-start-date (some-> transaction :transaction/bank-account :bank-account/start-date coerce/to-date-time) + client-locked-until (some-> transaction :transaction/client :client/locked-until coerce/to-date-time) + locked-by-client? (cond (not transaction-date) false + (not client-locked-until) false + :else (time/before? transaction-date client-locked-until)) + locked-by-bank-account? (cond (not transaction-date) false + (not bank-account-start-date) false + :else (time/before? transaction-date bank-account-start-date))] + (or locked-by-bank-account? locked-by-client?))) + (defn graphql-results [ids db _] - (let [results (->> (pull-many db '[* {:transaction/client [:client/name :db/id :client/code] + (let [results (->> (pull-many db '[* {:transaction/client [:client/name :db/id :client/code :client/locked-until] :transaction/approval-status [:db/ident :db/id] - :transaction/bank-account [:bank-account/name :bank-account/code :bank-account/yodlee-account-id :db/id :bank-account/locations :bank-account/current-balance] + :transaction/bank-account [:bank-account/name :bank-account/code :bank-account/yodlee-account-id :db/id :bank-account/locations :bank-account/current-balance :bank-account/start-date] :transaction/forecast-match [:db/id :forecasted-transaction/identifier] :transaction/vendor [:db/id :vendor/name] :transaction/matched-rule [:db/id :transaction-rule/note] @@ -190,6 +203,7 @@ :transaction/yodlee-merchant [:db/id :yodlee-merchant/yodlee-id :yodlee-merchant/name] :transaction/plaid-merchant [:db/id :plaid-merchant/name]}] ids) + (map #(assoc % :transaction/is-locked (is-locked? %))) (map #(update % :transaction/date coerce/from-date)) (map #(update % :transaction/post-date coerce/from-date)) (map #(update % :transaction/accounts diff --git a/src/clj/auto_ap/graphql/transactions.clj b/src/clj/auto_ap/graphql/transactions.clj index ff92785c..bba835f5 100644 --- a/src/clj/auto_ap/graphql/transactions.clj +++ b/src/clj/auto_ap/graphql/transactions.clj @@ -571,6 +571,7 @@ (def objects {:transaction {:fields {:id {:type :id} :amount {:type 'String} + :is_locked {:type 'Boolean} :description_original {:type 'String} :description_simple {:type 'String} :location {:type 'String} diff --git a/src/cljs/auto_ap/views/components/grid.cljs b/src/cljs/auto_ap/views/components/grid.cljs index 04948b0a..f70cbad5 100644 --- a/src/cljs/auto_ap/views/components/grid.cljs +++ b/src/cljs/auto_ap/views/components/grid.cljs @@ -222,8 +222,9 @@ (map r/as-element (r/children (r/current-component))))) (defn cell [params] - (apply r/create-element "td" #js {:className (:class params)} + (apply r/create-element "td" #js {:className (:class params) :style (some-> (:style params) clj->js)} (map r/as-element (r/children (r/current-component)))) + ) (defn body [] diff --git a/src/cljs/auto_ap/views/pages/transactions/common.cljs b/src/cljs/auto_ap/views/pages/transactions/common.cljs index 59956a17..5eb56b9b 100644 --- a/src/cljs/auto_ap/views/pages/transactions/common.cljs +++ b/src/cljs/auto_ap/views/pages/transactions/common.cljs @@ -9,6 +9,8 @@ :location :approval-status :check-number + :is-locked + [:matched-rule [:note :id]] [:vendor [:name :id]] [:accounts [:id :amount :location [:account [:name :id :location :numeric-code]]]] diff --git a/src/cljs/auto_ap/views/pages/transactions/table.cljs b/src/cljs/auto_ap/views/pages/transactions/table.cljs index f5f00c46..adb2bee6 100644 --- a/src/cljs/auto_ap/views/pages/transactions/table.cljs +++ b/src/cljs/auto_ap/views/pages/transactions/table.cljs @@ -59,6 +59,12 @@ (fn [db] (::table-params db))) +(defn lock-icon [] + [:div {:style {:position "absolute" :width "1em" :height "1em" :left "-1.25rem" :background-color "#E0E0E0" :padding "5px" :box-sizing "content-box" :border-radius "999px" :display "flex" :justify-content "center" :align-content "center" :text-align "center"}} + [:div + [:i.fa.fa-lock {:style {:color "#333"}}]]]) + + (defn table [{:keys [data-page check-boxes? action-buttons]}] (let [selected-client @(re-frame/subscribe [::subs/client]) {:keys [data params]} @(re-frame/subscribe [::data-page/page data-page]) @@ -85,9 +91,16 @@ ^{:key id} [grid/row {:class (:class i) :id id :entity i} (when-not selected-client - [grid/cell {} (:name client)]) + [grid/cell {:style {:overflow "visible" :position "relative" }} + + (when (:is-locked i) + [lock-icon]) + (:name client)]) #_[:td description-original] [grid/cell {} + + (when (and selected-client (:is-locked i)) + [lock-icon]) (:name bank-account)] [grid/cell {} (cond vendor (:name vendor) From 53b7da95128c04e91f25deca15e2dd985ef12407 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 11:59:36 -0700 Subject: [PATCH 15/59] Imports custom amounts --- src/clj/auto_ap/square/core3.clj | 7 ++++++- src/clj/auto_ap/ssr/admin/clients.clj | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/clj/auto_ap/square/core3.clj b/src/clj/auto_ap/square/core3.clj index 56286276..eca44ec6 100644 --- a/src/clj/auto_ap/square/core3.clj +++ b/src/clj/auto_ap/square/core3.clj @@ -313,7 +313,8 @@ (capture-context->lc (let [is-order-only-for-charge? (= ["CUSTOM_AMOUNT"] (mapv :item_type (:line_items order)))] - (if is-order-only-for-charge? + (if (and is-order-only-for-charge? + (not ((set (:client/feature-flags client)) "import-custom-amount"))) (de/success-deferred (->> (:tenders order) (map #(tender->charge order client location %)))) @@ -371,6 +372,7 @@ (fn [e] (log/error ::failed-to-transform-order :exception e))))))) + (defn should-import-order? [order] ;; sometimes orders stay open in square. At least one payment ;; is needed to import, in order to avoid importing orders in-progress. @@ -731,6 +733,7 @@ (def square-read [:db/id :client/code :client/square-auth-token + :client/feature-flags {:client/square-locations [:db/id :square-location/name :square-location/square-id :square-location/client-location]}]) (defn get-square-clients @@ -739,6 +742,7 @@ :client/square-integration-status :client/code :client/square-auth-token + :client/feature-flags {:client/square-locations [:db/id :square-location/name :square-location/square-id :square-location/client-location]}]) :in $ :where [?c :client/square-auth-token]] @@ -747,6 +751,7 @@ (map first (dc/q '[:find (pull ?c [:db/id :client/code :client/square-auth-token + :client/feature-flags {:client/square-locations [:db/id :square-location/name :square-location/square-id :square-location/client-location]}]) :in $ [?code ...] :where [?c :client/square-auth-token] diff --git a/src/clj/auto_ap/ssr/admin/clients.clj b/src/clj/auto_ap/ssr/admin/clients.clj index 6054c981..244ad184 100644 --- a/src/clj/auto_ap/ssr/admin/clients.clj +++ b/src/clj/auto_ap/ssr/admin/clients.clj @@ -497,7 +497,8 @@ :value (fc/field-value) :options [["new-square" "New Square+Ezcater (no effect)"] ["manually-pay-cintas" "Manually Pay Cintas"] - ["include-in-ntg-corp-reports" "Include in NTG Corporate reports"]]}))) + ["include-in-ntg-corp-reports" "Include in NTG Corporate reports"] + ["import-custom-amount" "Import Custom Amount Line Items from Square"]]}))) (com/data-grid-cell {:class "align-top"} (com/a-icon-button {"@click.prevent.stop" "$refs.p.remove()"} svg/x)))) From 7154d0ff21c924b39449dc75c9b3e788271b9cbd Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 16:15:30 -0700 Subject: [PATCH 16/59] Creates daily sales summaries --- src/clj/auto_ap/datomic/transactions.clj | 109 ++++++++++---------- src/clj/auto_ap/jobs/sales_summaries.clj | 25 ++++- src/clj/auto_ap/square/core3.clj | 3 +- src/cljs/auto_ap/views/components/grid.cljs | 4 +- 4 files changed, 80 insertions(+), 61 deletions(-) diff --git a/src/clj/auto_ap/datomic/transactions.clj b/src/clj/auto_ap/datomic/transactions.clj index 7ddce3df..11adc67a 100644 --- a/src/clj/auto_ap/datomic/transactions.clj +++ b/src/clj/auto_ap/datomic/transactions.clj @@ -17,21 +17,21 @@ (defn potential-duplicate-ids [db args] (when (and (:potential-duplicates args) - (:bank-account-id args)) + (:bank-account-id args)) (->> (dc/q '[:find ?tx ?amount ?date - :in $ ?ba - :where - [?tx :transaction/bank-account ?ba] - [?tx :transaction/amount ?amount] - [?tx :transaction/date ?date] - (not [?tx :transaction/approval-status :transaction-approval-status/suppressed])] - db - (:bank-account-id args)) + :in $ ?ba + :where + [?tx :transaction/bank-account ?ba] + [?tx :transaction/amount ?amount] + [?tx :transaction/date ?date] + (not [?tx :transaction/approval-status :transaction-approval-status/suppressed])] + db + (:bank-account-id args)) (group-by (fn [[_ amount date]] [amount date])) (filter (fn [[_ txes]] (> (count txes) 1))) - + (vals) (mapcat identity) (map first) @@ -65,8 +65,8 @@ (:potential-duplicates args) (merge-query {:query {:in '[[?e ...]]} :args [potential-duplicates]}) - - (:bank-account-id args) + + (:bank-account-id args) (merge-query {:query {:in ['?bank-account-id] :where ['[?e :transaction/bank-account ?bank-account-id]]} :args [(:bank-account-id args)]}) @@ -76,25 +76,25 @@ :where ['[?import-batch-id :import-batch/entry ?e]]} :args [(:import-batch-id args)]}) - (:account-id args) + (:account-id args) (merge-query {:query {:in ['?account-id] :where ['[?e :transaction/accounts ?accounts] '[?accounts :transaction-account/account ?account-id]]} :args [(:account-id args)]}) - (:vendor-id args) + (:vendor-id args) (merge-query {:query {:in ['?vendor-id] :where ['[?e :transaction/vendor ?vendor-id]]} :args [(:vendor-id args)]}) - - (:amount-gte args) + + (:amount-gte args) (merge-query {:query {:in ['?amount-gte] :where ['[?e :transaction/amount ?a] '[(>= ?a ?amount-gte)]]} :args [(:amount-gte args)]}) - (:amount-lte args) + (:amount-lte args) (merge-query {:query {:in ['?amount-lte] :where ['[?e :transaction/amount ?a] '[(<= ?a ?amount-lte)]]} @@ -103,7 +103,7 @@ (:approval-status args) (merge-query {:query {:in ['?approval-status] :where ['[?e :transaction/approval-status ?approval-status]]} - :args [(:approval-status args)]}) + :args [(:approval-status args)]}) (= (:linked-to args) :payment) (merge-query {:query {:where ['[?e :transaction/payment]]}}) @@ -125,20 +125,20 @@ '[?c :client/original-id ?original-id]]} :args [(:original-id args)]}) - (seq (:location args)) + (seq (:location args)) (merge-query {:query {:in ['?location] :where ['[?e :transaction/accounts ?tas] '[?tas :transaction-account/location ?location]]} :args [(:location args)]}) - (:unresolved args) + (:unresolved args) (merge-query {:query {:where ['[?e :transaction/date] '(or-join [?e] (not [?e :transaction/accounts]) (and [?e :transaction/accounts ?tas] (not [?tas :transaction-account/account])))]}}) - (:description args) + (:description args) (merge-query {:query {:in ['?description] :where ['[?e :transaction/description-original ?do] '[(clojure.string/lower-case ?do) ?do2] @@ -146,21 +146,21 @@ :args [(clojure.string/lower-case (:description args))]}) (:sort args) (add-sorter-fields {"client" ['[?e :transaction/client ?c] - '[?c :client/name ?sort-client]] + '[?c :client/name ?sort-client]] "account" ['[?e :transaction/date] - '(or-join [?e ?sort-account] - (and [?e :transaction/bank-account ?c] - [?c :bank-account/name ?sort-account]) - (and - (not [?e :transaction/bank-account]) - [(ground "") ?sort-account]))] + '(or-join [?e ?sort-account] + (and [?e :transaction/bank-account ?c] + [?c :bank-account/name ?sort-account]) + (and + (not [?e :transaction/bank-account]) + [(ground "") ?sort-account]))] "description-original" ['[?e :transaction/description-original ?sort-description-original]] "date" ['[?e :transaction/date ?sort-date]] "vendor" ['(or-join [?e ?sort-vendor] - (and [(missing? $ ?e :transaction/vendor)] - [?e :transaction/description-original ?sort-vendor]) - (and [?e :transaction/vendor ?v] - [?v :vendor/name ?sort-vendor]))] + (and [(missing? $ ?e :transaction/vendor)] + [?e :transaction/description-original ?sort-vendor]) + (and [?e :transaction/vendor ?v] + [?v :vendor/name ?sort-vendor]))] "amount" ['[?e :transaction/amount ?sort-amount]] "status" ['[?e :transaction/status ?sort-status]]} args) @@ -194,8 +194,8 @@ :transaction/payment [:db/id :payment/date] :transaction/expected-deposit [:db/id :expected-deposit/date] :transaction/accounts [:transaction-account/amount - :db/id - :transaction-account/location + :db/id + :transaction-account/location {:transaction-account/account [:account/name :db/id :account/location {:account/client-overrides [:account-client-override/name @@ -209,17 +209,16 @@ (map #(update % :transaction/accounts (fn [tas] (map - (fn [ta] - (update ta :transaction-account/account d-accounts/clientize (:db/id (:transaction/client %)))) - tas)))) + (fn [ta] + (update ta :transaction-account/account d-accounts/clientize (:db/id (:transaction/client %)))) + tas)))) (map (fn [transaction] (cond-> transaction (:transaction/payment transaction) (update-in [:transaction/payment :payment/date] coerce/from-date) - (:transaction/expected-deposit transaction) (update-in [:transaction/expected-deposit :expected-deposit/date] coerce/from-date)) - )) + (:transaction/expected-deposit transaction) (update-in [:transaction/expected-deposit :expected-deposit/date] coerce/from-date)))) (map #(dissoc % :transaction/id)) (group-by :db/id))] - + (->> ids (map results) (map first)))) @@ -232,7 +231,7 @@ matching-count])) (defn filter-ids [ids] - (if ids + (if ids (->> (dc/q {:find ['?e] :in ['$ '[?e ...]] :where ['[?e :transaction/date]]} @@ -242,24 +241,24 @@ [])) (defn get-by-id [id] - (-> + (-> (dc/pull (dc/db conn) - '[* {:transaction/client [:client/name :db/id :client/code :client/locations :client/groups] - :transaction/approval-status [:db/ident :db/id] - :transaction/bank-account [:bank-account/name :bank-account/code :bank-account/yodlee-account-id :db/id :bank-account/locations :bank-account/current-balance] - :transaction/vendor [:db/id :vendor/name] - :transaction/matched-rule [:db/id :transaction-rule/note] - :transaction/forecast-match [:db/id :forecasted-transaction/identifier] - :transaction/accounts [:transaction-account/amount - :db/id - :transaction-account/location - { :transaction-account/account [:account/name :db/id + '[* {:transaction/client [:client/name :db/id :client/code :client/locations :client/groups] + :transaction/approval-status [:db/ident :db/id] + :transaction/bank-account [:bank-account/name :bank-account/code :bank-account/yodlee-account-id :db/id :bank-account/locations :bank-account/current-balance] + :transaction/vendor [:db/id :vendor/name] + :transaction/matched-rule [:db/id :transaction-rule/note] + :transaction/forecast-match [:db/id :forecasted-transaction/identifier] + :transaction/accounts [:transaction-account/amount + :db/id + :transaction-account/location + {:transaction-account/account [:account/name :db/id :account/location {:account/client-overrides [:account-client-override/name {:account-client-override/client [:db/id]}]}]}] - :transaction/yodlee-merchant [:db/id :yodlee-merchant/yodlee-id :yodlee-merchant/name] - :transaction/plaid-merchant [:db/id :plaid-merchant/name]}] - id) + :transaction/yodlee-merchant [:db/id :yodlee-merchant/yodlee-id :yodlee-merchant/name] + :transaction/plaid-merchant [:db/id :plaid-merchant/name]}] + id) (update :transaction/date coerce/from-date) (update :transaction/post-date coerce/from-date) (dissoc :transaction/id))) diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 676ed011..55e667a7 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -32,6 +32,15 @@ (apply mark-dirty c (last-n-days days)))) +(defn delete-all [] + @(dc/transact conn + (->> + (dc/q '[:find ?ss + :where [?ss :sales-summary/date]] + (dc/db conn)) + (map (fn [[ ss]] + [:db/retractEntity ss]))))) + (defn dirty-sales-summaries [c] @@ -58,7 +67,7 @@ :in $ [?clients ?start-date ?end-date] :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] [?e :sales-order/line-items ?li] - [?li :order-line-item/item-name ?item-name] + [(get-else $ ?li :order-line-item/item-name "Unknown") ?item-name] [?li :order-line-item/category ?category] [?li :order-line-item/total ?total] [?li :order-line-item/tax ?tax] @@ -259,9 +268,12 @@ :db/valueType :db.type/double :db/cardinality :db.cardinality/one}]) - (apply mark-dirty [:client/code "NGCL"] (last-n-days 12)) + (apply mark-dirty [:client/code "NGCL"] (last-n-days 14)) + (apply mark-dirty [:client/code "NGDG"] (last-n-days 14)) + (apply mark-dirty [:client/code "NGPG"] (last-n-days 14)) (mark-all-dirty 50) + (delete-all) (sales-summaries) @@ -284,6 +296,15 @@ (dc/db conn) [[(auto-ap.datomic/pull-attr (dc/db conn) :db/id [:client/code "NGHW"])] #inst "2024-04-11T00:00:00-07:00" #inst "2024-04-11T00:00:00-07:00"]) + (dc/q '[:find ?n + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/line-items ?li] + [?li :order-line-item/item-name ?n] ] + (dc/db conn) + [[(auto-ap.datomic/pull-attr (dc/db conn) :db/id [:client/code "NGCL"])] #inst "2024-04-11T00:00:00-07:00" #inst "2024-04-24T00:00:00-07:00"]) + + ) diff --git a/src/clj/auto_ap/square/core3.clj b/src/clj/auto_ap/square/core3.clj index eca44ec6..2392ff0e 100644 --- a/src/clj/auto_ap/square/core3.clj +++ b/src/clj/auto_ap/square/core3.clj @@ -41,7 +41,7 @@ (de/chain (de/loop [attempt 0] (-> (de/chain (de/future-with (ex/execute-pool) - (log/info ::request-started + #_(log/info ::request-started :url (:url request) :attempt attempt :source "Square 3" @@ -1008,6 +1008,7 @@ (require 'auto-ap.time-reader) + @(upsert-all "NGPG") (clojure.pprint/pprint (let [[c [l]] (get-square-client-and-location "NGHW")] diff --git a/src/cljs/auto_ap/views/components/grid.cljs b/src/cljs/auto_ap/views/components/grid.cljs index f70cbad5..e5152f24 100644 --- a/src/cljs/auto_ap/views/components/grid.cljs +++ b/src/cljs/auto_ap/views/components/grid.cljs @@ -223,9 +223,7 @@ (defn cell [params] (apply r/create-element "td" #js {:className (:class params) :style (some-> (:style params) clj->js)} - (map r/as-element (r/children (r/current-component)))) - - ) + (map r/as-element (r/children (r/current-component))))) (defn body [] (let [children (r/children (r/current-component)) From 04ad2c9b68f8317c2f86295e27663608c29791c4 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 17:06:59 -0700 Subject: [PATCH 17/59] minor tweak --- src/clj/auto_ap/jobs/sales_summaries.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 55e667a7..367789e0 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -33,7 +33,7 @@ (defn delete-all [] - @(dc/transact conn + @(dc/transact-async conn (->> (dc/q '[:find ?ss :where [?ss :sales-summary/date]] From 99db96ad6166c996091a102a4ac136a9ee0c4252 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 21:27:19 -0700 Subject: [PATCH 18/59] Adds bank reconciliation report --- resources/dolce-examples/payroll.csv | 36 ++++ resources/public/output.css | 2 +- src/clj/auto_ap/import/intuit.clj | 30 ++- src/clj/auto_ap/import/intuit.fiddle | 56 ++++- src/clj/auto_ap/import/plaid.clj | 33 ++- src/clj/auto_ap/import/plaid.fiddle | 30 +++ src/clj/auto_ap/plaid/core.clj | 21 +- src/clj/auto_ap/ssr/company/reports.clj | 4 +- .../ssr/company/reports/reconciliation.clj | 204 ++++++++++++++++++ src/clj/auto_ap/ssr/components/aside.clj | 9 + src/cljc/auto_ap/ssr_routes.cljc | 5 +- 11 files changed, 401 insertions(+), 29 deletions(-) create mode 100644 resources/dolce-examples/payroll.csv create mode 100644 src/clj/auto_ap/import/plaid.fiddle create mode 100644 src/clj/auto_ap/ssr/company/reports/reconciliation.clj diff --git a/resources/dolce-examples/payroll.csv b/resources/dolce-examples/payroll.csv new file mode 100644 index 00000000..89071e1f --- /dev/null +++ b/resources/dolce-examples/payroll.csv @@ -0,0 +1,36 @@ +Payroll Type,Employee GL,Employee,Location,Role,Role GL,Base / OT,Rate,Total Hours,Overtime Hours,SOH,Wages,Break Issues,Cash Tips,CC Tips,AutoGrat,TipFees,Total Tips,Effective Wage,Supplemental Wage,Pay Period Start,Pay Period End +hourly,146905#43,"Ancira, Marcus",NTG Roseville,Cashier,,Base,$20.00,39.45,,,$789.00,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#43,"Ancira, Marcus",NTG Roseville,Cashier,,Overtime,$10.00,0.1,,,$1.00,,,,,,,,,2024-04-01,2024-04-16 +hourly,146905#43,"Ancira, Marcus",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$196.26,,,196.26,,,2024-04-01,2024-04-16 +hourly,146905#355,"Arauz, Kevin",NTG Roseville,Line cook,,Base,$20.00,70.92,,,"$1,418.40",0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#355,"Arauz, Kevin",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$242.69,,,242.69,,,2024-04-01,2024-04-16 +hourly,146905#426,"Beddingfield, Megan",NTG Roseville,Cashier,,Base,$20.00,30.19,,,$603.80,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#426,"Beddingfield, Megan",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$159.68,,,159.68,,,2024-04-01,2024-04-16 +hourly,146905#46,"Carrillo, Ana",NTG Roseville,Cashier,,Base,$20.00,40.42,,,$808.40,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#46,"Carrillo, Ana",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$191.59,,,191.59,,,2024-04-01,2024-04-16 +hourly,146905#213,"Chanchavac, Rogelio",NTG Roseville,Line cook,,Base,$23.00,111.85,,,"$2,572.55",0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#213,"Chanchavac, Rogelio",NTG Roseville,Line cook,,Overtime,$11.50,22.41,,,$257.72,,,,,,,,,2024-04-01,2024-04-16 +hourly,146905#213,"Chanchavac, Rogelio",NTG Roseville,Line cook,,DT Overtime,$23.00,0.28,,,$6.44,,,,,,,,,2024-04-01,2024-04-16 +hourly,146905#213,"Chanchavac, Rogelio",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$362.75,,,362.75,,,2024-04-01,2024-04-16 +hourly,146905#405,"Craig, Devan",NTG Roseville,Cashier,,Base,$20.00,29.64,,,$592.80,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#405,"Craig, Devan",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$171.56,,,171.56,,,2024-04-01,2024-04-16 +hourly,146905#410,"Garcia, Gerber",NTG Roseville,Line cook,,Base,$20.00,47.07,,,$941.40,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#410,"Garcia, Gerber",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$164.49,,,164.49,,,2024-04-01,2024-04-16 +hourly,146905#440,"Guzman, Nicholas",NTG Roseville,Cashier,,Base,$20.00,11.64,,,$232.80,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#440,"Guzman, Nicholas",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$48.77,,,48.77,,,2024-04-01,2024-04-16 +hourly,146905#8,"Hoang, Jennifer",NTG Roseville,Cashier,,Base,$20.50,18.9,,,$387.45,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#8,"Hoang, Jennifer",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$81.87,,,81.87,,,2024-04-01,2024-04-16 +hourly,146905#451,"Mckenna-Tyron, Jacqueline",NTG Roseville,Cashier,,Base,$20.00,45.2,,,$904.00,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#451,"Mckenna-Tyron, Jacqueline",NTG Roseville,Cashier,,Overtime,$10.00,0.5,,,$5.00,,,,,,,,,2024-04-01,2024-04-16 +hourly,146905#451,"Mckenna-Tyron, Jacqueline",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$237.17,,,237.17,,,2024-04-01,2024-04-16 +hourly,146905#477,"Morgan, Wayne",NTG Roseville,Cashier,,Base,$20.00,4.57,,,$91.40,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#477,"Morgan, Wayne",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$23.21,,,23.21,,,2024-04-01,2024-04-16 +hourly,146905#369,"Poz, Henry",NTG Roseville,Line cook,,Base,$20.00,42.14,,,$842.80,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#369,"Poz, Henry",NTG Roseville,Line cook,,Overtime,$10.00,0.57,,,$5.70,,,,,,,,,2024-04-01,2024-04-16 +hourly,146905#369,"Poz, Henry",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$140.79,,,140.79,,,2024-04-01,2024-04-16 +hourly,146905#394,"Ramirez Garcia, Juan Ernesto",NTG Roseville,Line cook,,Base,$20.00,41.65,,,$833.00,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#394,"Ramirez Garcia, Juan Ernesto",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$137.95,,,137.95,,,2024-04-01,2024-04-16 +hourly,146905#216,"Robles, Angel",NTG Roseville,Line cook,,Base,$20.00,60.33,,,"$1,206.60",0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#216,"Robles, Angel",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$210.65,,,210.65,,,2024-04-01,2024-04-16 +hourly,146905#359,"Velez, Jack",NTG Roseville,Cashier,,Base,$20.00,30.47,,,$609.40,0,,,,,0,,,2024-04-01,2024-04-16 +hourly,146905#359,"Velez, Jack",NTG Roseville,,,Base,$0.00,0,,,$0.00,0,,$149.21,,,149.21,,,2024-04-01,2024-04-16 diff --git a/resources/public/output.css b/resources/public/output.css index 591393e8..9b394ba2 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/import/intuit.clj b/src/clj/auto_ap/import/intuit.clj index 91e02da8..6a00f090 100644 --- a/src/clj/auto_ap/import/intuit.clj +++ b/src/clj/auto_ap/import/intuit.clj @@ -1,6 +1,6 @@ (ns auto-ap.import.intuit (:require - [auto-ap.datomic :refer [conn]] + [auto-ap.datomic :refer [conn pull-attr]] [auto-ap.import.common :refer [wrap-integration]] [auto-ap.import.transactions :as t] [auto-ap.intuit.core :as i] @@ -12,14 +12,26 @@ [com.unbounce.dogstatsd.core :as statsd] [datomic.api :as dc])) -(defn get-intuit-bank-accounts [db] - (dc/q '[:find ?external-id ?ba ?c - :in $ - :where - [?c :client/bank-accounts ?ba] - [?ba :bank-account/intuit-bank-account ?iab] - [?iab :intuit-bank-account/external-id ?external-id]] - db)) +(defn get-intuit-bank-accounts + ( [db] + (dc/q '[:find ?external-id ?ba ?c + :in $ + :where + [?c :client/bank-accounts ?ba] + [?ba :bank-account/intuit-bank-account ?iab] + [?iab :intuit-bank-account/external-id ?external-id]] + db)) + ([db & client-codes] + (dc/q '[:find ?external-id ?ba ?c + :in $ [?cc ...] + :where + [?c :client/code ?cc] + [?c :client/bank-accounts ?ba] + [?ba :bank-account/intuit-bank-account ?iab] + [?iab :intuit-bank-account/external-id ?external-id]] + db + client-codes))) + (defn intuit->transaction [transaction] (let [check-number (when (not (str/blank? (:Num transaction))) diff --git a/src/clj/auto_ap/import/intuit.fiddle b/src/clj/auto_ap/import/intuit.fiddle index f26b0196..51f95c41 100644 --- a/src/clj/auto_ap/import/intuit.fiddle +++ b/src/clj/auto_ap/import/intuit.fiddle @@ -10,10 +10,64 @@ [clj-time.core :as time] [clojure.string :as str] [com.unbounce.dogstatsd.core :as statsd] - [datomic.api :as dc])) + [datomic.api :as dc] + [clj-http.client :as client])) + (for [[e] (take 5 (get-intuit-bank-accounts (dc/db conn)))] (i/get-transactions "2023-02-01" "2023-02-05" e)) + (defn get-bank-accounts [token] + +(defn get-bank-accounts [token] + (->> (:body (client/get (str i/prod-base-url "/company/" i/prod-company-id "/query") + {:headers + (i/with-auth i/prod-base-headers token) + :as :json + :query-params {"query" "SELECT * From Account maxresults 1000"}})) + :QueryResponse + :Account + #_(filter + #(#{"Bank" "Credit Card"} (:AccountType %)))))) + + + +(require 'auto-ap.time_reader) + +(let [start #clj-time/date-time "2024-02-01" + end #clj-time/date-time "2024-04-01"] + (for [[ib ba c] (seq (get-intuit-bank-accounts (dc/db conn) "BCFM")) + :let [raw-transactions (i/get-transactions (atime/unparse-local start atime/iso-date) + (atime/unparse-local end atime/iso-date) + ib) + ideal-transactions (intuits->transactions raw-transactions ba c) + + found-transactions (when (seq ideal-transactions) + (into {} (dc/q '[:find ?si (count ?t) + :in $ [?eid ...] + :where + [?t :transaction/id ?eid] + [?t :transaction/approval-status ?s] + [?s :db/ident ?si]] + (dc/db conn) + (map :transaction/id ideal-transactions)))) + + missing-transaction-ids (when (seq ideal-transactions) + (->> + (dc/q '[:find ?eid + :in $ [?eid ...] + :where (not [_ :transaction/id ?eid])] + (dc/db conn) + (map :transaction/id ideal-transactions)) + (map first) + (into #{}))) + missing-transactions (filter (comp missing-transaction-ids :transaction/id) ideal-transactions)]] + {:bank-account/name (pull-attr (dc/db conn) :bank-account/name ba) + :external-transaction-count (count raw-transactions) + :integreat-transaction-count (reduce + 0 (vals found-transactions)) + :approved-count (:transaction-approval-status/approved found-transactions 0) + :unapproved-count (:transaction-approval-status/unapproved found-transactions 0) + :requires-feedback-count (:transaction-approval-status/requires-feedback found-transactions 0) + :missing-transactions missing-transactions})) diff --git a/src/clj/auto_ap/import/plaid.clj b/src/clj/auto_ap/import/plaid.clj index 7534a1ab..e39646b8 100644 --- a/src/clj/auto_ap/import/plaid.clj +++ b/src/clj/auto_ap/import/plaid.clj @@ -16,16 +16,29 @@ [manifold.executor :as ex] [clojure.string :as str])) -(defn get-plaid-accounts [db] - (-> (dc/q '[:find ?ba ?c ?external-id ?t - :in $ - :where - [?c :client/bank-accounts ?ba] - [?ba :bank-account/plaid-account ?pa] - [?pa :plaid-account/external-id ?external-id] - [?pi :plaid-item/accounts ?pa] - [?pi :plaid-item/access-token ?t]] - db ))) +(defn get-plaid-accounts + ([db] + (-> (dc/q '[:find ?ba ?c ?external-id ?t + :in $ + :where + [?c :client/bank-accounts ?ba] + [?ba :bank-account/plaid-account ?pa] + [?pa :plaid-account/external-id ?external-id] + [?pi :plaid-item/accounts ?pa] + [?pi :plaid-item/access-token ?t]] + db))) + ([db & client-codes] + (-> (dc/q '[:find ?ba ?c ?external-id ?t + :in $ [?cc ...] + :where + [?c :client/code ?cc] + [?c :client/bank-accounts ?ba] + [?ba :bank-account/plaid-account ?pa] + [?pa :plaid-account/external-id ?external-id] + [?pi :plaid-item/accounts ?pa] + [?pi :plaid-item/access-token ?t]] + db + client-codes)))) (defn plaid->transaction [t plaid-merchant->vendor-id] diff --git a/src/clj/auto_ap/import/plaid.fiddle b/src/clj/auto_ap/import/plaid.fiddle new file mode 100644 index 00000000..42d99b15 --- /dev/null +++ b/src/clj/auto_ap/import/plaid.fiddle @@ -0,0 +1,30 @@ +(ns auto-ap.import.plaid) + +(let [end (atime/local-now) + start (time/plus end (time/days -30)) + [_ _ external-id access-token] (first (get-plaid-accounts (dc/db conn) "BCFM"))] + (p/get-balance access-token)) + +(def g *1) + +(take 5 (:transactions g)) + +;; => ({:account_id "Dpj0d9yKmXsOxBd0eaL4UONyEJYomNIX7kba3", +;; :balances +;; {:available nil, +;; :current 17764.42, +;; :iso_currency_code "USD", +;; :limit nil, +;; :unofficial_currency_code nil}, +;; :mask "1006", +;; :name "NICHOLAS TAPTELIS -91006", +;; :official_name "Business Gold Rewards Card", +;; :subtype "credit card", +;; :type "credit"}) + + + + +(user/init-repl) + + diff --git a/src/clj/auto_ap/plaid/core.clj b/src/clj/auto_ap/plaid/core.clj index 0cec8676..a468f698 100644 --- a/src/clj/auto_ap/plaid/core.clj +++ b/src/clj/auto_ap/plaid/core.clj @@ -1,10 +1,10 @@ (ns auto-ap.plaid.core - (:require - [clj-http.client :as client] - [clojure.data.json :as json] - [auto-ap.logging :as alog] - [config.core :as cfg :refer [env]] - [auto-ap.time :as atime])) + (:require [auto-ap.logging :as alog] + [auto-ap.time :as atime] + [cemerick.url :as url] + [clj-http.client :as client] + [clojure.data.json :as json] + [config.core :as cfg :refer [env]])) (def base-url (-> env :plaid :base-url)) @@ -61,6 +61,15 @@ "access_token" access-token})}) :body)) +(defn get-balance [access-token ] + (-> (client/post (str base-url "/accounts/balance/get") + {:as :json + :headers {"Content-Type" "application/json"} + :body (json/write-str {"access_token" access-token + "secret" secret-key + "client_id" client-id})}) + :body)) + (defn get-transactions [access-token account-id start end] (alog/info ::searching :start (str start) diff --git a/src/clj/auto_ap/ssr/company/reports.clj b/src/clj/auto_ap/ssr/company/reports.clj index 12ef490e..ed223fe0 100644 --- a/src/clj/auto_ap/ssr/company/reports.clj +++ b/src/clj/auto_ap/ssr/company/reports.clj @@ -8,6 +8,7 @@ wrap-secure]] [auto-ap.ssr-routes :as ssr-routes] [auto-ap.ssr.company.reports.expense :as company-expense-report] + [auto-ap.ssr.company.reports.reconciliation :as company-reconciliation-report] [auto-ap.ssr.components :as com] [auto-ap.ssr.grid-page-helper :as helper] [auto-ap.ssr.svg :as svg] @@ -138,7 +139,8 @@ {:company-reports page :company-reports-table table :company-reports-delete delete-report} - company-expense-report/key->handler)) + company-expense-report/key->handler) + (into company-reconciliation-report/key->handler)) (fn [h] (-> h (wrap-secure) diff --git a/src/clj/auto_ap/ssr/company/reports/reconciliation.clj b/src/clj/auto_ap/ssr/company/reports/reconciliation.clj new file mode 100644 index 00000000..5a1a03a5 --- /dev/null +++ b/src/clj/auto_ap/ssr/company/reports/reconciliation.clj @@ -0,0 +1,204 @@ +(ns auto-ap.ssr.company.reports.reconciliation + (:require [auto-ap.datomic :refer [conn pull-attr]] + [auto-ap.graphql.utils :refer [extract-client-ids]] + [auto-ap.import.intuit :refer [get-intuit-bank-accounts + intuits->transactions]] + [auto-ap.intuit.core :refer [get-transactions]] + [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.components :as com] + [auto-ap.ssr.form-cursor :as fc] + [auto-ap.ssr.hx :as hx] + [auto-ap.ssr.ui :refer [base-page]] + [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers + clj-date-schema html-response + wrap-schema-enforce]] + [auto-ap.time :as atime] + [bidi.bidi :as bidi] + [cemerick.url :as url] + [clj-time.coerce :as coerce] + [datomic.api :as dc] + [auto-ap.ssr.svg :as svg])) + +(defn report* [{:keys [request report]}] + [:div #_{:class "overflow-scroll min-w-full max-h-[700px]"} + (com/data-grid + {:headers (into + [(com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Bank Account") + (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Source count") + (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Synced count") + (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Approved transactions") + (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Unapproved transactions") + (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Requires feedback transactions") + (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Missing transactions")]) + #_#_:thead-params {:class "sticky top-0 z-50"}} + (for [row report] + (let [matches? (= (:external-transaction-count row) + (:integreat-transaction-count row)) + class (if matches? "bg-primary-200 text-primary-900" + "bg-red-200 text-red-900")] + (com/data-grid-row + {} + (com/data-grid-cell {:class class} + (:bank-account/name row)) + (com/data-grid-cell {:class class} + (:external-transaction-count row)) + (com/data-grid-cell {:class class} + (:integreat-transaction-count row)) + (com/data-grid-cell {:class class} + (:approved-count row)) + (com/data-grid-cell {:class class} + (:unapproved-count row)) + (com/data-grid-cell {:class class} + (:requires-feedback-count row)) + (com/data-grid-cell {:class class} + [:div { :x-data (hx/json {:popper nil + :hovering false}) + "x-init" "popper = Popper.createPopper($refs.hover_target, $refs.tooltip, {placement: 'bottom', strategy:'fixed', modifiers: [{name: 'preventOverflow'}, {name: 'offset', options: {offset: [0, 10]}}]});"} + (com/button {"x-ref" "hover_target" + "@click.prevent" "hovering=!hovering; $nextTick(() => popper.update())"} + [:div.flex.gap-2.items-center + (count (:missing-transactions row)) + [:div.w-4.h-4 svg/question] + + ]) + [:div (hx/alpine-appear {:x-ref "tooltip" + :x-show "hovering" + :class "bg-gray-100 dark:bg-gray-600 rounded-lg shadow-2xl w-max z-50 p-4"}) + (com/data-grid {:headers [(com/data-grid-header {} "Date") + (com/data-grid-header {} "Amount")]} + (for [r (:missing-transactions row)] + (com/data-grid-row {} + (com/data-grid-cell {} + (atime/unparse-local (coerce/to-date-time (:transaction/date r)) atime/normal-date)) + (com/data-grid-cell {} + (format "$%,.2f" (:transaction/amount r)))))) + ] + + + ])))))]) + + +(defn reconciliation-card* [{:keys [request report]}] + (com/content-card {:class "w-full" :id "reconciliation-report"} + [:div {:class "flex flex-col px-8 py-8 space-y-3"} + [:div + [:h1.text-2xl.mb-3.font-bold "Bank Reconciliation Report"] + + [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-reconciliation-report-card) + :hx-target "#reconciliation-report" + :hx-swap "outerHTML"} + (fc/start-form + (:query-params request) + (:form-errors request) + [:div.flex.gap-2 + (fc/with-field :start-date + (com/validated-field {:label "Start" + :errors (fc/field-errors)} + [:div {:class "w-64"} + (com/date-input {:name (fc/field-name) + :class "w-64" + :value (some-> (fc/field-value) + (atime/unparse-local atime/normal-date)) })])) + (fc/with-field :end-date + (com/validated-field {:label "End" + :errors (fc/field-errors)} + [:div {:class "w-64"} + (com/date-input {:name (fc/field-name) + :class "w-64" + :value (some-> (fc/field-value) + (atime/unparse-local atime/normal-date)) })])) + (com/button {:color :primary :class "self-center w-24"} "Run")])] +(if report + (report* {:request request :report report}) + [:div "Please choose a time range to run the report"]) + ]])) + +(defn page [request] + (base-page + request + (com/page {:nav com/company-aside-nav + :client-selection (:client-selection request) + :client (:client request) + :clients (:clients request) + :identity (:identity request) + :app-params {:hx-get (bidi/path-for ssr-routes/only-routes :company-reconciliation-report) + :hx-trigger "clientSelected from:body" + :hx-select "#app-contents" + :hx-swap "outerHTML swap:300ms"}} + (com/breadcrumbs {} + [:a {:href (bidi/path-for ssr-routes/only-routes :company)} + "My Company"] + [:a {:href (bidi/path-for ssr-routes/only-routes :company-reconciliation-report)} + "Reconciliation Report"]) + (reconciliation-card* {:request request :report nil})) + "My Company")) + +(defn normalize-query-params [request] + (-> request + :query-params + (update :vendor-id :db/id) + (update :account-id :db/id) + (update :start-date #(atime/unparse-local % atime/normal-date)) + (update :end-date #(atime/unparse-local % atime/normal-date)) + + url/map->query)) + +(defn get-report-data [start-date end-date client-ids] + (let [client-codes (map first (dc/q '[:find ?cc :in $ [?c ...] :where [?c :client/code ?cc]] (dc/db conn ) client-ids))] + (for [[ib ba c] (seq (apply get-intuit-bank-accounts (dc/db conn) client-codes)) + :let [raw-transactions (get-transactions (atime/unparse-local start-date atime/iso-date) + (atime/unparse-local end-date atime/iso-date) + ib) + ideal-transactions (intuits->transactions raw-transactions ba c) + + found-transactions (when (seq ideal-transactions) + (into {} (dc/q '[:find ?si (count ?t) + :in $ [?eid ...] + :where + [?t :transaction/id ?eid] + [?t :transaction/approval-status ?s] + [?s :db/ident ?si]] + (dc/db conn) + (map :transaction/id ideal-transactions)))) + + missing-transaction-ids (when (seq ideal-transactions) + (->> + (dc/q '[:find ?eid + :in $ [?eid ...] + :where (not [_ :transaction/id ?eid])] + (dc/db conn) + (map :transaction/id ideal-transactions)) + (map first) + (into #{}))) + missing-transactions (filter (comp missing-transaction-ids :transaction/id) ideal-transactions)]] + {:bank-account/name (pull-attr (dc/db conn) :bank-account/name ba) + :external-transaction-count (count raw-transactions) + :integreat-transaction-count (reduce + 0 (vals found-transactions)) + :approved-count (:transaction-approval-status/approved found-transactions 0) + :unapproved-count (:transaction-approval-status/unapproved found-transactions 0) + :requires-feedback-count (:transaction-approval-status/requires-feedback found-transactions 0) + :missing-transactions missing-transactions}))) + +(defn card [{ {:keys [start-date end-date]} :query-params :as request}] + (let [client-ids (extract-client-ids (:clients request) + (:client-id request) + (when (:client-code request) + [:client/code (:client-code request)])) + report (get-report-data start-date end-date client-ids)] + (html-response + (reconciliation-card* {:request request + :report report}) + :headers {"hx-push-url" (str "?" (normalize-query-params request))}))) + +(def key->handler + (apply-middleware-to-all-handlers + {:company-reconciliation-report page + :company-reconciliation-report-card card} + (fn [h] + (-> h + (wrap-schema-enforce :query-schema + [:map {:default {}} + [:start-date {:optional true} + [:maybe clj-date-schema]] + [:end-date {:optional true} + [:maybe clj-date-schema]] ]))))) \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/components/aside.clj b/src/clj/auto_ap/ssr/components/aside.clj index 3da9b45d..b434c84a 100644 --- a/src/clj/auto_ap/ssr/components/aside.clj +++ b/src/clj/auto_ap/ssr/components/aside.clj @@ -294,6 +294,15 @@ :company-expense-report) :hx-boost true} "Expense Report")] + (when (can? (:identity request) + {:subject :reconciliation-report})) + [:li + (menu-button- {:icon svg/report + :active? (= :company-reconciliation-report (:matched-route request)) + :href (bidi/path-for ssr-routes/only-routes + :company-reconciliation-report) + :hx-boost true} + "Reconciliation Report")] [:li (menu-button- {:icon svg/bank :active? (= :company-plaid (:matched-route request)) diff --git a/src/cljc/auto_ap/ssr_routes.cljc b/src/cljc/auto_ap/ssr_routes.cljc index f889582d..3ed6bfe7 100644 --- a/src/cljc/auto_ap/ssr_routes.cljc +++ b/src/cljc/auto_ap/ssr_routes.cljc @@ -87,7 +87,10 @@ "/table" :company-reports-table "/expense" {:get :company-expense-report "/card" :company-expense-report-breakdown-card - "/invoice-total-card" :company-expense-report-invoice-total-card}} + "/invoice-total-card" :company-expense-report-invoice-total-card} + "/reconciliation" + {:get :company-reconciliation-report + "/card" :company-reconciliation-report-card}} "/yodlee" {"" {:get :company-yodlee} "/table" {:get :company-yodlee-table} "/fastlink" {:get :company-yodlee-fastlink-dialog} From ba439fad50d29377774e4187ba0495279db25bf3 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 21:34:12 -0700 Subject: [PATCH 19/59] dont show button if not necessary --- .../ssr/company/reports/reconciliation.clj | 61 +++++++++---------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/src/clj/auto_ap/ssr/company/reports/reconciliation.clj b/src/clj/auto_ap/ssr/company/reports/reconciliation.clj index 5a1a03a5..c832b03b 100644 --- a/src/clj/auto_ap/ssr/company/reports/reconciliation.clj +++ b/src/clj/auto_ap/ssr/company/reports/reconciliation.clj @@ -23,13 +23,13 @@ [:div #_{:class "overflow-scroll min-w-full max-h-[700px]"} (com/data-grid {:headers (into - [(com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Bank Account") - (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Source count") - (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Synced count") - (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Approved transactions") - (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Unapproved transactions") - (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Requires feedback transactions") - (com/data-grid-header {:class "" #_"sticky left-0 z-60 bg-gray-100"} "Missing transactions")]) + [(com/data-grid-header {} "Bank Account") + (com/data-grid-header {} "Source count") + (com/data-grid-header {} "Synced count") + (com/data-grid-header {} "Approved transactions") + (com/data-grid-header {} "Unapproved transactions") + (com/data-grid-header {} "Requires feedback transactions") + (com/data-grid-header {} "Missing transactions")]) #_#_:thead-params {:class "sticky top-0 z-50"}} (for [row report] (let [matches? (= (:external-transaction-count row) @@ -51,31 +51,28 @@ (com/data-grid-cell {:class class} (:requires-feedback-count row)) (com/data-grid-cell {:class class} - [:div { :x-data (hx/json {:popper nil - :hovering false}) - "x-init" "popper = Popper.createPopper($refs.hover_target, $refs.tooltip, {placement: 'bottom', strategy:'fixed', modifiers: [{name: 'preventOverflow'}, {name: 'offset', options: {offset: [0, 10]}}]});"} - (com/button {"x-ref" "hover_target" - "@click.prevent" "hovering=!hovering; $nextTick(() => popper.update())"} - [:div.flex.gap-2.items-center - (count (:missing-transactions row)) - [:div.w-4.h-4 svg/question] - - ]) - [:div (hx/alpine-appear {:x-ref "tooltip" - :x-show "hovering" - :class "bg-gray-100 dark:bg-gray-600 rounded-lg shadow-2xl w-max z-50 p-4"}) - (com/data-grid {:headers [(com/data-grid-header {} "Date") - (com/data-grid-header {} "Amount")]} - (for [r (:missing-transactions row)] - (com/data-grid-row {} - (com/data-grid-cell {} - (atime/unparse-local (coerce/to-date-time (:transaction/date r)) atime/normal-date)) - (com/data-grid-cell {} - (format "$%,.2f" (:transaction/amount r)))))) - ] - - - ])))))]) + (when (> (count (:missing-transactions row)) 0) + [:div { :x-data (hx/json {:popper nil + :hovering false}) + "x-init" "popper = Popper.createPopper($refs.hover_target, $refs.tooltip, {placement: 'bottom', strategy:'fixed', modifiers: [{name: 'preventOverflow'}, {name: 'offset', options: {offset: [0, 10]}}]});"} + (com/button {"x-ref" "hover_target" + "@click.prevent" "hovering=!hovering; $nextTick(() => popper.update())"} + [:div.flex.gap-2.items-center + (count (:missing-transactions row)) + [:div.w-4.h-4 svg/question] + + ]) + [:div (hx/alpine-appear {:x-ref "tooltip" + :x-show "hovering" + :class "bg-gray-100 dark:bg-gray-600 rounded-lg shadow-2xl w-max z-50 p-4"}) + (com/data-grid {:headers [(com/data-grid-header {} "Date") + (com/data-grid-header {} "Amount")]} + (for [r (:missing-transactions row)] + (com/data-grid-row {} + (com/data-grid-cell {} + (atime/unparse-local (coerce/to-date-time (:transaction/date r)) atime/normal-date)) + (com/data-grid-cell {} + (format "$%,.2f" (:transaction/amount r)))))) ] ]))))))]) (defn reconciliation-card* [{:keys [request report]}] From 0a0746df0dbbb9d77a18508a053c55f9c10c54a8 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 22:08:48 -0700 Subject: [PATCH 20/59] hides report --- src/clj/auto_ap/ssr/components/aside.clj | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/clj/auto_ap/ssr/components/aside.clj b/src/clj/auto_ap/ssr/components/aside.clj index b434c84a..05e71812 100644 --- a/src/clj/auto_ap/ssr/components/aside.clj +++ b/src/clj/auto_ap/ssr/components/aside.clj @@ -295,14 +295,14 @@ :hx-boost true} "Expense Report")] (when (can? (:identity request) - {:subject :reconciliation-report})) + {:subject :reconciliation-report}) [:li - (menu-button- {:icon svg/report - :active? (= :company-reconciliation-report (:matched-route request)) - :href (bidi/path-for ssr-routes/only-routes - :company-reconciliation-report) - :hx-boost true} - "Reconciliation Report")] + (menu-button- {:icon svg/report + :active? (= :company-reconciliation-report (:matched-route request)) + :href (bidi/path-for ssr-routes/only-routes + :company-reconciliation-report) + :hx-boost true} + "Reconciliation Report")]) [:li (menu-button- {:icon svg/bank :active? (= :company-plaid (:matched-route request)) From 1de86104d70f3aa52891bdf07e540696017a451e Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 22:09:01 -0700 Subject: [PATCH 21/59] hides report --- src/clj/auto_ap/ssr/components/aside.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/auto_ap/ssr/components/aside.clj b/src/clj/auto_ap/ssr/components/aside.clj index 05e71812..6577f9c8 100644 --- a/src/clj/auto_ap/ssr/components/aside.clj +++ b/src/clj/auto_ap/ssr/components/aside.clj @@ -302,7 +302,7 @@ :href (bidi/path-for ssr-routes/only-routes :company-reconciliation-report) :hx-boost true} - "Reconciliation Report")]) + "Bank Sync Report")]) [:li (menu-button- {:icon svg/bank :active? (= :company-plaid (:matched-route request)) From b537e99ecf6d9aa8984c43477b40c249e2e31ebf Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 24 Apr 2024 22:56:10 -0700 Subject: [PATCH 22/59] adds glimpse for power users --- resources/public/output.css | 2 +- src/clj/auto_ap/ssr/components/aside.clj | 18 ++++- src/clj/auto_ap/ssr/core.clj | 82 ++++++++++---------- src/clj/auto_ap/ssr/invoice/glimpse.clj | 96 ++++++++++++++---------- src/cljc/auto_ap/permissions.cljc | 14 +++- 5 files changed, 125 insertions(+), 87 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index 9b394ba2..ce8ea3f7 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/components/aside.clj b/src/clj/auto_ap/ssr/components/aside.clj index 6577f9c8..b9c5dd1e 100644 --- a/src/clj/auto_ap/ssr/components/aside.clj +++ b/src/clj/auto_ap/ssr/components/aside.clj @@ -10,6 +10,7 @@ [auto-ap.routes.outgoing-invoice :as oi-routes] [auto-ap.routes.payments :as payment-routes] [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.components.tags :as tags] [auto-ap.ssr.hiccup-helper :as hh] [auto-ap.ssr.hx :as hx] [auto-ap.ssr.svg :as svg] @@ -45,8 +46,8 @@ :class (fnil hh/add-class "") "space-y-1.5 max-h-0 transition transition-all overflow-hidden") true (assoc ":class" (format "selected == '%s' ? 'py-0.5' : 'py-0'" (:selector params)) :x-ref "submenu" - :style (cond-> {} (:active? params) (assoc "max-height" "400px")) - ":style" (format "selected == '%s' ? 'max-height: ' + $refs.submenu.scrollHeight + 'px' : ''" (:selector params)))) + :style (cond-> {} (:active? params) (assoc "max-height" "900px")) + ":style" (format "selected == '%s' ? 'max-height: ' + $el.scrollHeight + 'px' : ''" (:selector params)))) (for [c children] [:li (update-in c [1 1 :class ] (fn [c] @@ -83,7 +84,7 @@ (defn main-aside-nav- [request] (let [selected (cond - (#{::invoice-route/all-page ::invoice-route/unpaid-page ::invoice-route/voided-page ::invoice-route/paid-page ::oi-routes/new} (:matched-route request)) + (#{::invoice-route/all-page ::invoice-route/unpaid-page ::invoice-route/voided-page ::invoice-route/paid-page ::oi-routes/new :invoice-glimpse :invoice-glimpse-textract-invoice} (:matched-route request)) "invoices" (#{:pos-sales :pos-expected-deposits :pos-tenders :pos-refunds :pos-cash-drawer-shifts} (:matched-route request)) @@ -140,6 +141,17 @@ :activity :import}) (menu-button- {:href (bidi/path-for client-routes/routes :import-invoices)} "Import")) + + (when (can? (:identity request) + {:subject :invoice + :activity :import}) + (menu-button- {:href (hu/url (bidi/path-for ssr-routes/only-routes + :invoice-glimpse)) + :active? (= :invoice-glimpse (:matched-route request)) + :hx-boost "true"} + [:div.flex.gap-2 + "Glimpse" + (tags/pill- {:color :secondary} "Beta")])) (when (can? (:identity request) diff --git a/src/clj/auto_ap/ssr/core.clj b/src/clj/auto_ap/ssr/core.clj index f6af4678..119a0214 100644 --- a/src/clj/auto_ap/ssr/core.clj +++ b/src/clj/auto_ap/ssr/core.clj @@ -1,41 +1,41 @@ (ns auto-ap.ssr.core - (:require - [auto-ap.routes.ezcater-xls :as ezcater-xls] - [auto-ap.routes.utils + (:require [auto-ap.permissions :refer [wrap-must]] + [auto-ap.routes.ezcater-xls :as ezcater-xls] + [auto-ap.routes.utils :refer [wrap-admin wrap-client-redirect-unauthenticated wrap-secure]] - [auto-ap.ssr.account :as account] - [auto-ap.ssr.payments :as payments] - [auto-ap.ssr.admin :as admin] - [auto-ap.ssr.admin.accounts :as admin-accounts] - [auto-ap.ssr.admin.background-jobs :as admin-jobs] - [auto-ap.ssr.admin.excel-invoice :as admin-excel-invoices] - [auto-ap.ssr.admin.history :as history] - [auto-ap.ssr.admin.import-batch :as import-batch] - [auto-ap.ssr.admin.transaction-rules :as admin-rules] - [auto-ap.ssr.admin.vendors :as admin-vendors] - [auto-ap.ssr.admin.clients :as admin-clients] - [auto-ap.ssr.admin.sales-summaries :as admin-sales-summaries] - [auto-ap.ssr.auth :as auth] - [auto-ap.ssr.indicators :as indicators] - [auto-ap.ssr.company :as company] - [auto-ap.ssr.company-dropdown :as company-dropdown] - [auto-ap.ssr.company.company-1099 :as company-1099] - [auto-ap.ssr.company.plaid :as company-plaid] - [auto-ap.ssr.company.reports :as company-reports] - [auto-ap.ssr.company.yodlee :as company-yodlee] - [auto-ap.ssr.invoice.glimpse :as invoice-glimpse] - [auto-ap.ssr.pos.cash-drawer-shifts :as pos-cash-drawer-shifts] - [auto-ap.ssr.pos.expected-deposits :as pos-expected-deposits] - [auto-ap.ssr.pos.refunds :as pos-refunds] - [auto-ap.ssr.pos.sales-orders :as pos-sales] - [auto-ap.ssr.pos.tenders :as pos-tenders] - [auto-ap.ssr.invoices :as invoice] - [auto-ap.ssr.outgoing-invoice.new :as oin] - [auto-ap.ssr.search :as search] - [auto-ap.ssr.transaction.insights :as insights] - [auto-ap.ssr.users :as users] - [auto-ap.ssr.vendor :as vendors] - [ring.middleware.json :refer [wrap-json-response]])) + [auto-ap.ssr.account :as account] + [auto-ap.ssr.admin :as admin] + [auto-ap.ssr.admin.accounts :as admin-accounts] + [auto-ap.ssr.admin.background-jobs :as admin-jobs] + [auto-ap.ssr.admin.clients :as admin-clients] + [auto-ap.ssr.admin.excel-invoice :as admin-excel-invoices] + [auto-ap.ssr.admin.history :as history] + [auto-ap.ssr.admin.import-batch :as import-batch] + [auto-ap.ssr.admin.sales-summaries :as admin-sales-summaries] + [auto-ap.ssr.admin.transaction-rules :as admin-rules] + [auto-ap.ssr.admin.vendors :as admin-vendors] + [auto-ap.ssr.auth :as auth] + [auto-ap.ssr.company :as company] + [auto-ap.ssr.company-dropdown :as company-dropdown] + [auto-ap.ssr.company.company-1099 :as company-1099] + [auto-ap.ssr.company.plaid :as company-plaid] + [auto-ap.ssr.company.reports :as company-reports] + [auto-ap.ssr.company.yodlee :as company-yodlee] + [auto-ap.ssr.indicators :as indicators] + [auto-ap.ssr.invoice.glimpse :as invoice-glimpse] + [auto-ap.ssr.invoices :as invoice] + [auto-ap.ssr.outgoing-invoice.new :as oin] + [auto-ap.ssr.payments :as payments] + [auto-ap.ssr.pos.cash-drawer-shifts :as pos-cash-drawer-shifts] + [auto-ap.ssr.pos.expected-deposits :as pos-expected-deposits] + [auto-ap.ssr.pos.refunds :as pos-refunds] + [auto-ap.ssr.pos.sales-orders :as pos-sales] + [auto-ap.ssr.pos.tenders :as pos-tenders] + [auto-ap.ssr.search :as search] + [auto-ap.ssr.transaction.insights :as insights] + [auto-ap.ssr.users :as users] + [auto-ap.ssr.vendor :as vendors] + [ring.middleware.json :refer [wrap-json-response]])) ;; from auto-ap.ssr-routes, because they're shared @@ -66,11 +66,11 @@ :company-yodlee-fastlink-dialog (wrap-client-redirect-unauthenticated (wrap-secure company-yodlee/fastlink-dialog)) :company-yodlee-provider-account-refresh (wrap-client-redirect-unauthenticated (wrap-admin company-yodlee/refresh-provider-account)) :company-yodlee-provider-account-reauthenticate (wrap-client-redirect-unauthenticated (wrap-secure company-yodlee/reauthenticate)) - :invoice-glimpse (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/page)) - :invoice-glimpse-upload (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/upload)) - :invoice-glimpse-textract-invoice (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/textract-invoice)) - :invoice-glimpse-create-invoice (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/create-invoice)) - :invoice-glimpse-update-textract-invoice (wrap-client-redirect-unauthenticated (wrap-admin invoice-glimpse/update-textract-invoice)) + :invoice-glimpse (wrap-client-redirect-unauthenticated (wrap-must (wrap-secure invoice-glimpse/page) {:activity :import :subject :invoice})) + :invoice-glimpse-upload (wrap-client-redirect-unauthenticated (wrap-must (wrap-secure invoice-glimpse/upload) {:activity :import :subject :invoice})) + :invoice-glimpse-textract-invoice (wrap-client-redirect-unauthenticated (wrap-must (wrap-secure invoice-glimpse/textract-invoice) {:activity :import :subject :invoice})) + :invoice-glimpse-create-invoice (wrap-client-redirect-unauthenticated (wrap-must (wrap-secure invoice-glimpse/create-invoice) {:activity :import :subject :invoice})) + :invoice-glimpse-update-textract-invoice (wrap-client-redirect-unauthenticated (wrap-must (wrap-secure invoice-glimpse/update-textract-invoice) {:activity :import :subject :invoice})) :vendor-search (wrap-client-redirect-unauthenticated (wrap-secure vendors/search)) :transaction-insights (wrap-client-redirect-unauthenticated (wrap-admin insights/page)) :transaction-insight-table (wrap-client-redirect-unauthenticated (wrap-admin insights/insight-table)) diff --git a/src/clj/auto_ap/ssr/invoice/glimpse.clj b/src/clj/auto_ap/ssr/invoice/glimpse.clj index 19850803..d7df849c 100644 --- a/src/clj/auto_ap/ssr/invoice/glimpse.clj +++ b/src/clj/auto_ap/ssr/invoice/glimpse.clj @@ -1,33 +1,32 @@ (ns auto-ap.ssr.invoice.glimpse - (:require - [amazonica.aws.s3 :as s3] - [amazonica.aws.textract :as textract] - [auto-ap.datomic :refer [conn pull-attr pull-id]] - [auto-ap.datomic.clients :as d-clients] - [auto-ap.logging :as alog] - [auto-ap.solr :as solr] - [auto-ap.ssr-routes :as ssr-routes] - [auto-ap.ssr.components :as com] - [auto-ap.ssr.ui :refer [base-page]] - [auto-ap.ssr.utils :refer [html-response path->name]] - [auto-ap.time :as atime] - [bidi.bidi :as bidi] - [cemerick.url :as url] - [clj-time.coerce :as coerce] - [cheshire.core :as cheshire] - [clojure.java.io :as io] - [clojure.string :as str] - [com.brunobonacci.mulog :as mu] - [config.core :refer [env]] - [datomic.api :as dc] - [hiccup2.core :as hiccup] - [iol-ion.tx :refer [random-tempid]] - [auto-ap.client-routes :as client-routes] - [auto-ap.datomic.vendors :as d-vendors] - [clj-time.core :as time]) - (:import - (java.util UUID))) + (:require [amazonica.aws.s3 :as s3] + [amazonica.aws.textract :as textract] + [auto-ap.client-routes :as client-routes] + [auto-ap.datomic :refer [conn pull-attr]] + [auto-ap.datomic.clients :as d-clients] + [auto-ap.datomic.vendors :as d-vendors] + [auto-ap.graphql.utils :refer [extract-client-ids]] + [auto-ap.logging :as alog] + [auto-ap.solr :as solr] + [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.components :as com] + [auto-ap.ssr.ui :refer [base-page]] + [auto-ap.ssr.utils :refer [html-response path->name]] + [auto-ap.time :as atime] + [bidi.bidi :as bidi] + [cemerick.url :as url] + [cheshire.core :as cheshire] + [clj-time.coerce :as coerce] + [clj-time.core :as time] + [clojure.java.io :as io] + [clojure.string :as str] + [com.brunobonacci.mulog :as mu] + [config.core :refer [env]] + [datomic.api :as dc] + [hiccup2.core :as hiccup] + [iol-ion.tx :refer [random-tempid]]) + (:import (java.util UUID))) (def bucket-name (:data-bucket env)) @@ -63,8 +62,12 @@ [[] #{}] xs))) -(defn textract->textract-invoice [id tx] +(defn textract->textract-invoice [request id tx] (let [lookup (lookup tx) + valid-client-ids (extract-client-ids (:clients request) + (:client-id request) + (when (:client-code request) + [:client/code (:client-code request)])) total-options (->> (stack-rank #{"AMOUNT_DUE"} lookup) (map (fn [t] [t (some->> t @@ -87,8 +90,16 @@ [t (->> (solr/query solr/impl "clients" {"query" (format "name:(%s) ", (clean-customer t)) "fields" "score, *"}) #_(filter (fn [d] (> (:score d) 4.0))) (map (comp #(Long/parseLong %) :id)) - first)])))) + first)])) + (filter (fn [[t id]] + (valid-client-ids id))))) deduplicate) + customer-identifier-options (if (seq customer-identifier-options) + customer-identifier-options + (->> valid-client-ids + (take 10) + (map (fn [c] + [(pull-attr (dc/db conn) :client/name c) c])))) vendor-name-options (->> (stack-rank #{"VENDOR_NAME"} lookup) (mapcat (fn [t] (for [m (->> (solr/query solr/impl "vendors" {"query" (format "name:(%s) ", t) "fields" "score, *"}) @@ -161,13 +172,13 @@ invoice_dropzone = new Dropzone(\"#invoice\", { (update :textract-invoice/vendor-name vendor-name-tuple->vendor-tuple) (update :textract-invoice/vendor-name-options #(map vendor-name-tuple->vendor-tuple %) ))) -(defn refresh-job [id] +(defn refresh-job [request id] (let [{:keys [:db/id :textract-invoice/job-id :textract-invoice/textract-status]} (get-job id)] (when (and job-id (= "IN_PROGRESS" textract-status)) (let [result (textract/get-expense-analysis {:job-id job-id}) new-status (:job-status result)] (cond (= "SUCCEEDED" new-status) - @(dc/transact conn [[:upsert-entity (textract->textract-invoice id result)]]) + @(dc/transact conn [[:upsert-entity (textract->textract-invoice request id result)]]) :else @(dc/transact conn [{:db/id id :textract-invoice/textract-status new-status}])))) (get-job id))) @@ -198,6 +209,7 @@ invoice_dropzone = new Dropzone(\"#invoice\", { (com/field {:label "Client"} (com/text-input {:name (path->name [:invoice/client]) :value (-> textract-invoice :textract-invoice/customer-identifier second second) + :class "w-96" :placeholder "Client" :disabled true :autofocus true}))] @@ -213,6 +225,7 @@ invoice_dropzone = new Dropzone(\"#invoice\", { [:div.col-span-6 (com/field {:label "Vendor"} (com/text-input {:name (path->name [:invoice/vendor]) + :class "w-96" :value (-> textract-invoice :textract-invoice/vendor-name second second) :disabled true :placeholder "Vendor"}))] @@ -270,8 +283,8 @@ invoice_dropzone = new Dropzone(\"#invoice\", { (str invoice-number))})] (com/button {:color :primary} "Save")]) -(defn job-progress* [id] - (let [textract-invoice (refresh-job id)] +(defn job-progress* [request id] + (let [textract-invoice (refresh-job request id)] (cond (= "IN_PROGRESS" (:textract-invoice/textract-status textract-invoice)) [:div.bg-blue-100.border-2.border-dashed.rounded-lg.border-blue-300.p-4.max-w-md.w-md.text-center.cursor-pointer @@ -290,12 +303,12 @@ invoice_dropzone = new Dropzone(\"#invoice\", { [:div {:style {:width "805"}} (com/card {} [:iframe.p-4 {:src (:textract-invoice/pdf-url textract-invoice) :width 791 :height 700}])] - [:div {:class "basis-1/4"} + [:div {:class "basis-1/2"} (com/card {} [:div.p-4 (textract->invoice-form* textract-invoice)])]]]))) -(defn page* [id] +(defn page* [request id] [:div#invoice-glimpse-content.mt-4 (com/card {} [:div.px-4.py-3.space-y-4.flex.flex-col @@ -307,7 +320,7 @@ invoice_dropzone = new Dropzone(\"#invoice\", { [:p.text-sm.italic "Import your invoices with the power of AI. Please only use PDFs with a single invoice in them."] (when id - (job-progress* id)) + (job-progress* request id)) (when-not id (upload-form*))])]) @@ -402,7 +415,7 @@ invoice_dropzone = new Dropzone(\"#invoice\", { _ (when new-invoice-id @(dc/transact conn [{:db/id (:db/id current-job) :textract-invoice/invoice new-invoice-id}]))] (if new-invoice-id - (html-response (page* nil) + (html-response (page* request nil) :headers {"hx-push-url" (bidi/path-for ssr-routes/only-routes :invoice-glimpse) "hx-retarget" "#invoice-glimpse-content" "hx-trigger" (cheshire/generate-string {"notification" (str (hiccup/html [:div "Successfully created " @@ -420,10 +433,11 @@ invoice_dropzone = new Dropzone(\"#invoice\", { :method request-method) (base-page request - (com/page {:nav com/admin-aside-nav + (com/page {:nav com/main-aside-nav :client-selection (:client-selection request) :client (:client request) :clients (:clients request) + :request request :identity (:identity request) :app-params {:hx-get (bidi/path-for ssr-routes/only-routes :invoice-glimpse) @@ -437,7 +451,7 @@ invoice_dropzone = new Dropzone(\"#invoice\", { [:a {:href (bidi/path-for ssr-routes/only-routes :invoice-glimpse)} "Glimpse"]) - (page* (some-> request + (page* request (some-> request :route-params :textract-invoice-id Long/parseLong))) @@ -446,7 +460,7 @@ invoice_dropzone = new Dropzone(\"#invoice\", { (defn textract-invoice [request] (if (get-in request [:headers "hx-request"]) - (html-response (job-progress* (some-> request + (html-response (job-progress* request (some-> request :route-params :textract-invoice-id Long/parseLong))) diff --git a/src/cljc/auto_ap/permissions.cljc b/src/cljc/auto_ap/permissions.cljc index d1287f85..660a4f0d 100644 --- a/src/cljc/auto_ap/permissions.cljc +++ b/src/cljc/auto_ap/permissions.cljc @@ -1,4 +1,6 @@ -(ns auto-ap.permissions) +(ns auto-ap.permissions + #?(:clj + (:require [cemerick.url :as url]))) ;; TODO after getting rid of cljs, use malli schemas to decode this (defn get-client-id [client] @@ -113,3 +115,13 @@ :else false))) + +#? (:clj + (defn wrap-must [handler policy] + (fn [request] + (if (can? (:identity request) policy) + (handler request) + {:status 302 + :headers {"Location" (str "/login?" + (url/map->query {"redirect-to" (:uri request)}))}})))) + From f1250904855e1375f98ccf1c31724e99e839e09d Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 26 Apr 2024 20:12:10 -0700 Subject: [PATCH 23/59] Adds the ability for intuit snapshot balance --- resources/schema.edn | 8 ++++++++ src/clj/auto_ap/import/intuit.clj | 32 +++++++++++++++++------------- src/clj/auto_ap/intuit/core.clj | 33 ++++++++++++++++++++----------- src/clj/auto_ap/ssr/company.clj | 1 + 4 files changed, 48 insertions(+), 26 deletions(-) diff --git a/resources/schema.edn b/resources/schema.edn index 1c5e1156..deaf672b 100644 --- a/resources/schema.edn +++ b/resources/schema.edn @@ -654,6 +654,14 @@ :db/cardinality #:db{:ident :db.cardinality/one}, :db/doc "Name of intuit bank", :db/ident :intuit-bank-account/name} +{ :db/valueType :db.type/double, + :db/cardinality :db.cardinality/one + :db/doc "Quickbook's view of the balance of the account", + :db/ident :intuit-bank-account/current-balance} +{ :db/valueType :db.type/instant + :db/cardinality :db.cardinality/one + :db/doc "Last time Quickbooks updated", + :db/ident :intuit-bank-account/last-synced} {:db/unique #:db{:ident :db.unique/identity}, :db/valueType #:db{:ident :db.type/long}, diff --git a/src/clj/auto_ap/import/intuit.clj b/src/clj/auto_ap/import/intuit.clj index 6a00f090..fd908291 100644 --- a/src/clj/auto_ap/import/intuit.clj +++ b/src/clj/auto_ap/import/intuit.clj @@ -1,16 +1,16 @@ (ns auto-ap.import.intuit - (:require - [auto-ap.datomic :refer [conn pull-attr]] - [auto-ap.import.common :refer [wrap-integration]] - [auto-ap.import.transactions :as t] - [auto-ap.intuit.core :as i] - [auto-ap.logging :as alog] - [auto-ap.time :as atime] - [clj-time.coerce :as coerce] - [clj-time.core :as time] - [clojure.string :as str] - [com.unbounce.dogstatsd.core :as statsd] - [datomic.api :as dc])) + (:require [auto-ap.datomic :refer [conn]] + [auto-ap.import.common :refer [wrap-integration]] + [auto-ap.import.transactions :as t] + [auto-ap.intuit.core :as i] + [auto-ap.logging :as alog] + [auto-ap.time :as atime] + [clj-time.coerce :as coerce] + [clj-time.core :as time] + [clojure.string :as str] + [com.unbounce.dogstatsd.core :as statsd] + [datomic.api :as dc] + [iol-ion.utils :refer [remove-nils]])) (defn get-intuit-bank-accounts ( [db] @@ -90,6 +90,10 @@ bank-accounts (i/get-bank-accounts token)] @(dc/transact conn (mapv (fn [ba] - {:intuit-bank-account/external-id (:name ba) - :intuit-bank-account/name (:name ba)}) + (remove-nils + {:intuit-bank-account/external-id (:name ba) + :intuit-bank-account/name (:name ba) + :intuit-bank-account/last-synced (coerce/to-date (:last-updated ba)) + :intuit-bank-account/current-balance (:current-balance ba)})) bank-accounts)))) + diff --git a/src/clj/auto_ap/intuit/core.clj b/src/clj/auto_ap/intuit/core.clj index 19fa6a97..9dc0def8 100644 --- a/src/clj/auto_ap/intuit/core.clj +++ b/src/clj/auto_ap/intuit/core.clj @@ -1,13 +1,12 @@ (ns auto-ap.intuit.core - (:require - [amazonica.aws.s3 :as s3] - [clj-http.client :as client] - [clojure.core.memoize :as m] - [clojure.java.io :as io] - [clojure.string :as str] - [config.core :as cfg :refer [env]]) - (:import - (org.apache.commons.codec.binary Base64))) + (:require [amazonica.aws.s3 :as s3] + [clj-http.client :as client] + [clj-time.coerce :as c] + [clojure.core.memoize :as m] + [clojure.java.io :as io] + [clojure.string :as str] + [config.core :as cfg :refer [env]]) + (:import (org.apache.commons.codec.binary Base64))) ;; (def authorization-code "AB11638463964I0tYPR3A1inog2HL407u2bZBXHg6LEqCbILRO") ;; (def realm-id "4620816365202617680") @@ -98,6 +97,13 @@ {:headers base-headers :as :json}) +(defn get-bank-accounts-raw [token] + (->> (:body (client/get (str prod-base-url "/company/" prod-company-id "/query" ) + {:headers + (with-auth prod-base-headers token) + :as :json + :query-params {"query" "SELECT * From Account maxresults 1000"}})) + :QueryResponse)) (defn get-bank-accounts [token] @@ -110,10 +116,13 @@ :Account #_(filter #(#{"Bank" "Credit Card"} (:AccountType %))) - (map (juxt :Id :Name)) - (map (fn [[id name]] + (map (juxt :Id :Name :CurrentBalance :MetaData)) + (map (fn [[id name current-balance metadata]] {:id id - :name name})))) + :name name + :last-updated (c/to-date-time (-> metadata :LastUpdatedTime)) + :current-balance current-balance})))) + (defn get-all-transactions [start end] (let [token (get-fresh-access-token)] diff --git a/src/clj/auto_ap/ssr/company.clj b/src/clj/auto_ap/ssr/company.clj index eba9fa59..e2ef057c 100644 --- a/src/clj/auto_ap/ssr/company.clj +++ b/src/clj/auto_ap/ssr/company.clj @@ -132,6 +132,7 @@ request (com/page {:nav com/company-aside-nav :client-selection (:client-selection request) + :request request :client (:client request) :clients (:clients request) :identity (:identity request) From 227acba4e2960451a46681288921f6cb487dc866 Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 26 Apr 2024 20:20:11 -0700 Subject: [PATCH 24/59] other tweak --- src/clj/auto_ap/import/intuit.fiddle | 34 ---------------------------- src/clj/auto_ap/intuit/core.clj | 2 +- 2 files changed, 1 insertion(+), 35 deletions(-) diff --git a/src/clj/auto_ap/import/intuit.fiddle b/src/clj/auto_ap/import/intuit.fiddle index 51f95c41..b70a5241 100644 --- a/src/clj/auto_ap/import/intuit.fiddle +++ b/src/clj/auto_ap/import/intuit.fiddle @@ -35,39 +35,5 @@ (require 'auto-ap.time_reader) -(let [start #clj-time/date-time "2024-02-01" - end #clj-time/date-time "2024-04-01"] - (for [[ib ba c] (seq (get-intuit-bank-accounts (dc/db conn) "BCFM")) - :let [raw-transactions (i/get-transactions (atime/unparse-local start atime/iso-date) - (atime/unparse-local end atime/iso-date) - ib) - ideal-transactions (intuits->transactions raw-transactions ba c) - found-transactions (when (seq ideal-transactions) - (into {} (dc/q '[:find ?si (count ?t) - :in $ [?eid ...] - :where - [?t :transaction/id ?eid] - [?t :transaction/approval-status ?s] - [?s :db/ident ?si]] - (dc/db conn) - (map :transaction/id ideal-transactions)))) - - missing-transaction-ids (when (seq ideal-transactions) - (->> - (dc/q '[:find ?eid - :in $ [?eid ...] - :where (not [_ :transaction/id ?eid])] - (dc/db conn) - (map :transaction/id ideal-transactions)) - (map first) - (into #{}))) - missing-transactions (filter (comp missing-transaction-ids :transaction/id) ideal-transactions)]] - {:bank-account/name (pull-attr (dc/db conn) :bank-account/name ba) - :external-transaction-count (count raw-transactions) - :integreat-transaction-count (reduce + 0 (vals found-transactions)) - :approved-count (:transaction-approval-status/approved found-transactions 0) - :unapproved-count (:transaction-approval-status/unapproved found-transactions 0) - :requires-feedback-count (:transaction-approval-status/requires-feedback found-transactions 0) - :missing-transactions missing-transactions})) diff --git a/src/clj/auto_ap/intuit/core.clj b/src/clj/auto_ap/intuit/core.clj index 9dc0def8..aaff8fdc 100644 --- a/src/clj/auto_ap/intuit/core.clj +++ b/src/clj/auto_ap/intuit/core.clj @@ -121,7 +121,7 @@ {:id id :name name :last-updated (c/to-date-time (-> metadata :LastUpdatedTime)) - :current-balance current-balance})))) + :current-balance (try (double current-balance) (catch Exception _ nil))})))) (defn get-all-transactions [start end] From c8f438f61656208c31b1540fe1ea2d17420963df Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 26 Apr 2024 21:51:56 -0700 Subject: [PATCH 25/59] started work on bank comparisons. --- resources/public/output.css | 2 +- resources/schema.edn | 10 ++++ src/clj/auto_ap/graphql/clients.clj | 39 ++++++++------ src/clj/auto_ap/import/intuit.clj | 1 - src/clj/auto_ap/import/intuit.fiddle | 34 ++++++++++++ src/clj/auto_ap/ledger.clj | 1 - src/clj/auto_ap/ssr/core.clj | 2 + src/clj/auto_ap/ssr/dashboard.clj | 73 ++++++++++++++++++++++++++ src/cljc/auto_ap/routes/dashboard.cljc | 3 ++ src/cljc/auto_ap/ssr_routes.cljc | 2 + 10 files changed, 147 insertions(+), 20 deletions(-) create mode 100644 src/clj/auto_ap/ssr/dashboard.clj create mode 100644 src/cljc/auto_ap/routes/dashboard.cljc diff --git a/resources/public/output.css b/resources/public/output.css index ce8ea3f7..a64f9496 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/resources/schema.edn b/resources/schema.edn index deaf672b..0af54a6a 100644 --- a/resources/schema.edn +++ b/resources/schema.edn @@ -215,6 +215,11 @@ :db/cardinality #:db{:ident :db.cardinality/one}, :db/doc "A precomputed balance for the account", :db/ident :bank-account/current-balance} +{:db/valueType #:db{:ident :db.type/instant}, + :db/noHistory true, + :db/cardinality #:db{:ident :db.cardinality/one}, + :db/doc "A precomputed balance for the account", + :db/ident :bank-account/current-balance-synced} {:db/valueType #:db{:ident :db.type/long}, :db/cardinality #:db{:ident :db.cardinality/one}, :db/doc "The numeric code for the balance sheet", @@ -1619,6 +1624,11 @@ :db/cardinality #:db{:ident :db.cardinality/one}, :db/doc "Yodlee account id", :db/ident :yodlee-account/id} +{:db/valueType #:db{:ident :db.type/instant}, + :db/noHistory true, + :db/cardinality #:db{:ident :db.cardinality/one}, + :db/doc "A precomputed balance for the account", + :db/ident :yodlee-account/last-synced} {:db/valueType #:db{:ident :db.type/string}, :db/cardinality #:db{:ident :db.cardinality/one}, :db/doc "account name", diff --git a/src/clj/auto_ap/graphql/clients.clj b/src/clj/auto_ap/graphql/clients.clj index bc4591d5..537b3b8b 100644 --- a/src/clj/auto_ap/graphql/clients.clj +++ b/src/clj/auto_ap/graphql/clients.clj @@ -4,6 +4,8 @@ [auto-ap.graphql.utils :refer [->graphql <-graphql assert-admin attach-tracing-resolvers can-see-client? is-admin? result->page]] + [clj-time.coerce :as c] + [clj-time.core :as time] [clojure.set :as set] [com.brunobonacci.mulog :as mu] [datomic.api :as dc])) @@ -13,24 +15,27 @@ (let [db (dc/db conn) clients (dc/q '[:find (pull ?c [:db/id :client/code {:client/bank-accounts [:db/id :bank-account/code]}]) :where [?c :client/code]] - db )] - (doseq [[{client :db/id code :client/code bank-accounts :client/bank-accounts}] clients - {bank-account :db/id bac :bank-account/code} bank-accounts] + db)] + (doseq [[{client :db/id code :client/code bank-accounts :client/bank-accounts}] clients + {bank-account :db/id bac :bank-account/code} bank-accounts] @(dc/transact conn [{:db/id bank-account - :bank-account/current-balance - (or - (->> (dc/index-pull db - {:index :avet - :selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}] - :start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]] - :reverse true - }) - (filter (fn [{[c b] :journal-entry-line/client+account+location+date}] - (and (= c client) - (= b bank-account)))) - (map :journal-entry-line/running-balance) - (first)) - 0.0)}]))))) + :bank-account/current-balance-synced (c/to-date (time/now)) + :bank-account/current-balance + (or + (->> (dc/index-pull db + {:index :avet + :selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}] + :start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]] + :reverse true}) + (take 3) + + (filter (fn [{[c b] :journal-entry-line/client+account+location+date}] + (and (= c client) + (= b bank-account)))) + + (map :journal-entry-line/running-balance) + (first)) + 0.0)}]))))) (defn get-client [context _ _] (->graphql diff --git a/src/clj/auto_ap/import/intuit.clj b/src/clj/auto_ap/import/intuit.clj index fd908291..ff4dd3e0 100644 --- a/src/clj/auto_ap/import/intuit.clj +++ b/src/clj/auto_ap/import/intuit.clj @@ -96,4 +96,3 @@ :intuit-bank-account/last-synced (coerce/to-date (:last-updated ba)) :intuit-bank-account/current-balance (:current-balance ba)})) bank-accounts)))) - diff --git a/src/clj/auto_ap/import/intuit.fiddle b/src/clj/auto_ap/import/intuit.fiddle index b70a5241..51f95c41 100644 --- a/src/clj/auto_ap/import/intuit.fiddle +++ b/src/clj/auto_ap/import/intuit.fiddle @@ -35,5 +35,39 @@ (require 'auto-ap.time_reader) +(let [start #clj-time/date-time "2024-02-01" + end #clj-time/date-time "2024-04-01"] + (for [[ib ba c] (seq (get-intuit-bank-accounts (dc/db conn) "BCFM")) + :let [raw-transactions (i/get-transactions (atime/unparse-local start atime/iso-date) + (atime/unparse-local end atime/iso-date) + ib) + ideal-transactions (intuits->transactions raw-transactions ba c) + found-transactions (when (seq ideal-transactions) + (into {} (dc/q '[:find ?si (count ?t) + :in $ [?eid ...] + :where + [?t :transaction/id ?eid] + [?t :transaction/approval-status ?s] + [?s :db/ident ?si]] + (dc/db conn) + (map :transaction/id ideal-transactions)))) + + missing-transaction-ids (when (seq ideal-transactions) + (->> + (dc/q '[:find ?eid + :in $ [?eid ...] + :where (not [_ :transaction/id ?eid])] + (dc/db conn) + (map :transaction/id ideal-transactions)) + (map first) + (into #{}))) + missing-transactions (filter (comp missing-transaction-ids :transaction/id) ideal-transactions)]] + {:bank-account/name (pull-attr (dc/db conn) :bank-account/name ba) + :external-transaction-count (count raw-transactions) + :integreat-transaction-count (reduce + 0 (vals found-transactions)) + :approved-count (:transaction-approval-status/approved found-transactions 0) + :unapproved-count (:transaction-approval-status/unapproved found-transactions 0) + :requires-feedback-count (:transaction-approval-status/requires-feedback found-transactions 0) + :missing-transactions missing-transactions})) diff --git a/src/clj/auto_ap/ledger.clj b/src/clj/auto_ap/ledger.clj index fc23bafd..70d7d3b3 100644 --- a/src/clj/auto_ap/ledger.clj +++ b/src/clj/auto_ap/ledger.clj @@ -575,7 +575,6 @@ (refresh-running-balance-accounts accounts-needing-rebuild clients c i db) (mu/log ::client-completed)))))))) - ;; TODO only enable once IOL is set up in clod #_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]} (mount/defstate running-balance-cache-worker diff --git a/src/clj/auto_ap/ssr/core.clj b/src/clj/auto_ap/ssr/core.clj index 119a0214..605bbf29 100644 --- a/src/clj/auto_ap/ssr/core.clj +++ b/src/clj/auto_ap/ssr/core.clj @@ -15,6 +15,7 @@ [auto-ap.ssr.admin.transaction-rules :as admin-rules] [auto-ap.ssr.admin.vendors :as admin-vendors] [auto-ap.ssr.auth :as auth] + [auto-ap.ssr.dashboard :as dashboard] [auto-ap.ssr.company :as company] [auto-ap.ssr.company-dropdown :as company-dropdown] [auto-ap.ssr.company.company-1099 :as company-1099] @@ -98,6 +99,7 @@ (into admin-vendors/key->handler) (into admin-clients/key->handler) (into admin-rules/key->handler) + (into dashboard/key->handler) (into indicators/key->handler) (into payments/key->handler) (into oin/route->handler))) diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj new file mode 100644 index 00000000..02d799e5 --- /dev/null +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -0,0 +1,73 @@ +(ns auto-ap.ssr.dashboard + (:require [auto-ap.datomic :refer [conn]] + [auto-ap.routes.dashboard :as d-routes] + [auto-ap.routes.utils :refer [wrap-admin + wrap-client-redirect-unauthenticated]] + [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.components :as com] + [auto-ap.ssr.ui :refer [base-page]] + [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers]] + [bidi.bidi :as bidi] + [datomic.api :as dc] + [auto-ap.time :as atime])) + +(defn- page-contents [request] + [:div + [:h1.text-2xl.font-bold "Bank Accounts"] + (com/card {:class "inline-block"} + [:div.inline-flex.flex-wrap + (for [c (:clients request) + b (:client/bank-accounts (dc/pull (dc/db conn) '[{ :client/bank-accounts + [:bank-account/current-balance + [ :bank-account/current-balance-synced :xform clj-time.coerce/from-date] + :bank-account/name + {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance + [ :intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/yodlee-account [:yodlee-account/available-balance + [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]}]}] + (:db/id c)))] + [:div.flex.flex-col.p-4.border-l-2 + [:div (:client/name c)] + [:div (:bank-account/name b)] + [:div.inline-flex.justify-between [:div "Ledger Balance"] (format "$%,.2f" (or (:bank-account/current-balance b) 0.0)) ] + [:div.inline-flex.justify-end.text-xs.text-gray-400.it (some-> (:bank-account/current-balance-synced b) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) ] + [:div.inline-flex.justify-between [:div "Source Balance"] (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) + (-> b :bank-account/yodlee-account :yodlee-account/available-balance) + 0.0))] + [:div.inline-flex.justify-end.text-xs.text-gray-400.it (or (some-> (:bank-account/intuit-bank-account b) + (:intuit-bank-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) + (some-> (:bank-account/yodlee-account b) + (:yodlee-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))))]])]) ]) + +(defn page [request] + (base-page + request + (com/page {:nav com/main-aside-nav + :client-selection (:client-selection request) + :clients (:clients request) + :client (:client request) + :identity (:identity request) + :app-params {:hx-get (bidi/path-for ssr-routes/only-routes + ::d-routes/page) + :hx-trigger "clientSelected from:body" + :hx-select "#app-contents" + :hx-swap "outerHTML swap:300ms"} + + :request request} + (com/breadcrumbs {} + [:a {:href (bidi/path-for ssr-routes/only-routes ::d-routes/page)} + "Dashboard"]) + (page-contents request)) + "Dashboard")) + +(def key->handler + ( apply-middleware-to-all-handlers + {::d-routes/page page} + (fn [h] + (wrap-client-redirect-unauthenticated (wrap-admin h))))) \ No newline at end of file diff --git a/src/cljc/auto_ap/routes/dashboard.cljc b/src/cljc/auto_ap/routes/dashboard.cljc new file mode 100644 index 00000000..b6e788ec --- /dev/null +++ b/src/cljc/auto_ap/routes/dashboard.cljc @@ -0,0 +1,3 @@ +(ns auto-ap.routes.dashboard) +(def routes {"" + {:get ::page }}) diff --git a/src/cljc/auto_ap/ssr_routes.cljc b/src/cljc/auto_ap/ssr_routes.cljc index 3ed6bfe7..af8d70dc 100644 --- a/src/cljc/auto_ap/ssr_routes.cljc +++ b/src/cljc/auto_ap/ssr_routes.cljc @@ -6,6 +6,7 @@ [auto-ap.routes.admin.vendors :as v-routes] [auto-ap.routes.outgoing-invoice :as oi-routes] [auto-ap.routes.payments :as p-routes] + [auto-ap.routes.dashboard :as d-routes] [auto-ap.routes.invoice :as i-routes] [auto-ap.routes.admin.clients :as ac-routes] [auto-ap.routes.admin.sales-summaries :as ss-routes] @@ -16,6 +17,7 @@ "search" :search "indicators" indicator-routes/routes + "dashboard" {:get ::d-routes/page} "account" {"/search" {:get :account-search}} "admin" {"" :auto-ap.routes.admin/page "/client" ac-routes/routes From 3e4a2b7322b669de8464a383b0fa72b4951e32d3 Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 26 Apr 2024 22:42:32 -0700 Subject: [PATCH 26/59] prepare dashboard --- src/clj/auto_ap/import/plaid.clj | 27 ++++++++++++++++++++++++++- src/clj/auto_ap/ssr/dashboard.clj | 5 ++++- src/clj/user.fiddle | 22 ++++++++++++++++++++++ 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/src/clj/auto_ap/import/plaid.clj b/src/clj/auto_ap/import/plaid.clj index e39646b8..4af3d1a9 100644 --- a/src/clj/auto_ap/import/plaid.clj +++ b/src/clj/auto_ap/import/plaid.clj @@ -14,7 +14,8 @@ [digest :as di] [manifold.deferred :as de] [manifold.executor :as ex] - [clojure.string :as str])) + [clojure.string :as str] + [auto-ap.ezcater.core :as e])) (defn get-plaid-accounts ([db] @@ -84,6 +85,30 @@ {"id" (:db/id result) "name" (:plaid-merchant/name result)})))) +(defn upsert-accounts [] +(try + (doseq [[bank-account-id client-id external-id access-token] (get-plaid-accounts (dc/db conn)) + ] + + (try + (let [accounts (p/get-accounts access-token)] + @(dc/transact + conn + (for [a (:accounts accounts)] + {:plaid-account/external-id (:account_id a) + :plaid-account/balance (or (some-> a + :balances + :current + double) + 0.0) })) + ) + (catch Exception e + (alog/warn ::couldnt-upsert-account :error e)))) + + + (catch Exception e + (alog/warn ::couldnt-upsert-accounts :error e)))) + (defn import-plaid-int [] (let [import-batch (t/start-import-batch :import-source/plaid "Automated plaid user") end (atime/local-now) diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index 02d799e5..cb3d3f35 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -24,7 +24,9 @@ {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance [ :intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} {:bank-account/yodlee-account [:yodlee-account/available-balance - [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]}]}] + [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/plaid-account [:plaid-account/balance + #_[:yodlee-account/last-synced :xform clj-time.coerce/from-date]]}]}] (:db/id c)))] [:div.flex.flex-col.p-4.border-l-2 [:div (:client/name c)] @@ -35,6 +37,7 @@ (#(str "Synced " %))) ] [:div.inline-flex.justify-between [:div "Source Balance"] (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) (-> b :bank-account/yodlee-account :yodlee-account/available-balance) + (-> b :bank-account/plaid-account :plaid-account/balance) 0.0))] [:div.inline-flex.justify-end.text-xs.text-gray-400.it (or (some-> (:bank-account/intuit-bank-account b) (:intuit-bank-account/last-synced) diff --git a/src/clj/user.fiddle b/src/clj/user.fiddle index 766c1b10..027f9fe2 100644 --- a/src/clj/user.fiddle +++ b/src/clj/user.fiddle @@ -367,3 +367,25 @@ (ffirst (dc/q '[:find ?v :where [?v :vendor/name "CCP Doordash"]] db)))) :separator \tab) + + + +(def taptelis-clients (->> (dc/q '[:find ?c + :where [?u :user/name ?n] + [?u :user/clients ?c] + [?c :client/code ?cc] + [(clojure.string/includes? ?n "Nick Taptelis")]] + (dc/db conn)) + (map first) + set)) + +(clojure.data.csv/write-csv *out* (dc/q '[:find ?v ?cnt + :in $ [?c ...] + :where [?vu :vendor-usage/vendor ?v] + [?vu :vendor-usage/client ?c] + [?vu :vendor-usage/count ?cnt] + [(> ?cnt 0)]] + (dc/db conn) + taptelis-clients) + :separator \tab) + From d45c91d55c0d9e036ac9448937b69ec28f5ec0b4 Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 27 Apr 2024 11:05:16 -0700 Subject: [PATCH 27/59] fixes --- resources/public/output.css | 2 +- resources/schema.edn | 4 ++ src/clj/auto_ap/import/plaid.clj | 71 +++++++++++----------- src/clj/auto_ap/plaid/core.clj | 17 +++++- src/clj/auto_ap/ssr/dashboard.clj | 99 ++++++++++++++++++++----------- 5 files changed, 122 insertions(+), 71 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index a64f9496..e8d9793d 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/resources/schema.edn b/resources/schema.edn index 0af54a6a..d016a865 100644 --- a/resources/schema.edn +++ b/resources/schema.edn @@ -1019,6 +1019,10 @@ :db/cardinality #:db{:ident :db.cardinality/one}, :db/doc "Available Balance", :db/ident :plaid-account/balance} +{:db/valueType #:db{:ident :db.type/instant}, + :db/cardinality #:db{:ident :db.cardinality/one}, + :db/doc "Last synced", + :db/ident :plaid-account/last-synced} {:db/unique #:db{:ident :db.unique/identity}, :db/valueType #:db{:ident :db.type/string}, diff --git a/src/clj/auto_ap/import/plaid.clj b/src/clj/auto_ap/import/plaid.clj index 4af3d1a9..f48ff10d 100644 --- a/src/clj/auto_ap/import/plaid.clj +++ b/src/clj/auto_ap/import/plaid.clj @@ -1,21 +1,20 @@ (ns auto-ap.import.plaid - (:require - [auto-ap.datomic :refer [conn random-tempid]] - [auto-ap.import.common :refer [wrap-integration]] - [auto-ap.import.transactions :as t] - [auto-ap.logging :as alog] - [auto-ap.plaid.core :as p] - [auto-ap.solr] - [auto-ap.time :as atime] - [auto-ap.utils :refer [allow-once by]] - [clj-time.coerce :as coerce] - [clj-time.core :as time] - [datomic.api :as dc] - [digest :as di] - [manifold.deferred :as de] - [manifold.executor :as ex] - [clojure.string :as str] - [auto-ap.ezcater.core :as e])) + (:require [auto-ap.datomic :refer [conn random-tempid]] + [auto-ap.import.common :refer [wrap-integration]] + [auto-ap.import.transactions :as t] + [auto-ap.logging :as alog] + [auto-ap.plaid.core :as p] + [auto-ap.solr] + [auto-ap.time :as atime] + [auto-ap.utils :refer [allow-once by]] + [clj-time.coerce :as coerce] + [clj-time.core :as time] + [clojure.string :as str] + [datomic.api :as dc] + [digest :as di] + [iol-ion.utils :refer [remove-nils]] + [manifold.deferred :as de] + [manifold.executor :as ex])) (defn get-plaid-accounts ([db] @@ -86,31 +85,33 @@ "name" (:plaid-merchant/name result)})))) (defn upsert-accounts [] -(try - (doseq [[bank-account-id client-id external-id access-token] (get-plaid-accounts (dc/db conn)) - ] - - (try - (let [accounts (p/get-accounts access-token)] - @(dc/transact - conn - (for [a (:accounts accounts)] + (try + (doseq [[bank-account-id client-id external-id access-token] (get-plaid-accounts (dc/db conn))] + (try + (let [accounts (p/get-accounts access-token) + item (p/get-item access-token)] + @(dc/transact + conn + (for [a (:accounts accounts)] + (remove-nils {:plaid-account/external-id (:account_id a) + :plaid-account/last-synced (coerce/to-date (coerce/to-date-time (-> item :status :transactions :last_successful_update))) :plaid-account/balance (or (some-> a :balances :current double) - 0.0) })) - ) - (catch Exception e - (alog/warn ::couldnt-upsert-account :error e)))) - - - (catch Exception e - (alog/warn ::couldnt-upsert-accounts :error e)))) + 0.0)})))) + (catch Exception e + (alog/warn ::couldnt-upsert-account :error e)))) + + + (catch Exception e + (alog/warn ::couldnt-upsert-accounts :error e)))) + (defn import-plaid-int [] - (let [import-batch (t/start-import-batch :import-source/plaid "Automated plaid user") + (let [_ (upsert-accounts) + import-batch (t/start-import-batch :import-source/plaid "Automated plaid user") end (atime/local-now) start (time/plus end (time/days -30)) plaid-merchant->vendor-id (build-plaid-merchant->vendor-id)] diff --git a/src/clj/auto_ap/plaid/core.clj b/src/clj/auto_ap/plaid/core.clj index a468f698..f489dade 100644 --- a/src/clj/auto_ap/plaid/core.clj +++ b/src/clj/auto_ap/plaid/core.clj @@ -11,6 +11,11 @@ (def client-id (-> env :plaid :client-id)) (def secret-key (-> env :plaid :secret-key)) +(def base-url "https://production.plaid.com") + + (def client-id "61bfab05f7e762001b323f79") + +(def secret-key "2be026ca5e7f7e9f23f2fb4d7c914d") (defn get-link-token [client-code] (-> (client/post (str base-url "/link/token/create") @@ -49,8 +54,16 @@ :body (json/write-str {"client_id" client-id "secret" secret-key "public_token" public-token})}) - :body - (doto println))) + :body)) + +(defn get-item [access-token ] + (-> (client/post (str base-url "/item/get") + {:as :json + :headers {"Content-Type" "application/json"} + :body (json/write-str {"client_id" client-id + "secret" secret-key + "access_token" access-token})}) + :body)) (defn get-accounts [access-token ] (-> (client/post (str base-url "/accounts/get") diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index cb3d3f35..f5aad0a4 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -13,40 +13,73 @@ (defn- page-contents [request] [:div + [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 overflow-scroll"} + [:div.bg-blue-300.p-4.flex.flex-grow-0 "report-1"] + [:div.bg-red-300.p-4.flex.flex-grow-0 "hi"] + [:div.row-span-2 + (com/card {:class "inline-block"} + [:div.p-4 + [:h1.text-2xl.font-bold "Bank Accounts"] - (com/card {:class "inline-block"} - [:div.inline-flex.flex-wrap - (for [c (:clients request) - b (:client/bank-accounts (dc/pull (dc/db conn) '[{ :client/bank-accounts - [:bank-account/current-balance - [ :bank-account/current-balance-synced :xform clj-time.coerce/from-date] - :bank-account/name - {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance - [ :intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} - {:bank-account/yodlee-account [:yodlee-account/available-balance - [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} - {:bank-account/plaid-account [:plaid-account/balance - #_[:yodlee-account/last-synced :xform clj-time.coerce/from-date]]}]}] - (:db/id c)))] - [:div.flex.flex-col.p-4.border-l-2 - [:div (:client/name c)] - [:div (:bank-account/name b)] - [:div.inline-flex.justify-between [:div "Ledger Balance"] (format "$%,.2f" (or (:bank-account/current-balance b) 0.0)) ] - [:div.inline-flex.justify-end.text-xs.text-gray-400.it (some-> (:bank-account/current-balance-synced b) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))) ] - [:div.inline-flex.justify-between [:div "Source Balance"] (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) - (-> b :bank-account/yodlee-account :yodlee-account/available-balance) - (-> b :bank-account/plaid-account :plaid-account/balance) - 0.0))] - [:div.inline-flex.justify-end.text-xs.text-gray-400.it (or (some-> (:bank-account/intuit-bank-account b) - (:intuit-bank-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))) - (some-> (:bank-account/yodlee-account b) - (:yodlee-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))))]])]) ]) + [:div {:class "max-h-[800px] overflow-scroll"} + (for [c (:clients request) + b (:client/bank-accounts (dc/pull (dc/db conn) '[{ :client/bank-accounts + + [:bank-account/current-balance + {[:bank-account/type :xform iol-ion.query/ident] [:db/ident]} + + [:bank-account/current-balance-synced :xform clj-time.coerce/from-date] + :bank-account/name + {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance + [:intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/yodlee-account [:yodlee-account/available-balance + [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/plaid-account [:plaid-account/balance + [:plaid-account/last-synced :xform clj-time.coerce/from-date]]}]}] + (:db/id c))) + :when (not= :bank-account-type/cash (:bank-account/type b))] + [:div.flex.flex-col.p-4.border-b-2.border-gray-200 + [:div.font-bold.text-gray-700 (:client/name c)] + [:div (:bank-account/name b)] + [:div.grid.grid-cols-3.gap-x-2.items-baseline + [:div "Ledger Balance"] + [:div.text-right (format "$%,.2f" (or (:bank-account/current-balance b) 0.0))] + [:div.text-xs.text-gray-400.text-right (some-> (:bank-account/current-balance-synced b) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %)))] + + (when-let [n (cond (-> b :bank-account/intuit-bank-account) + "Intuit" + (-> b :bank-account/yodlee-account) + "Yodlee" + (-> b :bank-account/plaid-account) + "Plaid" + :else + nil)] + (list + [:div (str n " Balance")] + [:div.text-right (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) + (-> b :bank-account/yodlee-account :yodlee-account/available-balance) + (-> b :bank-account/plaid-account :plaid-account/balance) + 0.0))] + [:div.text-xs.text-gray-400.text-right (or (some-> (:bank-account/intuit-bank-account b) + (:intuit-bank-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) + (some-> (:bank-account/yodlee-account b) + (:yodlee-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) + (some-> (:bank-account/plaid-account b) + (:plaid-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))))] + [:div.inline-flex.justify-end.text-xs.text-gray-400.it ])) + #_[:div.inline-flex.justify-between.items-baseline]]])]])] + + [:div.bg-purple-300.p-4 "hi"] + [:div.bg-slate-300.p-4 "hi"] + ] ]) (defn page [request] (base-page From d1dd09487689b60fcbc152a86870eeef272857c3 Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 27 Apr 2024 13:25:03 -0700 Subject: [PATCH 28/59] Sales on page --- resources/public/output.css | 2 +- src/clj/auto_ap/import/plaid.clj | 2 + src/clj/auto_ap/ssr/dashboard.clj | 180 +++++++++++++++++++----------- src/clj/auto_ap/ssr/ui.clj | 5 +- 4 files changed, 121 insertions(+), 68 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index e8d9793d..df76b651 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/import/plaid.clj b/src/clj/auto_ap/import/plaid.clj index f48ff10d..828074c8 100644 --- a/src/clj/auto_ap/import/plaid.clj +++ b/src/clj/auto_ap/import/plaid.clj @@ -109,6 +109,8 @@ (alog/warn ::couldnt-upsert-accounts :error e)))) + + (defn import-plaid-int [] (let [_ (upsert-accounts) import-batch (t/start-import-batch :import-source/plaid "Automated plaid user") diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index f5aad0a4..65f61d85 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -1,83 +1,133 @@ (ns auto-ap.ssr.dashboard (:require [auto-ap.datomic :refer [conn]] + [auto-ap.graphql.utils :refer [extract-client-ids]] [auto-ap.routes.dashboard :as d-routes] [auto-ap.routes.utils :refer [wrap-admin wrap-client-redirect-unauthenticated]] [auto-ap.ssr-routes :as ssr-routes] [auto-ap.ssr.components :as com] + [auto-ap.ssr.hx :as hx] [auto-ap.ssr.ui :refer [base-page]] [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers]] + [auto-ap.time :as atime] [bidi.bidi :as bidi] - [datomic.api :as dc] - [auto-ap.time :as atime])) + [clj-time.coerce :as coerce] + [clj-time.core :as time] + [datomic.api :as dc])) + +(defn bank-accounts-card [request] + (com/card {:class "inline-block"} + [:div.p-4 + [:h1.text-2xl.font-bold "Bank Accounts"] + [:div {:class "max-h-[800px] overflow-scroll"} + (for [c (:clients request) + b (:client/bank-accounts (dc/pull (dc/db conn) '[{:client/bank-accounts + + [:bank-account/current-balance + {[:bank-account/type :xform iol-ion.query/ident] [:db/ident]} + + [:bank-account/current-balance-synced :xform clj-time.coerce/from-date] + :bank-account/name + {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance + [:intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/yodlee-account [:yodlee-account/available-balance + [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/plaid-account [:plaid-account/balance + [:plaid-account/last-synced :xform clj-time.coerce/from-date]]}]}] + (:db/id c))) + :when (not= :bank-account-type/cash (:bank-account/type b))] + [:div.flex.flex-col.p-4.border-b-2.border-gray-200 + [:div.font-bold.text-gray-700 (:client/name c)] + [:div (:bank-account/name b)] + [:div.grid.grid-cols-3.gap-x-2.items-baseline + [:div "Ledger Balance"] + [:div.text-right (format "$%,.2f" (or (:bank-account/current-balance b) 0.0))] + [:div.text-xs.text-gray-400.text-right (some-> (:bank-account/current-balance-synced b) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %)))] + + (when-let [n (cond (-> b :bank-account/intuit-bank-account) + "Intuit" + (-> b :bank-account/yodlee-account) + "Yodlee" + (-> b :bank-account/plaid-account) + "Plaid" + :else + nil)] + (list + [:div (str n " Balance")] + [:div.text-right (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) + (-> b :bank-account/yodlee-account :yodlee-account/available-balance) + (-> b :bank-account/plaid-account :plaid-account/balance) + 0.0))] + [:div.text-xs.text-gray-400.text-right (or (some-> (:bank-account/intuit-bank-account b) + (:intuit-bank-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) + (some-> (:bank-account/yodlee-account b) + (:yodlee-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) + (some-> (:bank-account/plaid-account b) + (:plaid-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))))] + [:div.inline-flex.justify-end.text-xs.text-gray-400.it])) + #_[:div.inline-flex.justify-between.items-baseline]]])]])) + +(defn sales-chart-card [request] + (let [ +valid-clients (extract-client-ids (:clients request) + (:client-id request) + (when (:client-code request) + [:client/code (:client-code request)])) + totals + (->> (dc/q '[:find ?sd (sum ?total) + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/date ?d] + [(iol-ion.query/iso-date ?d) ?sd] + [?e :sales-order/total ?total]] + (dc/db conn) + [valid-clients + (coerce/to-date (time/plus (time/now) (time/days -14))) + (coerce/to-date (time/now))]) + (sort-by first))] + (com/card {:class "w-full h-full"} + [:canvas.w-full.h-full {:x-data (hx/json {:chart nil + :labels (map first totals) + :data (map second totals)}) + :x-init " new Chart($el, { + type: 'bar', + data: { + labels: labels, + datasets: [{ + label: 'Gross Sales', + data: data, + borderWidth: 1 + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + scales: { + y: { + beginAtZero: true + } + } + } + });"}]))) (defn- page-contents [request] [:div - [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 overflow-scroll"} - [:div.bg-blue-300.p-4.flex.flex-grow-0 "report-1"] - [:div.bg-red-300.p-4.flex.flex-grow-0 "hi"] + [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 overflow-scroll auto-rows-fr"} + [:div (com/card {:class "w-full h-full"} [:div.w-full.h-full "report-1"])] + [:div "hi"] [:div.row-span-2 - (com/card {:class "inline-block"} - [:div.p-4 - - [:h1.text-2xl.font-bold "Bank Accounts"] - [:div {:class "max-h-[800px] overflow-scroll"} - (for [c (:clients request) - b (:client/bank-accounts (dc/pull (dc/db conn) '[{ :client/bank-accounts - - [:bank-account/current-balance - {[:bank-account/type :xform iol-ion.query/ident] [:db/ident]} - - [:bank-account/current-balance-synced :xform clj-time.coerce/from-date] - :bank-account/name - {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance - [:intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} - {:bank-account/yodlee-account [:yodlee-account/available-balance - [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} - {:bank-account/plaid-account [:plaid-account/balance - [:plaid-account/last-synced :xform clj-time.coerce/from-date]]}]}] - (:db/id c))) - :when (not= :bank-account-type/cash (:bank-account/type b))] - [:div.flex.flex-col.p-4.border-b-2.border-gray-200 - [:div.font-bold.text-gray-700 (:client/name c)] - [:div (:bank-account/name b)] - [:div.grid.grid-cols-3.gap-x-2.items-baseline - [:div "Ledger Balance"] - [:div.text-right (format "$%,.2f" (or (:bank-account/current-balance b) 0.0))] - [:div.text-xs.text-gray-400.text-right (some-> (:bank-account/current-balance-synced b) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %)))] - - (when-let [n (cond (-> b :bank-account/intuit-bank-account) - "Intuit" - (-> b :bank-account/yodlee-account) - "Yodlee" - (-> b :bank-account/plaid-account) - "Plaid" - :else - nil)] - (list - [:div (str n " Balance")] - [:div.text-right (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) - (-> b :bank-account/yodlee-account :yodlee-account/available-balance) - (-> b :bank-account/plaid-account :plaid-account/balance) - 0.0))] - [:div.text-xs.text-gray-400.text-right (or (some-> (:bank-account/intuit-bank-account b) - (:intuit-bank-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))) - (some-> (:bank-account/yodlee-account b) - (:yodlee-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))) - (some-> (:bank-account/plaid-account b) - (:plaid-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))))] - [:div.inline-flex.justify-end.text-xs.text-gray-400.it ])) - #_[:div.inline-flex.justify-between.items-baseline]]])]])] + (bank-accounts-card request)] - [:div.bg-purple-300.p-4 "hi"] + [:div.bg-purple-300.p-4 + (sales-chart-card request)] [:div.bg-slate-300.p-4 "hi"] ] ]) diff --git a/src/clj/auto_ap/ssr/ui.clj b/src/clj/auto_ap/ssr/ui.clj index e4021556..faf7c079 100644 --- a/src/clj/auto_ap/ssr/ui.clj +++ b/src/clj/auto_ap/ssr/ui.clj @@ -50,6 +50,7 @@ [:link {:rel "stylesheet" :href "https://cdn.jsdelivr.net/npm/choices.js@9.0.1/public/assets/styles/choices.min.css"}] [:script {:src "https://cdn.jsdelivr.net/npm/choices.js@9.0.1/public/assets/scripts/choices.min.js"}] [:script {:src "https://unpkg.com/htmx.org/dist/ext/response-targets.js"}] + [:script {:src "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js" :integrity "sha512-CQBWl4fJHWbryGE+Pc7UAxWMUMNMWzWxF4SQo9CgkJIN1kx6djDQZjh3Y8SZ1d+6I+1zze6Z7kHXO7q3UyZAWw==" :crossorigin "anonymous" :referrerpolicy "no-referrer"}] [:script {:src "https://unpkg.com/dropzone@5.9.3/dist/min/dropzone.min.js"}] [:link {:rel "stylesheet" :href "https://unpkg.com/dropzone@5/dist/min/dropzone.min.css" :type "text/css"}] @@ -69,9 +70,9 @@ input::-webkit-inner-spin-button { input[type=number] { -moz-appearance:textfield; /* Firefox */ } "] - [:body {:hx-ext "disable-submit, class-tools" + [:body {:hx-ext "disable-submit, class-tools" :x-data (hx/json {:globalClientSelection (or (:client-selection request) - :all )}) ;; TODO remove once session is used + :all)}) ;; TODO remove once session is used :x-hx-header:x-clients "JSON.stringify(globalClientSelection)"} contents [:script {:src "/js/flowbite.min.js"}] From 05403b736563be043f3c6567898b746e6d4ff163 Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 27 Apr 2024 13:26:45 -0700 Subject: [PATCH 29/59] better padding --- src/clj/auto_ap/ssr/dashboard.clj | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index 65f61d85..4097f15f 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -83,6 +83,7 @@ valid-clients (extract-client-ids (:clients request) [:client/code (:client-code request)])) totals (->> (dc/q '[:find ?sd (sum ?total) + :with ?e :in $ [?clients ?start-date ?end-date] :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] [?e :sales-order/date ?d] @@ -93,7 +94,7 @@ valid-clients (extract-client-ids (:clients request) (coerce/to-date (time/plus (time/now) (time/days -14))) (coerce/to-date (time/now))]) (sort-by first))] - (com/card {:class "w-full h-full"} + (com/card {:class "w-full h-full p-4"} [:canvas.w-full.h-full {:x-data (hx/json {:chart nil :labels (map first totals) :data (map second totals)}) @@ -120,13 +121,13 @@ valid-clients (extract-client-ids (:clients request) (defn- page-contents [request] [:div - [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 overflow-scroll auto-rows-fr"} + [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr"} [:div (com/card {:class "w-full h-full"} [:div.w-full.h-full "report-1"])] [:div "hi"] [:div.row-span-2 (bank-accounts-card request)] - [:div.bg-purple-300.p-4 + [:div (sales-chart-card request)] [:div.bg-slate-300.p-4 "hi"] ] ]) From a2fc817d14c7cd949d28794c38a9b20d9363b78e Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 27 Apr 2024 15:32:23 -0700 Subject: [PATCH 30/59] continued migration --- resources/public/output.css | 2 +- src/clj/auto_ap/ssr/dashboard.clj | 78 ++++++++++++++++++++---- src/clj/auto_ap/ssr/grid_page_helper.clj | 1 + 3 files changed, 68 insertions(+), 13 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index df76b651..ce683cfd 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.max-h-\[900px\]{max-height:900px}.max-h-\[925px\]{max-height:925px}.max-h-\[935px\]{max-height:935px}.max-h-\[955px\]{max-height:955px}.max-h-\[965px\]{max-height:965px}.max-h-\[975px\]{max-height:975px}.max-h-\[970px\]{max-height:970px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index 4097f15f..791b9df0 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -16,10 +16,10 @@ [datomic.api :as dc])) (defn bank-accounts-card [request] - (com/card {:class "inline-block"} + (com/card {:class "inline-block " } [:div.p-4 [:h1.text-2xl.font-bold "Bank Accounts"] - [:div {:class "max-h-[800px] overflow-scroll"} + [:div {:class "max-h-[900px] overflow-scroll"} (for [c (:clients request) b (:client/bank-accounts (dc/pull (dc/db conn) '[{:client/bank-accounts @@ -95,15 +95,17 @@ valid-clients (extract-client-ids (:clients request) (coerce/to-date (time/now))]) (sort-by first))] (com/card {:class "w-full h-full p-4"} - [:canvas.w-full.h-full {:x-data (hx/json {:chart nil - :labels (map first totals) - :data (map second totals)}) - :x-init " new Chart($el, { + [:h1.text-2xl.font-bold.text-slate-700 "Gross sales, last 14 days"] + [:div.w-full.h-full + [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil + :labels (map first totals) + :data (map second totals)}) + :x-init " new Chart($el, { type: 'bar', data: { labels: labels, datasets: [{ - label: 'Gross Sales', + label: 'Total invoice spend', data: data, borderWidth: 1 }] @@ -117,19 +119,71 @@ valid-clients (extract-client-ids (:clients request) } } } - });"}]))) + });"}]]))) + +(defn expense-pie-card [request] + (let [valid-clients (extract-client-ids (:clients request) + (:client-id request) + (when (:client-code request) + [:client/code (:client-code request)])) + totals + (->> (dc/q '[:find ?an (sum ?amt) + :with ?iea + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-invoices $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :invoice/total ?total] + [?e :invoice/expense-accounts ?iea] + [?iea :invoice-expense-account/account ?ea] + [?iea :invoice-expense-account/amount ?amt] + [?ea :account/name ?an]] + (dc/db conn) + [valid-clients + (coerce/to-date (time/plus (time/now) (time/months -1))) + (coerce/to-date (time/now))]) + (sort-by last) + (reverse) + (take 5))] + (com/card {:class "w-full h-full p-4"} + [:h1.text-2xl.font-bold.text-slate-700 + "Expenses, last month"] + [:div.w-full.h-full + [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil + :labels (map first totals) + :data (map second totals)}) + :x-init " new Chart($el, { + type: 'pie', + data: { + labels: labels, + datasets: [{ + label: 'Gross Sales', + data: data, + borderWidth: 1 + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + + } + });"}]]))) (defn- page-contents [request] [:div - [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr"} - [:div (com/card {:class "w-full h-full"} [:div.w-full.h-full "report-1"])] - [:div "hi"] + [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr max-h-[970px]"} + [:div (expense-pie-card request)] + [:div (com/card {:class "w-full h-full p-4"} + [:h1.text-2xl.font-bold.text-gray-700 + "Tasks"])] [:div.row-span-2 (bank-accounts-card request)] [:div (sales-chart-card request)] - [:div.bg-slate-300.p-4 "hi"] + [:div + (com/card {:class "w-full h-full p-4"} + [:h1.text-2xl.font-bold.text-gray-700 + "Tasks"]) + ] ] ]) (defn page [request] diff --git a/src/clj/auto_ap/ssr/grid_page_helper.clj b/src/clj/auto_ap/ssr/grid_page_helper.clj index fa36881f..44b5fbc9 100644 --- a/src/clj/auto_ap/ssr/grid_page_helper.clj +++ b/src/clj/auto_ap/ssr/grid_page_helper.clj @@ -213,6 +213,7 @@ set)] (handler (assoc request :trimmed-clients valid-clients))))) + (defn table-route [grid-spec & {:keys [parse-query-params?] :or {parse-query-params? true}}] (cond-> (fn table [{:keys [identity] :as request}] From f6b413a9f56dad6756e7d8d82eb752072d325430 Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 27 Apr 2024 21:37:48 -0700 Subject: [PATCH 31/59] adds profit and loss snapshot. --- resources/public/output.css | 2 +- src/clj/auto_ap/graphql/ledger.clj | 36 ++++++++------- src/clj/auto_ap/ssr/dashboard.clj | 73 +++++++++++++++++++++++++----- 3 files changed, 83 insertions(+), 28 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index ce683cfd..a7dcb8ca 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.max-h-\[900px\]{max-height:900px}.max-h-\[925px\]{max-height:925px}.max-h-\[935px\]{max-height:935px}.max-h-\[955px\]{max-height:955px}.max-h-\[965px\]{max-height:965px}.max-h-\[975px\]{max-height:975px}.max-h-\[970px\]{max-height:970px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.max-h-\[900px\]{max-height:900px}.max-h-\[925px\]{max-height:925px}.max-h-\[935px\]{max-height:935px}.max-h-\[955px\]{max-height:955px}.max-h-\[965px\]{max-height:965px}.max-h-\[975px\]{max-height:975px}.max-h-\[970px\]{max-height:970px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/graphql/ledger.clj b/src/clj/auto_ap/graphql/ledger.clj index 8b39a3a3..367151e7 100644 --- a/src/clj/auto_ap/graphql/ledger.clj +++ b/src/clj/auto_ap/graphql/ledger.clj @@ -190,6 +190,22 @@ client-ids)) true ->graphql))) +(defn get-profit-and-loss-raw [client-ids periods] + (let [ all-ledger-entries (->> client-ids + (map (fn [client-id] + [client-id (full-ledger-for-client client-id)])) + (into {})) + lookup-account (->> client-ids + (map (fn [client-id] + [client-id (build-account-lookup client-id)])) + (into {}))] + (->graphql {:periods + (->> periods + (mapv (fn [{:keys [start end]}] + {:accounts (mapcat + #(roll-up-until (lookup-account %) (all-ledger-entries %) (coerce/to-date end) (coerce/to-date start) ) + client-ids)})))}))) + (defn get-profit-and-loss [context args _] (let [client-id (:client_id args) client-ids (or (some-> client-id vector) @@ -200,22 +216,10 @@ (assert-can-see-client (:id context) client-id)) _ (when (and (:include_deltas args) (:column_per_location args)) - (throw (ex-info "Please select one of 'Include deltas' or 'Column per location'" {:validation-error "Please select one of 'Include deltas' or 'Column per location'"}))) - all-ledger-entries (->> client-ids - (map (fn [client-id] - [client-id (full-ledger-for-client client-id)])) - (into {})) - lookup-account (->> client-ids - (map (fn [client-id] - [client-id (build-account-lookup client-id)])) - (into {}))] - (->graphql - {:periods - (->> (:periods args) - (mapv (fn [{:keys [start end]}] - {:accounts (mapcat - #(roll-up-until (lookup-account %) (all-ledger-entries %) (coerce/to-date end) (coerce/to-date start) ) - client-ids)})))}))) + (throw (ex-info "Please select one of 'Include deltas' or 'Column per location'" {:validation-error "Please select one of 'Include deltas' or 'Column per location'"}))) ] + (get-profit-and-loss-raw client-ids (:periods args)))) + + ;; profit and loss based off of index diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index 791b9df0..f01964c4 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -1,6 +1,8 @@ (ns auto-ap.ssr.dashboard (:require [auto-ap.datomic :refer [conn]] - [auto-ap.graphql.utils :refer [extract-client-ids]] + [auto-ap.graphql.ledger :refer [get-profit-and-loss-raw]] + [auto-ap.graphql.utils :refer [<-graphql extract-client-ids]] + [auto-ap.ledger.reports :as r] [auto-ap.routes.dashboard :as d-routes] [auto-ap.routes.utils :refer [wrap-admin wrap-client-redirect-unauthenticated]] @@ -91,8 +93,8 @@ valid-clients (extract-client-ids (:clients request) [?e :sales-order/total ?total]] (dc/db conn) [valid-clients - (coerce/to-date (time/plus (time/now) (time/days -14))) - (coerce/to-date (time/now))]) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days -14)))) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days 1))))]) (sort-by first))] (com/card {:class "w-full h-full p-4"} [:h1.text-2xl.font-bold.text-slate-700 "Gross sales, last 14 days"] @@ -100,12 +102,13 @@ valid-clients (extract-client-ids (:clients request) [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil :labels (map first totals) :data (map second totals)}) - :x-init " new Chart($el, { + :x-init + "new Chart($el, { type: 'bar', data: { labels: labels, datasets: [{ - label: 'Total invoice spend', + label: 'Gross sales', data: data, borderWidth: 1 }] @@ -138,8 +141,8 @@ valid-clients (extract-client-ids (:clients request) [?ea :account/name ?an]] (dc/db conn) [valid-clients - (coerce/to-date (time/plus (time/now) (time/months -1))) - (coerce/to-date (time/now))]) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/months -1)))) + (coerce/to-date (time/plus (time/with-time-at-start-of-day (time/now)) (time/days 1)))]) (sort-by last) (reverse) (take 5))] @@ -155,7 +158,7 @@ valid-clients (extract-client-ids (:clients request) data: { labels: labels, datasets: [{ - label: 'Gross Sales', + label: 'Total invoices', data: data, borderWidth: 1 }] @@ -167,6 +170,55 @@ valid-clients (extract-client-ids (:clients request) } });"}]]))) +(defn pnl-card [request] + (com/card {:class "w-full h-full p-4"} + [:h1.text-2xl.font-bold.text-gray-700 + "Profit and Loss" + ] + (let [all-clients (extract-client-ids (:clients request) + (:client-id request) + (when (:client-code request) + [:client/code (:client-code request)])) + clients (take 10 all-clients) + data (<-graphql (get-profit-and-loss-raw clients + [{:start (time/plus (time/now) (time/days -90)) + :end (time/now)}])) + data (r/->PNLData {} (:accounts (first (:periods data))) {}) + sales (r/aggregate-accounts (r/filter-categories data [ :sales])) + expenses (r/aggregate-accounts (r/filter-categories data [ :cogs :payroll :controllable :fixed-overhead :ownership-controllable ]))] + (list + (when (not= (count all-clients) (count clients)) + [:div.bg-yellow-100.rounded-lg.p-4.my-2.text-yellow-900 "Warning: Too many clients are selected. This report only shows 10 of the selected clients."]) +[:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil + :labels [(format "Income $%,.2f" sales) (format "Expenses $%,.2f" expenses)] + :data [sales expenses]}) + :x-init + "new Chart($el, { + type: 'bar', + data: { + labels: labels, + datasets: [{ + label: 'Dollars', + data: data, + borderWidth: 1 + }] + }, + options: { + responsive: true, + indexAxis: 'y', + maintainAspectRatio: false, + scales: { + x: { + beginAtZero: true + } + } + } + });"}] + [:div + "Income: " (format "$%,.2f" sales)] + [:div + "Expenses: " (format "$%,.2f" expenses)])))) + (defn- page-contents [request] [:div [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr max-h-[970px]"} @@ -180,9 +232,8 @@ valid-clients (extract-client-ids (:clients request) [:div (sales-chart-card request)] [:div - (com/card {:class "w-full h-full p-4"} - [:h1.text-2xl.font-bold.text-gray-700 - "Tasks"]) + (pnl-card request) + ] ] ]) From 0b2ec311602dd2a7995cc139c7a8f7c760bbc8cd Mon Sep 17 00:00:00 2001 From: Bryce Date: Sun, 28 Apr 2024 20:29:21 -0700 Subject: [PATCH 32/59] Makes tasks card --- .gitignore | 1 + resources/public/output.css | 2 +- src/clj/auto_ap/handler.clj | 16 +++- src/clj/auto_ap/ssr/dashboard.clj | 94 +++++++++++++------ .../auto_ap/views/pages/transactions.cljs | 78 ++++++++------- 5 files changed, 125 insertions(+), 66 deletions(-) diff --git a/.gitignore b/.gitignore index 7255b380..1a187aa9 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ data/solr/data/plaid_merchants/data/ data/solr/data/logs data/solr/logs .vscode/** +sysco-poller/**/*.csv diff --git a/resources/public/output.css b/resources/public/output.css index a7dcb8ca..ed665419 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.z-0{z-index:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[700px\]{max-height:700px}.max-h-64{max-height:16rem}.max-h-full{max-height:100%}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-\[800px\]{max-height:800px}.max-h-\[900px\]{max-height:900px}.max-h-\[925px\]{max-height:925px}.max-h-\[935px\]{max-height:935px}.max-h-\[955px\]{max-height:955px}.max-h-\[965px\]{max-height:965px}.max-h-\[975px\]{max-height:975px}.max-h-\[970px\]{max-height:970px}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.w-\[350px\]{width:350px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/4{flex-basis:25%}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(202 191 253/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.max-h-16{max-height:4rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/handler.clj b/src/clj/auto_ap/handler.clj index e1cc0603..60485fef 100644 --- a/src/clj/auto_ap/handler.clj +++ b/src/clj/auto_ap/handler.clj @@ -2,7 +2,7 @@ (:require [amazonica.core :refer [defcredential]] [auto-ap.client-routes :as client-routes] [auto-ap.datomic :refer [conn pull-many]] - [auto-ap.graphql.utils :refer [limited-clients]] + [auto-ap.graphql.utils :refer [extract-client-ids limited-clients]] [auto-ap.logging :as alog] [auto-ap.routes.auth :as auth] [auto-ap.routes.exports :as exports] @@ -304,12 +304,26 @@ {:status 500 :body (pr-str e)}))))) +(defn wrap-trim-clients [handler] + (fn [request] + (let [valid-clients (extract-client-ids (:clients request) + (:client request) + (:client-id (:parsed-query-params request)) + (when (:client-code (:parsed-query-params request)) + [:client/code (:client-code (:parsed-query-params request))])) + trimmed-clients (->> valid-clients (take 20) set)] + (handler (assoc request :valid-client-ids valid-clients + :valid-trimmed-client-ids trimmed-clients + :first-client-id (first valid-clients) + :clients-trimmed? (not= (count trimmed-clients) (count valid-clients))))))) + #_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]} (defonce app (-> route-handler (wrap-hx-current-url-params) (wrap-guess-route) (wrap-logging) + (wrap-trim-clients) (wrap-hydrate-clients) (wrap-store-client-in-session) (wrap-gunzip-jwt) diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index f01964c4..32935126 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -1,9 +1,10 @@ (ns auto-ap.ssr.dashboard (:require [auto-ap.datomic :refer [conn]] [auto-ap.graphql.ledger :refer [get-profit-and-loss-raw]] - [auto-ap.graphql.utils :refer [<-graphql extract-client-ids]] + [auto-ap.graphql.utils :refer [<-graphql]] [auto-ap.ledger.reports :as r] [auto-ap.routes.dashboard :as d-routes] + [auto-ap.routes.invoice :as i-routes] [auto-ap.routes.utils :refer [wrap-admin wrap-client-redirect-unauthenticated]] [auto-ap.ssr-routes :as ssr-routes] @@ -15,14 +16,17 @@ [bidi.bidi :as bidi] [clj-time.coerce :as coerce] [clj-time.core :as time] - [datomic.api :as dc])) + [datomic.api :as dc] + [hiccup.util :as hu] + [auto-ap.client-routes :as client-routes] + [cemerick.url :as url])) (defn bank-accounts-card [request] (com/card {:class "inline-block " } [:div.p-4 [:h1.text-2xl.font-bold "Bank Accounts"] [:div {:class "max-h-[900px] overflow-scroll"} - (for [c (:clients request) + (for [c (:valid-trimmed-client-ids request) b (:client/bank-accounts (dc/pull (dc/db conn) '[{:client/bank-accounts [:bank-account/current-balance @@ -36,7 +40,7 @@ [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} {:bank-account/plaid-account [:plaid-account/balance [:plaid-account/last-synced :xform clj-time.coerce/from-date]]}]}] - (:db/id c))) + c)) :when (not= :bank-account-type/cash (:bank-account/type b))] [:div.flex.flex-col.p-4.border-b-2.border-gray-200 [:div.font-bold.text-gray-700 (:client/name c)] @@ -78,12 +82,7 @@ #_[:div.inline-flex.justify-between.items-baseline]]])]])) (defn sales-chart-card [request] - (let [ -valid-clients (extract-client-ids (:clients request) - (:client-id request) - (when (:client-code request) - [:client/code (:client-code request)])) - totals + (let [ totals (->> (dc/q '[:find ?sd (sum ?total) :with ?e :in $ [?clients ?start-date ?end-date] @@ -92,7 +91,7 @@ valid-clients (extract-client-ids (:clients request) [(iol-ion.query/iso-date ?d) ?sd] [?e :sales-order/total ?total]] (dc/db conn) - [valid-clients + [(:valid-trimmed-client-ids request) (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days -14)))) (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days 1))))]) (sort-by first))] @@ -125,11 +124,7 @@ valid-clients (extract-client-ids (:clients request) });"}]]))) (defn expense-pie-card [request] - (let [valid-clients (extract-client-ids (:clients request) - (:client-id request) - (when (:client-code request) - [:client/code (:client-code request)])) - totals + (let [ totals (->> (dc/q '[:find ?an (sum ?amt) :with ?iea :in $ [?clients ?start-date ?end-date] @@ -140,7 +135,7 @@ valid-clients (extract-client-ids (:clients request) [?iea :invoice-expense-account/amount ?amt] [?ea :account/name ?an]] (dc/db conn) - [valid-clients + [(:valid-trimmed-client-ids request) (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/months -1)))) (coerce/to-date (time/plus (time/with-time-at-start-of-day (time/now)) (time/days 1)))]) (sort-by last) @@ -175,20 +170,15 @@ valid-clients (extract-client-ids (:clients request) [:h1.text-2xl.font-bold.text-gray-700 "Profit and Loss" ] - (let [all-clients (extract-client-ids (:clients request) - (:client-id request) - (when (:client-code request) - [:client/code (:client-code request)])) - clients (take 10 all-clients) - data (<-graphql (get-profit-and-loss-raw clients + (let [ data (<-graphql (get-profit-and-loss-raw (:valid-trimmed-client-ids request) [{:start (time/plus (time/now) (time/days -90)) :end (time/now)}])) data (r/->PNLData {} (:accounts (first (:periods data))) {}) sales (r/aggregate-accounts (r/filter-categories data [ :sales])) expenses (r/aggregate-accounts (r/filter-categories data [ :cogs :payroll :controllable :fixed-overhead :ownership-controllable ]))] (list - (when (not= (count all-clients) (count clients)) - [:div.bg-yellow-100.rounded-lg.p-4.my-2.text-yellow-900 "Warning: Too many clients are selected. This report only shows 10 of the selected clients."]) + #_(when (not= (count all-clients) (count clients)) + ) [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil :labels [(format "Income $%,.2f" sales) (format "Expenses $%,.2f" expenses)] :data [sales expenses]}) @@ -219,13 +209,59 @@ valid-clients (extract-client-ids (:clients request) [:div "Expenses: " (format "$%,.2f" expenses)])))) +(defn tasks-card [request] + (com/card {:class "w-full h-full p-4 space-y-2"} + [:h1.text-2xl.font-bold.text-gray-700 + "Tasks"] + (let [[unpaid-invoice-count unpaid-invoice-amount] + (first (dc/q '[:find (count ?e) (sum ?ab) + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-invoices $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :invoice/status :invoice-status/unpaid] + [?e :invoice/outstanding-balance ?ab]] + (dc/db conn) + [(:valid-trimmed-client-ids request) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/years -1)))) + nil])) + + [uncategorized-transaction-count uncategorized-transaction-amount] + (first (dc/q '[:find (count ?e) (sum ?am) + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-transactions $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :transaction/approval-status :transaction-approval-status/requires-feedback] + [?e :transaction/amount ?am]] + (dc/db conn) + [(:valid-trimmed-client-ids request) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/years -1)))) + nil]))] + (list + (when (not= 0 (or unpaid-invoice-count 0)) + [:div.bg-gray-50.rounded.p-4 + [:span "You have " (str unpaid-invoice-count) " unpaid invoices with an outstanding balance of " (format "$%,.2f" unpaid-invoice-amount) ". " ] + + (com/link {:href (hu/url (bidi.bidi/path-for ssr-routes/only-routes ::i-routes/unpaid-page) + {:date-range "year"}) + :hx-boost "true"} + + "Pay now") + ]) + (when (not= 0 (or uncategorized-transaction-count 0)) + [:div.bg-gray-50.rounded.p-4 + [:span "You have " (str uncategorized-transaction-count) " transactions needing your feedback. " ] + + (com/link {:href (str (bidi.bidi/path-for client-routes/routes :requires-feedback-transactions) + "?date-range=" + (url/url-encode (pr-str {:start (atime/unparse-local (time/plus (time/now) (time/years -1)) atime/iso-date) :end (atime/unparse-local (time/now) atime/iso-date)}))) } + + "Review now") + ]))))) + (defn- page-contents [request] [:div [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr max-h-[970px]"} [:div (expense-pie-card request)] - [:div (com/card {:class "w-full h-full p-4"} - [:h1.text-2xl.font-bold.text-gray-700 - "Tasks"])] + [:div + (tasks-card request)] [:div.row-span-2 (bank-accounts-card request)] @@ -255,6 +291,8 @@ valid-clients (extract-client-ids (:clients request) (com/breadcrumbs {} [:a {:href (bidi/path-for ssr-routes/only-routes ::d-routes/page)} "Dashboard"]) + (when (:clients-trimmed? request) + [:div.bg-yellow-100.rounded-lg.p-4.my-2.text-yellow-900.border-1 "Warning: These reports are only for twenty of the selected customers. Please select a specific customer to see more detail."]) (page-contents request)) "Dashboard")) diff --git a/src/cljs/auto_ap/views/pages/transactions.cljs b/src/cljs/auto_ap/views/pages/transactions.cljs index 2db451eb..f6cf4471 100644 --- a/src/cljs/auto_ap/views/pages/transactions.cljs +++ b/src/cljs/auto_ap/views/pages/transactions.cljs @@ -1,25 +1,28 @@ (ns auto-ap.views.pages.transactions (:require [auto-ap.effects.forward :as forward] [auto-ap.forms :as forms] + [auto-ap.status :as status] [auto-ap.subs :as subs] - [auto-ap.views.components.modal :as modal] [auto-ap.views.components.layouts :refer [appearing-side-bar side-bar-layout]] + [auto-ap.views.components.modal :as modal] [auto-ap.views.pages.data-page :as data-page] - [auto-ap.views.pages.transactions.common :refer [transaction-read data-params->query-params]] + [auto-ap.views.pages.transactions.bulk-updates :as bulk] + [auto-ap.views.pages.transactions.common :refer [data-params->query-params + transaction-read]] [auto-ap.views.pages.transactions.form :as edit] [auto-ap.views.pages.transactions.manual :as manual] - [auto-ap.views.pages.transactions.bulk-updates :as bulk] [auto-ap.views.pages.transactions.side-bar :as side-bar] [auto-ap.views.pages.transactions.table :as table] - [auto-ap.views.utils :refer [dispatch-event with-user date->str standard]] + [auto-ap.views.utils :refer [date->str dispatch-event standard + with-user]] + [auto-ap.views.utils :as u] [cljs-time.core :as time] + [clojure.string :as str] [re-frame.core :as re-frame] [reagent.core :as reagent] - [vimsical.re-frame.fx.track :as track] - [auto-ap.status :as status] - [clojure.string :as str])) + [vimsical.re-frame.fx.track :as track])) @@ -122,35 +125,38 @@ (re-frame/reg-event-fx ::mounted (fn [{:keys [db]} _] - {:db (assoc-in db [::data-page/settled-filters ::page :date-range] {:start (date->str (time/plus (time/now) (time/months -1)) - standard)}) - ::track/register {:id ::params - :subscription [::data-page/params ::page] - :event-fn (fn [params] - [::params-change params])} - ::forward/register [{:id ::updated - :events #{::edit/edited} - :event-fn (fn [[_ edited-transaction]] - [::data-page/updated-entity ::page edited-transaction])} - {:id ::manual-import - :events #{::manual/import-completed} - :event-fn (fn [[_ result]] - [::status/info ::manual-import - (str "Successfully " - (str/join ", " - [(when-let [imported (:import-batch/imported result)] - (str "imported " imported)) - (when-let [extant (:import-batch/extant result)] - (str "extant " extant)) - (when-let [suppressed (:import-batch/suppressed result)] - (str "suppressed " suppressed)) - (when-let [not-ready (:import-batch/not-ready result)] - (str "too early " not-ready)) - (when-let [error (:validation-error result)] - (str "errored " error))]) - " transactions." - (when (:sample-error result) - (str " Sample error: " (:info (:sample-error result)))))])}]})) + (let [db (if (:date-range (u/query-params)) + db + (assoc-in db [::data-page/settled-filters ::page :date-range] {:start (date->str (time/plus (time/now) (time/months -1)) + standard)}))] + {:db db + ::track/register {:id ::params + :subscription [::data-page/params ::page] + :event-fn (fn [params] + [::params-change params])} + ::forward/register [{:id ::updated + :events #{::edit/edited} + :event-fn (fn [[_ edited-transaction]] + [::data-page/updated-entity ::page edited-transaction])} + {:id ::manual-import + :events #{::manual/import-completed} + :event-fn (fn [[_ result]] + [::status/info ::manual-import + (str "Successfully " + (str/join ", " + [(when-let [imported (:import-batch/imported result)] + (str "imported " imported)) + (when-let [extant (:import-batch/extant result)] + (str "extant " extant)) + (when-let [suppressed (:import-batch/suppressed result)] + (str "suppressed " suppressed)) + (when-let [not-ready (:import-batch/not-ready result)] + (str "too early " not-ready)) + (when-let [error (:validation-error result)] + (str "errored " error))]) + " transactions." + (when (:sample-error result) + (str " Sample error: " (:info (:sample-error result)))))])}]}))) (defn action-buttons [] (let [is-admin? @(re-frame/subscribe [::subs/is-admin?]) From cb5028948ee621c8cd0f78d47130360df1ee912b Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 29 Apr 2024 11:08:59 -0700 Subject: [PATCH 33/59] Makes loading page asynchronous --- resources/public/output.css | 2 +- src/clj/auto_ap/ssr/dashboard.clj | 399 +++++++++++++------------ src/cljc/auto_ap/routes/dashboard.cljc | 7 +- src/cljc/auto_ap/ssr_routes.cljc | 2 +- 4 files changed, 224 insertions(+), 186 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index ed665419..a262151b 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.max-h-16{max-height:4rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-32{height:8rem}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index 32935126..06ee8078 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -1,5 +1,6 @@ (ns auto-ap.ssr.dashboard - (:require [auto-ap.datomic :refer [conn]] + (:require [auto-ap.client-routes :as client-routes] + [auto-ap.datomic :refer [conn]] [auto-ap.graphql.ledger :refer [get-profit-and-loss-raw]] [auto-ap.graphql.utils :refer [<-graphql]] [auto-ap.ledger.reports :as r] @@ -9,100 +10,105 @@ wrap-client-redirect-unauthenticated]] [auto-ap.ssr-routes :as ssr-routes] [auto-ap.ssr.components :as com] + [auto-ap.ssr.hiccup-helper :as hh] [auto-ap.ssr.hx :as hx] + [auto-ap.ssr.svg :as svg] [auto-ap.ssr.ui :refer [base-page]] - [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers]] + [auto-ap.ssr.utils :refer [apply-middleware-to-all-handlers + html-response]] [auto-ap.time :as atime] [bidi.bidi :as bidi] + [cemerick.url :as url] [clj-time.coerce :as coerce] [clj-time.core :as time] [datomic.api :as dc] - [hiccup.util :as hu] - [auto-ap.client-routes :as client-routes] - [cemerick.url :as url])) + [hiccup.util :as hu])) (defn bank-accounts-card [request] - (com/card {:class "inline-block " } - [:div.p-4 - [:h1.text-2xl.font-bold "Bank Accounts"] - [:div {:class "max-h-[900px] overflow-scroll"} - (for [c (:valid-trimmed-client-ids request) - b (:client/bank-accounts (dc/pull (dc/db conn) '[{:client/bank-accounts + (html-response + (com/card {:class "inline-block " } + [:div.p-4 + [:h1.text-2xl.font-bold "Bank Accounts"] + [:div (hx/alpine-mount-then-appear {:class "max-h-[900px] overflow-scroll" + :data-key "show"}) + (for [c (:valid-trimmed-client-ids request) + b (:client/bank-accounts (dc/pull (dc/db conn) '[{:client/bank-accounts - [:bank-account/current-balance - {[:bank-account/type :xform iol-ion.query/ident] [:db/ident]} + [:bank-account/current-balance + {[:bank-account/type :xform iol-ion.query/ident] [:db/ident]} - [:bank-account/current-balance-synced :xform clj-time.coerce/from-date] - :bank-account/name - {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance - [:intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} - {:bank-account/yodlee-account [:yodlee-account/available-balance - [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} - {:bank-account/plaid-account [:plaid-account/balance - [:plaid-account/last-synced :xform clj-time.coerce/from-date]]}]}] - c)) - :when (not= :bank-account-type/cash (:bank-account/type b))] - [:div.flex.flex-col.p-4.border-b-2.border-gray-200 - [:div.font-bold.text-gray-700 (:client/name c)] - [:div (:bank-account/name b)] - [:div.grid.grid-cols-3.gap-x-2.items-baseline - [:div "Ledger Balance"] - [:div.text-right (format "$%,.2f" (or (:bank-account/current-balance b) 0.0))] - [:div.text-xs.text-gray-400.text-right (some-> (:bank-account/current-balance-synced b) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %)))] + [:bank-account/current-balance-synced :xform clj-time.coerce/from-date] + :bank-account/name + {:bank-account/intuit-bank-account [:intuit-bank-account/current-balance + [:intuit-bank-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/yodlee-account [:yodlee-account/available-balance + [:yodlee-account/last-synced :xform clj-time.coerce/from-date]]} + {:bank-account/plaid-account [:plaid-account/balance + [:plaid-account/last-synced :xform clj-time.coerce/from-date]]}]}] + c)) + :when (not= :bank-account-type/cash (:bank-account/type b))] + [:div.flex.flex-col.p-4.border-b-2.border-gray-200 + [:div.font-bold.text-gray-700 (:client/name c)] + [:div (:bank-account/name b)] + [:div.grid.grid-cols-3.gap-x-2.items-baseline + [:div "Ledger Balance"] + [:div.text-right (format "$%,.2f" (or (:bank-account/current-balance b) 0.0))] + [:div.text-xs.text-gray-400.text-right (some-> (:bank-account/current-balance-synced b) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %)))] - (when-let [n (cond (-> b :bank-account/intuit-bank-account) - "Intuit" - (-> b :bank-account/yodlee-account) - "Yodlee" - (-> b :bank-account/plaid-account) - "Plaid" - :else - nil)] - (list - [:div (str n " Balance")] - [:div.text-right (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) - (-> b :bank-account/yodlee-account :yodlee-account/available-balance) - (-> b :bank-account/plaid-account :plaid-account/balance) - 0.0))] - [:div.text-xs.text-gray-400.text-right (or (some-> (:bank-account/intuit-bank-account b) - (:intuit-bank-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))) - (some-> (:bank-account/yodlee-account b) - (:yodlee-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))) - (some-> (:bank-account/plaid-account b) - (:plaid-account/last-synced) - (atime/unparse-local atime/standard-time) - (#(str "Synced " %))))] - [:div.inline-flex.justify-end.text-xs.text-gray-400.it])) - #_[:div.inline-flex.justify-between.items-baseline]]])]])) + (when-let [n (cond (-> b :bank-account/intuit-bank-account) + "Intuit" + (-> b :bank-account/yodlee-account) + "Yodlee" + (-> b :bank-account/plaid-account) + "Plaid" + :else + nil)] + (list + [:div (str n " Balance")] + [:div.text-right (format "$%,.2f" (or (-> b :bank-account/intuit-bank-account :intuit-bank-account/current-balance) + (-> b :bank-account/yodlee-account :yodlee-account/available-balance) + (-> b :bank-account/plaid-account :plaid-account/balance) + 0.0))] + [:div.text-xs.text-gray-400.text-right (or (some-> (:bank-account/intuit-bank-account b) + (:intuit-bank-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) + (some-> (:bank-account/yodlee-account b) + (:yodlee-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))) + (some-> (:bank-account/plaid-account b) + (:plaid-account/last-synced) + (atime/unparse-local atime/standard-time) + (#(str "Synced " %))))] + [:div.inline-flex.justify-end.text-xs.text-gray-400.it])) + #_[:div.inline-flex.justify-between.items-baseline]]])]]))) (defn sales-chart-card [request] - (let [ totals - (->> (dc/q '[:find ?sd (sum ?total) - :with ?e - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/date ?d] - [(iol-ion.query/iso-date ?d) ?sd] - [?e :sales-order/total ?total]] - (dc/db conn) - [(:valid-trimmed-client-ids request) - (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days -14)))) - (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days 1))))]) - (sort-by first))] - (com/card {:class "w-full h-full p-4"} - [:h1.text-2xl.font-bold.text-slate-700 "Gross sales, last 14 days"] - [:div.w-full.h-full - [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil - :labels (map first totals) - :data (map second totals)}) - :x-init - "new Chart($el, { + (html-response + (let [ totals + (->> (dc/q '[:find ?sd (sum ?total) + :with ?e + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/date ?d] + [(iol-ion.query/iso-date ?d) ?sd] + [?e :sales-order/total ?total]] + (dc/db conn) + [(:valid-trimmed-client-ids request) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days -14)))) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/days 1))))]) + (sort-by first))] + (com/card {:class "w-full h-full p-4"} + [:h1.text-2xl.font-bold.text-slate-700 "Gross sales, last 14 days"] + [:div.w-full.h-full + [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil + :labels (map first totals) + :data (map second totals)}) + :x-init + "new Chart($el, { type: 'bar', data: { labels: labels, @@ -121,34 +127,35 @@ } } } - });"}]]))) + });"}]])))) (defn expense-pie-card [request] - (let [ totals - (->> (dc/q '[:find ?an (sum ?amt) - :with ?iea - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-invoices $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :invoice/total ?total] - [?e :invoice/expense-accounts ?iea] - [?iea :invoice-expense-account/account ?ea] - [?iea :invoice-expense-account/amount ?amt] - [?ea :account/name ?an]] - (dc/db conn) - [(:valid-trimmed-client-ids request) - (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/months -1)))) - (coerce/to-date (time/plus (time/with-time-at-start-of-day (time/now)) (time/days 1)))]) - (sort-by last) - (reverse) - (take 5))] - (com/card {:class "w-full h-full p-4"} - [:h1.text-2xl.font-bold.text-slate-700 - "Expenses, last month"] - [:div.w-full.h-full - [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil - :labels (map first totals) - :data (map second totals)}) - :x-init " new Chart($el, { + (html-response + (let [ totals + (->> (dc/q '[:find ?an (sum ?amt) + :with ?iea + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-invoices $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :invoice/total ?total] + [?e :invoice/expense-accounts ?iea] + [?iea :invoice-expense-account/account ?ea] + [?iea :invoice-expense-account/amount ?amt] + [?ea :account/name ?an]] + (dc/db conn) + [(:valid-trimmed-client-ids request) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/months -1)))) + (coerce/to-date (time/plus (time/with-time-at-start-of-day (time/now)) (time/days 1)))]) + (sort-by last) + (reverse) + (take 5))] + (com/card {:class "w-full h-full p-4"} + [:h1.text-2xl.font-bold.text-slate-700 + "Expenses, last month"] + [:div.w-full.h-full + [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil + :labels (map first totals) + :data (map second totals)}) + :x-init " new Chart($el, { type: 'pie', data: { labels: labels, @@ -163,27 +170,27 @@ maintainAspectRatio: false, } - });"}]]))) + });"}]])))) (defn pnl-card [request] - (com/card {:class "w-full h-full p-4"} - [:h1.text-2xl.font-bold.text-gray-700 - "Profit and Loss" - ] - (let [ data (<-graphql (get-profit-and-loss-raw (:valid-trimmed-client-ids request) - [{:start (time/plus (time/now) (time/days -90)) - :end (time/now)}])) - data (r/->PNLData {} (:accounts (first (:periods data))) {}) - sales (r/aggregate-accounts (r/filter-categories data [ :sales])) - expenses (r/aggregate-accounts (r/filter-categories data [ :cogs :payroll :controllable :fixed-overhead :ownership-controllable ]))] - (list - #_(when (not= (count all-clients) (count clients)) - ) -[:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil - :labels [(format "Income $%,.2f" sales) (format "Expenses $%,.2f" expenses)] - :data [sales expenses]}) - :x-init - "new Chart($el, { + (html-response + (com/card {:class "w-full h-full p-4"} + [:h1.text-2xl.font-bold.text-gray-700 + "Profit and Loss, last month" ] + (let [ data (<-graphql (get-profit-and-loss-raw (:valid-trimmed-client-ids request) + [{:start (time/plus (time/now) (time/months -1)) + :end (time/now)}])) + data (r/->PNLData {} (:accounts (first (:periods data))) {}) + sales (r/aggregate-accounts (r/filter-categories data [ :sales])) + expenses (r/aggregate-accounts (r/filter-categories data [ :cogs :payroll :controllable :fixed-overhead :ownership-controllable ]))] + (list + #_(when (not= (count all-clients) (count clients)) + ) + [:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil + :labels [(format "Income $%,.2f" sales) (format "Expenses $%,.2f" expenses)] + :data [sales expenses]}) + :x-init + "new Chart($el, { type: 'bar', data: { labels: labels, @@ -204,74 +211,95 @@ } } });"}] - [:div - "Income: " (format "$%,.2f" sales)] - [:div - "Expenses: " (format "$%,.2f" expenses)])))) + [:div + "Income: " (format "$%,.2f" sales)] + [:div + "Expenses: " (format "$%,.2f" expenses)]))))) (defn tasks-card [request] - (com/card {:class "w-full h-full p-4 space-y-2"} + (html-response + (com/card {:class "w-full h-full p-4 space-y-2"} + [:h1.text-2xl.font-bold.text-gray-700 + "Tasks"] + [:div (hx/alpine-mount-then-appear {:data-key "show"}) + (let [[unpaid-invoice-count unpaid-invoice-amount] + (first (dc/q '[:find (count ?e) (sum ?ab) + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-invoices $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :invoice/status :invoice-status/unpaid] + [?e :invoice/outstanding-balance ?ab]] + (dc/db conn) + [(:valid-trimmed-client-ids request) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/years -1)))) + nil])) + + [uncategorized-transaction-count uncategorized-transaction-amount] + (first (dc/q '[:find (count ?e) (sum ?am) + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-transactions $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :transaction/approval-status :transaction-approval-status/requires-feedback] + [?e :transaction/amount ?am]] + (dc/db conn) + [(:valid-trimmed-client-ids request) + (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/years -1)))) + nil]))] + (list + (when (not= 0 (or unpaid-invoice-count 0)) + [:div.bg-gray-50.rounded.p-4 + [:span "You have " (str unpaid-invoice-count) " unpaid invoices with an outstanding balance of " (format "$%,.2f" unpaid-invoice-amount) ". " ] + + (com/link {:href (hu/url (bidi.bidi/path-for ssr-routes/only-routes ::i-routes/unpaid-page) + {:date-range "year"}) + :hx-boost "true"} + + "Pay now") + ]) + (when (not= 0 (or uncategorized-transaction-count 0)) + [:div.bg-gray-50.rounded.p-4 + [:span "You have " (str uncategorized-transaction-count) " transactions needing your feedback. " ] + + (com/link {:href (str (bidi.bidi/path-for client-routes/routes :requires-feedback-transactions) + "?date-range=" + (url/url-encode (pr-str {:start (atime/unparse-local (time/plus (time/now) (time/years -1)) atime/iso-date) :end (atime/unparse-local (time/now) atime/iso-date)}))) } + + "Review now") + ])))]))) + +(defn stub-card [params & children] + (com/card (-> params + (dissoc :title) + (update :class #(hh/add-class (or % "") "w-full h-full p-4 space-y-2")) + (assoc :hx-swap "outerHTML")) [:h1.text-2xl.font-bold.text-gray-700 - "Tasks"] - (let [[unpaid-invoice-count unpaid-invoice-amount] - (first (dc/q '[:find (count ?e) (sum ?ab) - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-invoices $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :invoice/status :invoice-status/unpaid] - [?e :invoice/outstanding-balance ?ab]] - (dc/db conn) - [(:valid-trimmed-client-ids request) - (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/years -1)))) - nil])) - - [uncategorized-transaction-count uncategorized-transaction-amount] - (first (dc/q '[:find (count ?e) (sum ?am) - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-transactions $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :transaction/approval-status :transaction-approval-status/requires-feedback] - [?e :transaction/amount ?am]] - (dc/db conn) - [(:valid-trimmed-client-ids request) - (coerce/to-date (time/with-time-at-start-of-day (time/plus (time/now) (time/years -1)))) - nil]))] - (list - (when (not= 0 (or unpaid-invoice-count 0)) - [:div.bg-gray-50.rounded.p-4 - [:span "You have " (str unpaid-invoice-count) " unpaid invoices with an outstanding balance of " (format "$%,.2f" unpaid-invoice-amount) ". " ] - - (com/link {:href (hu/url (bidi.bidi/path-for ssr-routes/only-routes ::i-routes/unpaid-page) - {:date-range "year"}) - :hx-boost "true"} - - "Pay now") - ]) - (when (not= 0 (or uncategorized-transaction-count 0)) - [:div.bg-gray-50.rounded.p-4 - [:span "You have " (str uncategorized-transaction-count) " transactions needing your feedback. " ] - - (com/link {:href (str (bidi.bidi/path-for client-routes/routes :requires-feedback-transactions) - "?date-range=" - (url/url-encode (pr-str {:start (atime/unparse-local (time/plus (time/now) (time/years -1)) atime/iso-date) :end (atime/unparse-local (time/now) atime/iso-date)}))) } - - "Review now") - ]))))) + (:title params)] + [:div.w-full.h-full.flex.justify-center.items-center + [:div.htmx-indicator (svg/spinner {:class "inline w-32 h-32 text-green-500"})]])) (defn- page-contents [request] [:div [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr max-h-[970px]"} - [:div (expense-pie-card request)] + [:div (stub-card {:title "Expenses" + :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/expense-card) + :hx-trigger "load"} )] [:div - (tasks-card request)] + (stub-card {:title "Tasks" + :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/tasks-card) + :hx-trigger "load"} )] [:div.row-span-2 - (bank-accounts-card request)] +(stub-card {:title "Bank Accounts" + :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/bank-accounts-card) + :hx-trigger "load"} ) + ] [:div - (sales-chart-card request)] - [:div - (pnl-card request) - + (stub-card {:title "Gross Sales, last 14 days" + :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/sales-card) + :hx-trigger "load"}) ] - ] ]) + [:div + (stub-card {:title "Profit and Loss, last month" + :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/pnl-card) + :hx-trigger "load"}) ] ] ]) (defn page [request] (base-page @@ -298,6 +326,11 @@ (def key->handler ( apply-middleware-to-all-handlers - {::d-routes/page page} + {::d-routes/page page + ::d-routes/expense-card expense-pie-card + ::d-routes/pnl-card pnl-card + ::d-routes/sales-card sales-chart-card + ::d-routes/bank-accounts-card bank-accounts-card + ::d-routes/tasks-card tasks-card} (fn [h] (wrap-client-redirect-unauthenticated (wrap-admin h))))) \ No newline at end of file diff --git a/src/cljc/auto_ap/routes/dashboard.cljc b/src/cljc/auto_ap/routes/dashboard.cljc index b6e788ec..5f2d46e5 100644 --- a/src/cljc/auto_ap/routes/dashboard.cljc +++ b/src/cljc/auto_ap/routes/dashboard.cljc @@ -1,3 +1,8 @@ (ns auto-ap.routes.dashboard) (def routes {"" - {:get ::page }}) + {:get ::page } + "/expense-card" ::expense-card + "/pnl-card" ::pnl-card + "/sales-card" ::sales-card + "/bank-accounts-card" ::bank-accounts-card + "/tasks-card" ::tasks-card}) diff --git a/src/cljc/auto_ap/ssr_routes.cljc b/src/cljc/auto_ap/ssr_routes.cljc index af8d70dc..d8c3ea83 100644 --- a/src/cljc/auto_ap/ssr_routes.cljc +++ b/src/cljc/auto_ap/ssr_routes.cljc @@ -17,7 +17,7 @@ "search" :search "indicators" indicator-routes/routes - "dashboard" {:get ::d-routes/page} + "dashboard" d-routes/routes "account" {"/search" {:get :account-search}} "admin" {"" :auto-ap.routes.admin/page "/client" ac-routes/routes From 8afbc124c43da1ad013048295355afba8ecffdfd Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 29 Apr 2024 20:08:11 -0700 Subject: [PATCH 34/59] Addes expense report card --- resources/public/output.css | 2 +- .../auto_ap/ssr/company/reports/expense.clj | 149 ++++++++++-------- src/clj/auto_ap/ssr/dashboard.clj | 38 +++-- src/clj/auto_ap/ssr/hx.clj | 9 +- 4 files changed, 111 insertions(+), 87 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index a262151b..a61817eb 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-32{height:8rem}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mb-8{margin-bottom:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-32{height:8rem}.h-\[970px\]{height:970px}.h-\[1200\]{height:1200}.h-\[1200px\]{height:1200px}.h-\[1400px\]{height:1400px}.h-\[1450px\]{height:1450px}.h-\[1460px\]{height:1460px}.h-\[48rem\]{height:48rem}.h-\[50rem\]{height:50rem}.h-\[49rem\]{height:49rem}.h-max{height:-moz-max-content;height:max-content}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.max-h-\[48rem\]{max-height:48rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-16{padding:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pb-8{padding-bottom:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.duration-1000{transition-duration:1s}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/company/reports/expense.clj b/src/clj/auto_ap/ssr/company/reports/expense.clj index 5bb1be41..0dad1a22 100644 --- a/src/clj/auto_ap/ssr/company/reports/expense.clj +++ b/src/clj/auto_ap/ssr/company/reports/expense.clj @@ -99,74 +99,87 @@ (defn expense-breakdown-card* [request] - (com/content-card {:class "w-full" :id "expense-breakdown-report"} - [:div {:class "flex flex-col px-8 py-8 space-y-3"} - [:div - [:h1.text-2xl.mb-3.font-bold "Expense breakdown report, last 8 weeks"] - [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-breakdown-card ) - :hx-trigger "change" - :hx-target "#expense-breakdown-report" - :hx-swap "outerHTML"} - (fc/start-form - (:query-params request) - (:form-errors request) - [:div - (fc/with-field :vendor-id - (com/validated-field {:label "Vendor" - :errors (fc/field-errors)} - (com/typeahead {:name (fc/field-name) - :class "w-64" - :url (bidi/path-for ssr-routes/only-routes :vendor-search) - :value (fc/field-value) - :value-fn :db/id - :content-fn :vendor/name}))) - (fc/with-field :account-id - (com/validated-field {:label "Account" - :errors (fc/field-errors)} - (com/typeahead {:name (fc/field-name) - :class "w-64" - :url (bidi/path-for ssr-routes/only-routes :account-search) - :value (fc/field-value) - :value-fn :db/id - :content-fn :account/name})))])] - [:div - (let [data (lookup-breakdown-data request) - distinct-accounts (take 5 (->> data - (reduce - (fn [acc [an _ amount]] - (update acc an (fnil + 0.0) amount)) - {}) - (sort-by last) - (reverse) - (map first) - (take 5))) - weeks (week-seq 8) - x-axis (for [[start end] weeks] - (str (iol-ion.query/excel-date (coerce/to-date start)) - " - " - (iol-ion.query/excel-date (coerce/to-date end)))) - - lookup (->> - (reduce - (fn [acc [a d v]] - (update-in acc [a (best-week d weeks)] (fnil + 0.0) v)) - {} - data)) - - _ (alog/peek ::Lookup lookup) - series (for [ea distinct-accounts] - (for [d weeks] - (get-in lookup [ea d] 0)))] - (list - [:div.flex.gap-2.my-4.flex-wrap - (for [[d color] (map vector distinct-accounts ["bg-green-500" "bg-red-500" "bg-blue-500" "bg-yellow-500" "bg-purple-500"])] - [:span.px-2.py-1.rounded.rounded-full.text-sm.text-gray-100 {:class color} d])] - [:div {:class "w-full h-64" - :id "client-chart" - :x-data (hx/json {:chart {:labels x-axis - #_["2 years ago" "1 year ago" "today"], - :series (alog/peek ::test series)}}) - :x-init (hiccup/raw "new Chartist.Bar($el, chart, {seriesBarDistance:10}); ")}]))]]])) + (com/card {:class "w-full h-full" :id "expense-breakdown-report"} + [:div {:class "flex flex-col px-8 py-8 space-y-3 w-full h-full"} + + [:form {:hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-breakdown-card) + :hx-trigger "change" + :hx-target "#expense-breakdown-report" + :hx-swap "outerHTML"} + (fc/start-form + (:query-params request) + (:form-errors request) + [:div.flex.justify-between + [:h1.text-2xl.mb-3.font-bold "Expense breakdown report, last 8 weeks"] + [:div.flex.gap-2 + (fc/with-field :vendor-id + (com/validated-field {:label "Vendor" + :errors (fc/field-errors)} + (com/typeahead {:name (fc/field-name) + :class "w-64" + :url (bidi/path-for ssr-routes/only-routes :vendor-search) + :value (fc/field-value) + :value-fn :db/id + :content-fn :vendor/name}))) + (fc/with-field :account-id + (com/validated-field {:label "Account" + :errors (fc/field-errors)} + (com/typeahead {:name (fc/field-name) + :class "w-64" + :url (bidi/path-for ssr-routes/only-routes :account-search) + :value (fc/field-value) + :value-fn :db/id + :content-fn :account/name})))]])] + [:div.flex-grow + (let [data (lookup-breakdown-data request) + distinct-accounts (->> data + (reduce + (fn [acc [an _ amount]] + (update acc an (fnil + 0.0) amount)) + {}) + (sort-by last) + (reverse) + (map first) + (take 20)) + weeks (week-seq 8) + x-axis (for [[start end] weeks] + (str (iol-ion.query/excel-date (coerce/to-date start)) + " - " + (iol-ion.query/excel-date (coerce/to-date end)))) + + lookup (->> + (reduce + (fn [acc [a d v]] + (update-in acc [a (best-week d weeks)] (fnil + 0.0) v)) + {} + data)) + series (for [ea distinct-accounts] + (for [d weeks] + (get-in lookup [ea d] 0)))] + [:canvas {:x-data (hx/json {:chart nil + :labels x-axis + :datasets (map (fn [s a] {:label a + :data s + :borderWidth 1}) + series + distinct-accounts)}) + :x-init + "new Chart($el, { + type: 'bar', + data: { + labels: labels, + datasets: datasets + }, + options: { + responsive: true, + maintainAspectRatio: false, + scales: { + y: { + beginAtZero: true + } + } + } + });"}])]])) (defn vendor-invoice-total-card* [request] (com/content-card {:class "w-full" :id "invoice-totals-report"} diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index 06ee8078..b6ac4be4 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -9,6 +9,7 @@ [auto-ap.routes.utils :refer [wrap-admin wrap-client-redirect-unauthenticated]] [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.company.reports.expense :refer [expense-breakdown-card]] [auto-ap.ssr.components :as com] [auto-ap.ssr.hiccup-helper :as hh] [auto-ap.ssr.hx :as hx] @@ -26,11 +27,10 @@ (defn bank-accounts-card [request] (html-response - (com/card {:class "inline-block " } - [:div.p-4 + (com/card {:class "h-full"} + [:div.p-4.h-full [:h1.text-2xl.font-bold "Bank Accounts"] - [:div (hx/alpine-mount-then-appear {:class "max-h-[900px] overflow-scroll" - :data-key "show"}) + [:div (hx/htmx-transition-appear {:class "h-full overflow-scroll" }) (for [c (:valid-trimmed-client-ids request) b (:client/bank-accounts (dc/pull (dc/db conn) '[{:client/bank-accounts @@ -218,10 +218,10 @@ (defn tasks-card [request] (html-response - (com/card {:class "w-full h-full p-4 space-y-2"} + (com/card {:class "w-full h-full p-4"} [:h1.text-2xl.font-bold.text-gray-700 "Tasks"] - [:div (hx/alpine-mount-then-appear {:data-key "show"}) + [:div (hx/htmx-transition-appear {:class "space-y-2"}) (let [[unpaid-invoice-count unpaid-invoice-amount] (first (dc/q '[:find (count ?e) (sum ?ab) :in $ [?clients ?start-date ?end-date] @@ -262,8 +262,7 @@ "?date-range=" (url/url-encode (pr-str {:start (atime/unparse-local (time/plus (time/now) (time/years -1)) atime/iso-date) :end (atime/unparse-local (time/now) atime/iso-date)}))) } - "Review now") - ])))]))) + "Review now")])))]))) (defn stub-card [params & children] (com/card (-> params @@ -276,30 +275,35 @@ [:div.htmx-indicator (svg/spinner {:class "inline w-32 h-32 text-green-500"})]])) (defn- page-contents [request] - [:div - [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr max-h-[970px]"} - [:div (stub-card {:title "Expenses" + [:div.mb-8 + [:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 mb-8"} + [:div.h-96 (stub-card {:title "Expenses" :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/expense-card) :hx-trigger "load"} )] - [:div + [:div.h-96 (stub-card {:title "Tasks" :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/tasks-card) :hx-trigger "load"} )] - [:div.row-span-2 + [:div {:class " row-span-2 h-[49rem]"} (stub-card {:title "Bank Accounts" :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/bank-accounts-card) :hx-trigger "load"} ) ] - [:div + [:div.h-96 (stub-card {:title "Gross Sales, last 14 days" :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/sales-card) :hx-trigger "load"}) ] - [:div + [:div.h-96 (stub-card {:title "Profit and Loss, last month" :hx-get (bidi.bidi/path-for ssr-routes/only-routes ::d-routes/pnl-card) - :hx-trigger "load"}) ] ] ]) + :hx-trigger "load"}) ] + [:div.col-span-2.h-96 + (stub-card {:title "Expense breakdown" + :hx-get (bidi.bidi/path-for ssr-routes/only-routes :company-expense-report-breakdown-card) + :hx-trigger "load"} )] + [:div]] ]) (defn page [request] (base-page @@ -331,6 +335,6 @@ ::d-routes/pnl-card pnl-card ::d-routes/sales-card sales-chart-card ::d-routes/bank-accounts-card bank-accounts-card - ::d-routes/tasks-card tasks-card} + ::d-routes/tasks-card tasks-card } (fn [h] (wrap-client-redirect-unauthenticated (wrap-admin h))))) \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/hx.clj b/src/clj/auto_ap/ssr/hx.clj index d8bda05b..2c1fbe29 100644 --- a/src/clj/auto_ap/ssr/hx.clj +++ b/src/clj/auto_ap/ssr/hx.clj @@ -1,6 +1,7 @@ (ns auto-ap.ssr.hx (:require [cheshire.core :as cheshire] - [clojure.string :as str])) + [clojure.string :as str] + [auto-ap.ssr.hiccup-helper :as hh])) (defn vals [m] @@ -53,3 +54,9 @@ (defn trigger-click-or-enter [m] (assoc m :hx-trigger "click, keyup[keyCode==13]")) +(defn htmx-transition-appear [params] + (-> params + (update :class (fn [c] + (-> (or c "") + (hh/add-class "opacity-100 transition htmx-added:opacity-0 duration-300"))))) + ) From 1b80712742f68bb56aa05568c7248b9e0a888f97 Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 29 Apr 2024 20:56:37 -0700 Subject: [PATCH 35/59] charts --- resources/public/js/alpine-vals.js | 7 +++++++ resources/public/js/htmx-disable.js | 14 +++++++++++--- src/clj/auto_ap/plaid/core.clj | 6 ------ src/clj/auto_ap/ssr/components/aside.clj | 1 + src/clj/auto_ap/ssr/components/inputs.clj | 10 ++++++---- src/clj/auto_ap/ssr/components/page.clj | 3 ++- src/clj/auto_ap/ssr/dashboard.clj | 2 +- 7 files changed, 28 insertions(+), 15 deletions(-) diff --git a/resources/public/js/alpine-vals.js b/resources/public/js/alpine-vals.js index 4dcd57d0..aab0168d 100644 --- a/resources/public/js/alpine-vals.js +++ b/resources/public/js/alpine-vals.js @@ -35,4 +35,11 @@ Alpine.directive('hx-header', (el, { value, expression }, { evaluateLater, effec }) }) }) + Alpine.directive( + "destroy", + (el, { expression }, { evaluateLater, cleanup }) => { + const onDestroy = evaluateLater(expression); + cleanup(onDestroy); + } + ); }) \ No newline at end of file diff --git a/resources/public/js/htmx-disable.js b/resources/public/js/htmx-disable.js index 50891c95..b46f79a4 100644 --- a/resources/public/js/htmx-disable.js +++ b/resources/public/js/htmx-disable.js @@ -107,7 +107,6 @@ htmx.defineExtension('trigger-filter', { onEvent: function(name , evt) { if (name=="htmx:beforeRequest") { var element = evt.detail.elt; - console.log("HEREEE", element.lastParams, evt.detail.requestConfig.parameters) if (!deepEqual(element.lastParams, evt.detail.requestConfig.parameters)) { element.lastParams = evt.detail.requestConfig.parameters; } else { @@ -122,13 +121,21 @@ htmx.defineExtension('trigger-filter', { initDatepicker = function(elem) { const modalParent = elem.closest('#modal-content'); if (modalParent) { - elem.dp = new Datepicker(elem, {format: "mm/dd/yyyy", autohide: true, container: "#modal-content .modal-card"}); + return new Datepicker(elem, {format: "mm/dd/yyyy", autohide: true, container: "#modal-content .modal-card"}); } else { - elem.dp = new Datepicker(elem, {format: "mm/dd/yyyy", autohide: true}); + return new Datepicker(elem, {format: "mm/dd/yyyy", autohide: true}); } } +destroyDatepicker = function(dp) { + try { + dp.destroy() + } catch { + + } +} + countRows = function(id) { var table = document.querySelector(id); var rows = table.querySelectorAll("tbody tr"); @@ -171,3 +178,4 @@ htmx.onLoad(function(content) { console.error('Failed to copy text to clipboard:', err); } } + diff --git a/src/clj/auto_ap/plaid/core.clj b/src/clj/auto_ap/plaid/core.clj index f489dade..9b39a422 100644 --- a/src/clj/auto_ap/plaid/core.clj +++ b/src/clj/auto_ap/plaid/core.clj @@ -11,12 +11,6 @@ (def client-id (-> env :plaid :client-id)) (def secret-key (-> env :plaid :secret-key)) -(def base-url "https://production.plaid.com") - - (def client-id "61bfab05f7e762001b323f79") - -(def secret-key "2be026ca5e7f7e9f23f2fb4d7c914d") - (defn get-link-token [client-code] (-> (client/post (str base-url "/link/token/create") {:as :json diff --git a/src/clj/auto_ap/ssr/components/aside.clj b/src/clj/auto_ap/ssr/components/aside.clj index b9c5dd1e..bef8c966 100644 --- a/src/clj/auto_ap/ssr/components/aside.clj +++ b/src/clj/auto_ap/ssr/components/aside.clj @@ -67,6 +67,7 @@ :x-show "leftNavShow" ":aria-hidden" "leftNavShow ? 'false' : 'true'"} + ;; TODO this causes a leftNavShow error when hitting back button. maybe amke a container [:template {:x-teleport "body"} [:div.fixed.inset-0.lg:hidden {:x-show "leftNavShow" :x-transition:enter "transition duration-500" :x-transition:enter-start "opacity-0" :x-transition:enter-end "opacity-100" diff --git a/src/clj/auto_ap/ssr/components/inputs.clj b/src/clj/auto_ap/ssr/components/inputs.clj index 01f5531e..c525216b 100644 --- a/src/clj/auto_ap/ssr/components/inputs.clj +++ b/src/clj/auto_ap/ssr/components/inputs.clj @@ -175,10 +175,12 @@ (update :class (fnil hh/add-class "") default-input-classes) (assoc :x-modelable "value") (assoc :type "text") - (assoc "_" (hiccup/raw "init initDatepicker(me)")) - (assoc "@change" "value = $event.target.value; console.log(value)") - (assoc "hx-on" (hiccup/raw "changeDate: htmx.trigger(this, \"change\") - htmx:beforeCleanupElement: this.dp.destroy()")) + (assoc :x-data (hx/json {:dp nil}) ) + (assoc :x-init " dp = initDatepicker($el);") + (assoc "@htmx:before-history-save" "destroyDatepicker(dp)" ) + (assoc "@htmx:before-cleanup-element" "destroyDatepicker(dp)" ) + (assoc "@change" "value = $event.target.value;") + (assoc "hx-on" (hiccup/raw "changeDate: htmx.trigger(this, \"change\") ")) (update :class #(str % (use-size size) " w-full")) (dissoc :size))]]) diff --git a/src/clj/auto_ap/ssr/components/page.clj b/src/clj/auto_ap/ssr/components/page.clj index 6410af1f..b51a40b6 100644 --- a/src/clj/auto_ap/ssr/components/page.clj +++ b/src/clj/auto_ap/ssr/components/page.clj @@ -11,7 +11,8 @@ on notification from body put event.detail.value into #notification-details then add .htmx-added to #notification-holder then remove .hidden from #notification-holder then wait 30ms then remove .htmx-added from #notification-holder on htmx:responseError put event.detail.xhr.response into #error-details then add .htmx-added to #error-holder then remove .hidden from #error-holder then wait 30ms then remove .htmx-added from #error-holder" ) - :x-data (hx/json {:leftNavShow true})} + :x-data (hx/json {:leftNavShow true}) + } (navbar- {:client-selection client-selection :clients clients :client client diff --git a/src/clj/auto_ap/ssr/dashboard.clj b/src/clj/auto_ap/ssr/dashboard.clj index b6ac4be4..7f7fd626 100644 --- a/src/clj/auto_ap/ssr/dashboard.clj +++ b/src/clj/auto_ap/ssr/dashboard.clj @@ -250,7 +250,7 @@ (com/link {:href (hu/url (bidi.bidi/path-for ssr-routes/only-routes ::i-routes/unpaid-page) {:date-range "year"}) - :hx-boost "true"} + } "Pay now") ]) From f25ddc2ee4a88d932a4c1d02936af2587f54f446 Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 29 Apr 2024 22:44:09 -0700 Subject: [PATCH 36/59] Sales summaries in slightly more detail --- resources/schema.edn | 42 ++- src/clj/auto_ap/jobs/sales_summaries.clj | 248 +++++++++++++++++- src/clj/auto_ap/ssr/admin/sales_summaries.clj | 109 ++++---- 3 files changed, 320 insertions(+), 79 deletions(-) diff --git a/resources/schema.edn b/resources/schema.edn index d016a865..3ea377d9 100644 --- a/resources/schema.edn +++ b/resources/schema.edn @@ -1883,16 +1883,36 @@ :db/valueType :db.type/ref :db/isComponent true, :db/cardinality :db.cardinality/many} +{:db/ident :sales-summary/payment-items + :db/valueType :db.type/ref + :db/isComponent true, + :db/cardinality :db.cardinality/many} + {:db/ident :sales-summary-item/category :db/valueType :db.type/string :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary-item/item-name - :db/valueType :db.type/string - :db/cardinality :db.cardinality/one} + {:db/ident :ledger-mapped/ledger-side + :db/valueType :db.type/ref + :db/cardinality :db.cardinality/one + :db/noHistory true} + {:db/ident :ledger-mapped/account + :db/valueType :db.type/ref + :db/cardinality :db.cardinality/one + :db/noHistory true} + {:db/ident :ledger-mapped/amount + :db/valueType :db.type/double + :db/cardinality :db.cardinality/one + :db/noHistory true} + {:db/ident :ledger-side/credit} + {:db/ident :ledger-side/debit} {:db/ident :sales-summary-item/total :db/noHistory true, :db/valueType :db.type/double :db/cardinality :db.cardinality/one} + {:db/ident :sales-summary-item/net + :db/noHistory true, + :db/valueType :db.type/double + :db/cardinality :db.cardinality/one} {:db/ident :sales-summary-item/tax :db/noHistory true, :db/valueType :db.type/double @@ -1927,16 +1947,20 @@ :db/cardinality :db.cardinality/one} {:db/ident :sales-summary/total-tax :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} + :db/isComponent true + :db/valueType :db.type/ref + :db/cardinality :db.cardinality/one + } + {:db/ident :sales-summary/total-tip + :db/noHistory true, + :db/isComponent true + :db/valueType :db.type/ref + :db/cardinality :db.cardinality/one } {:db/ident :sales-summary/total-returns :db/noHistory true, :db/valueType :db.type/double :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/total-tip - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} + {:db/ident :sales-summary/total-card-fees :db/noHistory true, :db/valueType :db.type/double diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 367789e0..cbf6a1fa 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -52,8 +52,236 @@ (filter (fn [sales-summary] (= client-id (:db/id (:sales-summary/client sales-summary)))))))) +(defn- get-fee [c date] + (- (or (ffirst (dc/q '[:find ?f + :in $ ?client ?d + :where + [?e :expected-deposit/client ?client] + [?e :expected-deposit/sales-date ?d] + [?e :expected-deposit/fee ?f]] + (dc/db conn) + c + date)) + 0.0))) +(defn get-payment-items [c date] + (->> + (dc/q '[:find ?processor ?type-name (sum ?total) + :with ?c + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/charges ?c] + [?c :charge/type-name ?type-name] + (or-join [?c ?processor] + (and [?c :charge/processor ?p] + [?p :db/ident ?processor]) + (and + (not [?c :charge/processor]) + [(ground :ccp-processor/na) ?processor])) + [?c :charge/total ?total]] + (dc/db conn) + [[c] date date]) + (reduce + (fn [acc [processor type-name total]] + (update + acc + (cond (= type-name "CARD") + "Card Payments" + (= type-name "CASH") + "Cash Payments" + (#{"SQUARE_GIFT_CARD" "WALLET" "GIFT_CARD"} type-name) + "Gift Card Payments" + (#{:ccp-processor/toast + #_:ccp-processor/ezcater + #_:ccp-processor/koala + :ccp-processor/doordash + :ccp-processor/grubhub + :ccp-processor/uber-eats} processor) + "Food App Payments" + :else + "Unknown") + (fnil + 0.0) + total)) + {}) + (map (fn [[k v]] + {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category k + :ledger-mapped/amount (if (= "Card Payments" k) + (- v (get-fee c date)) + v) + :ledger-mapped/ledger-side :ledger-side/debit})))) -(defn sales-summaries [] +(defn get-discounts [c date] + (when-let [discount (ffirst (dc/q '[:find (sum ?discount) + :with ?e + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/discount ?discount]] + (dc/db conn) + [[c] date date]))] + {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category "Discounts" + :ledger-mapped/amount discount + :ledger-mapped/ledger-side :ledger-side/debit })) + +(defn get-refund-items [c date] + (->> + (dc/q '[:find ?type-name (sum ?t) + :with ?e + :in $ [?clients ?start-date ?end-date] + :where + :where [(iol-ion.query/scan-sales-refunds $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-refund/type ?type-name] + [?e :sales-refund/total ?t]] + (dc/db conn) + [[c] date date]) + (reduce + (fn [acc [type-name total]] + (update + acc + (cond (= type-name "CARD") + "Card Refunds" + (= type-name "CASH") + "Cash Refunds" + :else + "Food App Refunds") + (fnil + 0.0) + total)) + {}) + (map (fn [[k v]] + {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category k + :ledger-mapped/amount v + :ledger-mapped/ledger-side :ledger-side/credit})))) + + + +(defn get-fees [c date] + (when-let [fee (get-fee c date)] + {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category "Fees" + :ledger-mapped/amount fee + :ledger-mapped/ledger-side :ledger-side/debit})) + +(defn- get-tax [c date] + {:db/id (str (java.util.UUID/randomUUID)) + :ledger-mapped/ledger-side :ledger-side/credit + :ledger-mapped/amount + (or (ffirst (dc/q '[:find (sum ?tax) + :with ?e + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/tax ?tax] + #_[?e :sales-order/charges ?c] + #_[?c :charge/tax ?tax]] + (dc/db conn) + [[c] date date])) + 0.0)}) + +(defn- get-tip [c date] + {:ledger-mapped/ledger-side :ledger-side/credit + :ledger-mapped/amount (or (ffirst (dc/q '[:find (sum ?tip) + :with ?c + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/charges ?c] + [?c :charge/tip ?tip]] + (dc/db conn) + [[c] date date])) + 0.0)}) + +(defn- get-sales [c date] + (let [sales (->> (dc/q '[:find ?category (sum ?total) (sum ?tax) (sum ?discount) + :with ?e ?li + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/line-items ?li] + [(get-else $ ?li :order-line-item/category "Unknown") ?category] + [?li :order-line-item/total ?total] + [?li :order-line-item/tax ?tax] + [?li :order-line-item/discount ?discount]] + (dc/db conn) + [[c] date date]))] + (for [[category total tax discount] sales] + {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category category + :sales-summary-item/total total + :sales-summary-item/net (- (+ total discount) tax) + :sales-summary-item/tax tax + :sales-summary-item/discount discount + :ledger-mapped/ledger-side :ledger-side/credit + :ledger-mapped/amount (- (+ total discount) tax) + #_#_:ledger-mapped/account nil}))) + +(defn sales-summaries-v2 [] + (doseq [[c client-code] (dc/q '[:find ?c ?client-code + :in $ + :where [?c :client/code ?client-code]] + (dc/db conn)) + {:sales-summary/keys [date] :db/keys [id]} (dirty-sales-summaries c)] + (mu/with-context {:client-code client-code + :date date} + (alog/info ::updating) + (let [result {:db/id id + :sales-summary/client c + :sales-summary/date date + :sales-summary/dirty false + :sales-summary/client+date [c date] + + :sales-summary/sales-items + (conj (get-sales c date) + {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category "Returns" + + :ledger-mapped/amount (or (ffirst (dc/q '[:find (sum ?r) + :with ?e + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/returns ?r] + + #_[?e :sales-order/charges ?c] + #_[?c :charge/tax ?tax]] + (dc/db conn) + [[c] date date])) + 0.0) + :ledger-mapped/ledger-side :ledger-side/debit}) + :sales-summary/payment-items + (->> (get-payment-items c date) + (concat (get-refund-items c date)) + (cons (get-discounts c date)) + (cons (get-fees c date)) + (filter identity)) + + :sales-summary/total-tax + (get-tax c date) + :sales-summary/total-tip + (get-tip c date) + + #_#_:sales-summary/total-card-payments + (or (ffirst (dc/q '[:find (sum ?total) + :with ?c + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/charges ?c] + [?c :charge/type-name "CARD"] + [?c :charge/total ?total]] + (dc/db conn) + [[c] date date])) + 0.0) + #_:sales-summary/total-unknown-processor-payments}] + (if (seq (:sales-summary/sales-items result)) + (do + (alog/info ::upserting-summaries + :category-count (count (:sales-summary/sales-items result))) + @(dc/transact conn [[:upsert-entity result]])) + @(dc/transact conn [{:db/id id :sales-summary/dirty false}])))))) + +(let [c (auto-ap.datomic/pull-attr (dc/db conn) :db/id [:client/code "NGCL" ]) + date #inst "2024-04-14T00:00:00-07:00"] + (get-payment-items c date) + + ) + +#_(defn sales-summaries-v1 [] (doseq [[c client-code] (dc/q '[:find ?c ?client-code :in $ :where [?c :client/code ?client-code]] @@ -100,9 +328,6 @@ 0.0) :sales-summary/sales-items - - - (for [[item-name category total tax discount] sales] {:db/id (str (java.util.UUID/randomUUID)) :sales-summary-item/item-name item-name @@ -110,6 +335,7 @@ :sales-summary-item/total total :sales-summary-item/tax tax :sales-summary-item/discount discount}) + :sales-summary/total-tax (or (ffirst (dc/q '[:find (sum ?tax) @@ -268,14 +494,16 @@ :db/valueType :db.type/double :db/cardinality :db.cardinality/one}]) - (apply mark-dirty [:client/code "NGCL"] (last-n-days 14)) - (apply mark-dirty [:client/code "NGDG"] (last-n-days 14)) - (apply mark-dirty [:client/code "NGPG"] (last-n-days 14)) + (apply mark-dirty [:client/code "NGCL"] (last-n-days 30)) + + (apply mark-dirty [:client/code "NGDG"] (last-n-days 30)) + + (apply mark-dirty [:client/code "NGPG"] (last-n-days 30)) (mark-all-dirty 50) (delete-all) - (sales-summaries) + (sales-summaries-v2) (dc/q '[:find (pull ?sos [* {:sales-summary/sales-items [*]}]) :in $ @@ -304,11 +532,13 @@ (dc/db conn) [[(auto-ap.datomic/pull-attr (dc/db conn) :db/id [:client/code "NGCL"])] #inst "2024-04-11T00:00:00-07:00" #inst "2024-04-24T00:00:00-07:00"]) +@(dc/transact conn [{:db/id :sales-summary/total-tax :db/ident :sales-summary/total-tax-legacy} + {:db/id :sales-summary/total-tip :db/ident :sales-summary/total-tip-legacy}]) ) (defn -main [& _] - (execute "sales-summaries" sales-summaries)) + (execute "sales-summaries" sales-summaries-v2)) \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/admin/sales_summaries.clj b/src/clj/auto_ap/ssr/admin/sales_summaries.clj index ffa03afa..b4188c6a 100644 --- a/src/clj/auto_ap/ssr/admin/sales_summaries.clj +++ b/src/clj/auto_ap/ssr/admin/sales_summaries.clj @@ -44,9 +44,20 @@ :size :small}))]]) (def default-read '[:db/id + + * [:sales-summary/date :xform clj-time.coerce/from-date] {:sales-summary/client [:client/code :client/name]} - *]) ;; TODO + {:sales-summary/total-tax [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} + :ledger-mapped/amount]} + {:sales-summary/total-tip [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} + :ledger-mapped/amount]} + {:sales-summary/sales-items [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} + :ledger-mapped/amount + :sales-summary-item/category]} + {:sales-summary/payment-items [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} + :ledger-mapped/amount + :sales-summary-item/category]}]) ;; TODO (defn fetch-ids [db request] (let [query-params (:parsed-query-params request) @@ -96,7 +107,7 @@ [(->> (hydrate-results ids-to-retrieve db request)) matching-count])) -(defn get-debits [ss] +#_(defn get-debits [ss] {:card-payments (+ (:sales-summary/total-card-payments ss 0.0) (:sales-summary/total-card-fees ss 0.0) (- (:sales-summary/total-card-refunds ss 0.0))) @@ -117,6 +128,11 @@ :discounts (+ (:sales-summary/discount ss 0.0)) :returns (+ (:sales-summary/total-returns ss 0.0))}) +(defn all-items [ss] + (->> [(:sales-summary/total-tax ss) (:sales-summary/total-tip ss)] + (into (:sales-summary/payment-items ss)) + (into (:sales-summary/sales-items ss)))) + (def grid-page (helper/build {:id "entity-table" :id-fn :db/id @@ -159,25 +175,25 @@ :name "credits" :sort-key "credits" :render (fn [ss] - (let [total-debits (reduce + 0.0 (vals (get-debits ss))) - total-credits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss))) - - (reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss)))) - (reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss)))) - - (:sales-summary/total-tax ss 0.0) - (:sales-summary/total-tip ss 0.0))] + (let [total-debits (->> (all-items ss) + (filter #(= :ledger-side/debit (:ledger-mapped/ledger-side %))) + (map #(:ledger-mapped/amount % 0.0)) + (reduce + 0.0)) + total-credits (->> (all-items ss) + (filter #(= :ledger-side/credit (:ledger-mapped/ledger-side %))) + (map #(:ledger-mapped/amount % 0.0)) + (reduce + 0.0))] [:ul - (for [[n x] (group-by :sales-summary-item/category (:sales-summary/sales-items ss))] - [:li n ": " (format "$%,.2f" (- (+ (reduce + 0.0 (map :sales-summary-item/total x)) - (reduce + 0.0 (map :sales-summary-item/discount x))) - (reduce + 0.0 (map :sales-summary-item/tax x))))]) - [:li "Sales subtotal: " (format "$%,.2f" (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss))) - (reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss)))) - - (reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss)))))] - [:li "Tax: " (format "$%,.2f" (:sales-summary/total-tax ss))] - [:li "Tips: " (format "$%,.2f" (:sales-summary/total-tip ss))] + (for [si (:sales-summary/sales-items ss) + :when (= :ledger-side/credit (:ledger-mapped/ledger-side si))] + [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si))]) + [:li "Sales subtotal: " (format "$%,.2f" (reduce + 0.0 (map :ledger-mapped/amount (:sales-summary/sales-items ss))))] + (for [si (:sales-summary/payment-items ss) + :when (= :ledger-side/credit (:ledger-mapped/ledger-side si))] + [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si))]) + + [:li "Tax: " (format "$%,.2f" (:ledger-mapped/amount (:sales-summary/total-tax ss)))] + [:li "Tips: " (format "$%,.2f" (:ledger-mapped/amount (:sales-summary/total-tip ss)))] [:li (com/pill {:color (if (dollars= total-debits total-credits) :primary :red)} "Total: " (format "$%,.2f" total-credits))]]) @@ -188,51 +204,22 @@ :name "debits" :sort-key "debits" :render (fn [ss] - (let [{:keys [card-payments food-app-payments - cash-payments discounts fees - gift-card-payments - returns refunds total-unknown-processor-payments] :as debits} (get-debits ss) - - total-debits (reduce + 0.0 (vals debits)) - total-credits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss))) - - (reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss)))) - (reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss)))) - - (:sales-summary/total-tax ss 0.0) - (:sales-summary/total-tip ss 0.0))] + (let [ total-debits (->> (all-items ss) + (filter #(= :ledger-side/debit (:ledger-mapped/ledger-side %))) + (map #(:ledger-mapped/amount % 0.0)) + (reduce + 0.0)) + total-credits (->> (all-items ss) + (filter #(= :ledger-side/credit (:ledger-mapped/ledger-side %))) + (map #(:ledger-mapped/amount % 0.0)) + (reduce + 0.0))] [:ul - [:li "Card Payments: " - (format "$%,.2f" card-payments)] - - [:li "Food App Payments: " - (format "$%,.2f" food-app-payments)] - [:li "Gift Card Payments" - (format "$%,.2f" gift-card-payments)] - [:li "Unknown Processor Payments: " - - (format "$%,.2f" total-unknown-processor-payments)] - [:li "Cash Payments: " - - (format "$%,.2f" cash-payments)] - [:li "Discounts: " - - (format "$%,.2f" discounts)] - - [:li "Fees: " - (format "$%,.2f" fees)] - [:li "Returns: " - (format "$%,.2f" returns)] - #_[:li "Refunds: " - (format "$%,.2f" refunds)] - - - - + (for [si (:sales-summary/payment-items ss) + :when (= :ledger-side/debit (:ledger-mapped/ledger-side si))] + [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si))]) [:li (com/pill {:color (if (dollars= total-debits total-credits) :primary :red)} "Total: " (format "$%,.2f" total-debits))]]) - + #_(count))}]})) ;; TODO schema cleanup From f6dba46835e4aeb766be03f8a79eb3ce43828a5a Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 29 Apr 2024 23:05:33 -0700 Subject: [PATCH 37/59] home stretch --- src/clj/auto_ap/jobs/sales_summaries.clj | 2 + src/clj/auto_ap/ssr/admin/sales_summaries.clj | 167 +++++++++++++++++- .../auto_ap/routes/admin/sales_summaries.cljc | 5 +- 3 files changed, 169 insertions(+), 5 deletions(-) diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index cbf6a1fa..1fd88ab8 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -535,6 +535,8 @@ @(dc/transact conn [{:db/id :sales-summary/total-tax :db/ident :sales-summary/total-tax-legacy} {:db/id :sales-summary/total-tip :db/ident :sales-summary/total-tip-legacy}]) +(auto-ap.datomic/transact-schema conn) + ) diff --git a/src/clj/auto_ap/ssr/admin/sales_summaries.clj b/src/clj/auto_ap/ssr/admin/sales_summaries.clj index b4188c6a..a326efca 100644 --- a/src/clj/auto_ap/ssr/admin/sales_summaries.clj +++ b/src/clj/auto_ap/ssr/admin/sales_summaries.clj @@ -8,14 +8,20 @@ :refer [wrap-admin wrap-client-redirect-unauthenticated]] [auto-ap.ssr-routes :as ssr-routes] [auto-ap.ssr.components :as com] + [auto-ap.ssr.components.multi-modal :as mm] + [auto-ap.ssr.form-cursor :as fc] [auto-ap.ssr.grid-page-helper :as helper] + [auto-ap.ssr.svg :as svg] [auto-ap.ssr.utils - :refer [apply-middleware-to-all-handlers]] + :refer [apply-middleware-to-all-handlers entity-id + wrap-schema-enforce]] [auto-ap.time :as atime] [bidi.bidi :as bidi] [clj-time.coerce :as c] [datomic.api :as dc] - [iol-ion.query :refer [dollars=]])) + [iol-ion.query :refer [dollars=]] + [malli.core :as mc] + [malli.util :as mut])) (defn filters [request] [:form {"hx-trigger" "change delay:500ms, keyup changed from:.hot-filter delay:1000ms" @@ -140,7 +146,10 @@ :fetch-page fetch-page :page-specific-nav filters :row-buttons (fn [_ entity] - []) + [(com/icon-button {:hx-put (bidi/path-for ssr-routes/only-routes + ::route/edit-wizard + :db/id (:db/id entity))} + svg/pencil)]) :oob-render (fn [request] [#_(assoc-in (date-range-field {:value {:start (:start-date (:parsed-query-params request)) @@ -232,11 +241,161 @@ (def row* (partial helper/row* grid-page)) (def table* (partial helper/table* grid-page)) + +(def edit-schema + [:map + [:db/id entity-id] + [:sales-summary/sales-items + [:vector {:coerce? true} + [:map [:db/id entity-id]]]] ]) + +(defrecord MainStep [linear-wizard] + mm/ModalWizardStep + (step-name [_] + "Main") + (step-key [_] + :main) + + (edit-path [_ _] + []) + + (step-schema [_] + (mut/select-keys (mm/form-schema linear-wizard) #{:db/id})) + + (render-step + [this {:keys [multi-form-state] :as request}] + (mm/default-render-step + linear-wizard this + :head [:div.p-2 "New invoice"] + :body (mm/default-step-body + {} + [:div + (fc/with-field :db/id + (com/hidden {:name (fc/field-name) + :value (fc/field-value)})) + + + (pr-str multi-form-state) ]) + + :footer + (mm/default-step-footer linear-wizard this :validation-route ::route/edit-wizard-navigate + :next-button (com/button {:color :primary :x-ref "next" :class "w-32" + :hx-put (bidi.bidi/path-for ssr-routes/only-routes + ::route/edit-wizard-navigate)} "Save")) + :validation-route ::route/edit-wizard-navigate))) + +(defrecord EditWizard [_ current-step] + mm/LinearModalWizard + (hydrate-from-request + [this request] + this) + (navigate [this step-key] + (assoc this :current-step step-key)) + (get-current-step + [this] + (mm/get-step this :main)) + (render-wizard [this {:keys [multi-form-state] :as request}] + (mm/default-render-wizard + this request + :form-params + (-> mm/default-form-props + (assoc :hx-post + (str (bidi/path-for ssr-routes/only-routes ::route/edit-submit)))) + :render-timeline? false)) + (steps [_] + [:main]) + (get-step [this step-key] + (let [step-key-result (mc/parse mm/step-key-schema step-key) + [step-key-type step-key] step-key-result] + (->MainStep this))) + (form-schema [_] + edit-schema) + (submit [this {:keys [multi-form-state request-method identity] :as request}] + #_(let [invoice (:snapshot multi-form-state) + + _ (alog/peek invoice) + extant? (:db/id invoice) + client-id (->db-id (:invoice/client invoice)) + vendor-id (->db-id (:invoice/vendor invoice)) + paid-amount (if-let [outstanding-balance + (and extant? + (- + (pull-attr (dc/db conn) + :invoice/total + (:db/id invoice)) + (pull-attr (dc/db conn) + :invoice/outstanding-balance + (:db/id invoice))))] + outstanding-balance + 0.0) + outstanding-balance (- (or + (:invoice/total (:step-params multi-form-state)) + (:invoice/total (:snapshot multi-form-state))) + paid-amount) + + transaction [:upsert-invoice (-> multi-form-state + :snapshot + (assoc :db/id (or (:db/id invoice) "invoice")) + (dissoc :customize-due-and-scheduled? :invoice/journal-entry :invoice/payments :customize-accounts) + (assoc :invoice/expense-accounts (if (= :customize (:customize-accounts invoice)) + (-> multi-form-state :step-params :invoice/expense-accounts) + [{:db/id "123" + :invoice-expense-account/location "Shared" + :invoice-expense-account/account (:db/id (:vendor/default-account (clientize-vendor (get-vendor vendor-id) + client-id))) + :invoice-expense-account/amount (or (:invoice/total (:step-params multi-form-state)) + (:invoice/total (:snapshot multi-form-state)))}])) + (assoc + :invoice/outstanding-balance outstanding-balance + :invoice/import-status :import-status/imported + :invoice/status (if (dollars= 0.0 outstanding-balance) + :invoice-status/paid + :invoice-status/unpaid)) + (maybe-spread-locations) + (update :invoice/date coerce/to-date) + (update :invoice/due coerce/to-date) + (update :invoice/scheduled-payment coerce/to-date))]] + (assert-invoice-amounts-add-up (second transaction)) + (when-not extant? + (assert-no-conflicting invoice)) + (exception->4xx #(assert-can-see-client (:identity request) client-id)) + + (exception->4xx #(assert-not-locked client-id (:invoice/date invoice))) + (let [transaction-result (audit-transact [transaction] (:identity request))] + (solr/touch-with-ledger (get-in transaction-result [:tempids "invoice"])) + (if extant? + + (html-response + (@(resolve 'auto-ap.ssr.invoices/row*) identity (dc/pull (dc/db conn) default-read (:db/id invoice)) {:flash? true + :request request}) + :headers (cond-> {"hx-trigger" "modalclose" + "hx-retarget" (format "#entity-table tr[data-id=\"%d\"]" (:db/id invoice)) + "hx-reswap" "outerHTML"})) + + (assoc-in (mm/navigate-handler {:request (assoc-in request [:multi-form-state :snapshot :db/id] (get-in transaction-result [:tempids "invoice"])) + :to-step :next-steps}) + [:headers "hx-trigger"] "invalidated")))))) + +(def edit-wizard (->EditWizard nil nil)) + +(defn initial-edit-wizard-state [request] + (let [entity (dc/pull (dc/db conn) default-read (:db/id (:route-params request))) + entity (select-keys entity (mut/keys edit-schema))] + + (mm/->MultiStepFormState entity [] entity))) + (def key->handler (apply-middleware-to-all-handlers (->> {::route/page (helper/page-route grid-page) - ::route/table (helper/table-route grid-page)}) + ::route/table (helper/table-route grid-page) + ::route/edit-wizard (-> mm/open-wizard-handler + (mm/wrap-wizard edit-wizard) + (mm/wrap-init-multi-form-state initial-edit-wizard-state) + (wrap-schema-enforce :route-schema [:map [:db/id entity-id]])) + ::route/edit-wizard-navigate (-> mm/next-handler + (mm/wrap-wizard edit-wizard) + (mm/wrap-decode-multi-form-state))}) (fn [h] (-> h (wrap-admin) diff --git a/src/cljc/auto_ap/routes/admin/sales_summaries.cljc b/src/cljc/auto_ap/routes/admin/sales_summaries.cljc index e5144e71..a2fd9b6d 100644 --- a/src/cljc/auto_ap/routes/admin/sales_summaries.cljc +++ b/src/cljc/auto_ap/routes/admin/sales_summaries.cljc @@ -1,3 +1,6 @@ (ns auto-ap.routes.admin.sales-summaries) (def routes {"" {:get ::page} - "/table" ::table}) \ No newline at end of file + "/table" ::table + + ["/" [#"\d+" :db/id]] {:put ::edit-wizard} + "/edit/navigate" ::edit-wizard-navigate }) \ No newline at end of file From e3b17e50e2055a2c15c31fa77c66c97efc53a226 Mon Sep 17 00:00:00 2001 From: Bryce Date: Tue, 30 Apr 2024 22:38:21 -0700 Subject: [PATCH 38/59] Sales nearly ready --- resources/public/output.css | 2 +- resources/schema.edn | 117 ++--- src/clj/auto_ap/jobs/sales_summaries.clj | 336 ++++---------- src/clj/auto_ap/ssr/admin/sales_summaries.clj | 415 ++++++++++++------ src/clj/auto_ap/ssr/components/data_grid.clj | 2 +- .../auto_ap/ssr/components/multi_modal.clj | 5 +- .../ssr/invoice/new_invoice_wizard.clj | 3 +- src/clj/auto_ap/ssr/utils.clj | 15 +- .../auto_ap/routes/admin/sales_summaries.cljc | 9 +- 9 files changed, 421 insertions(+), 483 deletions(-) diff --git a/resources/public/output.css b/resources/public/output.css index a61817eb..53da4b8a 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mb-8{margin-bottom:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-32{height:8rem}.h-\[970px\]{height:970px}.h-\[1200\]{height:1200}.h-\[1200px\]{height:1200px}.h-\[1400px\]{height:1400px}.h-\[1450px\]{height:1450px}.h-\[1460px\]{height:1460px}.h-\[48rem\]{height:48rem}.h-\[50rem\]{height:50rem}.h-\[49rem\]{height:49rem}.h-max{height:-moz-max-content;height:max-content}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.max-h-\[48rem\]{max-height:48rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-16{padding:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pb-8{padding-bottom:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.duration-1000{transition-duration:1s}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mb-8{margin-bottom:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-32{height:8rem}.h-\[970px\]{height:970px}.h-\[1200\]{height:1200}.h-\[1200px\]{height:1200px}.h-\[1400px\]{height:1400px}.h-\[1450px\]{height:1450px}.h-\[1460px\]{height:1460px}.h-\[48rem\]{height:48rem}.h-\[50rem\]{height:50rem}.h-\[49rem\]{height:49rem}.h-max{height:-moz-max-content;height:max-content}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.max-h-\[48rem\]{max-height:48rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-16{padding:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.duration-1000{transition-duration:1s}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:h-\[750px\]{height:750px}.lg\:h-\[900px\]{height:900px}.lg\:w-96{width:24rem}.lg\:w-\[800px\]{width:800px}.lg\:w-\[000px\]{width:0}.lg\:w-\[900px\]{width:900px}.lg\:w-\[850px\]{width:850px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file diff --git a/resources/schema.edn b/resources/schema.edn index 3ea377d9..ce648d7a 100644 --- a/resources/schema.edn +++ b/resources/schema.edn @@ -1879,32 +1879,37 @@ :db/valueType :db.type/instant :db/cardinality :db.cardinality/one :db/index true} - {:db/ident :sales-summary/sales-items - :db/valueType :db.type/ref - :db/isComponent true, - :db/cardinality :db.cardinality/many} -{:db/ident :sales-summary/payment-items + {:db/ident :sales-summary/items :db/valueType :db.type/ref :db/isComponent true, :db/cardinality :db.cardinality/many} +{:db/ident :sales-summary/dirty + :db/noHistory true, + :db/valueType :db.type/boolean + :db/cardinality :db.cardinality/one} + {:db/ident :sales-summary/client+date + :db/valueType :db.type/tuple + :db/tupleAttrs [:sales-summary/client :sales-summary/date] + :db/cardinality :db.cardinality/one + :db/unique :db.unique/identity + :db/index true} + {:db/ident :sales-summary/client+dirty + :db/valueType :db.type/tuple + :db/tupleAttrs [:sales-summary/client :sales-summary/dirty] + :db/cardinality :db.cardinality/one + :db/index true} {:db/ident :sales-summary-item/category :db/valueType :db.type/string :db/cardinality :db.cardinality/one} - {:db/ident :ledger-mapped/ledger-side - :db/valueType :db.type/ref + {:db/ident :sales-summary-item/sort-order + :db/valueType :db.type/long :db/cardinality :db.cardinality/one :db/noHistory true} - {:db/ident :ledger-mapped/account - :db/valueType :db.type/ref +{:db/ident :sales-summary-item/manual? + :db/valueType :db.type/boolean :db/cardinality :db.cardinality/one :db/noHistory true} - {:db/ident :ledger-mapped/amount - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one - :db/noHistory true} - {:db/ident :ledger-side/credit} - {:db/ident :ledger-side/debit} {:db/ident :sales-summary-item/total :db/noHistory true, :db/valueType :db.type/double @@ -1921,79 +1926,23 @@ :db/noHistory true, :db/valueType :db.type/double :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/dirty - :db/noHistory true, - :db/valueType :db.type/boolean - :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/client+date - :db/valueType :db.type/tuple - :db/tupleAttrs [:sales-summary/client :sales-summary/date] - :db/cardinality :db.cardinality/one - :db/unique :db.unique/identity - :db/index true} - {:db/ident :sales-summary/client+dirty - :db/valueType :db.type/tuple - :db/tupleAttrs [:sales-summary/client :sales-summary/dirty] - :db/cardinality :db.cardinality/one - :db/index true} - {:db/ident :sales-summary/discount - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/total-card-payments - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/total-tax - :db/noHistory true, - :db/isComponent true + {:db/ident :ledger-mapped/ledger-side :db/valueType :db.type/ref - :db/cardinality :db.cardinality/one - } - {:db/ident :sales-summary/total-tip - :db/noHistory true, - :db/isComponent true + :db/cardinality :db.cardinality/one + :db/noHistory true} + {:db/ident :ledger-mapped/account :db/valueType :db.type/ref - :db/cardinality :db.cardinality/one } - {:db/ident :sales-summary/total-returns - :db/noHistory true, + :db/cardinality :db.cardinality/one + :db/noHistory true} + {:db/ident :ledger-mapped/amount :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} + :db/cardinality :db.cardinality/one + :db/noHistory true} + {:db/ident :ledger-side/credit} + {:db/ident :ledger-side/debit} - {:db/ident :sales-summary/total-card-fees - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} -{:db/ident :sales-summary/total-gift-card-payments - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - - {:db/ident :sales-summary/total-card-refunds - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/total-cash-payments - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/total-unknown-processor-payments - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - - {:db/ident :sales-summary/total-cash-refunds - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/total-food-app-payments - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one} - {:db/ident :sales-summary/total-food-app-refunds - :db/noHistory true, - :db/valueType :db.type/double - :db/cardinality :db.cardinality/one}] + + ] diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 1fd88ab8..73a612d2 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -6,6 +6,7 @@ [clj-time.coerce :as c] [clj-time.core :as time] [clj-time.periodic :as per] + [clojure.string :as str] [com.brunobonacci.mulog :as mu] [datomic.api :as dc])) @@ -31,6 +32,13 @@ (dc/db conn))] (apply mark-dirty c (last-n-days days)))) +(defn lookup-account [number] + (ffirst (dc/q '[:find ?a + :in $ ?number + :where [?a :account/numeric-code ?number]] + (dc/db conn) + number))) + (defn delete-all [] @(dc/transact-async conn @@ -63,6 +71,30 @@ c date)) 0.0))) + +(def name->number + {"gyros and pitas" 40111 + "returns" 41000 + "card payments" 75460 + "cash payments" 75452 + "food app payments" 72350 + "unknown" 40000 + "discounts" 41000 + "fees" 75400 + "alcohol" 46900 + "beverages" 42000 + "bowls" 40118 + "catering" 43010 + "desserts" 40116 + "fries" 40117 + "plates" 40113 + "sides" 40115 + "soup & salads" 40114 + "uncategorized" 40000 + "tax" 25700 + "tip" 25500 + "card refunds" 41000}) + (defn get-payment-items [c date] (->> (dc/q '[:find ?processor ?type-name (sum ?total) @@ -104,7 +136,9 @@ {}) (map (fn [[k v]] {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/sort-order 0 :sales-summary-item/category k + :ledger-mapped/amount (if (= "Card Payments" k) (- v (get-fee c date)) v) @@ -119,9 +153,10 @@ (dc/db conn) [[c] date date]))] {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/sort-order 1 :sales-summary-item/category "Discounts" :ledger-mapped/amount discount - :ledger-mapped/ledger-side :ledger-side/debit })) + :ledger-mapped/ledger-side :ledger-side/debit})) (defn get-refund-items [c date] (->> @@ -149,6 +184,7 @@ {}) (map (fn [[k v]] {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/sort-order 3 :sales-summary-item/category k :ledger-mapped/amount v :ledger-mapped/ledger-side :ledger-side/credit})))) @@ -158,12 +194,15 @@ (defn get-fees [c date] (when-let [fee (get-fee c date)] {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/sort-order 2 :sales-summary-item/category "Fees" :ledger-mapped/amount fee :ledger-mapped/ledger-side :ledger-side/debit})) (defn- get-tax [c date] {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category "Tax" + :sales-summary-item/sort-order 1 :ledger-mapped/ledger-side :ledger-side/credit :ledger-mapped/amount (or (ffirst (dc/q '[:find (sum ?tax) @@ -178,16 +217,20 @@ 0.0)}) (defn- get-tip [c date] - {:ledger-mapped/ledger-side :ledger-side/credit - :ledger-mapped/amount (or (ffirst (dc/q '[:find (sum ?tip) - :with ?c - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/tip ?tip]] - (dc/db conn) - [[c] date date])) - 0.0)}) + {:ledger-mapped/ledger-side :ledger-side/credit + :sales-summary-item/sort-order 2 + :db/id (str (java.util.UUID/randomUUID)) + + :sales-summary-item/category "Tip" + :ledger-mapped/amount (or (ffirst (dc/q '[:find (sum ?tip) + :with ?c + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/charges ?c] + [?c :charge/tip ?tip]] + (dc/db conn) + [[c] date date])) + 0.0)}) (defn- get-sales [c date] (let [sales (->> (dc/q '[:find ?category (sum ?total) (sum ?tax) (sum ?discount) @@ -204,6 +247,7 @@ (for [[category total tax discount] sales] {:db/id (str (java.util.UUID/randomUUID)) :sales-summary-item/category category + :sales-summary-item/sort-order 0 :sales-summary-item/total total :sales-summary-item/net (- (+ total discount) tax) :sales-summary-item/tax tax @@ -212,6 +256,23 @@ :ledger-mapped/amount (- (+ total discount) tax) #_#_:ledger-mapped/account nil}))) +(defn- get-returns [c date] + (when-let [amount (ffirst (dc/q '[:find (sum ?r) + :with ?e + :in $ [?clients ?start-date ?end-date] + :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] + [?e :sales-order/returns ?r] + + #_[?e :sales-order/charges ?c] + #_[?c :charge/tax ?tax]] + (dc/db conn) + [[c] date date]))] + {:db/id (str (java.util.UUID/randomUUID)) + :sales-summary-item/category "Returns" + + :ledger-mapped/amount amount + :ledger-mapped/ledger-side :ledger-side/debit})) + (defn sales-summaries-v2 [] (doseq [[c client-code] (dc/q '[:find ?c ?client-code :in $ @@ -227,51 +288,25 @@ :sales-summary/dirty false :sales-summary/client+date [c date] - :sales-summary/sales-items - (conj (get-sales c date) - {:db/id (str (java.util.UUID/randomUUID)) - :sales-summary-item/category "Returns" - - :ledger-mapped/amount (or (ffirst (dc/q '[:find (sum ?r) - :with ?e - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/returns ?r] - - #_[?e :sales-order/charges ?c] - #_[?c :charge/tax ?tax]] - (dc/db conn) - [[c] date date])) - 0.0) - :ledger-mapped/ledger-side :ledger-side/debit}) - :sales-summary/payment-items - (->> (get-payment-items c date) - (concat (get-refund-items c date)) - (cons (get-discounts c date)) - (cons (get-fees c date)) - (filter identity)) - - :sales-summary/total-tax - (get-tax c date) - :sales-summary/total-tip - (get-tip c date) - - #_#_:sales-summary/total-card-payments - (or (ffirst (dc/q '[:find (sum ?total) - :with ?c - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/type-name "CARD"] - [?c :charge/total ?total]] - (dc/db conn) - [[c] date date])) - 0.0) - #_:sales-summary/total-unknown-processor-payments}] - (if (seq (:sales-summary/sales-items result)) + :sales-summary/items + (->> + (get-sales c date) + (concat (get-payment-items c date)) + (concat (get-refund-items c date)) + (cons (get-discounts c date)) + (cons (get-fees c date)) + (cons (get-tax c date)) + (cons (get-tip c date)) + (cons (get-returns c date)) + (filter identity) + (map (fn [z] + (assoc z :ledger-mapped/account (some-> z :sales-summary-item/category str/lower-case name->number lookup-account) + :sales-summary-item/manual? false)) + )) }] + (if (seq (:sales-summary/items result)) (do (alog/info ::upserting-summaries - :category-count (count (:sales-summary/sales-items result))) + :category-count (count (:sales-summary/items result))) @(dc/transact conn [[:upsert-entity result]])) @(dc/transact conn [{:db/id id :sales-summary/dirty false}])))))) @@ -281,199 +316,6 @@ ) -#_(defn sales-summaries-v1 [] - (doseq [[c client-code] (dc/q '[:find ?c ?client-code - :in $ - :where [?c :client/code ?client-code]] - (dc/db conn)) - {:sales-summary/keys [date] :db/keys [id]} (dirty-sales-summaries c)] - (mu/with-context {:client-code client-code - :date date} - (alog/info ::updating) - (let [sales (->> (dc/q '[:find ?item-name ?category (sum ?total) (sum ?tax) (sum ?discount) - :with ?e ?li - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/line-items ?li] - [(get-else $ ?li :order-line-item/item-name "Unknown") ?item-name] - [?li :order-line-item/category ?category] - [?li :order-line-item/total ?total] - [?li :order-line-item/tax ?tax] - [?li :order-line-item/discount ?discount]] - (dc/db conn) - [[c] date date])) - result {:db/id id - :sales-summary/client c - :sales-summary/date date - :sales-summary/dirty false - :sales-summary/client+date [c date] - :sales-summary/discount (or (ffirst (dc/q '[:find (sum ?discount) - :with ?e - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/discount ?discount]] - (dc/db conn) - [[c] date date])) - 0.0) - :sales-summary/total-returns (or (ffirst (dc/q '[:find (sum ?r) - :with ?e - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/returns ?r] - - #_[?e :sales-order/charges ?c] - #_[?c :charge/tax ?tax]] - (dc/db conn) - [[c] date date])) - 0.0) - - :sales-summary/sales-items - (for [[item-name category total tax discount] sales] - {:db/id (str (java.util.UUID/randomUUID)) - :sales-summary-item/item-name item-name - :sales-summary-item/category category - :sales-summary-item/total total - :sales-summary-item/tax tax - :sales-summary-item/discount discount}) - - - :sales-summary/total-tax - (or (ffirst (dc/q '[:find (sum ?tax) - :with ?e - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/tax ?tax] - #_[?e :sales-order/charges ?c] - #_[?c :charge/tax ?tax]] - (dc/db conn) - [[c] date date])) - 0.0) - :sales-summary/total-tip - (or (ffirst (dc/q '[:find (sum ?tip) - :with ?c - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/tip ?tip]] - (dc/db conn) - [[c] date date])) - 0.0) - - :sales-summary/total-card-payments - (or (ffirst (dc/q '[:find (sum ?total) - :with ?c - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/type-name "CARD"] - [?c :charge/total ?total]] - (dc/db conn) - [[c] date date])) - 0.0) - :sales-summary/total-unknown-processor-payments - (or (ffirst (dc/q '[:find (sum ?total) - :with ?c - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/type-name "OTHER"] - [?c :charge/processor :ccp-processor/na] - [?c :charge/total ?total]] - (dc/db conn) - [[c] date date])) - 0.0) - :sales-summary/total-card-fees - (or (ffirst (dc/q '[:find ?f - :in $ ?client ?d - :where - [?e :expected-deposit/client ?client] - [?e :expected-deposit/sales-date ?d] - [?e :expected-deposit/fee ?f]] - (dc/db conn) - c - date)) - 0.0) - :sales-summary/total-card-refunds - (or (ffirst (dc/q '[:find (sum ?t) - :in $ [?clients ?start-date ?end-date] - :where - :where [(iol-ion.query/scan-sales-refunds $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-refund/type "CARD"] - [?e :sales-refund/total ?t]] - (dc/db conn) - [[c] date date])) - 0.0) - - :sales-summary/total-cash-payments - (or (ffirst (dc/q '[:find (sum ?total) - :with ?c - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/total ?total] - [?c :charge/type-name "CASH"]] - (dc/db conn) - [[c] date date])) - 0.0) - - :sales-summary/total-gift-card-payments - (or (ffirst (dc/q '[:find (sum ?total) - :with ?c - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/total ?total] - (or [?c :charge/type-name "SQUARE_GIFT_CARD"] - [?c :charge/type-name "WALLET"] - [?c :charge/type-name "GIFT_CARD"])] - (dc/db conn) - [[c] date date])) - 0.0) - - :sales-summary/total-cash-refunds - (or (ffirst (dc/q '[:find (sum ?t) - :in $ [?clients ?start-date ?end-date] - :where - :where [(iol-ion.query/scan-sales-refunds $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-refund/type "CASH"] - [?e :sales-refund/total ?t]] - (dc/db conn) - [[c] date date])) - 0.0) - - :sales-summary/total-food-app-payments - - (or (ffirst (dc/q '[:find (sum ?total) - :with ?c - :in $ [?clients ?start-date ?end-date] [?processor ...] - :where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-order/charges ?c] - [?c :charge/processor ?processor] - [?c :charge/total ?total]] - (dc/db conn) - [[c] date date] - #{:ccp-processor/toast - #_:ccp-processor/ezcater - #_:ccp-processor/koala - :ccp-processor/doordash - :ccp-processor/grubhub - :ccp-processor/uber-eats})) - 0.0) - :sales-summary/total-food-app-refunds - (or (ffirst (dc/q '[:find (sum ?t) - :in $ [?clients ?start-date ?end-date] - :where [(iol-ion.query/scan-sales-refunds $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]] - [?e :sales-refund/type "EXTERNAL"] - [?e :sales-refund/total ?t]] - (dc/db conn) - [[c] date date])) - 0.0)}] - (if (seq (:sales-summary/sales-items result)) - (do - (alog/info ::upserting-summaries - :category-count (count (:sales-summary/sales-items result))) - @(dc/transact conn [[:upsert-entity result]])) - @(dc/transact conn [{:db/id id :sales-summary/dirty false}])))))) (defn reset-summaries [] @(dc/transact conn (->> (dc/q '[:find ?sos diff --git a/src/clj/auto_ap/ssr/admin/sales_summaries.clj b/src/clj/auto_ap/ssr/admin/sales_summaries.clj index a326efca..df258763 100644 --- a/src/clj/auto_ap/ssr/admin/sales_summaries.clj +++ b/src/clj/auto_ap/ssr/admin/sales_summaries.clj @@ -2,23 +2,28 @@ (:require [auto-ap.datomic :refer [apply-pagination apply-sort-3 conn merge-query pull-many query2]] + [auto-ap.datomic.accounts :as d-accounts] [auto-ap.graphql.utils :refer [extract-client-ids]] [auto-ap.routes.admin.sales-summaries :as route] [auto-ap.routes.utils :refer [wrap-admin wrap-client-redirect-unauthenticated]] [auto-ap.ssr-routes :as ssr-routes] + [auto-ap.ssr.common-handlers :refer [add-new-entity-handler]] [auto-ap.ssr.components :as com] [auto-ap.ssr.components.multi-modal :as mm] [auto-ap.ssr.form-cursor :as fc] [auto-ap.ssr.grid-page-helper :as helper] + [auto-ap.ssr.hx :as hx] [auto-ap.ssr.svg :as svg] [auto-ap.ssr.utils - :refer [apply-middleware-to-all-handlers entity-id - wrap-schema-enforce]] + :refer [apply-middleware-to-all-handlers entity-id html-response + money strip temp-id wrap-schema-enforce]] [auto-ap.time :as atime] [bidi.bidi :as bidi] [clj-time.coerce :as c] + [clojure.string :as str] [datomic.api :as dc] + [hiccup.util :as hu] [iol-ion.query :refer [dollars=]] [malli.core :as mc] [malli.util :as mut])) @@ -50,20 +55,18 @@ :size :small}))]]) (def default-read '[:db/id - * [:sales-summary/date :xform clj-time.coerce/from-date] - {:sales-summary/client [:client/code :client/name]} - {:sales-summary/total-tax [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} - :ledger-mapped/amount]} - {:sales-summary/total-tip [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} - :ledger-mapped/amount]} - {:sales-summary/sales-items [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} + {:sales-summary/client [:client/code :client/name :db/id]} + {:sales-summary/items [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident] + } ;; TODO clientize + :ledger-mapped/account :ledger-mapped/amount - :sales-summary-item/category]} - {:sales-summary/payment-items [{[:ledger-mapped/ledger-side :xform iol-ion.query/ident] [:db/ident]} - :ledger-mapped/amount - :sales-summary-item/category]}]) ;; TODO + :sales-summary-item/category + :sales-summary-item/sort-order + :db/id + :sales-summary-item/manual?] + } ]) ;; TODO (defn fetch-ids [db request] (let [query-params (:parsed-query-params request) @@ -133,11 +136,22 @@ :total-unknown-processor-payments (:sales-summary/total-unknown-processor-payments ss 0.0) :discounts (+ (:sales-summary/discount ss 0.0)) :returns (+ (:sales-summary/total-returns ss 0.0))}) +(defn sort-items [ss] + (sort-by (juxt :ledger-mapped/ledger-side :sales-summary-item/sort-order :sales-summary-item/category) ss)) -(defn all-items [ss] - (->> [(:sales-summary/total-tax ss) (:sales-summary/total-tip ss)] - (into (:sales-summary/payment-items ss)) - (into (:sales-summary/sales-items ss)))) + + +(defn total-debits [items] + (->> items + (filter #(= :ledger-side/debit (:ledger-mapped/ledger-side %))) + (map #(:ledger-mapped/amount % 0.0)) + (reduce + 0.0))) + +(defn total-credits [items] + (->> items + (filter #(= :ledger-side/credit (:ledger-mapped/ledger-side %))) + (map #(:ledger-mapped/amount % 0.0)) + (reduce + 0.0))) (def grid-page (helper/build {:id "entity-table" @@ -146,7 +160,7 @@ :fetch-page fetch-page :page-specific-nav filters :row-buttons (fn [_ entity] - [(com/icon-button {:hx-put (bidi/path-for ssr-routes/only-routes + [(com/icon-button {:hx-get (bidi/path-for ssr-routes/only-routes ::route/edit-wizard :db/id (:db/id entity))} svg/pencil)]) @@ -180,56 +194,40 @@ :sort-key "date" :render #(some-> % :sales-summary/date (atime/unparse-local atime/normal-date))} - {:key "credits" - :name "credits" - :sort-key "credits" - :render (fn [ss] - (let [total-debits (->> (all-items ss) - (filter #(= :ledger-side/debit (:ledger-mapped/ledger-side %))) - (map #(:ledger-mapped/amount % 0.0)) - (reduce + 0.0)) - total-credits (->> (all-items ss) - (filter #(= :ledger-side/credit (:ledger-mapped/ledger-side %))) - (map #(:ledger-mapped/amount % 0.0)) - (reduce + 0.0))] - [:ul - (for [si (:sales-summary/sales-items ss) - :when (= :ledger-side/credit (:ledger-mapped/ledger-side si))] - [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si))]) - [:li "Sales subtotal: " (format "$%,.2f" (reduce + 0.0 (map :ledger-mapped/amount (:sales-summary/sales-items ss))))] - (for [si (:sales-summary/payment-items ss) - :when (= :ledger-side/credit (:ledger-mapped/ledger-side si))] - [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si))]) - - [:li "Tax: " (format "$%,.2f" (:ledger-mapped/amount (:sales-summary/total-tax ss)))] - [:li "Tips: " (format "$%,.2f" (:ledger-mapped/amount (:sales-summary/total-tip ss)))] - [:li (com/pill {:color (if (dollars= total-debits total-credits) - :primary - :red)} "Total: " (format "$%,.2f" total-credits))]]) - - #_(count))} {:key "debits" :name "debits" :sort-key "debits" :render (fn [ss] - (let [ total-debits (->> (all-items ss) - (filter #(= :ledger-side/debit (:ledger-mapped/ledger-side %))) - (map #(:ledger-mapped/amount % 0.0)) - (reduce + 0.0)) - total-credits (->> (all-items ss) - (filter #(= :ledger-side/credit (:ledger-mapped/ledger-side %))) - (map #(:ledger-mapped/amount % 0.0)) - (reduce + 0.0))] + (let [total-debits (total-debits (:sales-summary/items ss)) + total-credits (total-credits (:sales-summary/items ss))] [:ul - (for [si (:sales-summary/payment-items ss) + (for [si (sort-items (:sales-summary/items ss)) :when (= :ledger-side/debit (:ledger-mapped/ledger-side si))] - [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si))]) + [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si)) + (when-not (:ledger-mapped/account si) + [:span.pl-4 (com/pill {:color :red} + "missing account")])] + ) [:li (com/pill {:color (if (dollars= total-debits total-credits) :primary - :red)} "Total: " (format "$%,.2f" total-debits))]]) - - #_(count))}]})) + :red)} "Total: " (format "$%,.2f" total-debits))]]))} + {:key "credits" + :name "credits" + :sort-key "credits" + :render (fn [ss] + (let [total-debits (total-debits (:sales-summary/items ss)) + total-credits (total-credits (:sales-summary/items ss))] + [:ul + (for [si (sort-items (:sales-summary/items ss)) + :when (= :ledger-side/credit (:ledger-mapped/ledger-side si))] + [:li (:sales-summary-item/category si) ": " (format "$%,.2f" (:ledger-mapped/amount si)) + (when-not (:ledger-mapped/account si) + [:span.pl-4 (com/pill {:color :red} + "missing account")])]) + [:li (com/pill {:color (if (dollars= total-debits total-credits) + :primary + :red)} "Total: " (format "$%,.2f" total-credits))]]))}]})) ;; TODO schema cleanup ;; Decide on what should be calculated as generating ledger entries, and what should be calculated @@ -245,9 +243,154 @@ (def edit-schema [:map [:db/id entity-id] - [:sales-summary/sales-items + [:sales-summary/client [:map [:db/id entity-id]]] + [:sales-summary/items [:vector {:coerce? true} - [:map [:db/id entity-id]]]] ]) + [:and + [:map + [:db/id [:or entity-id temp-id]] + [:sales-summary-item/category [:string {:decode/string strip}]] + [:sales-summary-item/manual? {:default false :decode/arbitrary (fn [x] (cond + (boolean? x) + x + (nil? x) + false + (str/blank? x) + false + :else + true))} :boolean] + [:ledger-mapped/account entity-id] + [:credit {:optional true} [:maybe money]] + [:debit {:optional true} [:maybe money]]] + [:fn {:error/message "Must choose one of credit/debit" + :error/path [:credit]} + (fn [x] + (not (and (:credit x) + (:debit x))))]]]] ]) + + +(defn summary-total-row* [request] + (let [total-credits (-> request + :multi-form-state + :step-params + :sales-summary/items + (total-credits)) + total-debits (-> request + :multi-form-state + :step-params + :sales-summary/items + (total-debits))] + + (com/data-grid-row {:id "total-row" + :hx-trigger "change from:closest form target:.amount-field" + :hx-put (bidi.bidi/path-for ssr-routes/only-routes ::route/expense-account-total) + :hx-target "this" + :hx-swap "innerHTML"} + (com/data-grid-cell {}) + (com/data-grid-cell {:class "text-right"} [:span.font-bold.text-right "TOTAL"]) + (com/data-grid-cell {:class "text-right"} + (format "$%,.2f" total-debits)) + (com/data-grid-cell {:class "text-right"} + (format "$%,.2f" total-credits))))) + +(defn unbalanced-row* [request] + (let [total-credits (-> request + :multi-form-state + :step-params + :sales-summary/items + (total-credits)) + total-debits (-> request + :multi-form-state + :step-params + :sales-summary/items + (total-debits))] + + (com/data-grid-row {:id "total-row" + :hx-trigger "change from:closest form target:.amount-field" + :hx-put (bidi.bidi/path-for ssr-routes/only-routes ::route/expense-account-total) + :hx-target "this" + :hx-swap "innerHTML"} + (com/data-grid-cell {}) + (com/data-grid-cell {:class "text-right"} [:span.font-bold.text-right "UNBALANCED"]) + (com/data-grid-cell {:class "text-right"} + (when (and + (not (dollars= total-credits total-debits)) + (> total-debits total-credits)) + (format "$%,.2f" (- total-debits total-credits)))) + (com/data-grid-cell {:class "text-right"} + (when + (and (not (dollars= total-credits total-debits)) + (> total-credits total-debits)) + (format "$%,.2f" (- total-credits total-debits))))))) + +(defn- account-typeahead* + [{:keys [name value client-id]}] + [:div.flex.flex-col + (com/typeahead {:name name + :placeholder "Search..." + :url (hu/url (bidi/path-for ssr-routes/only-routes :account-search) + {:client-id client-id + :purpose "invoice"}) + :value value + :content-fn (fn [value] + (:account/name (d-accounts/clientize (dc/pull (dc/db conn) d-accounts/default-read value) + client-id)))})]) + +(defn sales-summary-item-row* [{:keys [value client-id]}] + (let [manual? (fc/field-value (:sales-summary-item/manual? value))] + (com/data-grid-row (cond-> {:x-ref "p" + :x-data (hx/json {})} + (fc/field-value (:new? value)) (hx/htmx-transition-appear )) + (fc/with-field :db/id + (com/hidden {:name (fc/field-name) + :value (fc/field-value)})) + (when manual? + (fc/with-field :sales-summary-item/manual? + (com/hidden {:name (fc/field-name) + :value true}))) + (com/data-grid-cell {} + (fc/with-field :sales-summary-item/category + (if manual? + (com/validated-field {:errors (fc/field-errors)} + (com/text-input {:placeholder "Category/Explanation" + :name (fc/field-name) + :value (fc/field-value)})) + + (list + (com/hidden {:name (fc/field-name) + :value (fc/field-value)}) + (fc/field-value (:sales-summary-item/category value)))))) + (com/data-grid-cell {} + (fc/with-field :ledger-mapped/account + (com/validated-field {:errors (fc/field-errors)} + (account-typeahead* {:value (fc/field-value) + :client-id client-id + :name (fc/field-name)})))) + (com/data-grid-cell {:class "text-right"} + + (if manual? + (fc/with-field :debit + (com/validated-field {:errors (fc/field-errors)} + (com/money-input {:class "w-24" + :name (fc/field-name) + :value (fc/field-value)}))) + (when (= (fc/field-value (:ledger-mapped/ledger-side value)) + :ledger-side/debit) + (format "$%,.2f" (fc/field-value (:ledger-mapped/amount value)))))) + (com/data-grid-cell {:class "text-right"} + + (if manual? + (fc/with-field :credit + (com/validated-field {:errors (fc/field-errors)} + (com/money-input {:class "w-24" + :name (fc/field-name) + :value (fc/field-value)}))) + (when (= (fc/field-value (:ledger-mapped/ledger-side value)) + :ledger-side/credit) + (format "$%,.2f" (fc/field-value (:ledger-mapped/amount value)))))) + (com/data-grid-cell {:class "align-top"} + (when manual? + (com/a-icon-button {"@click.prevent.stop" "$refs.p.remove()"} svg/x)))))) (defrecord MainStep [linear-wizard] mm/ModalWizardStep @@ -260,7 +403,7 @@ []) (step-schema [_] - (mut/select-keys (mm/form-schema linear-wizard) #{:db/id})) + (mut/select-keys (mm/form-schema linear-wizard) #{:db/id :sales-summary/items})) (render-step [this {:keys [multi-form-state] :as request}] @@ -273,16 +416,39 @@ (fc/with-field :db/id (com/hidden {:name (fc/field-name) :value (fc/field-value)})) - - - (pr-str multi-form-state) ]) + (com/data-grid {:headers + [(com/data-grid-header {} "Category") + (com/data-grid-header {} "Account") + (com/data-grid-header {} "Debits") + (com/data-grid-header {} "Credits") + (com/data-grid-header {} "")]} + (fc/with-field :sales-summary/items + (list + (fc/cursor-map #(sales-summary-item-row* {:value % + :client-id (:db/id (:sales-summary/client (:snapshot multi-form-state))) })) + ;; TODO + (com/data-grid-new-row {:colspan 5 + :hx-get (bidi/path-for ssr-routes/only-routes ::route/new-summary-item) + :row-offset 0 + :index (count (fc/field-value)) + :tr-params {:hx-vals (hx/json {:client-id (:db/id (:sales-summary/client (:snapshot multi-form-state)))})}} ;; TODO + "New Summary Item"))) + (summary-total-row* request) + (unbalanced-row* request)) ]) :footer - (mm/default-step-footer linear-wizard this :validation-route ::route/edit-wizard-navigate - :next-button (com/button {:color :primary :x-ref "next" :class "w-32" - :hx-put (bidi.bidi/path-for ssr-routes/only-routes - ::route/edit-wizard-navigate)} "Save")) - :validation-route ::route/edit-wizard-navigate))) + (mm/default-step-footer linear-wizard this :validation-route ::route/edit-wizard-navigate) + :validation-route ::route/edit-wizard-navigate + :width-height-class "lg:w-[850px] lg:h-[900px]"))) + +(defn attach-ledger [i] + (cond-> i + (:credit i) (assoc :ledger-mapped/ledger-side :ledger-side/credit + :ledger-mapped/amount (:credit i)) + (:debit i) (assoc :ledger-mapped/ledger-side :ledger-side/debit + :ledger-mapped/amount (:debit i)) + true (dissoc :credit :debit) + true (assoc :sales-summary-item/manual? true))) (defrecord EditWizard [_ current-step] mm/LinearModalWizard @@ -299,8 +465,8 @@ this request :form-params (-> mm/default-form-props - (assoc :hx-post - (str (bidi/path-for ssr-routes/only-routes ::route/edit-submit)))) + (assoc :hx-put + (str (bidi/path-for ssr-routes/only-routes ::route/edit-wizard-submit)))) :render-timeline? false)) (steps [_] [:main]) @@ -311,76 +477,36 @@ (form-schema [_] edit-schema) (submit [this {:keys [multi-form-state request-method identity] :as request}] - #_(let [invoice (:snapshot multi-form-state) - - _ (alog/peek invoice) - extant? (:db/id invoice) - client-id (->db-id (:invoice/client invoice)) - vendor-id (->db-id (:invoice/vendor invoice)) - paid-amount (if-let [outstanding-balance - (and extant? - (- - (pull-attr (dc/db conn) - :invoice/total - (:db/id invoice)) - (pull-attr (dc/db conn) - :invoice/outstanding-balance - (:db/id invoice))))] - outstanding-balance - 0.0) - outstanding-balance (- (or - (:invoice/total (:step-params multi-form-state)) - (:invoice/total (:snapshot multi-form-state))) - paid-amount) - - transaction [:upsert-invoice (-> multi-form-state - :snapshot - (assoc :db/id (or (:db/id invoice) "invoice")) - (dissoc :customize-due-and-scheduled? :invoice/journal-entry :invoice/payments :customize-accounts) - (assoc :invoice/expense-accounts (if (= :customize (:customize-accounts invoice)) - (-> multi-form-state :step-params :invoice/expense-accounts) - [{:db/id "123" - :invoice-expense-account/location "Shared" - :invoice-expense-account/account (:db/id (:vendor/default-account (clientize-vendor (get-vendor vendor-id) - client-id))) - :invoice-expense-account/amount (or (:invoice/total (:step-params multi-form-state)) - (:invoice/total (:snapshot multi-form-state)))}])) - (assoc - :invoice/outstanding-balance outstanding-balance - :invoice/import-status :import-status/imported - :invoice/status (if (dollars= 0.0 outstanding-balance) - :invoice-status/paid - :invoice-status/unpaid)) - (maybe-spread-locations) - (update :invoice/date coerce/to-date) - (update :invoice/due coerce/to-date) - (update :invoice/scheduled-payment coerce/to-date))]] - (assert-invoice-amounts-add-up (second transaction)) - (when-not extant? - (assert-no-conflicting invoice)) - (exception->4xx #(assert-can-see-client (:identity request) client-id)) - - (exception->4xx #(assert-not-locked client-id (:invoice/date invoice))) - (let [transaction-result (audit-transact [transaction] (:identity request))] - (solr/touch-with-ledger (get-in transaction-result [:tempids "invoice"])) - (if extant? - - (html-response - (@(resolve 'auto-ap.ssr.invoices/row*) identity (dc/pull (dc/db conn) default-read (:db/id invoice)) {:flash? true - :request request}) - :headers (cond-> {"hx-trigger" "modalclose" - "hx-retarget" (format "#entity-table tr[data-id=\"%d\"]" (:db/id invoice)) - "hx-reswap" "outerHTML"})) - - (assoc-in (mm/navigate-handler {:request (assoc-in request [:multi-form-state :snapshot :db/id] (get-in transaction-result [:tempids "invoice"])) - :to-step :next-steps}) - [:headers "hx-trigger"] "invalidated")))))) + (let [result (:snapshot multi-form-state ) + transaction [:upsert-entity {:db/id (:db/id result) + :sales-summary/items (map + (fn [i] + (if (:sales-summary-item/manual? i) + (attach-ledger i) + {:db/id (:db/id i) + :ledger-mapped/account (:ledger-mapped/account i) + })) + (:sales-summary/items result))}]] + (clojure.pprint/pprint (:sales-summary/items result)) + @(dc/transact conn [ transaction]) + (html-response + (row* identity (dc/pull (dc/db conn) default-read (:db/id result)) + {:flash? true + :request request}) + :headers (cond-> {"hx-trigger" "modalclose" + "hx-retarget" (format "#entity-table tr[data-id=\"%d\"]" (:db/id result)) + "hx-reswap" "outerHTML"}))))) (def edit-wizard (->EditWizard nil nil)) (defn initial-edit-wizard-state [request] (let [entity (dc/pull (dc/db conn) default-read (:db/id (:route-params request))) - entity (select-keys entity (mut/keys edit-schema))] + entity (select-keys entity (mut/keys edit-schema)) + entity (update entity :sales-summary/items (comp #(map (fn [x] + (if (= :ledger-side/debit (:ledger-mapped/ledger-side x)) + (assoc x :debit (:ledger-mapped/amount x)) + (assoc x :credit (:ledger-mapped/amount x)))) + %) sort-items))] (mm/->MultiStepFormState entity [] entity))) @@ -395,7 +521,20 @@ (wrap-schema-enforce :route-schema [:map [:db/id entity-id]])) ::route/edit-wizard-navigate (-> mm/next-handler (mm/wrap-wizard edit-wizard) - (mm/wrap-decode-multi-form-state))}) + (mm/wrap-decode-multi-form-state)) + ::route/new-summary-item (-> (add-new-entity-handler [:step-params :sales-summary/items] + (fn render [cursor request] + (sales-summary-item-row* + {:value cursor + :client-id (:client-id (:query-params request)) })) + (fn build-new-row [base _] + (assoc base :sales-summary-item/manual? true))) + (wrap-schema-enforce :query-schema [:map + [:client-id {:optional true} + [:maybe entity-id]]])) + ::route/edit-wizard-submit (-> mm/submit-handler + (mm/wrap-wizard edit-wizard) + (mm/wrap-decode-multi-form-state))}) (fn [h] (-> h (wrap-admin) diff --git a/src/clj/auto_ap/ssr/components/data_grid.clj b/src/clj/auto_ap/ssr/components/data_grid.clj index 0666f942..92120e8e 100644 --- a/src/clj/auto_ap/ssr/components/data_grid.clj +++ b/src/clj/auto_ap/ssr/components/data_grid.clj @@ -138,7 +138,7 @@ (a-button- (merge (dissoc params :index :colspan) { - "@click" "$dispatch('newRow', {index: (newRowIndex++)})" + "@click.prevent" "$dispatch('newRow', {index: (newRowIndex++)})" :color :secondary :hx-trigger "newRow" :hx-vals (hiccup/raw "js:{index: event.detail.index }") diff --git a/src/clj/auto_ap/ssr/components/multi_modal.clj b/src/clj/auto_ap/ssr/components/multi_modal.clj index 86a6fb49..421b798f 100644 --- a/src/clj/auto_ap/ssr/components/multi_modal.clj +++ b/src/clj/auto_ap/ssr/components/multi_modal.clj @@ -165,12 +165,13 @@ :else [:div "No action possible."])]]) -(defn default-render-step [linear-wizard step & {:keys [head body footer validation-route discard-route]}] +(defn default-render-step [linear-wizard step & {:keys [head body footer validation-route discard-route width-height-class]}] (let [is-last? (= (step-key step) (last (steps linear-wizard)))] (com/modal-card-advanced {"@keydown.enter.prevent.stop" "if ($refs.next ) {$refs.next.click()}" :class (str - "w-full h-full md:w-[750px] md:h-[600px] + (or width-height-class " md:w-[750px] md:h-[600px] ") + " w-full h-full group-[.forward]/transition:htmx-swapping:opacity-0 group-[.forward]/transition:htmx-swapping:-translate-x-1/4 group-[.forward]/transition:htmx-swapping:scale-75 diff --git a/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj b/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj index e07a4994..065baf24 100644 --- a/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj +++ b/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj @@ -379,8 +379,7 @@ (:account/name (d-accounts/clientize (dc/pull (dc/db conn) d-accounts/default-read value) client-id)))})]) -(defn- invoice-expense-account-row* - [{:keys [value client-id]}] +(defn- invoice-expense-account-row* [{:keys [value client-id]}] (com/data-grid-row (-> {:x-data (hx/json {:show (boolean (not (fc/field-value (:new? value)))) :accountId (fc/field-value (:invoice-expense-account/account value))}) diff --git a/src/clj/auto_ap/ssr/utils.clj b/src/clj/auto_ap/ssr/utils.clj index b6123de3..3ee03008 100644 --- a/src/clj/auto_ap/ssr/utils.clj +++ b/src/clj/auto_ap/ssr/utils.clj @@ -439,10 +439,14 @@ :explain (me/humanize {:errors (assoc me/default-errors ::mc/missing-key {:error/message {:en "required"}})})) - (map (fn [[k v]] - (str (if (keyword? k) - (name k) - k) ": " (str/join ", " v)))) + (map (fn [x] + (if (and (sequential? x) + (= (count x) 2)) + (let [[k v] x] + (str (if (keyword? k) + (name k) + k) ": " (str/join ", " v)) + (str x))))) (str/join ", ")) {:type :schema-validation :decoded (:value (:data (ex-data e))) @@ -539,7 +543,8 @@ {:path (:in e) :message (get-in humanized (:in e))}) (:errors (:explain (:error e))))] - (alog/warn ::form-4xx :errors errors) + (alog/warn ::form-4xx :errors errors + :data e) (form-handler (assoc request :form-params (:decoded e) :field-validation-errors errors diff --git a/src/cljc/auto_ap/routes/admin/sales_summaries.cljc b/src/cljc/auto_ap/routes/admin/sales_summaries.cljc index a2fd9b6d..9e1e8889 100644 --- a/src/cljc/auto_ap/routes/admin/sales_summaries.cljc +++ b/src/cljc/auto_ap/routes/admin/sales_summaries.cljc @@ -1,6 +1,9 @@ (ns auto-ap.routes.admin.sales-summaries) -(def routes {"" {:get ::page} +(def routes {"" {:get ::page + :put ::edit-wizard-submit} "/table" ::table - ["/" [#"\d+" :db/id]] {:put ::edit-wizard} - "/edit/navigate" ::edit-wizard-navigate }) \ No newline at end of file + ["/" [#"\d+" :db/id]] {:get ::edit-wizard } + + "/edit/navigate" ::edit-wizard-navigate + "/edit/sales-summary-item" ::new-summary-item}) \ No newline at end of file From f9900f5f7169974b6674037cb7f5055b4309e020 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 1 May 2024 08:29:05 -0700 Subject: [PATCH 39/59] changes --- src/clj/auto_ap/jobs/sales_summaries.clj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 73a612d2..3fd975f0 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -74,7 +74,7 @@ (def name->number {"gyros and pitas" 40111 - "returns" 41000 + "returns" 41100 "card payments" 75460 "cash payments" 75452 "food app payments" 72350 @@ -84,7 +84,7 @@ "alcohol" 46900 "beverages" 42000 "bowls" 40118 - "catering" 43010 + "catering" 43000 "desserts" 40116 "fries" 40117 "plates" 40113 @@ -93,7 +93,7 @@ "uncategorized" 40000 "tax" 25700 "tip" 25500 - "card refunds" 41000}) + "card refunds" 75460}) (defn get-payment-items [c date] (->> From e6a8f7dc78b9ea2a3123a748724f6d001a2b6699 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 1 May 2024 12:39:48 -0700 Subject: [PATCH 40/59] other tweaks --- src/clj/auto_ap/jobs/sales_summaries.clj | 5 ++++- src/clj/auto_ap/ssr/admin/clients.clj | 5 ++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index 3fd975f0..ceb88368 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -77,6 +77,7 @@ "returns" 41100 "card payments" 75460 "cash payments" 75452 + "cash refunds" 75452 "food app payments" 72350 "unknown" 40000 "discounts" 41000 @@ -85,6 +86,7 @@ "beverages" 42000 "bowls" 40118 "catering" 43000 + "ezcater catering" 43010 "desserts" 40116 "fries" 40117 "plates" 40113 @@ -93,7 +95,8 @@ "uncategorized" 40000 "tax" 25700 "tip" 25500 - "card refunds" 75460}) + "card refunds" 75460 + "food app refunds" 72350}) (defn get-payment-items [c date] (->> diff --git a/src/clj/auto_ap/ssr/admin/clients.clj b/src/clj/auto_ap/ssr/admin/clients.clj index 244ad184..eea5db8f 100644 --- a/src/clj/auto_ap/ssr/admin/clients.clj +++ b/src/clj/auto_ap/ssr/admin/clients.clj @@ -1283,11 +1283,10 @@ [:td (fc/with-field :square-location/client-location (com/text-input {:name (fc/field-name) :value (fc/field-value)}))]]))]]]]) -(defn refresh-square-locations [request] - #_(alog/peek (keys (:query-params request))) +(defn refresh-square-locations [request] (let [locations @(de/timeout! - (de/chain (square/client-locations {:client/square-auth-token (get-in request [:query-params "step-params[client/square-auth-token]"])}) + (de/chain (square/client-locations {:client/square-auth-token (get-in request [:query-params (keyword "step-params[client/square-auth-token]")])}) (fn [client-locations] (into [] (for [square-location client-locations] From f79872a9245098b43f7d5e56372425bd499a030c Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 1 May 2024 12:49:26 -0700 Subject: [PATCH 41/59] adds template formats --- src/clj/auto_ap/parse/templates.clj | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/clj/auto_ap/parse/templates.clj b/src/clj/auto_ap/parse/templates.clj index 5b42634f..2d804632 100644 --- a/src/clj/auto_ap/parse/templates.clj +++ b/src/clj/auto_ap/parse/templates.clj @@ -650,7 +650,27 @@ :parser {:date [:clj-time "MM/dd/yyyy"] :total [:trim-commas-and-negate nil]} :multi #"\n" - :multi-match? #"^\s*Invoice\s{2,}"}]) + :multi-match? #"^\s*Invoice\s{2,}"} + {:vendor "Reel Produce" + :keywords [#"REEL Produce, Inc" #"Statement"] + :extract {:date #"\s*([0-9]+/[0-9]+/[0-9]+)" + :customer-identifier #"To:\s*\n\s+(.*?)\s{2,}" + :invoice-number #"INV #(\d+)" + :total #"INV #(?:.*?)\s{2,}([\d\-,]+\.\d{2,2}+)"} + :parser {:date [:clj-time "MM/dd/yyyy"] + :total [:trim-commas-and-negate nil]} + :multi #"\n" + :multi-match? #"INV #"} + {:vendor "Paulino's Bakery" + :keywords [#"Paulino's Bakery" #"Statement"] + :extract {:date #"\s*([0-9]+/[0-9]+/[0-9]+)" + :customer-identifier #"To:\s*\n\s+(.*?)\s{2,}" + :invoice-number #"INV #(\d+)" + :total #"INV #(?:.*?)\s{2,}([\d\-,]+\.\d{2,2}+)"} + :parser {:date [:clj-time "MM/dd/yyyy"] + :total [:trim-commas-and-negate nil]} + :multi #"\n" + :multi-match? #"INV #"}]) (def excel-templates [{:vendor "Mama Lu's Foods" From 4f1b1bcca2874eaec3b83eb4f61a5fe02d0c5b92 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 1 May 2024 12:54:26 -0700 Subject: [PATCH 42/59] Accounts can filter by type --- src/clj/auto_ap/ssr/admin/accounts.clj | 44 ++++++++++++++++++++------ 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/src/clj/auto_ap/ssr/admin/accounts.clj b/src/clj/auto_ap/ssr/admin/accounts.clj index c903e60a..4bf448f5 100644 --- a/src/clj/auto_ap/ssr/admin/accounts.clj +++ b/src/clj/auto_ap/ssr/admin/accounts.clj @@ -64,7 +64,26 @@ :class "hot-filter" :value (:code (:parsed-query-params request)) :placeholder "11101" - :size :small}))]]) + :size :small})) + (com/field {:label "Type"} + (com/radio-card {:size :small + :name "type" + :options [{:value "" + :content "All"} + {:value "dividend" + :content "Dividend"} + {:value "asset" + :content "Asset"} + {:value "equity" + :content "Equity"} + {:value "liability" + :content "Liability"} + {:value "expense" + :content "Expense"} + {:value "revenue" + :content "Revenue"} + {:value "none" + :content "None"}]}))]]) (def default-read '[:db/id :account/code @@ -82,9 +101,9 @@ (defn fetch-ids [db request] (let [query-params (:parsed-query-params request) query (cond-> {:query {:find [] - :in '[$ ] + :in '[$] :where '[]} - :args [db ]} + :args [db]} (:sort query-params) (add-sorter-fields {"name" ['[?e :account/name ?n] '[(clojure.string/upper-case ?n) ?sort-name]] "code" ['[(get-else $ ?e :account/numeric-code 0) ?sort-code]] @@ -96,17 +115,24 @@ (merge-query {:query {:find [] :in ['?ns] :where ['[?e :account/name ?an] - '[(clojure.string/upper-case ?an) ?upper-an] - '[(clojure.string/includes? ?upper-an ?ns)]]} + '[(clojure.string/upper-case ?an) ?upper-an] + '[(clojure.string/includes? ?upper-an ?ns)]]} :args [(str/upper-case (:name query-params))]}) - + (some->> query-params :code) (merge-query {:query {:find [] :in ['?nc] - :where ['[?e :account/numeric-code ?nc] - ]} + :where ['[?e :account/numeric-code ?nc]]} :args [(:code query-params)]}) - + + (some->> query-params :type) + (merge-query {:query {:find [] + :in ['?rir] + :where ['[?e :account/type ?r] + '[?r :db/ident ?ri] + '[(name ?ri) ?rir] ]} + :args [(some->> query-params :type)]}) + true (merge-query {:query {:find ['?sort-default '?e] :where ['[?e :account/numeric-code ?un] From 002c3d868845eeb72c538aa222bee06bfc21284d Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 1 May 2024 16:02:15 -0700 Subject: [PATCH 43/59] Adds refresh button --- .../auto_ap/jobs/load_historical_sales.clj | 2 +- src/clj/auto_ap/square/core3.clj | 24 ++++++++++----- src/clj/auto_ap/ssr/admin/clients.clj | 30 +++++++++++-------- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/src/clj/auto_ap/jobs/load_historical_sales.clj b/src/clj/auto_ap/jobs/load_historical_sales.clj index f7b7286b..ab5f9fb0 100644 --- a/src/clj/auto_ap/jobs/load_historical_sales.clj +++ b/src/clj/auto_ap/jobs/load_historical_sales.clj @@ -22,7 +22,7 @@ (println "orders") (doseq [d (per/periodic-seq (time/plus (time/today) (time/days (- days))) - (time/today) + (time/plus (time/today) (time/days 2)) (time/days 1))] (println d) @(square3/upsert client square-location (coerce/to-date-time d) (coerce/to-date-time (time/plus d (time/days 1))))) diff --git a/src/clj/auto_ap/square/core3.clj b/src/clj/auto_ap/square/core3.clj index 2392ff0e..9aa8278e 100644 --- a/src/clj/auto_ap/square/core3.clj +++ b/src/clj/auto_ap/square/core3.clj @@ -53,6 +53,7 @@ #_#_:connection-request-timeout 5000 :as :json)) (catch Throwable e + (println e) (log/warn ::raw-request-failed :exception e) (throw e))))) @@ -789,13 +790,17 @@ :square-location/square-id (:id square-location)}))))))) #_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]} -(defn reset [] +(defn reset [client] (->> (dc/q {:find ['?e] - :in ['$] - :where ['(or [?e :sales-order/date] - [?e :expected-deposit/date])]} - (dc/db conn)) + :in ['$ '?c] + :where ['(or [?e :sales-order/client ?c] + [?e :expected-deposit/client ?c] + [?e :sales-refund/client ?c] + [?e :charge/client ?c] + [?e :cash-drawer-shift/client ?c])]} + (dc/db conn) + client) (map first) (map (fn [x] [:db/retractEntity x])))) @@ -1008,12 +1013,15 @@ (require 'auto-ap.time-reader) + @(upsert-all "NGPG") - (clojure.pprint/pprint (let [[c [l]] (get-square-client-and-location "NGHW")] + (clojure.pprint/pprint (let [[c [l]] (get-square-client-and-location "NGVT")] + l - (def z @(search c l #clj-time/date-time "2024-04-10T00:00:00-08:00" - #clj-time/date-time "2024-04-13T00:00:00-08:00")))) + + (def z @(search c l #clj-time/date-time "2024-04-25T00:00:00-08:00" + #clj-time/date-time "2024-04-28T00:00:00-08:00")))) (->> z (filter (fn [o] diff --git a/src/clj/auto_ap/ssr/admin/clients.clj b/src/clj/auto_ap/ssr/admin/clients.clj index eea5db8f..98cbed86 100644 --- a/src/clj/auto_ap/ssr/admin/clients.clj +++ b/src/clj/auto_ap/ssr/admin/clients.clj @@ -1324,19 +1324,23 @@ :body (mm/default-step-body {} [:div - (fc/with-field :client/square-auth-token - (com/validated-field - {:errors (fc/field-errors) - :label "Square Auth Token"} - (com/text-input {:name (fc/field-name) - :error? (fc/error?) - :hx-get (bidi/path-for ssr-routes/only-routes ::route/refresh-square-locations) - :hx-trigger "keyup changed delay:1s queue:none" - :hx-indicator "#square-locations" - :hx-target "#square-locations" - :placeholder "Token from square" - :class "w-64" - :value (fc/field-value)}))) + [:div.flex.gap-2.items-center + (fc/with-field :client/square-auth-token + (com/validated-field + {:errors (fc/field-errors) + :label "Square Auth Token"} + (com/text-input {:name (fc/field-name) + :id "square-token" + :error? (fc/error?) + :placeholder "Token from square" + :class "w-64" + :value (fc/field-value)}))) + (com/button {:hx-get (bidi/path-for ssr-routes/only-routes ::route/refresh-square-locations) + :hx-include "#square-token" + :hx-trigger "click" + :hx-indicator "#square-locations" + :hx-target "#square-locations" } + "Refresh")] (fc/with-field :client/square-locations (square-location-table))]) From 2a94bcc50948f01b50a93a37e0611955f5d2779a Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 2 May 2024 19:47:36 -0700 Subject: [PATCH 44/59] Adds links for manual payments --- src/clj/auto_ap/ssr/invoice/common.clj | 9 ++++----- src/clj/auto_ap/ssr/invoices.clj | 1 + src/clj/auto_ap/ssr/payments.clj | 5 ++++- src/clj/user.clj | 7 ++++--- src/clj/user.fiddle | 2 ++ 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/clj/auto_ap/ssr/invoice/common.clj b/src/clj/auto_ap/ssr/invoice/common.clj index 382b3808..dc6f774c 100644 --- a/src/clj/auto_ap/ssr/invoice/common.clj +++ b/src/clj/auto_ap/ssr/invoice/common.clj @@ -5,8 +5,6 @@ :invoice/total :invoice/outstanding-balance :invoice/source-url - - [:invoice/date :xform clj-time.coerce/from-date] [:invoice/due :xform clj-time.coerce/from-date] [:invoice/scheduled-payment :xform clj-time.coerce/from-date] @@ -17,9 +15,10 @@ {:account-client-override/client [:db/id]}]}]}] [:transaction/_invoices :as :invoice/transaction] [:db/id] [:journal-entry/_original-entity :as :invoice/journal-entry] [:db/id] - [:payment/_invoices :as :invoice/payments] [:db/id :payment/date :payment/amount + [:invoice-payment/_invoice :as :invoice/payments] [{:invoice-payment/payment [:db/id :payment/date :payment/amount - {[:transaction/_payment :as :payment/transaction] [:db/id] - [:payment/status :xform iol-ion.query/ident] [:db/ident]}] + {[:transaction/_payment :as :payment/transaction] [:db/id] + [:payment/status :xform iol-ion.query/ident] [:db/ident]}]}] + #_[:payment/_invoices :as :invoice/payments] [:invoice/status :xform iol-ion.query/ident] [:db/ident] :invoice/vendor [:vendor/name :db/id]}]) \ No newline at end of file diff --git a/src/clj/auto_ap/ssr/invoices.clj b/src/clj/auto_ap/ssr/invoices.clj index 582c3a20..3be1fbd8 100644 --- a/src/clj/auto_ap/ssr/invoices.clj +++ b/src/clj/auto_ap/ssr/invoices.clj @@ -538,6 +538,7 @@ (link-dropdown (concat (->> i :invoice/payments + (map :invoice-payment/payment) (filter (fn [p] (not= :payment-status/voided (:payment/status p)))) diff --git a/src/clj/auto_ap/ssr/payments.clj b/src/clj/auto_ap/ssr/payments.clj index aa6ba9d4..beee6c74 100644 --- a/src/clj/auto_ap/ssr/payments.clj +++ b/src/clj/auto_ap/ssr/payments.clj @@ -364,7 +364,10 @@ :name "Links" :class "w-8" :render (fn [p] - (link-dropdown (concat (->> p :payment/invoices (map (fn [invoice] + (link-dropdown (concat (->> p :invoice-payment/_payment + (map :invoice-payment/invoice) + + (map (fn [invoice] {:link (hu/url (bidi/path-for ssr-routes/only-routes ::invoice-route/all-page) {:exact-match-id (:db/id invoice)}) diff --git a/src/clj/user.clj b/src/clj/user.clj index 0ce1ba08..33a75526 100644 --- a/src/clj/user.clj +++ b/src/clj/user.clj @@ -329,9 +329,10 @@ (defn tx-detail [i] (map (juxt :e #(pull-attr (dc/db conn) :db/ident (:a %)) :v) (:data (first - (dc/tx-range conn - {:start i - :end (inc i)}))))) + (dc/tx-range (dc/log conn) + i + (inc i)))))) + #_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]} (defn tx-range-detail [i] (map (juxt :e #(pull-attr (dc/db conn) :db/ident (:a %)) :v) diff --git a/src/clj/user.fiddle b/src/clj/user.fiddle index 027f9fe2..b5dbe95a 100644 --- a/src/clj/user.fiddle +++ b/src/clj/user.fiddle @@ -389,3 +389,5 @@ taptelis-clients) :separator \tab) +(dc/pull (dc/db conn) + 17592316415740) From 6ca4a1b0458e31bf83b6ff1826665536aafd5b8e Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 2 May 2024 20:05:19 -0700 Subject: [PATCH 45/59] Search by financial account --- src/clj/auto_ap/ssr/account.clj | 107 ++++++++++++++++--------------- src/clj/auto_ap/ssr/invoices.clj | 15 ++++- 2 files changed, 66 insertions(+), 56 deletions(-) diff --git a/src/clj/auto_ap/ssr/account.clj b/src/clj/auto_ap/ssr/account.clj index 211fe7d1..4a63a128 100644 --- a/src/clj/auto_ap/ssr/account.clj +++ b/src/clj/auto_ap/ssr/account.clj @@ -35,61 +35,62 @@ :name (first name)}))) -(defn account-search [{{:keys [q client-id purpose vendor-id] :as qp} :query-params id :identity}] - (when client-id - (assert-can-see-client id client-id)) - (let [num (some-> (re-find #"([0-9]+)" q) - second - (not-empty) - Integer/parseInt) +(defn account-search [{{:keys [q client-id purpose vendor-id] :as qp} :query-params id :identity :as request}] + (let [client-id (or client-id (:db/id (:client request)))] + (when client-id + (assert-can-see-client id client-id)) + (let [num (some-> (re-find #"([0-9]+)" q) + second + (not-empty) + Integer/parseInt) - valid-allowances (cond-> #{:allowance/allowed - :allowance/warn} - (is-admin? id) (conj :allowance/admin-only)) - allowance (cond (= purpose "vendor") - :account/vendor-allowance - (= purpose "invoice") - :account/invoice-allowance - :else - :account/default-allowance) + valid-allowances (cond-> #{:allowance/allowed + :allowance/warn} + (is-admin? id) (conj :allowance/admin-only)) + allowance (cond (= purpose "vendor") + :account/vendor-allowance + (= purpose "invoice") + :account/invoice-allowance + :else + :account/default-allowance) - vendor-account (when vendor-id - (-> (dc/q '[:find ?da - :in $ ?v - :where [?v :vendor/default-account ?da]] - (dc/db conn) - vendor-id) - ffirst)) - xform (comp - (filter (fn [[_ a]] - (or - (valid-allowances (-> a allowance :db/ident)) - (= (:db/id a) vendor-account)))) - (map (fn [[n a]] - {:label (str (:account/numeric-code a) " - " n) - :value (:db/id a) - :location (:account/location a) - :warning (when (= :allowance/warn (-> a allowance :db/ident)) - "This account is not typically used for this purpose.")})))] - {:body (take 10 (if q - (if num - (->> (dc/q '[:find ?n (pull ?i pattern) - :in $ ?numeric-code ?allowance pattern - :where [?i :account/numeric-code ?numeric-code] - [?i :account/name ?n] - (or [?i :account/applicability :account-applicability/global] - [?i :account/applicability :account-applicability/optional] - [?i :account/applicability :account-applicability/customized])] - (dc/db conn) - num - allowance - search-pattern) - (sequence xform)) - (->> (search- id q client-id) - (sequence - (comp (map (fn [i] [(:name i) (dc/pull (dc/db conn) search-pattern (:account_id i))])) - xform)))) - []))})) + vendor-account (when vendor-id + (-> (dc/q '[:find ?da + :in $ ?v + :where [?v :vendor/default-account ?da]] + (dc/db conn) + vendor-id) + ffirst)) + xform (comp + (filter (fn [[_ a]] + (or + (valid-allowances (-> a allowance :db/ident)) + (= (:db/id a) vendor-account)))) + (map (fn [[n a]] + {:label (str (:account/numeric-code a) " - " n) + :value (:db/id a) + :location (:account/location a) + :warning (when (= :allowance/warn (-> a allowance :db/ident)) + "This account is not typically used for this purpose.")})))] + {:body (take 10 (if q + (if num + (->> (dc/q '[:find ?n (pull ?i pattern) + :in $ ?numeric-code ?allowance pattern + :where [?i :account/numeric-code ?numeric-code] + [?i :account/name ?n] + (or [?i :account/applicability :account-applicability/global] + [?i :account/applicability :account-applicability/optional] + [?i :account/applicability :account-applicability/customized])] + (dc/db conn) + num + allowance + search-pattern) + (sequence xform)) + (->> (search- id q client-id) + (sequence + (comp (map (fn [i] [(:name i) (dc/pull (dc/db conn) search-pattern (:account_id i))])) + xform)))) + []))}))) (def account-search (wrap-json-response (wrap-schema-enforce account-search :query-schema [:map diff --git a/src/clj/auto_ap/ssr/invoices.clj b/src/clj/auto_ap/ssr/invoices.clj index 3be1fbd8..7f21f3ce 100644 --- a/src/clj/auto_ap/ssr/invoices.clj +++ b/src/clj/auto_ap/ssr/invoices.clj @@ -84,6 +84,14 @@ :value (:vendor (:query-params request)) :value-fn :db/id :content-fn :vendor/name})) + (com/field {:label "Account"} + (com/typeahead {:name "account" + :id "account" + :url (bidi/path-for ssr-routes/only-routes :account-search) + :value (:account (:query-params request)) + :value-fn :db/id + :content-fn #(:account/name (d-accounts/clientize (dc/pull (dc/db conn) d-accounts/default-read (:db/id %)) + (:db/id (:client request))))})) (date-range-field* request) (com/field {:label "Check #"} (com/text-input {:name "check-number" @@ -99,7 +107,7 @@ :value (:invoice-number (:query-params request)) :placeholder "e.g., ABC-456" :size :small})) - + (com/field {:label "Amount"} [:div.flex.space-x-4.items-baseline (com/money-input {:name "amount-gte" @@ -179,11 +187,11 @@ :where ['[?e :invoice/vendor ?vendor-id]]} :args [(:db/id (:vendor query-params))]}) - (:account-id query-params) + (:account query-params) (merge-query {:query {:in ['?account-id] :where ['[?e :invoice/expense-accounts ?iea ?] '[?iea :invoice-expense-account/account ?account-id]]} - :args [(:account-id query-params)]}) + :args [(:db/id (:account query-params))]}) (:amount-gte query-params) (merge-query {:query {:in ['?amount-gte] @@ -296,6 +304,7 @@ [:amount-gte {:optional true} [:maybe :double]] [:amount-lte {:optional true} [:maybe :double]] [:vendor {:optional true :default nil} [:maybe [:entity-map {:pull [:db/id :vendor/name]}]]] + [:account {:optional true :default nil} [:maybe [:entity-map {:pull [:db/id :account/name]}]]] [:check-number {:optional true} [:maybe [:string {:decode/string strip}]]] [:invoice-number {:optional true} [:maybe [:string {:decode/string strip}]]] [:status {:optional true} [:maybe (ref->enum-schema "invoice-status")]] From d54fbbfce08f142243b4a21a8beb1756bcaaea83 Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 2 May 2024 20:37:13 -0700 Subject: [PATCH 46/59] Adds SFTP server --- sftp_server/docker-compose.yml | 10 ++++++ sftp_server/ssh_host_ed25519_key | 7 ++++ sftp_server/ssh_host_ed25519_key.pub | 1 + sftp_server/ssh_host_rsa_key | 49 ++++++++++++++++++++++++++++ sftp_server/ssh_host_rsa_key.pub | 1 + 5 files changed, 68 insertions(+) create mode 100644 sftp_server/docker-compose.yml create mode 100644 sftp_server/ssh_host_ed25519_key create mode 100644 sftp_server/ssh_host_ed25519_key.pub create mode 100644 sftp_server/ssh_host_rsa_key create mode 100644 sftp_server/ssh_host_rsa_key.pub diff --git a/sftp_server/docker-compose.yml b/sftp_server/docker-compose.yml new file mode 100644 index 00000000..094ad7b0 --- /dev/null +++ b/sftp_server/docker-compose.yml @@ -0,0 +1,10 @@ +sftp: + image: jmcombs/sftp + volumes: + - /home/ubuntu/sftp_server/upload:/home/dolce/upload + - /home/ubuntu/sftp_server/ssh_host_ed25519_key:/etc/ssh/ssh_host_ed25519_key:ro + - /home/ubuntu/sftp_server/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key:ro + ports: + - "2222:22" + command: dolce:7Wve2Y9xwpDLg:1000 + diff --git a/sftp_server/ssh_host_ed25519_key b/sftp_server/ssh_host_ed25519_key new file mode 100644 index 00000000..fa9b077c --- /dev/null +++ b/sftp_server/ssh_host_ed25519_key @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACAmCxqyPTRhy0jdxPy5TQoNxrrF6Hl5KqPkNRd5xVE+fwAAAKBl+THqZfkx +6gAAAAtzc2gtZWQyNTUxOQAAACAmCxqyPTRhy0jdxPy5TQoNxrrF6Hl5KqPkNRd5xVE+fw +AAAEANPN7BtdbrOnh16K2oPEP6hJhO+/ytLAXtWBJfuy943SYLGrI9NGHLSN3E/LlNCg3G +usXoeXkqo+Q1F3nFUT5/AAAAFnVidW50dUBpcC0xNzItMzEtMTAtODMBAgMEBQYH +-----END OPENSSH PRIVATE KEY----- diff --git a/sftp_server/ssh_host_ed25519_key.pub b/sftp_server/ssh_host_ed25519_key.pub new file mode 100644 index 00000000..5d4d108b --- /dev/null +++ b/sftp_server/ssh_host_ed25519_key.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICYLGrI9NGHLSN3E/LlNCg3GusXoeXkqo+Q1F3nFUT5/ ubuntu@ip-172-31-10-83 diff --git a/sftp_server/ssh_host_rsa_key b/sftp_server/ssh_host_rsa_key new file mode 100644 index 00000000..e84d6211 --- /dev/null +++ b/sftp_server/ssh_host_rsa_key @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn +NhAAAAAwEAAQAAAgEA0+LtJJMVVyT2IIJEc+G0bzm/qrezEP7J/LAZdFeMSg2y/kPOYBkl +mgdghniirJrjSDUxP7Tb5uLQZ8L1omuHs2mLYDh8SZVKEX5K7pCWEwSNpNsrKGVCdR16sQ +HTWF3RtASmI8p0LFseNxsLgqbFmtXNORRS3oNE6PL2ofi453qG06Ble32KsOzKMkM3YRK5 +6SZKEh+VBKcQFLniElNXPHvTeV5Na0T+/keYwBJVXvCUvaEHuu2EMqxAF+3mxubCnsGlqb +UPS4V9p/EGVIZN8blIRLnDmf9AH5E8pevfJkzvZ+d8NObz7QOBAsiCJNy6dIbttQLEXM9H +BCyFL4ljwYmaVrIe570HyVGmDEFJbVwZrM8j8eGEcONvtw3/PE8urTMUZEMaTngJ6QpQmh +B0cpgiJjkkvps6QMCeRfd8Z/e1l7ig5eytPFm+Yux+5c8PCS2xgMz3nO77nW5HCTCWIraq +Jb1pdozFDnrUZvwmp3ydylWv4/BS5CD3KZ2zt/URPorhHhHjYRLuIANUYxDa4HBoNlOMzA +Ax3RLupM96GAa4oOCj9+0RxHW7AmTFOXaeiZ181kwHLOEXEqa6O0QJb3lTlmvm4O+PYpgo +r0dH1KSpSS+DOX8D9JNTGYAAH936/tIZ4ejF3CiNZ527pTSuGdSOCE772heVMoReEL8NHv +UAAAdQV63uqlet7qoAAAAHc3NoLXJzYQAAAgEA0+LtJJMVVyT2IIJEc+G0bzm/qrezEP7J +/LAZdFeMSg2y/kPOYBklmgdghniirJrjSDUxP7Tb5uLQZ8L1omuHs2mLYDh8SZVKEX5K7p +CWEwSNpNsrKGVCdR16sQHTWF3RtASmI8p0LFseNxsLgqbFmtXNORRS3oNE6PL2ofi453qG +06Ble32KsOzKMkM3YRK56SZKEh+VBKcQFLniElNXPHvTeV5Na0T+/keYwBJVXvCUvaEHuu +2EMqxAF+3mxubCnsGlqbUPS4V9p/EGVIZN8blIRLnDmf9AH5E8pevfJkzvZ+d8NObz7QOB +AsiCJNy6dIbttQLEXM9HBCyFL4ljwYmaVrIe570HyVGmDEFJbVwZrM8j8eGEcONvtw3/PE +8urTMUZEMaTngJ6QpQmhB0cpgiJjkkvps6QMCeRfd8Z/e1l7ig5eytPFm+Yux+5c8PCS2x +gMz3nO77nW5HCTCWIraqJb1pdozFDnrUZvwmp3ydylWv4/BS5CD3KZ2zt/URPorhHhHjYR +LuIANUYxDa4HBoNlOMzAAx3RLupM96GAa4oOCj9+0RxHW7AmTFOXaeiZ181kwHLOEXEqa6 +O0QJb3lTlmvm4O+PYpgor0dH1KSpSS+DOX8D9JNTGYAAH936/tIZ4ejF3CiNZ527pTSuGd +SOCE772heVMoReEL8NHvUAAAADAQABAAACAA+lFst3jMDVetLlq3Y++RqpUeyiCbe8iF9/ +BTIg8LvbDRdXHFreIHeiCc+EAsbp3NRNESjaCs6eerLeo1JtzCREK8VcBllMi56FC7VXua +0HzgmZITOnXmPVXGTLdLZ2nvBC052a6j8IL0/0UEJCXB7VoISRapkBakok/m7xNX3p/yCL +HFMk7uOnaDqT2ffx8QY1DI0QBenFCBvvqbCetLdDkVbJzr+X5ZgS40VzVRhgfSsPQ8nalc +NEEqtxpnOTQFWGiNviAZIa9i87TbNaA1FQ0/Q3Hyk0vqBWEftSUjS6w4aRggtJ7kLW2mTB +N1LPdXj7KXwPCz6rE1xMiTz8UQAr6xCXPX9pFwBItdKuRA29F0XUL29FeMQqMyZW+2U8lO +Djru6aEO8AF/TUiBaG6rROPZ+GeAYlsj4az/OmCHlW02yjvC8RdCEAYd2zjID9TEg69ebT +dD9P/hNZ6Aa32nnyjufLGbt9mdF+a0fK6vL1PVfz9VM0jENQalBzCPgFZ6Na2IJXzh5P2c +nekKrf9gNSGmsZQoPGhl2meheUPILpWoOfYtkL0+N1vaxEb7gp3pQVr6n1QTZxD2Tj0NfP +ggSP0Gu/BrTZ8kMbxSQ03xywbr/20hL7jOAzwp7rpcrPi6mkF0CAbNDAgrDBVOBpy8QASp +9/drdxQ8dOKgRMPT5VAAABAQCUz3F6802IgSCiQK5d5l2Qr2JrtcaHzVGcG1wMatRLconH +IFnenuSlLEbsuBGVPEh5qhroiG5Ywys+BbrqikyRRarBqBmYfUXaCP/rb80vKepd8zCjpl +K30c4LTEn/PHAknBnjJ+xBIPYjgZUOX200MZu91wmaNBEzYRvlfESjuWputHGe2Nn2YLLl +hey4ZBb3cVfSl+X6BslnKdvJjMVJ7ET8V5zrRXh+UwecpKenYqbEdpIsqilHtvGc9yxoQ+ +y0Y5cVnAXZEWX8j0woD7iKh4qrAHep4b5ZUzRILTvqt/cy8l7xIqyTmq8sUwmNnqn7dUFt +rjJtBdTyTZtvB+y6AAABAQDpeqoUCXyS1Hg5YB4Ftb8Zs9plvKLH7xvhn7Z5hljKQwz0Jh +8aYPdGZPqIvGlz2oIyg4UEeYMMrcSE1cL5hxZcxhg12mbx9m/XLDJDPD1N01JhKIU1mk9L +i31w719dgp1rsGdSKWOn8UDJn1EgNQlF9MC+SUea4ln8Vlqd3VOLEolLJ6TwGH3b/WTUOL ++iN3EgLQToCg/lHtkg9KVCQ4JxhFl/gLNFFaFK2kdPQ+J8ueiNCbo0NsUwZdr6VyM8F0L6 +Lx9aMO62Y1AJekNBGX8n7Pms7C1Hq96gtsDZiB7xoweX5EQCjyhqVTKJGB1dlF1y+FIOfj +L5WDf90SzrCu23AAABAQDoUxHORilE14/1nZ+4IDEwF7ANmiAFUb2ZXUdpKIRLTWtrHVbU +NXLca0VZDyJu7vF1Ot2485JwbRI2Rz57mPuD714ezA+wiG5rq7zwdScPefQZ7QjZ6cY+5p +xQU/rhCFDPjzsBoInbLr1VHUSCcdzXXXsow9FnFaih7FyoDGdbW9Szbn+6cpXfD/WEklSg +KXo0k5WHyBbi1JR8Yr6EDl6tGBUgW+erRLSr9JG1Ky5eNjVxzizrrvxwvZl7GFxqrEjcn7 +NbAtJJuZYgatAC1MqjwVC/5zT4xElWFCL97vWVgQJMGLM8iRBBBsgLnJ0f8G3RBPqmy3qT +CZREI7GA3lizAAAAFnVidW50dUBpcC0xNzItMzEtMTAtODMBAgME +-----END OPENSSH PRIVATE KEY----- diff --git a/sftp_server/ssh_host_rsa_key.pub b/sftp_server/ssh_host_rsa_key.pub new file mode 100644 index 00000000..d2c05a55 --- /dev/null +++ b/sftp_server/ssh_host_rsa_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDT4u0kkxVXJPYggkRz4bRvOb+qt7MQ/sn8sBl0V4xKDbL+Q85gGSWaB2CGeKKsmuNINTE/tNvm4tBnwvWia4ezaYtgOHxJlUoRfkrukJYTBI2k2ysoZUJ1HXqxAdNYXdG0BKYjynQsWx43GwuCpsWa1c05FFLeg0To8vah+LjneobToGV7fYqw7MoyQzdhErnpJkoSH5UEpxAUueISU1c8e9N5Xk1rRP7+R5jAElVe8JS9oQe67YQyrEAX7ebG5sKewaWptQ9LhX2n8QZUhk3xuUhEucOZ/0AfkTyl698mTO9n53w05vPtA4ECyIIk3Lp0hu21AsRcz0cELIUviWPBiZpWsh7nvQfJUaYMQUltXBmszyPx4YRw42+3Df88Ty6tMxRkQxpOeAnpClCaEHRymCImOSS+mzpAwJ5F93xn97WXuKDl7K08Wb5i7H7lzw8JLbGAzPec7vudbkcJMJYitqolvWl2jMUOetRm/CanfJ3KVa/j8FLkIPcpnbO39RE+iuEeEeNhEu4gA1RjENrgcGg2U4zMADHdEu6kz3oYBrig4KP37RHEdbsCZMU5dp6JnXzWTAcs4RcSpro7RAlveVOWa+bg749imCivR0fUpKlJL4M5fwP0k1MZgAAf3fr+0hnh6MXcKI1nnbulNK4Z1I4ITvvaF5UyhF4Qvw0e9Q== ubuntu@ip-172-31-10-83 From c50b706de9db67fe583ecb00f126f3c7144f4d12 Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 2 May 2024 21:35:03 -0700 Subject: [PATCH 47/59] Script for deleting vendors --- resources/duplicate_vendors.csv | 622 +++++++++++++++++++++++ src/clj/auto_ap/graphql/vendors.clj | 4 +- src/clj/auto_ap/jobs/sales_summaries.clj | 8 +- src/clj/user.fiddle | 61 ++- 4 files changed, 688 insertions(+), 7 deletions(-) create mode 100644 resources/duplicate_vendors.csv diff --git a/resources/duplicate_vendors.csv b/resources/duplicate_vendors.csv new file mode 100644 index 00000000..b4275d57 --- /dev/null +++ b/resources/duplicate_vendors.csv @@ -0,0 +1,622 @@ +change?,vendor_id,vendor_name,cleaned_vendor_name,master_vendor_name,vendor_address,vendor_city,vendor_account,Taptelis Usage,master_vendor_id,master_vendor_name,master_address,master_city,master_account,master_taptelis_usage,Ben says don't merge? +0,17592283841842,AC Solutions,ac solutions,a c solutions,,,Repairs to Equipment,,17592307229946,A C Solutions,,,Building Cleaning & Maintenance,, +0,17592307229946,A C Solutions,a c solutions,a c solutions,,,Building Cleaning & Maintenance,,17592307229946,A C Solutions,,,Building Cleaning & Maintenance,, +0,17592294315307,AM Technical Solutions,a m technical solutions,a c solutions,,,Leasehold Improvements,,17592307229946,A C Solutions,,,Building Cleaning & Maintenance,,TRUE +1,17592233003296,A & D Automatic Gate and Access,a d automatic gate access,a d automatic gate,P.O Box 5040,Redwood City,Repairs to Building,,17592240485865,A & D Automatic Gate Company,P.O. Box 5040,Redwood City,Repairs to Building,, +1,17592240485865,A & D Automatic Gate Company,a d automatic gate,a d automatic gate,P.O. Box 5040,Redwood City,Repairs to Building,,17592240485865,A & D Automatic Gate Company,P.O. Box 5040,Redwood City,Repairs to Building,, +0,17592306014027,AA Lock & Alarm,aa lock alarm,a lock alarm,1251 El Camino Real,Menlo Park,Repairs to Building,,17592288706441,A-A Lock & Alarm Inc.,1251 El Camino Real,Menlo Park,Repairs to Building,4, +0,17592288706441,A-A Lock & Alarm Inc.,a lock alarm,a lock alarm,1251 El Camino Real,Menlo Park,Repairs to Building,4,17592288706441,A-A Lock & Alarm Inc.,1251 El Camino Real,Menlo Park,Repairs to Building,4, +0,17592247410121,Safe Lock & Alarm Co.,safe lock alarm,a lock alarm,,,Contract Labor,,17592288706441,A-A Lock & Alarm Inc.,1251 El Camino Real,Menlo Park,Repairs to Building,4,TRUE +1,17592232599670,Parking,parking,abm parking,,,Parking,4,17592235672660,ABM Parking,,,Parking,,TRUE +1,17592235672660,ABM Parking,abm parking,abm parking,,,Parking,,17592235672660,ABM Parking,,,Parking,, +0,17592300948988,Bread SRSLY,bread,acme bread,,,Food Cost,,17592186045450,Acme Bread,,,Bread and Bun Costs,,TRUE +0,17592186045450,Acme Bread,acme bread,acme bread,,,Bread and Bun Costs,,17592186045450,Acme Bread,,,Bread and Bun Costs,, +1,17592246143848,AD IMAGE,ad image,ad image,1212 EL CAMINO REAL #103,SANTA CLARA,Leasehold Improvements,,17592246143848,AD IMAGE,1212 EL CAMINO REAL #103,SANTA CLARA,Leasehold Improvements,, +1,17592236687061,AD Image Signs & Advertising,ad image signs advertising,ad image,1212 El Camino Real #103,Santa Clara,Advertising,4,17592246143848,AD IMAGE,1212 EL CAMINO REAL #103,SANTA CLARA,Leasehold Improvements,, +0,17592300939406,Alan Vargas,alan vargas,adan vargas,,,Payroll Outstanding,,17592212581045,Adan Vargas,,,Building Cleaning & Maintenance,,TRUE +0,17592212581045,Adan Vargas,adan vargas,adan vargas,,,Building Cleaning & Maintenance,,17592212581045,Adan Vargas,,,Building Cleaning & Maintenance,,TRUE +1,17592317515372,Alcoholic Beverage Control,alcoholic beverage control,alcoholic beverage control,224 Airport Parkway,san jose,Liquor License Fee,,17592317515372,Alcoholic Beverage Control,224 Airport Parkway,san jose,Liquor License Fee,,TRUE +1,17592232547503,Department of Alcoholic Beverage Control,department alcoholic beverage control,alcoholic beverage control,3927 Lennane Dr,Sacramento,Alcohol Cost,8,17592317515372,Alcoholic Beverage Control,224 Airport Parkway,san jose,Liquor License Fee,,TRUE +0,17592258403511,Alfredo gonzales,alfredo gonzales,alfredo gonzales,,,Contract Labor,,17592312830973,Alfredo V Gonzalez,14 salad Road,Hal Moon Bay,Tips Payable,, +0,17592312830973,Alfredo V Gonzalez,alfredo gonzalez,alfredo gonzales,14 salad Road,Hal Moon Bay,Tips Payable,,17592312830973,Alfredo V Gonzalez,14 salad Road,Hal Moon Bay,Tips Payable,, +1,17592309229696,Alican Karacuban,alican karacuban,ali can karacuban,,,Tips Payable,,17592276423350,Ali Can Karacuban,,,Tips Payable,, +1,17592276423350,Ali Can Karacuban,ali can karacuban,ali can karacuban,,,Tips Payable,,17592276423350,Ali Can Karacuban,,,Tips Payable,, +0,17592233419565,MC Plumbing & Drain,mc plumbing drain,all clear plumbing drain,86 North 24th,San Jose,Repairs to Building,,17592256892277,All Clear Plumbing and Drain,24438 Santa Clara Street,Hayward,Building Cleaning & Maintenance,1,TRUE +0,17592256892277,All Clear Plumbing and Drain,all clear plumbing drain,all clear plumbing drain,24438 Santa Clara Street,Hayward,Building Cleaning & Maintenance,1,17592256892277,All Clear Plumbing and Drain,24438 Santa Clara Street,Hayward,Building Cleaning & Maintenance,1,TRUE +1,17592204853359,Camino Aloha,camino aloha,aloha,"1060 el camino real, ste a",Redwood City,Business License,,17592225223362,aloha,3838 grand ave,oakland,Printing - Internal,,TRUE +0,17592209192025,NCR - Aloha,ncr aloha,aloha,3838 grand ave,Oakland,Restaurant Software Fees,,17592209192025,NCR - Aloha,3838 grand ave,Oakland,Restaurant Software Fees,, +0,17592225223362,aloha,aloha,aloha,3838 grand ave,oakland,Printing - Internal,,17592209192025,NCR - Aloha,3838 grand ave,Oakland,Restaurant Software Fees,, +1,17592261580836,ASCAP,american society of composers authors and publishers,american,21678 Network Place,Chicago,Music Licensing Fees,4,17592258978616,American Incorporated,1345 N. American street,Visalia,Start Up Costs,,TRUE +1,17592304436191,American Legion,american legion,american,522 S L St,Livermore,Charitable Contributions,,17592258978616,American Incorporated,1345 N. American street,Visalia,Start Up Costs,,TRUE +1,17592258978616,American Incorporated,american,american,1345 N. American street,Visalia,Start Up Costs,,17592258978616,American Incorporated,1345 N. American street,Visalia,Start Up Costs,,TRUE +1,17592186045802,American Beverage Equipment,american beverage equipment,american,PO Box 28646,San Jose,Kitchen Supplies,,17592258978616,American Incorporated,1345 N. American street,Visalia,Start Up Costs,,TRUE +1,17592234801689,American Assyrian Association,american assyrian,american,,,Rent,,17592258978616,American Incorporated,1345 N. American street,Visalia,Start Up Costs,,TRUE +1,17592234366865,American Spirits Exchange,american spirits exchange,american,1805 W. Magnolia Blvd.,Burbank,Liquor Cost,,17592258978616,American Incorporated,1345 N. American street,Visalia,Start Up Costs,,TRUE +1,17592188362112,North American Directory Services,north american directory services,american,320 E.27th Street,Loveland,Marketing,,17592258978616,American Incorporated,1345 N. American street,Visalia,Start Up Costs,,TRUE +0,17592250947618,Andrew DaCosta,andrew dacosta,andrew dacosta,,,Tips Payable,,17592250947618,Andrew DaCosta,,,Tips Payable,, +0,17592319685906,Andrew Decosta,andrew decosta,andrew dacosta,,,Payroll Outstanding,,17592250947618,Andrew DaCosta,,,Tips Payable,, +1,17592302098974,Angel Bartolo Esquivel,angel bartolo esquivel,angel bartolo esquivel,,,Payroll Outstanding,,17592302098974,Angel Bartolo Esquivel,,,Payroll Outstanding,, +1,17592302215222,Angel Esquivel,angel esquivel,angel bartolo esquivel,,,Payroll Outstanding,,17592302098974,Angel Bartolo Esquivel,,,Payroll Outstanding,, +0,17592253044134,Angel Cruz,angel cruz,angel castro cruz,,,Payroll Outstanding,,17592318480488,Angel J Castro Cruz,1874 Foster Mountain Ct,Antioch,Employee Training,, +0,17592318480488,Angel J Castro Cruz,angel castro cruz,angel castro cruz,1874 Foster Mountain Ct,Antioch,Employee Training,,17592318480488,Angel J Castro Cruz,1874 Foster Mountain Ct,Antioch,Employee Training,, +1,17592313865460,Angel Delao,angel delao,angel delao,,,Employee Training,,17592313865460,Angel Delao,,,Employee Training,, +1,17592311318547,Angela Delao,angela delao,angel delao,,,Repairs to Equipment,,17592313865460,Angel Delao,,,Employee Training,, +0,17592305208963,Angel Martinez,angel martinez,angel martin,,,Payroll Outstanding,,17592311475715,Angel Martin,,,Payroll Outstanding,, +0,17592311475715,Angel Martin,angel martin,angel martin,,,Payroll Outstanding,,17592311475715,Angel Martin,,,Payroll Outstanding,, +0,17592211025575,Angie Martinez,angie martinez,angel martin,,,Building Cleaning & Maintenance,,17592311475715,Angel Martin,,,Payroll Outstanding,,TRUE +1,17592271474663,Luis Angel Navarrete Ramirez,luis angel navarrete ramirez,angel ramirez,39677 Wall Common,Fremont,Payroll Outstanding,4,17592240723510,angel ramirez,,,Employee Training,, +1,17592240723510,angel ramirez,angel ramirez,angel ramirez,,,Employee Training,,17592240723510,angel ramirez,,,Employee Training,,TRUE +0,17592293100535,Anthony Diaz Guadarrama,anthony diaz guadarrama,anthony diaz guadarrama,2254 Wren Way,Campbell,Payroll Outstanding,4,17592293100535,Anthony Diaz Guadarrama,2254 Wren Way,Campbell,Payroll Outstanding,4, +0,17592299185084,Antony Diaz Guadarrama,antony diaz guadarrama,anthony diaz guadarrama,,,Payroll Outstanding,,17592293100535,Anthony Diaz Guadarrama,2254 Wren Way,Campbell,Payroll Outstanding,4, +1,17592305929301,Antonio Alonso Guarnernos,antonio alonso guarnernos,antonio alonso guarnernos,,,Payroll Outstanding,,17592305429683,Antonio Alonso Guarneros,,,Payroll Outstanding,, +1,17592305429683,Antonio Alonso Guarneros,antonio alonso guarneros,antonio alonso guarnernos,,,Payroll Outstanding,,17592305429683,Antonio Alonso Guarneros,,,Payroll Outstanding,, +0,17592234622569,Armando Meza,armando meza,armando meza,,,Tips Payable,,17592234622569,Armando Meza,,,Tips Payable,, +0,17592186046126,"Meza, Armando 50050",meza armando,armando meza,,,Payroll Outstanding,,17592234622569,Armando Meza,,,Tips Payable,, +1,17592307337296,Artistic Etchings,artistic etchings,artistic etching,2460 North Foothill Blvd,Los Altos,Repairs to Building,,17592307337296,Artistic Etchings,2460 North Foothill Blvd,Los Altos,Repairs to Building,, +1,17592306018216,Artistic Etching,artistic etching,artistic etching,,,Leasehold Improvements,,17592307337296,Artistic Etchings,2460 North Foothill Blvd,Los Altos,Repairs to Building,, +0,17592298705399,Fabian Cruz,fabian cruz,arturo fabian cruz,,,Payroll Outstanding,,17592315398141,Arturo Fabian Cruz,,,Payroll Outstanding,,TRUE +0,17592298705418,Jose A Fabian Cruz,jose fabian cruz,arturo fabian cruz,,,Payroll Outstanding,,17592315398141,Arturo Fabian Cruz,,,Payroll Outstanding,,TRUE +0,17592315398141,Arturo Fabian Cruz,arturo fabian cruz,arturo fabian cruz,,,Payroll Outstanding,,17592315398141,Arturo Fabian Cruz,,,Payroll Outstanding,,TRUE +1,17592186045446,Auto-Chlor,auto chlor,auto chlor,3400 Thomas Rd,Santa Clara,Cleaning Supplies,,17592186045446,Auto-Chlor,3400 Thomas Rd,Santa Clara,Cleaning Supplies,,TRUE +1,17592249539571,AUTO-CHLOR SYSTEM,auto chlor system,auto chlor,515 Stone Rd,Benicia,Cleaning Supplies,,17592186045446,Auto-Chlor,3400 Thomas Rd,Santa Clara,Cleaning Supplies,,TRUE +0,17592260390351,Baly LLC,baly,baly,5765 Winfield Blvd,San Jose,Distributions / Capital Withdrawal - 3,,17592260390351,Baly LLC,5765 Winfield Blvd,San Jose,Distributions / Capital Withdrawal - 3,,TRUE +0,17592316549189,BALY Mgmt Fee,baly management fee,baly,,,Mgmt & Insurance Fees,,17592260390351,Baly LLC,5765 Winfield Blvd,San Jose,Distributions / Capital Withdrawal - 3,,TRUE +1,17592186046273,Bank of America - Wilmington,bank of america wilmington,bank of america,P.O. Box 15796,Wilmington,Food Cost,,17592187687128,Bank of America Visa,PO Box 982238,El Paso,Transfer in Process,,TRUE +1,17592186852222,Bank of America - Los Angeles,bank of america los angeles,bank of america,P O BOX 301200,LOS ANGELES,Transfer in Process,,17592187687128,Bank of America Visa,PO Box 982238,El Paso,Transfer in Process,,TRUE +1,17592187687128,Bank of America Visa,bank of america,bank of america,PO Box 982238,El Paso,Transfer in Process,,17592187687128,Bank of America Visa,PO Box 982238,El Paso,Transfer in Process,,TRUE +0,17592220866441,Bay Alarm,bay alarm,bay alarm,491 Gianni Street,Santa Clara,Building Cleaning & Maintenance,28,17592220866441,Bay Alarm,491 Gianni Street,Santa Clara,Building Cleaning & Maintenance,28,TRUE +0,17592241017634,Bay Alarm Company- Concord,bay alarm concord,bay alarm,P.O Box 7137,San Francisco,Security System/ Alarms,,17592220866441,Bay Alarm,491 Gianni Street,Santa Clara,Building Cleaning & Maintenance,28,TRUE +1,17592254765779,Bay Area Design,bay area design,bay area design,199 California Dr,Millbrae,Construction in Progress,,17592254765779,Bay Area Design,199 California Dr,Millbrae,Construction in Progress,, +1,17592189121324,Bay Area Design & Engineering,bay area design engineering,bay area design,199 California Dr.,Milbrae,Building Cleaning & Maintenance,4,17592254765779,Bay Area Design,199 California Dr,Millbrae,Construction in Progress,, +0,17592319791772,BAY AREA RESTAURANT SERV. MAIN.,bay area restaurant service main,bay area restaurant service,,,Building Cleaning & Maintenance,,17592235331790,BAY AREA RESTAURANT SERVICE,2229 HAMMERER AVE,SAN JOSE,Contract Cleaning,, +0,17592235331790,BAY AREA RESTAURANT SERVICE,bay area restaurant service,bay area restaurant service,2229 HAMMERER AVE,SAN JOSE,Contract Cleaning,,17592235331790,BAY AREA RESTAURANT SERVICE,2229 HAMMERER AVE,SAN JOSE,Contract Cleaning,, +1,17592186852330,E M Fire Protection,e fire protection,bearcal fire protection,1120 Eaton Ave #5,San Carlos,Building Cleaning & Maintenance,,17592314317160,BearCal Fire Protecion Inc,,,Tips Payable,,TRUE +1,17592250781064,HA Fire Protection Inc.,ha fire protection,bearcal fire protection,2601 - 21st Avenue,San Francisco,Repairs to Equipment,,17592314317160,BearCal Fire Protecion Inc,,,Tips Payable,,TRUE +1,17592232939633,ET Fire Protection,et fire protection,bearcal fire protection,1669 Hollenbeck Ave,Sunnyvale,Repairs to Equipment,,17592314317160,BearCal Fire Protecion Inc,,,Tips Payable,,TRUE +1,17592314317160,BearCal Fire Protecion Inc,bearcal fire protection,bearcal fire protection,,,Tips Payable,,17592314317160,BearCal Fire Protecion Inc,,,Tips Payable,,TRUE +0,17592317536350,Benito Luna Alvarado,benito luna alvarado,benito alvarado,,,Payroll Outstanding,,17592317536350,Benito Luna Alvarado,,,Payroll Outstanding,,TRUE +0,17592186046174,Benito Alvarado,benito alvarado,benito alvarado,,,Marketing,,17592317536350,Benito Luna Alvarado,,,Payroll Outstanding,,TRUE +1,17592232587624,Bernice Linstrom,bernice linstrom,bernice lindstrom,,,Rent,,17592263783855,Bernice Lindstrom,18 25th Ave. North,San Francisco,Rent,, +1,17592263783855,Bernice Lindstrom,bernice lindstrom,bernice lindstrom,18 25th Ave. North,San Francisco,Rent,,17592263783855,Bernice Lindstrom,18 25th Ave. North,San Francisco,Rent,, +0,17592314789648,Pat Family Partnership,pat family partnership,besson family partnership,101 Ellinwood Drive,Pleasnt Hill,Rent,,17592232647988,Besson Family LTD Partnership,5674 Sonoma Dr,Pleasanton,Rent,,TRUE +0,17592232647988,Besson Family LTD Partnership,besson family partnership,besson family partnership,5674 Sonoma Dr,Pleasanton,Rent,,17592232647988,Besson Family LTD Partnership,5674 Sonoma Dr,Pleasanton,Rent,,TRUE +1,17592277332484,ST ROOTER AND PLUMBING,st rooter plumbing,betos plumbing rooter,,,Building Cleaning & Maintenance,,17592292908990,Betos Plumbing and Rooter,145 Byron St,Vallejo,Water and Sewage,,TRUE +1,17592292908990,Betos Plumbing and Rooter,betos plumbing rooter,betos plumbing rooter,145 Byron St,Vallejo,Water and Sewage,,17592292908990,Betos Plumbing and Rooter,145 Byron St,Vallejo,Water and Sewage,,TRUE +0,17592306140539,BHHS Caliber Residents/HOA,bhhs caliber residents hoa,bhhs caliber,,,Office Rent,,17592306140539,BHHS Caliber Residents/HOA,,,Office Rent,, +0,17592296410381,BHHS Caliber,bhhs caliber,bhhs caliber,,,Deposits,2,17592306140539,BHHS Caliber Residents/HOA,,,Office Rent,, +1,17592315969934,"Blank Voided Check OLATHE, KS",blank voided check olathe kansas,blank voided check,,,Bank Fees,,17592225106704,Blank Voided Check,324 Commercial St,SAN JOSE,Bank Fees,,TRUE +1,17592225106704,Blank Voided Check,blank voided check,blank voided check,324 Commercial St,SAN JOSE,Bank Fees,,17592225106704,Blank Voided Check,324 Commercial St,SAN JOSE,Bank Fees,,TRUE +0,17592241811412,Bobby Ray Barker,bobby ray barker,bobby rae barker,,,Contract Labor,36,17592241017608,Bobby Rae Barker,,,Payroll Outstanding,10, +0,17592241017608,Bobby Rae Barker,bobby rae barker,bobby rae barker,,,Payroll Outstanding,10,17592241017608,Bobby Rae Barker,,,Payroll Outstanding,10, +1,17592232583985,Bob's,bobs,bobs,,,Repairs to Equipment,,17592232583983,Bobs Cooling system,,,Repairs to Building,, +1,17592232583983,Bobs Cooling system,bobs cooling,bobs,,,Repairs to Building,,17592232583983,Bobs Cooling system,,,Repairs to Building,, +0,17592233202208,Brayan Elie Jaivenslou,brayan elie jaivenslou,brayan elie jaivenslou,,,Distributions / Capital Withdrawal - 1,,17592233202208,Brayan Elie Jaivenslou,,,Distributions / Capital Withdrawal - 1,,TRUE +0,17592233352938,Brayan Elie Jaivenslou - Loan,brayan elie jaivenslou loan,brayan elie jaivenslou,,,Owner/ Investor Loans,,17592233202208,Brayan Elie Jaivenslou,,,Distributions / Capital Withdrawal - 1,,TRUE +1,17592234768455,Brayant Lopez,brayant lopez,brayant lopez,,,Tips Payable,,17592234621397,Bryant Lopez,,,Tips Payable,, +1,17592234621397,Bryant Lopez,bryant lopez,brayant lopez,,,Tips Payable,,17592234621397,Bryant Lopez,,,Tips Payable,, +0,17592275610253,Brian Vazquez,brian vazquez,brian vasquez,,,Food Cost,,17592236594402,Brian Vasquez,,,Food Cost,, +0,17592236594402,Brian Vasquez,brian vasquez,brian vasquez,,,Food Cost,,17592236594402,Brian Vasquez,,,Food Cost,, +1,17592186046209,Brittnay Ramirez,brittnay ramirez,brittany ramirez,222 Milbrae Ln,Los Gatos,Tips Payable,,17592186046278,Brittany Ramirez,222 Milbrea Ln,Los Gatos,Tips Payable,, +1,17592186046278,Brittany Ramirez,brittany ramirez,brittany ramirez,222 Milbrea Ln,Los Gatos,Tips Payable,,17592186046278,Brittany Ramirez,222 Milbrea Ln,Los Gatos,Tips Payable,, +0,17592313865056,Calicornercomman,calico corner,calico corner,,,Dry Goods Costs,,17592313865056,Calicornercomman,,,Dry Goods Costs,, +0,17592313865414,calicornercommon,calico corner common,calico corner,,,Dry Goods Costs,,17592313865056,Calicornercomman,,,Dry Goods Costs,, +1,17592235028057,CDFA - Milk and Dairy Permit,california department of food and agriculture milk dairy permit,california department agriculture,,,Health Permit,1,17592190065269,California Department of Agriculture,,,Business License,,TRUE +1,17592190065269,California Department of Agriculture,california department agriculture,california department agriculture,,,Business License,,17592190065269,California Department of Agriculture,,,Business License,,TRUE +1,17592235925482,CDFA - L 24002,california department of food and agriculture,california department agriculture,,,Health Permit,,17592190065269,California Department of Agriculture,,,Business License,,TRUE +1,17592235679076,Department of Food and Agriculture,department food agriculture,california department agriculture,P.O Box 942872,Sacramento,Health Permit,4,17592190065269,California Department of Agriculture,,,Business License,,TRUE +1,17592188154237,CDFA,california department of food and agriculture,california department agriculture,,,Business License,,17592190065269,California Department of Agriculture,,,Business License,,TRUE +1,17592251288386,California Department of Food and Agriculture,california department food agriculture,california department agriculture,Cashier-DCFA/MDFS Department of Food and Agriculture,Sacramento,Depreciation on Leasehold Improvements,,17592190065269,California Department of Agriculture,,,Business License,,TRUE +1,17592250162259,CDFA-L24002,california department of food and agriculture,california department agriculture,,,Business License,,17592190065269,California Department of Agriculture,,,Business License,,TRUE +0,17592313863960,Milk & Dairy Food Safety Attn: Cashiers,milk dairy food safety,california department food agriculture milk dairy food safety branch,908 P.O. Box 942881,Sacramento,Permits,,17592279862591,California Department of Food and Agriculture Milk and Dairy Food Safety Branch,P.O. Box 942881,Sacramento,Health Permit,, +0,17592279862591,California Department of Food and Agriculture Milk and Dairy Food Safety Branch,california department food agriculture milk dairy food safety branch,california department food agriculture milk dairy food safety branch,P.O. Box 942881,Sacramento,Health Permit,,17592279862591,California Department of Food and Agriculture Milk and Dairy Food Safety Branch,P.O. Box 942881,Sacramento,Health Permit,, +1,17592236124448,California Department of Tax and Fee Administration,california department tax fee administration,california department tax fee administration,PO BOX 942879,Sacramento,Delivery Cost 2,,17592236124448,California Department of Tax and Fee Administration,PO BOX 942879,Sacramento,Delivery Cost 2,, +1,17592200033609,California Tax and Fee Administration,california tax fee administration,california department tax fee administration,PO Box 942879,Sacramento,Local Taxes,4,17592236124448,California Department of Tax and Fee Administration,PO BOX 942879,Sacramento,Delivery Cost 2,, +0,17592272837113,Franchise Tax Board,franchise tax board,california franchise tax board,,,State Taxes,,17592265290573,State of California Franchise Tax Board,PO BOX 942857,Sacramento,State Taxes,4, +0,17592265290573,State of California Franchise Tax Board,california franchise tax board,california franchise tax board,PO BOX 942857,Sacramento,State Taxes,4,17592265290573,State of California Franchise Tax Board,PO BOX 942857,Sacramento,State Taxes,4, +0,17592272048028,State of CA Franchise Tax Board,california franchise tax board,california franchise tax board,PO Box 942857,Sacramento,Sales Tax Collected,4,17592265290573,State of California Franchise Tax Board,PO BOX 942857,Sacramento,State Taxes,4, +0,17592186046022,Franchise Tax Board,franchise tax board,california franchise tax board,PO Box 942857,Sacramento,State Taxes,4,17592265290573,State of California Franchise Tax Board,PO BOX 942857,Sacramento,State Taxes,4, +1,17592297902189,Camila Quintero,camila quintero,camila quintero,,,Payroll Outstanding,,17592297902189,Camila Quintero,,,Payroll Outstanding,, +1,17592300435558,Camila Quintero Sierra,camila quintero sierra,camila quintero,,,Payroll Outstanding,,17592297902189,Camila Quintero,,,Payroll Outstanding,, +1,17592300957090,Camila Quintero,camila quintero,camila quintero,,,Payroll Outstanding,,17592297902189,Camila Quintero,,,Payroll Outstanding,, +0,17592240746646,Erick Cardenas,erick cardenas,cardenas,,,Tips Payable,,17592284030661,Cardenas,235 E Julian St,San Jose,Food Cost,4,TRUE +0,17592284030661,Cardenas,cardenas,cardenas,235 E Julian St,San Jose,Food Cost,4,17592284030661,Cardenas,235 E Julian St,San Jose,Food Cost,4,TRUE +0,17592234409790,Guadalupe Cardenas,guadalupe cardenas,cardenas,3951 Seven Trees Blvd.,San Jose,Building Cleaning & Maintenance,,17592284030661,Cardenas,235 E Julian St,San Jose,Food Cost,4,TRUE +0,17592238835131,Jeanette Cardenas,jeanette cardenas,cardenas,,,Tips Payable,,17592284030661,Cardenas,235 E Julian St,San Jose,Food Cost,4,TRUE +1,17592240234340,Carlos Gomez,carlos gomez,carlos gomez,1761 11th Ave,Olivehurst,Payroll Outstanding,12,17592240234340,Carlos Gomez,1761 11th Ave,Olivehurst,Payroll Outstanding,12, +1,17592308859540,Carlos Gomez Castillo,carlos gomez castillo,carlos gomez,,,Payroll Outstanding,,17592240234340,Carlos Gomez,1761 11th Ave,Olivehurst,Payroll Outstanding,12, +0,17592211417857,Carlos Lopez,carlos lopez,carlos lopez,,,Employee Training,,17592318793454,CARLOS LOPEZ - TIPS,,,Tips Payable,, +0,17592318793454,CARLOS LOPEZ - TIPS,carlos lopez tips,carlos lopez,,,Tips Payable,,17592318793454,CARLOS LOPEZ - TIPS,,,Tips Payable,, +1,17592253201441,Carlos Perez,carlos perez,carlos perez,,,Payroll Outstanding,,17592253201441,Carlos Perez,,,Payroll Outstanding,,TRUE +1,17592246284880,Juan Carlos Perez,juan carlos perez,carlos perez,,,Payroll Outstanding,,17592253201441,Carlos Perez,,,Payroll Outstanding,,TRUE +0,17592307275846,Carlos Roberto Rodriguez Torres,carlos roberto rodriguez torres,carlos roberto rodriguez torres,,,Payroll Outstanding,,17592307275846,Carlos Roberto Rodriguez Torres,,,Payroll Outstanding,,TRUE +0,17592287212536,Carlos Rodriguez,carlos rodriguez,carlos roberto rodriguez torres,,,Payroll Outstanding,,17592307275846,Carlos Roberto Rodriguez Torres,,,Payroll Outstanding,,TRUE +1,17592232954207,Carsyn Henry - Payroll,carsyn henry payroll,carsyn henry,,,Payroll Outstanding,,17592232940242,Carsyn Henry,,,Tips Payable,,TRUE +1,17592232940242,Carsyn Henry,carsyn henry,carsyn henry,,,Tips Payable,,17592232940242,Carsyn Henry,,,Tips Payable,,TRUE +0,17592233086187,Daily Cash Out Sheet,daily cash out sheet,cash,,,Food Cost,1,17592236928831,CASH,,,Tips Payable,4,TRUE +0,17592312998288,Petty cash,petty cash,cash,,,Furniture & Fixtures,,17592236928831,CASH,,,Tips Payable,4,TRUE +0,17592317639035,Employee Cash Tips,employee cash tips,cash,,,Cash On Hand,,17592236928831,CASH,,,Tips Payable,4,TRUE +0,17592235852823,Justin Cash,justin cash,cash,302 Toyon Ave #128,San Jose,Building Cleaning & Maintenance,,17592236928831,CASH,,,Tips Payable,4,TRUE +0,17592192127250,Cash n carry,cash n carry,cash,,,Food Cost,47,17592236928831,CASH,,,Tips Payable,4,TRUE +0,17592186140402,CASH,cash,cash,,,Cash On Hand,26,17592236928831,CASH,,,Tips Payable,4,TRUE +0,17592236928831,CASH,cash,cash,,,Tips Payable,4,17592236928831,CASH,,,Tips Payable,4,TRUE +1,17592255467598,C&C Produce,cc produce,cc produce,PO Box 7466,North Kansas City,Produce Costs,1,17592255467598,C&C Produce,PO Box 7466,North Kansas City,Produce Costs,1, +1,17592233074032,C&L Produce,cl produce,cc produce,440 Franklin Street,Oakland,Produce Costs,936,17592255467598,C&C Produce,PO Box 7466,North Kansas City,Produce Costs,1, +0,17592259700961,CCP Toast,ccp toast,ccp toast,,,CCP,4,17592259700961,CCP Toast,,,CCP,4,TRUE +0,17592236479615,Toast,toast,ccp toast,,,POS System Equipment Rental,,17592259700961,CCP Toast,,,CCP,4,TRUE +1,17592301112622,Central Surfaces Kansas City,central surfaces kansas city,central surfaces,3199 Mercier Street,Kansas City,Leasehold Improvements,,17592252076976,Central Surfaces,3199 Mercier Street,Kansas City,Leasehold Improvements,, +1,17592252076976,Central Surfaces,central surfaces,central surfaces,3199 Mercier Street,Kansas City,Leasehold Improvements,,17592252076976,Central Surfaces,3199 Mercier Street,Kansas City,Leasehold Improvements,, +0,17592192240750,Chanbers & Chambers,chambers chambers,chambers chambers,,,Wine Cost,,17592192240750,Chanbers & Chambers,,,Wine Cost,, +0,17592271341311,Chambers Chambers - Naschmarkt,chambers chambers naschmarkt,chambers chambers,511 Alexis Court,Napa,Wine Cost,,17592192240750,Chanbers & Chambers,,,Wine Cost,, +1,17592239644566,Chef's Choice,chefs choice,chefs choice,,,Produce Costs,,17592239644566,Chef's Choice,,,Produce Costs,,TRUE +1,17592253861752,Chef's Choice Produce Co.,chefs choice produce,chefs choice,PO BOX 238,SANTA CLARA,Produce Costs,,17592239644566,Chef's Choice,,,Produce Costs,,TRUE +1,17592186045490,Chef's Choice Produce Co,chefs choice produce,chefs choice,2170 Martin Avenue,Santa Clara,Food Cost,4,17592239644566,Chef's Choice,,,Produce Costs,,TRUE +1,17592275428597,Chefs Choice - Naschmarkt,chefs choice naschmarkt,chefs choice,445 Nelo St,Santa Clara,Produce Costs,,17592239644566,Chef's Choice,,,Produce Costs,,TRUE +0,17592221159428,The Chefs Warehouse,chefs warehouse,chefs warehouse,"1250 W. Whipple Road,",Union City,Food Cost,2,17592221159428,The Chefs Warehouse,"1250 W. Whipple Road,",Union City,Food Cost,2,TRUE +0,17592301292539,"The Chefs Warehouse West Coast, LLC",the chefs warehouse west coast,chefs warehouse,P.O. Box 103172,Pasadena,Food Cost,,17592221159428,The Chefs Warehouse,"1250 W. Whipple Road,",Union City,Food Cost,2,TRUE +0,17592253861893,The Chef's Warehouse West,chefs warehouse west,chefs warehouse,,,Food Cost,,17592221159428,The Chefs Warehouse,"1250 W. Whipple Road,",Union City,Food Cost,2,TRUE +0,17592186045494,Chef's Warehouse,chefs warehouse,chefs warehouse,1250 Whipple Rd.,Union City,Food Cost,,17592221159428,The Chefs Warehouse,"1250 W. Whipple Road,",Union City,Food Cost,2,TRUE +0,17592253861897,Chefs Warehouse - Naschmarkt,chefs warehouse naschmarkt,chefs warehouse,P.O. BOX 601154,PASADENA,Food Cost,,17592221159428,The Chefs Warehouse,"1250 W. Whipple Road,",Union City,Food Cost,2,TRUE +1,17592285492156,CIG,cig,cig,PO BOX 630610,Cincinnati,Other Insurance,,17592285492156,CIG,PO BOX 630610,Cincinnati,Other Insurance,, +1,17592279448864,CIG INSURANCE,cig insurance,cig,PO BOX 630610,Cincinnati,Other Insurance,,17592285492156,CIG,PO BOX 630610,Cincinnati,Other Insurance,, +0,17592245525033,Cintas Fire Protection,cintas fire protection,cintas,PO Box 636525,Cincinnati,Building Cleaning & Maintenance,2,17592250212199,Cintas,P.O. Box 29059,Phoenix,Cleaning Supplies,353,TRUE +0,17592250212199,Cintas,cintas,cintas,P.O. Box 29059,Phoenix,Cleaning Supplies,353,17592250212199,Cintas,P.O. Box 29059,Phoenix,Cleaning Supplies,353,TRUE +1,17592217444721,Cirillo Morales,cirillo morales,cirillo morales,,,Tips Payable,,17592217444714,Cirillo Morales,,,Tips Payable,, +1,17592217444714,Cirillo Morales,cirillo morales,cirillo morales,,,Tips Payable,,17592217444714,Cirillo Morales,,,Tips Payable,, +1,17592226224649,Cirilo Morales,cirilo morales,cirillo morales,,,Tips Payable,,17592217444714,Cirillo Morales,,,Tips Payable,, +0,17592235310938,City of Fremont Revenue Division,city of fremont revenue division,city fremont,39550 Liberty Street,Fremont,Business License,6,17592318025811,City of Fremont,2000 Stevenson Blvd,Fremont,Security System/ Alarms,,TRUE +0,17592250897022,City of Fremont Citation Processing Center,city of fremont citation processing center,city fremont,PO BOX 10479,Newport Beach,Parking,4,17592318025811,City of Fremont,2000 Stevenson Blvd,Fremont,Security System/ Alarms,,TRUE +1,17592317493788,City of Fremont,city fremont,city fremont,2000 Stevenson Blvd P.O.BOX 5007,Fremont,Security System/ Alarms,,17592317493788,City of Fremont,2000 Stevenson Blvd P.O.BOX 5007,Fremont,Security System/ Alarms,, +1,17592318025811,City of Fremont,city fremont,city fremont,2000 Stevenson Blvd,Fremont,Security System/ Alarms,,17592317493788,City of Fremont,2000 Stevenson Blvd P.O.BOX 5007,Fremont,Security System/ Alarms,, +0,17592303850384,City of Irving Inspections Department,city of irving inspections department,city irving,P.O. Box 152288,Irving,Health Permit,,17592303850384,City of Irving Inspections Department,P.O. Box 152288,Irving,Health Permit,, +0,17592303850045,City of Irving,city irving,city irving,,,Other Licenses,,17592303850384,City of Irving Inspections Department,P.O. Box 152288,Irving,Health Permit,, +1,17592313837893,City of Fullerton,fullerton city,city of fullerton accounts receivable,,,Promotional or Donation Meal Comps,,17592313837893,City of Fullerton,,,Promotional or Donation Meal Comps,, +1,17592255019861,CITY OF FULLERTON- ACCOUNTS RECEIVABLE,city of fullerton accounts receivable,city of fullerton accounts receivable,,,Water and Sewage,,17592313837893,City of Fullerton,,,Promotional or Donation Meal Comps,, +0,17592186046318,City Of Santa Clara-Monroe,city of santa clara monroe,city of santa clara monroe,PO Box 49067,San Jose,Electric,,17592186046318,City Of Santa Clara-Monroe,PO Box 49067,San Jose,Electric,,TRUE +0,17592191450791,City Of Santa Clara,city santa clara,city of santa clara monroe,1500 Warburton Ave,Santa Clara,Local Taxes,,17592186046318,City Of Santa Clara-Monroe,PO Box 49067,San Jose,Electric,,TRUE +1,17592299936205,City of Visalia Business Tax Division,city of visalia business tax division,city of visalia business tax division,PO Box 4002,Visalia,Business License,,17592299936205,City of Visalia Business Tax Division,PO Box 4002,Visalia,Business License,, +1,17592293324794,City of Visalia,city visalia,city of visalia business tax division,PO BOX 4002,Visalia,Utilities,2,17592299936205,City of Visalia Business Tax Division,PO Box 4002,Visalia,Business License,, +0,17592314380043,CL Smith Elementry,cl smith elementary,cl smith elementary,1375 Balboa St,San Luis Obispo,Charitable Contributions,,17592314380043,CL Smith Elementry,1375 Balboa St,San Luis Obispo,Charitable Contributions,, +0,17592314379901,CL Smith Elementry,cl smith elementary,cl smith elementary,1375 Balboa St,San Luis Obispo,Charitable Contributions,,17592314380043,CL Smith Elementry,1375 Balboa St,San Luis Obispo,Charitable Contributions,, +0,17592296567661,Emma C. Smith Elementary School,emma c smith elementary school,cl smith elementary,,,Promotional or Donation Meal Comps,,17592314380043,CL Smith Elementry,1375 Balboa St,San Luis Obispo,Charitable Contributions,,TRUE +1,17592234599031,Clarke Pest Control,clarke pest control,clark pest control,,,Pest Control,,17592186852282,Clark Pest Control,199 TOPAZ St,Milpitas,Building Cleaning & Maintenance,, +1,17592186852282,Clark Pest Control,clark pest control,clark pest control,199 TOPAZ St,Milpitas,Building Cleaning & Maintenance,,17592186852282,Clark Pest Control,199 TOPAZ St,Milpitas,Building Cleaning & Maintenance,, +0,17592242601511,Contra Costa County Clerk Recorder,contra costa county clerk recorder,clerk recorder,555 Escobar Street,Martinez,Local Taxes,,17592226294335,CLERK RECORDER,,,Business License,,TRUE +0,17592226294335,CLERK RECORDER,clerk recorder,clerk recorder,,,Business License,,17592226294335,CLERK RECORDER,,,Business License,,TRUE +1,17592233952641,P&R Paper,paper,coast paper supply,,,Kitchen Supplies,,17592233240211,Coast Paper & Supply inc,,,FOH Supplies - Consumable,,TRUE +1,17592233240211,Coast Paper & Supply inc,coast paper supply,coast paper supply,,,FOH Supplies - Consumable,,17592233240211,Coast Paper & Supply inc,,,FOH Supplies - Consumable,,TRUE +0,17592204594824,"Reyes Coca Cola Bottling, LLC",reyes coca cola bottling,coca cola,PO Box: 740214,Los Angeles,Soft Beverage Cost,,17592186852294,COCA-COLA,,LOS ANGELES,Soft Beverage Cost,,TRUE +0,17592186852294,COCA-COLA,coca cola,coca cola,,LOS ANGELES,Soft Beverage Cost,,17592186852294,COCA-COLA,,LOS ANGELES,Soft Beverage Cost,,TRUE +1,17592259362844,"Commerce Resources Group, Inc.",commerce resources group,commerce resources group,Manteca,,Paperware Cost,,17592259362844,"Commerce Resources Group, Inc.",Manteca,,Paperware Cost,, +1,17592250351839,CRI Commerce Resource Group Inc,cri commerce resource group,commerce resources group,PO BOX 1895,Manteca,FOH Supplies - Reuseable,,17592259362844,"Commerce Resources Group, Inc.",Manteca,,Paperware Cost,,TRUE +1,17592259348222,"Commerce Resources Group, Inc",commerce resources group,commerce resources group,,,Paperware Cost,,17592259362844,"Commerce Resources Group, Inc.",Manteca,,Paperware Cost,, +0,17592304707208,Los Angeles County,los angeles county,county los angeles public health,,,Health Permit,,17592235449552,County Of Los Angeles Public Health,,,Health Permit,, +0,17592235449552,County Of Los Angeles Public Health,county los angeles public health,county los angeles public health,,,Health Permit,,17592235449552,County Of Los Angeles Public Health,,,Health Permit,, +1,17592243743089,City of Daly City,daly city,daly city,333 90th Street,Daly City,Water and Sewage,,17592243743089,City of Daly City,333 90th Street,Daly City,Water and Sewage,,TRUE +1,17592256225862,"Daly City Partners I, LP",daly city partners,daly city,DEPT LA 24394,Pasadena,Rent,,17592243743089,City of Daly City,333 90th Street,Daly City,Water and Sewage,,TRUE +0,17592264262719,Danfoura Law group P.C.,danfoura law group,danfoura law,700 airport blvd,burlingame,Legal Fees,,17592264262719,Danfoura Law group P.C.,700 airport blvd,burlingame,Legal Fees,, +0,17592306738223,Danfoura Law,danfoura law,danfoura law,,,Legal Fees,,17592264262719,Danfoura Law group P.C.,700 airport blvd,burlingame,Legal Fees,, +1,17592252590438,Daniel Alberto,daniel alberto,daniel alberto,,,Payroll Outstanding,,17592252590438,Daniel Alberto,,,Payroll Outstanding,, +1,17592259139341,Daniel Alberto Calvo Garcia,daniel alberto calvo garcia,daniel alberto,,,Payroll Outstanding,,17592252590438,Daniel Alberto,,,Payroll Outstanding,, +0,17592261498978,Daniel Cruz,daniel cruz,daniel cruz,,,Legal Fees,,17592261498978,Daniel Cruz,,,Legal Fees,,TRUE +0,17592270263373,Daniel Cruz Perez,daniel cruz perez,daniel cruz,,,Tips Payable,,17592261498978,Daniel Cruz,,,Legal Fees,,TRUE +1,17592318493106,Daniel Fernandez,daniel fernandez,daniel fernandez,,,Tips Payable,,17592279069273,Daniel Hernandez,32010 Arya ct,Union city,Payroll Outstanding,, +1,17592279069273,Daniel Hernandez,daniel hernandez,daniel fernandez,32010 Arya ct,Union city,Payroll Outstanding,,17592279069273,Daniel Hernandez,32010 Arya ct,Union city,Payroll Outstanding,, +0,17592310727360,Daniel Flores Ayala,daniel flores ayala,daniel flores,,,Travel,,17592252348594,Daniel Flores,,,Payroll Outstanding,4, +0,17592252348594,Daniel Flores,daniel flores,daniel flores,,,Payroll Outstanding,4,17592252348594,Daniel Flores,,,Payroll Outstanding,4, +1,17592233392181,Daniel Gutierrez,daniel gutierrez,daniel gutierrez,,,Employee Training,,17592258935382,Daniela Gutierrez,,,Payroll Outstanding,, +1,17592258935382,Daniela Gutierrez,daniela gutierrez,daniel gutierrez,,,Payroll Outstanding,,17592258935382,Daniela Gutierrez,,,Payroll Outstanding,, +0,17592200315421,Danielle Luna,danielle luna,daniella luna,,,Tips Payable,,17592200315429,Daniella Luna,,,Tips Payable,, +0,17592200315429,Daniella Luna,daniella luna,daniella luna,,,Tips Payable,,17592200315429,Daniella Luna,,,Tips Payable,, +1,17592249780472,Danny's Appliances,dannys appliances,danny appliance,,,Repairs to Equipment,,17592274221717,Dannys Appliances,411 lewis .rd,san jose,Repairs to Equipment,, +1,17592186852318,DANNY APPLIANCE,danny appliance,danny appliance,411 LEWI RD,SAN JOSE,Repairs to Equipment,,17592274221717,Dannys Appliances,411 lewis .rd,san jose,Repairs to Equipment,, +1,17592190065287,Danny's Appliances,dannys appliances,danny appliance,,,Building Cleaning & Maintenance,,17592274221717,Dannys Appliances,411 lewis .rd,san jose,Repairs to Equipment,, +1,17592274221717,Dannys Appliances,dannys appliances,danny appliance,411 lewis .rd,san jose,Repairs to Equipment,,17592274221717,Dannys Appliances,411 lewis .rd,san jose,Repairs to Equipment,, +1,17592249780823,Danny's Appliances,dannys appliances,danny appliance,411 LEWI RD,SAN JOSE,Repairs to Equipment,,17592274221717,Dannys Appliances,411 lewis .rd,san jose,Repairs to Equipment,, +0,17592266897286,DARLIN ANTUNEZ,darlin antunez,darlin antunez,4838 BERNAL AVE B,PLEASANTON,Employee Related Expenses,,17592266897286,DARLIN ANTUNEZ,4838 BERNAL AVE B,PLEASANTON,Employee Related Expenses,, +0,17592275946937,Darlin Garido Antunez,darlin garido antunez,darlin antunez,,,Tips Payable,,17592266897286,DARLIN ANTUNEZ,4838 BERNAL AVE B,PLEASANTON,Employee Related Expenses,, +1,17592186045834,"De Anza Water Conditioning, Inc",de anza water conditioning,de anza water conditioning,355 E McGlincy Ln,Campbell,Water and Sewage,,17592186045834,"De Anza Water Conditioning, Inc",355 E McGlincy Ln,Campbell,Water and Sewage,, +1,17592232818738,DeAnza Water Conditioning Inc,deanza water conditioning,de anza water conditioning,355 E Mcglincy Ln Ste H,Campbell,Water and Sewage,,17592186045834,"De Anza Water Conditioning, Inc",355 E McGlincy Ln,Campbell,Water and Sewage,, +0,17592235680184,The Delozier Real Property Trust,delozier real property trust,delozier real property trust,,,Rent,,17592235680184,The Delozier Real Property Trust,,,Rent,,TRUE +0,17592234475532,Delozier Trust,delozier trust,delozier real property trust,,,Rent,,17592235680184,The Delozier Real Property Trust,,,Rent,,TRUE +1,17592312695055,Pacific Beverage,pacific beverage,delta pacific beverage,PO Box 5834,Santa Maria,Draft Beer Cost,,17592206028387,Delta Pacific Beverage Co,2332 Station Dr.,Stockton,Beer Cost,,TRUE +1,17592206028387,Delta Pacific Beverage Co,delta pacific beverage,delta pacific beverage,2332 Station Dr.,Stockton,Beer Cost,,17592206028387,Delta Pacific Beverage Co,2332 Station Dr.,Stockton,Beer Cost,,TRUE +0,17592235508109,Dimitri Arois,dimitri arois,dimitri arois,,,Payroll Outstanding,,17592235508109,Dimitri Arois,,,Payroll Outstanding,, +0,17592247094394,Dimitri Aronis,dimitri aronis,dimitri arois,,,Payroll Outstanding,,17592235508109,Dimitri Arois,,,Payroll Outstanding,, +1,17592234244963,Dionisio Sierra,dionisio sierra,dionisio sierra,27555 La Porte Ave,Hayward,Payroll Outstanding,,17592234244963,Dionisio Sierra,27555 La Porte Ave,Hayward,Payroll Outstanding,, +1,17592236562739,Dionisio Sierra Manzanilla,dionisio sierra manzanilla,dionisio sierra,,,Payroll Outstanding,2,17592234244963,Dionisio Sierra,27555 La Porte Ave,Hayward,Payroll Outstanding,, +0,17592186852326,DMV,dmv,dmv,PO BOX 932325,SACRAMENTO,Auto and Truck Expenses,2,17592186852326,DMV,PO BOX 932325,SACRAMENTO,Auto and Truck Expenses,2, +0,17592307352416,DMV RENEWAL,dmv renewal,dmv,,,Auto and Truck Expenses,,17592186852326,DMV,PO BOX 932325,SACRAMENTO,Auto and Truck Expenses,2, +1,17592288017131,Lone Tree Plaza,lone tree plaza,dsrg lone tree plaza,P.O Box 664001,Dallas,Rent,,17592288017131,Lone Tree Plaza,P.O Box 664001,Dallas,Rent,, +1,17592247320647,Dsrg Lone Tree Plaza,dsrg lone tree plaza,dsrg lone tree plaza,,,Rent,,17592288017131,Lone Tree Plaza,P.O Box 664001,Dallas,Rent,, +0,17592318556995,E P & G Properties No. 5 LLC,e properties number five,e p g properties number five,LockBox Service #399322,Los Angeles,Rent,,17592318556992,E.P & G Properties No. 5 LLC,LockBox Service #399322,Los Angeles,Rent,, +0,17592318556992,E.P & G Properties No. 5 LLC,e p g properties number five,e p g properties number five,LockBox Service #399322,Los Angeles,Rent,,17592318556992,E.P & G Properties No. 5 LLC,LockBox Service #399322,Los Angeles,Rent,, +1,17592243463380,Eatopia,eatopia,eatopia,,,Food Cost,,17592247655451,EATOPIA FOODS,1098 SAN MATEO AVE,South San Francisco,Food Cost,, +1,17592247655451,EATOPIA FOODS,eatopia foods,eatopia,1098 SAN MATEO AVE,South San Francisco,Food Cost,,17592247655451,EATOPIA FOODS,1098 SAN MATEO AVE,South San Francisco,Food Cost,, +0,17592313580423,EDGARD VASQUEZ,edgard vasquez,edgar vasquez,,,Payroll Outstanding,,17592313580423,EDGARD VASQUEZ,,,Payroll Outstanding,, +0,17592244131863,Edgar Vasquez,edgar vasquez,edgar vasquez,1428 Glena Ct,San Jose,Employee Gifts,,17592313580423,EDGARD VASQUEZ,,,Payroll Outstanding,, +1,17592312637381,Edwin Jocop,edwin jocop,edwin cristofer jocop,104 redwood avenue,redwood city,Kitchen Equipment Rental,,17592274975677,Edwin Cristofer Jocop,,,Payroll Outstanding,, +1,17592274975677,Edwin Cristofer Jocop,edwin cristofer jocop,edwin cristofer jocop,,,Payroll Outstanding,,17592274975677,Edwin Cristofer Jocop,,,Payroll Outstanding,, +0,17592246002765,Elizabeth Avlla,elizabeth avilla,elizabeth avila,,,Payroll Outstanding,,17592251521607,Elizabeth Avila,,,Payroll Outstanding,, +0,17592251521607,Elizabeth Avila,elizabeth avila,elizabeth avila,,,Payroll Outstanding,,17592251521607,Elizabeth Avila,,,Payroll Outstanding,, +1,17592238841975,Elli Nelson,elli nelson,elli nelson,,,Tips Payable,,17592238841975,Elli Nelson,,,Tips Payable,, +1,17592240196147,Ellie Nelson,ellie nelson,elli nelson,,,Tips Payable,,17592238841975,Elli Nelson,,,Tips Payable,, +1,17592239723556,Ellie Nelson,ellie nelson,elli nelson,,,Tips Payable,,17592238841975,Elli Nelson,,,Tips Payable,, +0,17592244608894,Emily Bown,emily bown,emily bown,,,Payroll Outstanding,,17592244608894,Emily Bown,,,Payroll Outstanding,, +0,17592245406298,Emily Brown,emily brown,emily bown,,,Payroll Outstanding,,17592244608894,Emily Bown,,,Payroll Outstanding,, +1,17592245019167,Emmanuel Hernandez,emmanuel hernandez,emmanuel hernandez,,,Tips Payable,,17592245019167,Emmanuel Hernandez,,,Tips Payable,, +1,17592222375313,Manuel Hernandez,manuel hernandez,emmanuel hernandez,,,Tips Payable,,17592245019167,Emmanuel Hernandez,,,Tips Payable,, +0,17592186046097,Enes Janitorial Service,enes janitorial service,enes janitorial service,5655 Silver Creek Valley Red. #5359,San Jose,Building Cleaning & Maintenance,,17592186046097,Enes Janitorial Service,5655 Silver Creek Valley Red. #5359,San Jose,Building Cleaning & Maintenance,,TRUE +0,17592246944179,M&J Janitorial Service,mj janitorial service,enes janitorial service,2215 E 29th st,Oakland,Contract Labor,,17592186046097,Enes Janitorial Service,5655 Silver Creek Valley Red. #5359,San Jose,Building Cleaning & Maintenance,,TRUE +1,17592318565624,Eric Barrios,eric barrios,eric barrios,,,Promotional or Donation Meal Comps,,17592240397803,Erick Barrios,,,Tips Payable,, +1,17592240397803,Erick Barrios,erick barrios,eric barrios,,,Tips Payable,,17592240397803,Erick Barrios,,,Tips Payable,, +0,17592269000506,Esteban Parra Morales,esteban parra morales,estaban parra morales,,,Payroll Outstanding,,17592283355908,Estaban Parra Morales,,,Payroll Outstanding,, +0,17592283355908,Estaban Parra Morales,estaban parra morales,estaban parra morales,,,Payroll Outstanding,,17592283355908,Estaban Parra Morales,,,Payroll Outstanding,, +1,17592261634197,Kamen Estate Wines,kamen estate wines,estate wines,P.O. Box 70009,Point Richmond,Wine Cost,,17592250460757,ESTATE WINES LTD,,,Wine Cost,,TRUE +1,17592250460757,ESTATE WINES LTD,estate wines,estate wines,,,Wine Cost,,17592250460757,ESTATE WINES LTD,,,Wine Cost,,TRUE +0,17592313445311,ESTELLA MENDEZ GOMEZ,estella mendez gomez,estela mendez gomez,,,Payroll Outstanding,,17592307595750,ESTELA MENDEZ GOMEZ,,,Payroll Outstanding,, +0,17592307595750,ESTELA MENDEZ GOMEZ,estela mendez gomez,estela mendez gomez,,,Payroll Outstanding,,17592307595750,ESTELA MENDEZ GOMEZ,,,Payroll Outstanding,, +1,17592275125919,EZ LOCKSMITH,ez locksmith,ez locksmith,,,Building Cleaning & Maintenance,,17592275125919,EZ LOCKSMITH,,,Building Cleaning & Maintenance,, +1,17592277305541,EZ Locksmith Services,ez locksmith services,ez locksmith,,,Repairs to Building,,17592275125919,EZ LOCKSMITH,,,Building Cleaning & Maintenance,, +0,17592303494243,F,f,f,,,Tips Payable,,17592303494243,F,,,Tips Payable,,TRUE +0,17592276799413,Michael F,michael f,f,,,Repairs to Equipment,,17592303494243,F,,,Tips Payable,,TRUE +1,17592294784754,Farmers Insurance Bravo,farmers insurance bravo,farmers insurance,635 Mariners Island Blvd,San Mateo,Liability Insurance,,17592187880299,Farmers Insurance,1405 South Bascom Ave.,San Jose,Liability Insurance,1,TRUE +1,17592187880299,Farmers Insurance,farmers insurance,farmers insurance,1405 South Bascom Ave.,San Jose,Liability Insurance,1,17592187880299,Farmers Insurance,1405 South Bascom Ave.,San Jose,Liability Insurance,1,TRUE +0,17592187698543,Shield Fire & Safety Solutions Inc.,shield fire safety solutions,fire shield,909 Marina Village Pkwy #681,Alameda,Building Cleaning & Maintenance,,17592259569785,Fire Shield,,,Building Cleaning & Maintenance,,TRUE +0,17592259569785,Fire Shield,fire shield,fire shield,,,Building Cleaning & Maintenance,,17592259569785,Fire Shield,,,Building Cleaning & Maintenance,,TRUE +0,17592186852350,FIRESHIELD,fireshield,fire shield,7450 DOWDY STREET,GILROY,Repairs to Equipment,4,17592259569785,Fire Shield,,,Building Cleaning & Maintenance,,TRUE +1,17592234423930,R P restaurant services,restaurant services,five star restaurant service,2150 Monterey hwy spc93,san jose,Kitchen Supplies,,17592308886573,Five Star Restaurant Service,P.O Box 23834,San Jose,Repairs to Equipment,,TRUE +0,17592236100124,FiveStar Restaurant Services,fivestar restaurant services,five star restaurant service,5586 Lean Ave,San Jose,Service or Pass Through Costs,,17592236100124,FiveStar Restaurant Services,5586 Lean Ave,San Jose,Service or Pass Through Costs,, +1,17592308886573,Five Star Restaurant Service,five star restaurant service,five star restaurant service,P.O Box 23834,San Jose,Repairs to Equipment,,17592308886573,Five Star Restaurant Service,P.O Box 23834,San Jose,Repairs to Equipment,,TRUE +0,17592236803730,Five Star Restaurant Services,five star restaurant services,five star restaurant service,5586 Lean Ave,San Jose,Repairs to Building,,17592236100124,FiveStar Restaurant Services,5586 Lean Ave,San Jose,Service or Pass Through Costs,, +0,17592307425396,5 Star Restaurant Service,five star restaurant service,five star restaurant service,,,Building Cleaning & Maintenance,,17592236100124,FiveStar Restaurant Services,5586 Lean Ave,San Jose,Service or Pass Through Costs,, +1,17592224882576,Frank Lin,frank lin,frank lin,2455 Huntington Dr.,Fairfield,Alcohol Cost,,17592224882576,Frank Lin,2455 Huntington Dr.,Fairfield,Alcohol Cost,, +1,17592226057372,FRANK-LIN Distillers Products Ltd,frank lin distillers products,frank lin,2455 Huntington Dr,Fairfield,Liquor Cost,,17592224882576,Frank Lin,2455 Huntington Dr.,Fairfield,Alcohol Cost,, +0,17592309706472,Frido,frido,frido,,,Tips Payable,,17592309706474,frido vasquez,,,Tips Payable,, +0,17592309706474,frido vasquez,frido vasquez,frido,,,Tips Payable,,17592309706474,frido vasquez,,,Tips Payable,, +1,17592265621467,Vargas Refrigeration,vargas refrigeration,gas refrigeration,,,Equipment,1,17592293638993,Gaas Refrigeration Inc,P.O. Box 4603,Bryan,Repairs to Equipment,2,TRUE +1,17592293638993,Gaas Refrigeration Inc,gas refrigeration,gas refrigeration,P.O. Box 4603,Bryan,Repairs to Equipment,2,17592293638993,Gaas Refrigeration Inc,P.O. Box 4603,Bryan,Repairs to Equipment,2,TRUE +0,17592317053627,Geber Garcia,geber garcia,geber garcia,,,Payroll Outstanding,,17592317053627,Geber Garcia,,,Payroll Outstanding,, +0,17592299946385,Gerber Garcia,gerber garcia,geber garcia,,,Payroll Outstanding,,17592317053627,Geber Garcia,,,Payroll Outstanding,, +1,17592236367817,Georgina Fakoukaki,georgina fakoukaki,georgina fakoukaki,,,Tips Payable,,17592236367817,Georgina Fakoukaki,,,Tips Payable,, +1,17592236086721,Georgina Faoukaki,georgina faoukaki,georgina fakoukaki,,,Payroll Outstanding,,17592236367817,Georgina Fakoukaki,,,Tips Payable,, +0,17592238939473,THE GOOD NEWS,good news,good news,1211 WATER STREET,SANTA CRUZ,Kitchen Utensils and Smallwares,,17592238939473,THE GOOD NEWS,1211 WATER STREET,SANTA CRUZ,Kitchen Utensils and Smallwares,, +0,17592186045846,Good News Restaurant Supply,good news restaurant supply,good news,1211 Water Street,Santa Cruz,Tableware,,17592238939473,THE GOOD NEWS,1211 WATER STREET,SANTA CRUZ,Kitchen Utensils and Smallwares,, +0,17592235235223,Good news wood salvation,good news wood salvage,good news,8220 Monterey Rd 181,coyote,Construction in Progress,,17592238939473,THE GOOD NEWS,1211 WATER STREET,SANTA CRUZ,Kitchen Utensils and Smallwares,,TRUE +1,17592232602371,THE GOOD STUFF DISTRIBUTON,good stuff distribution,good stuff distribution,,,Produce Costs,,17592232602371,THE GOOD STUFF DISTRIBUTON,,,Produce Costs,, +1,17592278022243,good stuff distributor,goodstuff distributor,good stuff distribution,,,Food Cost,,17592232602371,THE GOOD STUFF DISTRIBUTON,,,Produce Costs,, +0,17592258682989,Grease Trap Cleaners and Oil Collectors,grease trap cleaners oil collectors,grease trap cleaners,,,Building Cleaning & Maintenance,,17592247849649,Grease Trap Cleaners,722 Katlin Ct,Tracy,Service or Pass Through Costs,, +0,17592247849649,Grease Trap Cleaners,grease trap cleaners,grease trap cleaners,722 Katlin Ct,Tracy,Service or Pass Through Costs,,17592247849649,Grease Trap Cleaners,722 Katlin Ct,Tracy,Service or Pass Through Costs,, +0,17592254446976,Grease Trap Cleaners & Oil Collectors,grease trap cleaners oil collectors,grease trap cleaners,722 Katlin Court,Tracy,Construction in Progress,,17592247849649,Grease Trap Cleaners,722 Katlin Ct,Tracy,Service or Pass Through Costs,, +0,17592250372303,Grease Trap Cleaners LLC,grease trap cleaners,grease trap cleaners,30042 Mission Blvd,Hayward,Service or Pass Through Costs,,17592247849649,Grease Trap Cleaners,722 Katlin Ct,Tracy,Service or Pass Through Costs,,TRUE +1,17592186046344,Gregorio Cornejo,gregorio cornejo,gregorio cornejo,,,Tips Payable,,17592186046296,Gregorio Cornego,654 Main Street,Santa Clara,Tips Payable,, +1,17592186046296,Gregorio Cornego,gregorio cornengo,gregorio cornejo,654 Main Street,Santa Clara,Tips Payable,,17592186046296,Gregorio Cornego,654 Main Street,Santa Clara,Tips Payable,, +0,17592270242201,Istrael Gutierrez,israel gutierrez,guitierrez israel,,,Employee Training,,17592244541594,Guitierrez Israel,,,Employee Related Expenses,, +0,17592244541594,Guitierrez Israel,guitierrez israel,guitierrez israel,,,Employee Related Expenses,,17592244541594,Guitierrez Israel,,,Employee Related Expenses,, +0,17592235512083,Israel Gutierrez,israel gutierrez,guitierrez israel,,,Employee Training,,17592244541594,Guitierrez Israel,,,Employee Related Expenses,, +1,17592186046128,Harvest Small Business Finance,harvest small business finance,harvest small business finance,24422 Avenida De La Carlota,Laguna Hills,Rent,,17592186046093,Harvest Small Business Finance,24422 Avenida De La Carlota Ste. 232,Laguna Hills,Rent,, +1,17592186046130,Harvest Small Business Finance,harvest small business finance,harvest small business finance,24422 Avenida De La Carlota,Laguna Hills,Rent,,17592186046093,Harvest Small Business Finance,24422 Avenida De La Carlota Ste. 232,Laguna Hills,Rent,, +1,17592186046093,Harvest Small Business Finance,harvest small business finance,harvest small business finance,24422 Avenida De La Carlota Ste. 232,Laguna Hills,Rent,,17592186046093,Harvest Small Business Finance,24422 Avenida De La Carlota Ste. 232,Laguna Hills,Rent,, +1,17592235811164,SMLLA,small,harvest small business finance,Sponsorship C/O SMLLA PO BOX 5603,San Mateo,Promotional or Donation Meal Comps,,17592186046093,Harvest Small Business Finance,24422 Avenida De La Carlota Ste. 232,Laguna Hills,Rent,,TRUE +0,17592254511342,Hayley Hulsey,hayley hulsey,hayley hulsey,,,Payroll Outstanding,,17592254511342,Hayley Hulsey,,,Payroll Outstanding,, +0,17592254532347,Hayley Hulsey Final Check,hayley hulsey final check,hayley hulsey,,,Payroll Outstanding,,17592254511342,Hayley Hulsey,,,Payroll Outstanding,, +1,17592247320996,Hernandez Quintaro Miguel,hernandez quintaro miguel,hernandez quintaro miguel,,,Leasehold Improvements,,17592247320996,Hernandez Quintaro Miguel,,,Leasehold Improvements,, +1,17592247320874,Miguel Hernandez,miguel hernandez,hernandez quintaro miguel,,,Leasehold Improvements,,17592247320996,Hernandez Quintaro Miguel,,,Leasehold Improvements,, +0,17592234769451,Humberto Martinez Esquivel,humberto martinez esquivel,humberto martinez,29596 Diton St Apt#4,Hayward,Payroll Outstanding,,17592234769451,Humberto Martinez Esquivel,29596 Diton St Apt#4,Hayward,Payroll Outstanding,, +0,17592298432437,Humberto Martinez,humberto martinez,humberto martinez,,,Payroll Outstanding,4,17592234769451,Humberto Martinez Esquivel,29596 Diton St Apt#4,Hayward,Payroll Outstanding,, +1,17592303735396,Ulas Inc,ulas,ibrahim ulas,,,Kitchen Supplies,,17592257396044,ibrahim ulas,,,Employee Loans and Advances,,TRUE +1,17592257396044,ibrahim ulas,ibrahim ulas,ibrahim ulas,,,Employee Loans and Advances,,17592257396044,ibrahim ulas,,,Employee Loans and Advances,,TRUE +0,17592239823862,Ice Machines of Sacramento,ice machines sacramento,ice machines sacramento,,,Kitchen Equipment,20,17592239823862,Ice Machines of Sacramento,,,Kitchen Equipment,20, +0,17592242514870,Sacramento Ice,sacramento ice,ice machines sacramento,,,Kitchen Equipment Rental,16,17592239823862,Ice Machines of Sacramento,,,Kitchen Equipment,20, +1,17592317924728,Itzel Rubiales,itzel rubiales,itzel,,,Tips Payable,,17592317924728,Itzel Rubiales,,,Tips Payable,, +1,17592317924557,Itzel,itzel,itzel,,,Tips Payable,,17592317924728,Itzel Rubiales,,,Tips Payable,, +0,17592251455480,Ivan Ojendiz,ivan ojendiz,ivan ojendiz,,,Contract Cleaning,,17592251455480,Ivan Ojendiz,,,Contract Cleaning,, +0,17592276644035,IVAN OJENDIZ,ivan ojendiz,ivan ojendiz,,,Contract Cleaning,,17592251455480,Ivan Ojendiz,,,Contract Cleaning,, +0,17592276644001,iVAN OJRNDIZ,ivan ojrndiz,ivan ojendiz,,,Contract Labor,,17592251455480,Ivan Ojendiz,,,Contract Cleaning,, +1,17592258394225,Zack Rodriguez,zack rodriguez,jack rodriguez,,,Tips Payable,,17592278488416,Jack Rodriguez,,,Tips Payable,,TRUE +1,17592278488416,Jack Rodriguez,jack rodriguez,jack rodriguez,,,Tips Payable,,17592278488416,Jack Rodriguez,,,Tips Payable,,TRUE +0,17592232583757,Jacks,jacks,jacks,,,Repairs to Equipment,,17592232583755,Jacks Refrigeration,,,Repairs to Equipment,, +0,17592232583755,Jacks Refrigeration,jacks refrigeration,jacks,,,Repairs to Equipment,,17592232583755,Jacks Refrigeration,,,Repairs to Equipment,, +1,17592247890735,Jasmine Yi,jasmine yi,jasmine y1,1563 Warbler Avenue,Sunnyvale,Payroll Outstanding,,17592247890681,Jasmine Y1,1563 Warbler Avenue,Sunnyvale,Payroll Outstanding,, +1,17592247890681,Jasmine Y1,jasmine y1,jasmine y1,1563 Warbler Avenue,Sunnyvale,Payroll Outstanding,,17592247890681,Jasmine Y1,1563 Warbler Avenue,Sunnyvale,Payroll Outstanding,, +0,17592233440984,Jerry Ajlouny,jerry ajlouny,jerry ajlouny,,,Payroll Outstanding,,17592233440984,Jerry Ajlouny,,,Payroll Outstanding,,TRUE +0,17592312977635,Jerry Ajlouny - Distributions,jerry ajlouny distribution,jerry ajlouny,,,Distributions / Capital Withdrawal - 1,,17592233440984,Jerry Ajlouny,,,Payroll Outstanding,,TRUE +1,17592257886558,Jesse David Gomez,jesse david gomez,jesse david gomez,,,Tips Payable,,17592257886558,Jesse David Gomez,,,Tips Payable,, +1,17592258394335,Jesse Gomez,jesse gomez,jesse david gomez,,,Tips Payable,,17592257886558,Jesse David Gomez,,,Tips Payable,, +0,17592239135579,Jesus Hernandes,jesus hernandes,jesus hernandes,,,Payroll Outstanding,,17592239135579,Jesus Hernandes,,,Payroll Outstanding,, +0,17592313815145,JESUS HERNANDEZ,jesus hernandez,jesus hernandes,,,Tips Payable,,17592239135579,Jesus Hernandes,,,Payroll Outstanding,, +1,17592236808130,Jesus Morales,jesus morales,jesus morales,,,Payroll Outstanding,,17592236808130,Jesus Morales,,,Payroll Outstanding,, +1,17592252581574,Jesus Morales Gudiel,jesus morales gudiel,jesus morales,,,Payroll Outstanding,,17592236808130,Jesus Morales,,,Payroll Outstanding,, +0,17592222375323,Jose Martinez,jose martinez,joel martinez,,,Tips Payable,,17592308491958,Joel Martinez (KCMO),,,Payroll Outstanding,, +0,17592263822688,Jose C. Martinez,jose martinez,joel martinez,,,Tips Payable,,17592308491958,Joel Martinez (KCMO),,,Payroll Outstanding,, +0,17592308491958,Joel Martinez (KCMO),joel martinez,joel martinez,,,Payroll Outstanding,,17592308491958,Joel Martinez (KCMO),,,Payroll Outstanding,,TRUE +1,17592296158652,Joel Perez,joel perez,joel perez,600 University Oaks Blvd Apt J 108,College Station,Payroll Outstanding,4,17592296158652,Joel Perez,600 University Oaks Blvd Apt J 108,College Station,Payroll Outstanding,4, +1,17592232940188,Jose Perez,jose perez,joel perez,,,Tips Payable,,17592296158652,Joel Perez,600 University Oaks Blvd Apt J 108,College Station,Payroll Outstanding,4, +0,17592288623156,John Fanourgiakis - Distributions,john fanourgiakis distributions,john fanourgiakis,,,Distributions / Capital Withdrawal - 3,,17592303186098,John Fanourgiakis,,,Food Cost,,TRUE +0,17592303186098,John Fanourgiakis,john fanourgiakis,john fanourgiakis,,,Food Cost,,17592303186098,John Fanourgiakis,,,Food Cost,,TRUE +1,17592304584912,John T Mc Govern,john t mac govern,john t mac govern,,,Service or Pass Through Costs,,17592304584912,John T Mc Govern,,,Service or Pass Through Costs,,TRUE +1,17592298612935,Mc Govern John T,mc govern john,john t mac govern,,,Employee Related Expenses,,17592304584912,John T Mc Govern,,,Service or Pass Through Costs,, +0,17592315767592,John's Valero,johns valero,john valero,,,Late Payment Penalties,,17592315767576,John's Valero,157 Higuera St,San Luis Obispo,Misc Payments,, +0,17592315767576,John's Valero,johns valero,john valero,157 Higuera St,San Luis Obispo,Misc Payments,,17592315767576,John's Valero,157 Higuera St,San Luis Obispo,Misc Payments,, +1,17592315767610,John Valero,john valero,john valero,,,Payroll Outstanding,,17592315767610,John Valero,,,Payroll Outstanding,,TRUE +0,17592236367835,Jorge Rodriguez,jorge rodriguez,jorge rodriguez,,,Tips Payable,,17592237061697,Jorge Rodriguez,,,Payroll Outstanding,, +0,17592237061697,Jorge Rodriguez,jorge rodriguez,jorge rodriguez,,,Payroll Outstanding,,17592237061697,Jorge Rodriguez,,,Payroll Outstanding,, +0,17592308520821,Jorge Rodriguez LA MIRADA,jorge rodriguez la mirada,jorge rodriguez,,,Payroll Outstanding,,17592237061697,Jorge Rodriguez,,,Payroll Outstanding,, +1,17592235114596,Jorge Romero,jorge romero,jorge romero,,,Leasehold Improvements,4,17592235114596,Jorge Romero,,,Leasehold Improvements,4,TRUE +1,17592254281458,Jose Jorge Romero Rivera,jose jorge romero rivera,jorge romero,,,Payroll Outstanding,,17592235114596,Jorge Romero,,,Leasehold Improvements,4,TRUE +0,17592318560169,Jorge Sanchez Alonso,jorge sanchez alonso,jorge sanchez,,,Payroll Outstanding,,17592239009694,JORGE SANCHEZ,1584 UNION AVE,SAN JOSE,Employee Gifts,, +0,17592305429718,Jorge Sanchez Alonso,jorge sanchez alonso,jorge sanchez,,,Payroll Outstanding,,17592239009694,JORGE SANCHEZ,1584 UNION AVE,SAN JOSE,Employee Gifts,, +0,17592239009694,JORGE SANCHEZ,jorge sanchez,jorge sanchez,1584 UNION AVE,SAN JOSE,Employee Gifts,,17592239009694,JORGE SANCHEZ,1584 UNION AVE,SAN JOSE,Employee Gifts,,TRUE +1,17592287098535,Jose Sandoval Alvarado,jose sandoval alvarado,jose alvarado,,,Payroll Outstanding,,17592309230158,Jose Alvarado,,,Payroll Outstanding,,TRUE +1,17592305430299,Jose Alvarado Gonzalez,jose alvarado gonzalez,jose alvarado,,,Payroll Outstanding,,17592309230158,Jose Alvarado,,,Payroll Outstanding,,TRUE +1,17592310253647,Jose Alvarado Sanchez,jose alvarado sanchez,jose alvarado,,,Payroll Outstanding,,17592309230158,Jose Alvarado,,,Payroll Outstanding,,TRUE +1,17592309230158,Jose Alvarado,jose alvarado,jose alvarado,,,Payroll Outstanding,,17592309230158,Jose Alvarado,,,Payroll Outstanding,,TRUE +0,17592298435807,Jose Garcia,jose garcia,jose anaya garcia,,,Payroll Outstanding,2,17592248059572,Jose Anaya Garcia,,,Tips Payable,,TRUE +0,17592248059572,Jose Anaya Garcia,jose anaya garcia,jose anaya garcia,,,Tips Payable,,17592248059572,Jose Anaya Garcia,,,Tips Payable,,TRUE +1,17592234170549,Jose Angel Rayas Jantes,jose angel rayas jantes,jose angel rayas jantes,96 S. First Street,San jose,Building Cleaning & Maintenance,,17592282314783,Jose Angel Rayas Jantes,,,Payroll Outstanding,,TRUE +1,17592282314783,Jose Angel Rayas Jantes,jose angel rayas jantes,jose angel rayas jantes,,,Payroll Outstanding,,17592282314783,Jose Angel Rayas Jantes,,,Payroll Outstanding,,TRUE +1,17592234169756,Jose Rayas,jose rayas,jose angel rayas jantes,,,Building Cleaning & Maintenance,,17592282314783,Jose Angel Rayas Jantes,,,Payroll Outstanding,,TRUE +1,17592265186353,Jose Rayas - PA Busser,jose rayas,jose angel rayas jantes,,,Tips Payable,,17592282314783,Jose Angel Rayas Jantes,,,Payroll Outstanding,,TRUE +0,17592187968729,Jose Hernandez,jose hernandez,jose hernandez,,,Charitable Contributions,,17592188689866,Jose Hernandez,,,Payroll Outstanding,, +0,17592240706891,Jose M Hernadez,jose hernandez,jose hernandez,,,Employee Loans and Advances,,17592188689866,Jose Hernandez,,,Payroll Outstanding,, +0,17592270682524,Jose Hernandez Menjivar,jose hernandez menjivar,jose hernandez,,,Payroll Outstanding,,17592188689866,Jose Hernandez,,,Payroll Outstanding,, +0,17592311139830,Jose Hernandez,jose hernandez,jose hernandez,,,Payroll Outstanding,,17592188689866,Jose Hernandez,,,Payroll Outstanding,, +0,17592252581754,Jose M Hernandez,jose hernandez,jose hernandez,,,Payroll Outstanding,,17592188689866,Jose Hernandez,,,Payroll Outstanding,, +0,17592188689866,Jose Hernandez,jose hernandez,jose hernandez,,,Payroll Outstanding,,17592188689866,Jose Hernandez,,,Payroll Outstanding,, +0,17592248059608,Jose Hernandez,jose hernandez,jose hernandez,,,Tips Payable,,17592188689866,Jose Hernandez,,,Payroll Outstanding,, +1,17592246264767,Jose Ivan,jose ivan,jose ivan,,,Payroll Outstanding,,17592246264767,Jose Ivan,,,Payroll Outstanding,, +1,17592246561924,Jose Ivan Pina Romero,jose ivan pina romero,jose ivan,,,Payroll Outstanding,,17592246264767,Jose Ivan,,,Payroll Outstanding,, +0,17592295656660,Jose Juarez Torres,jose juarez torres,jose juarez,,,Payroll Outstanding,,17592302792097,Jose Juarez Sr,,,Repairs to Building,,TRUE +0,17592304719228,Josue Juarez Sr,josue juarez,jose juarez,,,Repairs to Equipment,,17592302792097,Jose Juarez Sr,,,Repairs to Building,, +0,17592302792097,Jose Juarez Sr,jose juarez,jose juarez,,,Repairs to Building,,17592302792097,Jose Juarez Sr,,,Repairs to Building,, +1,17592235642404,Jose A Lopez,jose lopez,jose lopez,,,Payroll Outstanding,4,17592257543273,Jose Lopez,,,Payroll Outstanding,, +1,17592236245166,Jose A Lopez,jose lopez,jose lopez,,,Payroll Outstanding,4,17592257543273,Jose Lopez,,,Payroll Outstanding,, +1,17592186046127,"Lopez, Jose 12612",lopez jose,jose lopez,,,Payroll Outstanding,,17592257543273,Jose Lopez,,,Payroll Outstanding,, +1,17592257543273,Jose Lopez,jose lopez,jose lopez,,,Payroll Outstanding,,17592257543273,Jose Lopez,,,Payroll Outstanding,, +1,17592266643563,Josue Lopez Garcia,josue lopez,jose lopez,,,Payroll Outstanding,,17592257543273,Jose Lopez,,,Payroll Outstanding,, +0,17592306013644,Manuel Torres,manuel torres,jose manuel torres,,,Repairs to Building,,17592315329543,Jose Manuel Torres,,,Contract Labor,, +0,17592315329543,Jose Manuel Torres,jose manuel torres,jose manuel torres,,,Contract Labor,,17592315329543,Jose Manuel Torres,,,Contract Labor,, +1,17592236147460,Jose Montya,jose montaya,jose montaya,,,Payroll Outstanding,,17592236147460,Jose Montya,,,Payroll Outstanding,, +1,17592236563898,Jose Montoya,jose montoya,jose montaya,,,Payroll Outstanding,,17592236147460,Jose Montya,,,Payroll Outstanding,, +0,17592262839324,Jose Reyes,jose reyes,jose reyes,,,Tips Payable,,17592189561158,Jose Reyes - Tips,,,Tips Payable,, +0,17592189561158,Jose Reyes - Tips,jose reyes tips,jose reyes,,,Tips Payable,,17592189561158,Jose Reyes - Tips,,,Tips Payable,, +1,17592306013549,Jose Sanchez,jose sanchez,jose sanchez,,,Repairs to Building,,17592306013549,Jose Sanchez,,,Repairs to Building,, +1,17592306013547,Jose Snachez,jose snachez,jose sanchez,,,Repairs to Building,,17592306013549,Jose Sanchez,,,Repairs to Building,, +0,17592257078117,Jose Uriel Basaldu Rodriguez,jose uriel basaldi rodriguez,jose uriel basaldi rodriguez,,,Payroll Outstanding,,17592255176639,Jose Uriel Basaldu Rodriguez,39 Rancho Dr,San Jose,Payroll Outstanding,, +0,17592255176639,Jose Uriel Basaldu Rodriguez,jose uriel basaldue rodriguez,jose uriel basaldi rodriguez,39 Rancho Dr,San Jose,Payroll Outstanding,,17592255176639,Jose Uriel Basaldu Rodriguez,39 Rancho Dr,San Jose,Payroll Outstanding,, +1,17592240306119,Joseph Demore,joseph demore,joseph damore,,,Payroll Outstanding,,17592319657608,Joseph Damore,,,Office Maintenance,, +1,17592319657608,Joseph Damore,joseph damore,joseph damore,,,Office Maintenance,,17592319657608,Joseph Damore,,,Office Maintenance,, +0,17592274976751,Josue Cubule,josue cubule,josue cubole,,,Payroll Outstanding,,17592273773983,Josue Cubole,,,Payroll Outstanding,, +0,17592273773983,Josue Cubole,josue cubole,josue cubole,,,Payroll Outstanding,,17592273773983,Josue Cubole,,,Payroll Outstanding,, +1,17592259156045,Maquir Josue Ramirez Ruiz,maquir josue ramirez,josue ramirez,,,Payroll Outstanding,,17592296384417,Josue Ramirez Ruiz,,,Payroll Outstanding,, +1,17592296384417,Josue Ramirez Ruiz,josue ramirez,josue ramirez,,,Payroll Outstanding,,17592296384417,Josue Ramirez Ruiz,,,Payroll Outstanding,, +0,17592235508373,Jovaany Gonzalez,jovaany gonzalez,jovaany gonzalez,,,Payroll Outstanding,,17592235508373,Jovaany Gonzalez,,,Payroll Outstanding,, +0,17592245867818,Jovany Gonzales,jovany gonzales,jovaany gonzalez,,,Payroll Outstanding,,17592235508373,Jovaany Gonzalez,,,Payroll Outstanding,, +1,17592289362205,Juan Flores,juan flores,juan flores,,,Payroll Outstanding,,17592252185738,Juan Flores Construction,327 Bailey Ave,San Jose,Repairs to Building,, +1,17592252185738,Juan Flores Construction,juan flores construction,juan flores,327 Bailey Ave,San Jose,Repairs to Building,,17592252185738,Juan Flores Construction,327 Bailey Ave,San Jose,Repairs to Building,, +0,17592319685187,Juan Ramirez Garcia,juan ramirez garcia,juan garcia,,,Payroll Outstanding,,17592252590436,Juan Garcia,,,Payroll Outstanding,, +0,17592237971057,Juan Garcia,juan garcia,juan garcia,,,Payroll Outstanding,4,17592252590436,Juan Garcia,,,Payroll Outstanding,, +0,17592252590436,Juan Garcia,juan garcia,juan garcia,,,Payroll Outstanding,,17592252590436,Juan Garcia,,,Payroll Outstanding,, +1,17592244193052,Juan Martinez,juan martinez,juan gerardo martinez,,,Food Cost,,17592235122757,Juan Gerardo Martinez,,,Contract Labor,, +1,17592235122757,Juan Gerardo Martinez,juan gerardo martinez,juan gerardo martinez,,,Contract Labor,,17592235122757,Juan Gerardo Martinez,,,Contract Labor,, +0,17592233947457,Juan Gomez,juan gomez,juan gomez,,,Legal Fees,,17592233947457,Juan Gomez,,,Legal Fees,, +0,17592318864138,JUAN GOMEZ - TIPS,juan gomez tips,juan gomez,,,Tips Payable,,17592233947457,Juan Gomez,,,Legal Fees,,TRUE +1,17592248399159,Juan Mendez,juan mendez,juan jose mendez,,,Payroll Outstanding,,17592256388623,Juan Jose Mendez,,,Payroll Outstanding,, +1,17592256388623,Juan Jose Mendez,juan jose mendez,juan jose mendez,,,Payroll Outstanding,,17592256388623,Juan Jose Mendez,,,Payroll Outstanding,, +0,17592317536342,Juan Reyes,juan reyes,juan jose reyes medrano,,,Payroll Outstanding,,17592313279727,Juan Jose Reyes Medrano,,,Payroll Outstanding,, +0,17592313279727,Juan Jose Reyes Medrano,juan jose reyes medrano,juan jose reyes medrano,,,Payroll Outstanding,,17592313279727,Juan Jose Reyes Medrano,,,Payroll Outstanding,, +1,17592244709878,Juan Pablo Chavarin,juan pablo chavarin,juan pablo,3681 Cape Cod Court,San Jose,Payroll Outstanding,,17592259587263,JUAN PABLO,,,Payroll Outstanding,,TRUE +1,17592259587202,JUAN PABLO,juan pablo,juan pablo,,,Payroll Outstanding,,17592259587263,JUAN PABLO,,,Payroll Outstanding,, +1,17592259587263,JUAN PABLO,juan pablo,juan pablo,,,Payroll Outstanding,,17592259587263,JUAN PABLO,,,Payroll Outstanding,, +0,17592237971090,Juan Pablo Diaz Rodriquez,juan pablo diaz rodriguez,juan pablo diaz rodriguez,,,Payroll Outstanding,4,17592237971090,Juan Pablo Diaz Rodriquez,,,Payroll Outstanding,4,TRUE +1,17592314790144,Julian Rodriguez,julian rodriguez,juan pablo diaz rodriguez,,,Payroll Outstanding,,17592314790144,Julian Rodriguez,,,Payroll Outstanding,, +1,17592236085376,Juan P D Rodriguez,juan rodriguez,juan pablo diaz rodriguez,,,Payroll Outstanding,4,17592314790144,Julian Rodriguez,,,Payroll Outstanding,, +0,17592232954792,Juan Paiz - Payroll,juan paiz payroll,juan paiz,,,Payroll Outstanding,,17592234731671,Juan Paiz,,,Payroll Outstanding,, +0,17592234731671,Juan Paiz,juan paiz,juan paiz,,,Payroll Outstanding,,17592234731671,Juan Paiz,,,Payroll Outstanding,, +1,17592222375325,Julio Hernandez,julio hernandez,julio fernandez,,,Tips Payable,,17592235315681,Julio B. Fernandez,,,Payroll Outstanding,,TRUE +1,17592235315681,Julio B. Fernandez,julio fernandez,julio fernandez,,,Payroll Outstanding,,17592235315681,Julio B. Fernandez,,,Payroll Outstanding,,TRUE +0,17592233077099,Julio Martinez,julio martinez,julio martinez,5586 Lean Ave,San Jose,Repairs to Equipment,,17592233077099,Julio Martinez,5586 Lean Ave,San Jose,Repairs to Equipment,, +0,17592232668724,Julio Martinez Kitchen Equipment Repairs,julio martinez kitchen equipment repairs,julio martinez,,,Repairs to Equipment,,17592233077099,Julio Martinez,5586 Lean Ave,San Jose,Repairs to Equipment,, +1,17592308859697,Julio Ortega Rubio,julio ortega rubio,julio ortega,,,Payroll Outstanding,,17592308859697,Julio Ortega Rubio,,,Payroll Outstanding,,TRUE +0,17592301509570,Julio Ortega Jr,julio ortega,julio ortega,,,Payroll Outstanding,,17592301509570,Julio Ortega Jr,,,Payroll Outstanding,, +0,17592212312604,Julio Ortega,julio ortega,julio ortega,,,Employee Training,8,17592301509570,Julio Ortega Jr,,,Payroll Outstanding,, +1,17592186045586,JVS Wine Imports,jvs wine imports,jvs wine,360 Swift Ave Side B Ste 9,South San Francisco,Wine Cost,,17592234296968,jvs wine imports,360 SWIFT AVENUE SIDE B,South San Francisco,Wine Cost,, +1,17592234296968,jvs wine imports,jvs wine,jvs wine,360 SWIFT AVENUE SIDE B,South San Francisco,Wine Cost,,17592234296968,jvs wine imports,360 SWIFT AVENUE SIDE B,South San Francisco,Wine Cost,, +0,17592219117081,KB Grease trap,kb grease trap,kb grease trap,,,Repairs to Equipment,,17592290830238,KB Grease Trap Service,PO BOX 5582,SAN MATEO,Building Cleaning & Maintenance,, +0,17592290830238,KB Grease Trap Service,kb grease trap service,kb grease trap,PO BOX 5582,SAN MATEO,Building Cleaning & Maintenance,,17592290830238,KB Grease Trap Service,PO BOX 5582,SAN MATEO,Building Cleaning & Maintenance,, +1,17592301101744,KC City Treasurer,kc city treasurer,kc city treasurer,,,Start Up Costs,,17592301101744,KC City Treasurer,,,Start Up Costs,, +1,17592311319215,KCMO CITY TREASURER,kcmo city treasurer,kc city treasurer,,,Health Permit,,17592301101744,KC City Treasurer,,,Start Up Costs,, +0,17592235399211,kelex,kelex,kelex,p.o box 877,Campbell,Security System/ Alarms,,17592235399211,kelex,p.o box 877,Campbell,Security System/ Alarms,, +0,17592186852434,Kelex Security,kelex security,kelex,2959 s. winchester BLVD ste 100,Campbell,Security System/ Alarms,,17592235399211,kelex,p.o box 877,Campbell,Security System/ Alarms,, +1,17592234603998,Kevin Vasquez,kevin vasquez,kevin garcia vasquez,,,Payroll Outstanding,,17592302098989,Kevin Alexander Garcia Vasquez,,,Payroll Outstanding,,TRUE +1,17592302098989,Kevin Alexander Garcia Vasquez,kevin garcia vasquez,kevin garcia vasquez,,,Payroll Outstanding,,17592302098989,Kevin Alexander Garcia Vasquez,,,Payroll Outstanding,,TRUE +0,17592316361774,LEDYARD,ledyard,ledyard,,,Food Cost,,17592186045650,Performance Food Group - LEDYARD,PO BOX 889193,Los Angeles,Food Cost,, +0,17592186045650,Performance Food Group - LEDYARD,performance food group ledyard,ledyard,PO BOX 889193,Los Angeles,Food Cost,,17592186045650,Performance Food Group - LEDYARD,PO BOX 889193,Los Angeles,Food Cost,, +1,17592238709394,LEOPOLDO GONZALEZ,leopoldo gonzalez,leopoldo gonzales,1553 brookvale dr,SAN JOSE,Employee Gifts,,17592238709394,LEOPOLDO GONZALEZ,1553 brookvale dr,SAN JOSE,Employee Gifts,, +1,17592310968030,leopoldo gonzales,leopoldo gonzales,leopoldo gonzales,,,Building Cleaning & Maintenance,,17592238709394,LEOPOLDO GONZALEZ,1553 brookvale dr,SAN JOSE,Employee Gifts,, +0,17592274431042,living spaces store,livingspaces,living spaces,,,Small Furniture,,17592276882754,LIVING SPACES,,,Furniture & Fixtures,, +0,17592276882754,LIVING SPACES,living spaces,living spaces,,,Furniture & Fixtures,,17592276882754,LIVING SPACES,,,Furniture & Fixtures,, +1,17592318540496,Loan - Sehmehmet Yuksel,loan sehmehmet yuksel,loan sehmehmet yuksel,,,Notes Payable 5,,17592318540496,Loan - Sehmehmet Yuksel,,,Notes Payable 5,,TRUE +1,17592296012416,Sehmehmet Yuksel,sehmehmet yuksel,loan sehmehmet yuksel,,,Tips Payable,,17592318540496,Loan - Sehmehmet Yuksel,,,Notes Payable 5,,TRUE +0,17592236019295,Luis Alberto Ramirez,luis alberto ramirez,luis alberto ramirez,,,Tips Payable,,17592236019295,Luis Alberto Ramirez,,,Tips Payable,, +0,17592234768633,Luis Roberto Ramirez,luis roberto ramirez,luis alberto ramirez,,,Tips Payable,,17592236019295,Luis Alberto Ramirez,,,Tips Payable,, +1,17592305430313,Luis Garcia Sanchez,luis garcia sanchez,luis garcia,,,Payroll Outstanding,,17592307007694,Luis Garcia,,,Payroll Outstanding,, +1,17592307007694,Luis Garcia,luis garcia,luis garcia,,,Payroll Outstanding,,17592307007694,Luis Garcia,,,Payroll Outstanding,, +0,17592276142216,Luis Santana Mendoza,luis santana mendoza,luis mendoza,,,Payroll Outstanding,,17592311131335,Luis Mendoza,,,Payroll Outstanding,, +0,17592311131335,Luis Mendoza,luis mendoza,luis mendoza,,,Payroll Outstanding,,17592311131335,Luis Mendoza,,,Payroll Outstanding,, +1,17592263277199,Magdalena Soto,magdalena soto,magdalena soto,,,Building Cleaning & Maintenance,,17592263277199,Magdalena Soto,,,Building Cleaning & Maintenance,, +1,17592263277174,Magdlena Soto,magdlena soto,magdalena soto,,,Building Cleaning & Maintenance,,17592263277199,Magdalena Soto,,,Building Cleaning & Maintenance,, +0,17592276639145,Maria Guadalupe Perez,maria perez,maira perez,37550 Glenmoor Drive Apt C,Fremont,Payroll Outstanding,4,17592276639145,Maria Guadalupe Perez,37550 Glenmoor Drive Apt C,Fremont,Payroll Outstanding,4, +0,17592222375317,Maira Perez,maira perez,maira perez,,,Tips Payable,,17592276639145,Maria Guadalupe Perez,37550 Glenmoor Drive Apt C,Fremont,Payroll Outstanding,4, +1,17592186046111,Mama Lu's Foods,mama lus foods,mama lus,,,Food Cost,,17592186046111,Mama Lu's Foods,,,Food Cost,, +1,17592186045770,Mama Lu's Invoices,mama lus,mama lus,,,Food Cost,,17592186046111,Mama Lu's Foods,,,Food Cost,, +0,17592221703415,Mani Imports,mani imports,mani imports,521 N 10th St.,Sacramento,Food Cost,,17592221703415,Mani Imports,521 N 10th St.,Sacramento,Food Cost,,TRUE +0,17592222389669,Mani Imports Wine,mani imports wine,mani imports,521 N 10th St.,Sacramento,Wine Cost,,17592221703415,Mani Imports,521 N 10th St.,Sacramento,Food Cost,,TRUE +1,17592235365598,Marco Guzman,marco guzman,marco guzman,,,Payroll Outstanding,,17592241774642,Marco Guzman,,,Payroll Outstanding,, +1,17592221249825,Mario Guzman,mario guzman,marco guzman,,,Contract Labor,,17592241774642,Marco Guzman,,,Payroll Outstanding,, +1,17592241774642,Marco Guzman,marco guzman,marco guzman,,,Payroll Outstanding,,17592241774642,Marco Guzman,,,Payroll Outstanding,, +0,17592216023756,Maria Amaya,maria amaya,maria amaya,,,Building Cleaning & Maintenance,,17592308005994,Maria Amaya,,,Payroll Outstanding,, +0,17592308005994,Maria Amaya,maria amaya,maria amaya,,,Payroll Outstanding,,17592308005994,Maria Amaya,,,Payroll Outstanding,, +0,17592218251964,Maria Amaya,maria amaya,maria amaya,,,Tips Payable,,17592308005994,Maria Amaya,,,Payroll Outstanding,, +0,17592201013387,Maria Amaya,maria amaya,maria amaya,,,Contract Labor,,17592308005994,Maria Amaya,,,Payroll Outstanding,, +1,17592318457024,Maria Maya,maria maya,maria amaya,,,Payroll Outstanding,,17592201013387,Maria Amaya,,,Contract Labor,,TRUE +0,17592289392084,Maria Gonzalez,maria gonzalez,maria gonzalez,,,Contract Cleaning,,17592306774125,Maria Gonzalez,,,Building Cleaning & Maintenance,, +0,17592234885612,Mario Gonzalez,mario gonzalez,maria gonzalez,,,Leasehold Improvements,2,17592306774125,Maria Gonzalez,,,Building Cleaning & Maintenance,, +0,17592306774125,Maria Gonzalez,maria gonzalez,maria gonzalez,,,Building Cleaning & Maintenance,,17592306774125,Maria Gonzalez,,,Building Cleaning & Maintenance,, +1,17592236251031,Maria K Vargas Luna,maria k vargas luna,maria k vargas luna,,,Payroll Outstanding,4,17592236251031,Maria K Vargas Luna,,,Payroll Outstanding,4,TRUE +0,17592195174442,Maria Luna,maria luna,maria k vargas luna,,,Tips Payable,,17592195174442,Maria Luna,,,Tips Payable,, +0,17592200315451,Maria Luna,maria luna,maria k vargas luna,,,Tips Payable,,17592195174442,Maria Luna,,,Tips Payable,, +1,17592306013623,Mario Torres,mario torres,maria torres,,,Repairs to Building,,17592311131337,Maria Torres,,,Payroll Outstanding,, +1,17592311131337,Maria Torres,maria torres,maria torres,,,Payroll Outstanding,,17592311131337,Maria Torres,,,Payroll Outstanding,, +0,17592315398380,Mario Velasquez,mario velasquez,maria velasques,,,Payroll Outstanding,,17592190947594,Maria Velasques,,,Building Cleaning & Maintenance,, +0,17592190947602,Maria Velasquez,maria velasquez,maria velasques,,,Building Cleaning & Maintenance,,17592190947594,Maria Velasques,,,Building Cleaning & Maintenance,, +0,17592190947594,Maria Velasques,maria velasques,maria velasques,,,Building Cleaning & Maintenance,,17592190947594,Maria Velasques,,,Building Cleaning & Maintenance,, +1,17592233925874,Mario Grant,mario grant,mario grant,,,Payroll Outstanding,,17592233925874,Mario Grant,,,Payroll Outstanding,, +1,17592232940224,Mario Grant,mario grant,mario grant,,,Tips Payable,,17592233925874,Mario Grant,,,Payroll Outstanding,, +1,17592232942015,Mario Grant - Payroll,mario grant payroll,mario grant,,,Payroll Outstanding,,17592233925874,Mario Grant,,,Payroll Outstanding,, +0,17592234923709,Mario Hernandez,mario hernandez,mario hernandez,1143 KOCH LN,SAN JOSE,Repairs to Building,,17592234923709,Mario Hernandez,1143 KOCH LN,SAN JOSE,Repairs to Building,, +0,17592270682138,Mario Hernandez Menjivar,mario hernandez menjivar,mario hernandez,,,Payroll Outstanding,,17592234923709,Mario Hernandez,1143 KOCH LN,SAN JOSE,Repairs to Building,,TRUE +1,17592319926233,MARSHALL B KETCHUM UNIVERSITY,marshall b ketchum university,marshal ketchum university,,,Advertising,,17592319926231,MARSHAL B KETCHUM UNIVERSITY,,,Advertising,, +1,17592319926231,MARSHAL B KETCHUM UNIVERSITY,marshal ketchum university,marshal ketchum university,,,Advertising,,17592319926231,MARSHAL B KETCHUM UNIVERSITY,,,Advertising,, +0,17592307912357,Mateo Emanuel Tzi Ja,mateo emanuel tzi ja,mateo emanuel tzi ja,,,Payroll Outstanding,,17592307912357,Mateo Emanuel Tzi Ja,,,Payroll Outstanding,, +0,17592307008104,Mateo Tzi Ja,mateo tzi ja,mateo emanuel tzi ja,,,Payroll Outstanding,,17592307912357,Mateo Emanuel Tzi Ja,,,Payroll Outstanding,, +1,17592186139007,Matrix Pest Elimination,matrix pest elimination,matrix,PO Box 2968,Livermore,Pest Control,,17592186139007,Matrix Pest Elimination,PO Box 2968,Livermore,Pest Control,, +1,17592300237240,M8trix,matrix,matrix,,,Food Sales,,17592186139007,Matrix Pest Elimination,PO Box 2968,Livermore,Pest Control,, +0,17592233926127,Matthew Tamanaha,matthew tamanaha,matthew tamanaha,,,Payroll Outstanding,,17592233926127,Matthew Tamanaha,,,Payroll Outstanding,, +0,17592234106699,Matthew Tamanaha,matthew tamanaha,matthew tamanaha,,,Bank Fees,,17592233926127,Matthew Tamanaha,,,Payroll Outstanding,, +0,17592234669539,Matthew Tamanaha - Payroll,matthew tamonaha,matthew tamanaha,,,Payroll Outstanding,,17592233926127,Matthew Tamanaha,,,Payroll Outstanding,, +1,17592219535350,Melinna Hofmann,melinna hofmann,melinna hoffman,,,Tips Payable,,17592194822405,Melinna Hoffman,,,Tips Payable,, +1,17592186046292,Melinna Hofmann,melinna hofmann,melinna hoffman,,,Tips Payable,,17592194822405,Melinna Hoffman,,,Tips Payable,, +1,17592194822405,Melinna Hoffman,melinna hoffman,melinna hoffman,,,Tips Payable,,17592194822405,Melinna Hoffman,,,Tips Payable,, +1,17592194822407,Mellina Hoffman,mellina hoffman,melinna hoffman,,,Tips Payable,,17592194822405,Melinna Hoffman,,,Tips Payable,, +0,17592294680385,mercedes benz of walnut creek,mercedes benz walnut creek,mercedes benz,,,Auto and Truck Expenses,,17592281115341,mercedes benz of pleasanton,,,Auto and Truck Expenses,,TRUE +0,17592281115341,mercedes benz of pleasanton,mercedes benz,mercedes benz,,,Auto and Truck Expenses,,17592281115341,mercedes benz of pleasanton,,,Auto and Truck Expenses,,TRUE +1,17592261580886,MID,mid,mid,1155 Reed Ave.,Sunnyvale,Auto and Truck Expenses,,17592261580886,MID,1155 Reed Ave.,Sunnyvale,Auto and Truck Expenses,,TRUE +1,17592307275832,Mid-Cities Greek FoodFest,mid cities greek food fest,mid,C/O St John the Baptist Greek,Euless,Advertising,,17592261580886,MID,1155 Reed Ave.,Sunnyvale,Auto and Truck Expenses,,TRUE +1,17592301703646,Mid-Coast Fire Protection,mid coast fire protection,mid,1342 Ramona Ave,Grover Beach,Building Cleaning & Maintenance,,17592261580886,MID,1155 Reed Ave.,Sunnyvale,Auto and Truck Expenses,,TRUE +0,17592234465506,Miguel Antonio Boch Lopez,miguel boch lopez,miguel boch lopez,,,Contract Labor,,17592234465506,Miguel Antonio Boch Lopez,,,Contract Labor,,TRUE +0,17592252753544,Miguel Lopez Baltazar,miguel lopez,miguel boch lopez,,,Payroll Outstanding,,17592234465506,Miguel Antonio Boch Lopez,,,Contract Labor,,TRUE +1,17592294818593,Miguel Rodriguez Cuello,miguel rodriguez cuello,miguel rodriguez,,,Tips Payable,,17592205986549,Miguel Rodriguez,,,Employee Training,,TRUE +0,17592209563722,Miguel Rodriguez,miguel rodriguez,miguel rodriguez,,,Payroll Outstanding,,17592209563722,Miguel Rodriguez,,,Payroll Outstanding,, +0,17592205986549,Miguel Rodriguez,miguel rodriguez,miguel rodriguez,,,Employee Training,,17592209563722,Miguel Rodriguez,,,Payroll Outstanding,, +1,17592246111759,Mike Hudson Dist,mike hudson,mike hudson,P.O. Box 6010,Petaluma,Food Cost,,17592235466348,Mike Hudsom DIstributors,"2237 S. McDOWELL BLVD, EXT",Petaluma,Meal Comps,, +1,17592235466348,Mike Hudsom DIstributors,mike hudson distributors,mike hudson,"2237 S. McDOWELL BLVD, EXT",Petaluma,Meal Comps,,17592235466348,Mike Hudsom DIstributors,"2237 S. McDOWELL BLVD, EXT",Petaluma,Meal Comps,, +0,17592297173390,Mirian De La Cruz Reyes,mirian de la cruz reyes,mirian de la cruz reyes,,,Payroll Outstanding,,17592295551699,Mirian Eveli De La Cruz Reyes,,,Payroll Outstanding,, +0,17592295551699,Mirian Eveli De La Cruz Reyes,mirian eveli de la cruz reyes,mirian de la cruz reyes,,,Payroll Outstanding,,17592295551699,Mirian Eveli De La Cruz Reyes,,,Payroll Outstanding,, +1,17592289018028,Monte Macer Property Tax,monte macer property tax,monte macer,,,Property Tax - Building,,17592287986150,Monte Macer,2859 Toyon Dr,Santa Clara,Rent,, +1,17592287986150,Monte Macer,monte macer,monte macer,2859 Toyon Dr,Santa Clara,Rent,,17592287986150,Monte Macer,2859 Toyon Dr,Santa Clara,Rent,, +0,17592189777571,Morgan Hill Chamber of commerce,morgan hill chamber of commerce,morgan hill chamber commerce,17485 Monterey Rd,Morgan Hill,Marketing,,17592189777571,Morgan Hill Chamber of commerce,17485 Monterey Rd,Morgan Hill,Marketing,, +0,17592244498690,Morgan Hill Chamber of Commerce,morgan hill chamber commerce,morgan hill chamber commerce,17500 Depot St.,Morgan Hill,Membership Dues and Associations,,17592189777571,Morgan Hill Chamber of commerce,17485 Monterey Rd,Morgan Hill,Marketing,, +1,17592316367760,musician,musician,musician,,,Advertising,,17592316367760,musician,,,Advertising,,TRUE +1,17592304741106,musician for life music,musician for life,musician,,,Entertainment - Other,,17592316367760,musician,,,Advertising,,TRUE +0,17592275428649,Newport Fish - Naschmarkt,newport fish naschmarkt,newport,457 South Canal Street,SO. SAN FRANCISCO,Seafood Costs,,17592186852498,Newport Fish Co.,457 South Canal ST. So.,San Francisco,Seafood Costs,, +1,17592318558702,newport,newport,newport,48811 warm springs blvd,fremont,Seafood Costs,,17592234213075,NEWPORT MEAT NORTHERN CA,48811 WARM SPRINGS BLVD,FREMONT,Food Cost,, +1,17592234213075,NEWPORT MEAT NORTHERN CA,newport meat northern ca,newport,48811 WARM SPRINGS BLVD,FREMONT,Food Cost,,17592234213075,NEWPORT MEAT NORTHERN CA,48811 WARM SPRINGS BLVD,FREMONT,Food Cost,, +0,17592186852498,Newport Fish Co.,newport fish,newport,457 South Canal ST. So.,San Francisco,Seafood Costs,,17592186852498,Newport Fish Co.,457 South Canal ST. So.,San Francisco,Seafood Costs,, +0,17592236263151,Newport Fish Co.,newport fish,newport,457 South canal street,San Francisco,Seafood Costs,,17592186852498,Newport Fish Co.,457 South Canal ST. So.,San Francisco,Seafood Costs,, +1,17592254139379,Nilson Garcia-Guerra,nilson garcia guerra,nilson gabriel garcia guerra,,,Payroll Outstanding,,17592302098983,Nilson Gabriel Garcia Guerra,,,Payroll Outstanding,, +1,17592302098983,Nilson Gabriel Garcia Guerra,nilson gabriel garcia guerra,nilson gabriel garcia guerra,,,Payroll Outstanding,,17592302098983,Nilson Gabriel Garcia Guerra,,,Payroll Outstanding,, +0,17592269347043,Noralma Ambriz,noralma ambriz,noralma ambriz,,,Payroll Outstanding,,17592269347043,Noralma Ambriz,,,Payroll Outstanding,, +0,17592210893821,noralma ambriz -loan,noralma ambriz loan,noralma ambriz,,,Employee Loans and Advances,,17592269347043,Noralma Ambriz,,,Payroll Outstanding,, +1,17592264380456,Nutritious Delicious Foods Co,nutritious delicious foods,nutricious delicious foods,121 South Maple Ave,South San Fransisco,Food Cost,,17592264380456,Nutritious Delicious Foods Co,121 South Maple Ave,South San Fransisco,Food Cost,, +1,17592252515904,Nutricious Delicious Foods,nutricious delicious foods,nutricious delicious foods,,,Food Cost,,17592264380456,Nutritious Delicious Foods Co,121 South Maple Ave,South San Fransisco,Food Cost,, +0,17592232944005,Olga Deleon - Payroll,olga deleon payroll,olga deleon,,,Payroll Outstanding,,17592233925504,Olga Deleon,,,Payroll Outstanding,, +0,17592233925504,Olga Deleon,olga deleon,olga deleon,,,Payroll Outstanding,,17592233925504,Olga Deleon,,,Payroll Outstanding,, +1,17592239164392,Orchard City Locks,orchard city locks,orchard city lock safe,2254 South Bascom Ave.,Campbell,Building Cleaning & Maintenance,,17592239164392,Orchard City Locks,2254 South Bascom Ave.,Campbell,Building Cleaning & Maintenance,, +1,17592319537881,Orchard City Lock & Safe,orchard city lock safe,orchard city lock safe,,,Office Supplies,,17592239164392,Orchard City Locks,2254 South Bascom Ave.,Campbell,Building Cleaning & Maintenance,, +0,17592309894443,Oscar David Padillo Portillo,oscar david padillo portillo,oscar david padilla portillo,,,Payroll Outstanding,,17592295532596,Oscar David Padilla Portillo,,,Payroll Outstanding,, +0,17592295532596,Oscar David Padilla Portillo,oscar david padilla portillo,oscar david padilla portillo,,,Payroll Outstanding,,17592295532596,Oscar David Padilla Portillo,,,Payroll Outstanding,, +1,17592186852522,PACIFIC HARVEST SEAFOOD - San Juan,pacific harvest seafood san juan,pacific harvest,P.O. BOX 788,SAN JUAN BAUTISTA,Seafood Costs,,17592186852522,PACIFIC HARVEST SEAFOOD - San Juan,P.O. BOX 788,SAN JUAN BAUTISTA,Seafood Costs,, +1,17592186046258,Pacific Harvest,pacific harvest,pacific harvest,P.O. Box 788,San Juan Bautista,Food Cost,,17592186852522,PACIFIC HARVEST SEAFOOD - San Juan,P.O. BOX 788,SAN JUAN BAUTISTA,Seafood Costs,, +0,17592220841598,Pacific Seafood,pacific seafood,pacific harvest,PO BOX 842757,BOSTON,Food Cost,,17592186046258,Pacific Harvest,P.O. Box 788,San Juan Bautista,Food Cost,,TRUE +1,17592186046348,Perfect Edge Cutlery,perfect edge cutlery,perfect edge cutlery,1640 Palm Ave,San Mateo,Repairs to Equipment,,17592186046348,Perfect Edge Cutlery,1640 Palm Ave,San Mateo,Repairs to Equipment,,TRUE +1,17592307203407,PERFECT EDGE CUTLERY AND CHEFS SUPPLY,perfect edge cutlery chefs supply,perfect edge cutlery,153 SOUTH BLVD,SAN MATEO,Kitchen Supplies,,17592186046348,Perfect Edge Cutlery,1640 Palm Ave,San Mateo,Repairs to Equipment,,TRUE +0,17592256873836,P.H.S. Pro Hood Exhaust solution,phs pro hood exhaust,phs,,,Building Cleaning & Maintenance,,17592236758019,phs,36695 stevenson #237,fremont,Building Cleaning & Maintenance,,TRUE +0,17592236758019,phs,phs,phs,36695 stevenson #237,fremont,Building Cleaning & Maintenance,,17592236758019,phs,36695 stevenson #237,fremont,Building Cleaning & Maintenance,,TRUE +1,17592222389663,"PIONEER LIQUID TRANSPORT, INC",pioneer liquid transport,pioneer liquid transport,PO BOX 427,SAN JOSE,Building Cleaning & Maintenance,,17592222389663,"PIONEER LIQUID TRANSPORT, INC",PO BOX 427,SAN JOSE,Building Cleaning & Maintenance,, +1,17592186139257,Pioneer Liquid Transport,pioneer liquid transport,pioneer liquid transport,PO Box 427,San Jose,Repairs to Equipment,,17592222389663,"PIONEER LIQUID TRANSPORT, INC",PO BOX 427,SAN JOSE,Building Cleaning & Maintenance,, +1,17592250512915,Pioneer Liquid Transport,pioneer liquid transport,pioneer liquid transport,PO BOX 427,San Jose,Building Cleaning & Maintenance,,17592222389663,"PIONEER LIQUID TRANSPORT, INC",PO BOX 427,SAN JOSE,Building Cleaning & Maintenance,, +1,17592187783195,Pioneer Liquid Transportation,pioneer liquid transportation,pioneer liquid transport,P.O. Box 427,San Jose,Building Cleaning & Maintenance,,17592222389663,"PIONEER LIQUID TRANSPORT, INC",PO BOX 427,SAN JOSE,Building Cleaning & Maintenance,, +0,17592196491221,Pro audio world,pro audio world,pro audio world,1899 w san carlos,san jose,Repairs to Equipment,,17592196491221,Pro audio world,1899 w san carlos,san jose,Repairs to Equipment,,TRUE +0,17592199548762,Salvador Cerrillo A/V Install Tech at Pro Audio World,salvador cerrillo pro audio world,pro audio world,,,Repairs to Equipment,,17592196491221,Pro audio world,1899 w san carlos,san jose,Repairs to Equipment,,TRUE +1,17592304970304,Rafael Cardoza Jr.,rafael cardoza,rafael cardoza,2943 Driftwood Dr.,San Jose,Tips Payable,,17592304970304,Rafael Cardoza Jr.,2943 Driftwood Dr.,San Jose,Tips Payable,, +1,17592308208725,Rafael Cardozo Jr.,rafael cardozo,rafael cardoza,,,Tips Payable,,17592304970304,Rafael Cardoza Jr.,2943 Driftwood Dr.,San Jose,Tips Payable,, +1,17592291867736,Rafael Jr. Cardoza,rafael cardoza,rafael cardoza,,,Tips Payable,,17592304970304,Rafael Cardoza Jr.,2943 Driftwood Dr.,San Jose,Tips Payable,, +0,17592313976792,Ramon Garcia,ramon garcia,ramon garcia,,,Payroll Outstanding,,17592313976792,Ramon Garcia,,,Payroll Outstanding,,TRUE +0,17592306469825,Raymond Garcia,raymond garcia,ramon garcia,,,Payroll Outstanding,,17592313976792,Ramon Garcia,,,Payroll Outstanding,,TRUE +1,17592235887052,Ray Restaurant Repair,ray restaurant repair,ray restaurant repair,1349 Holly Hill Dr.,San Jose,Kitchen Equipment,4,17592235887052,Ray Restaurant Repair,1349 Holly Hill Dr.,San Jose,Kitchen Equipment,4, +1,17592186046101,Ray Restaurant Repair,ray restaurant repair,ray restaurant repair,1349 Holly Hill Dr.,San Jose,Repairs to Equipment,65,17592235887052,Ray Restaurant Repair,1349 Holly Hill Dr.,San Jose,Kitchen Equipment,4, +1,17592259545851,Ray Restaurant Repairs Inc.,ray restaurant repairs,ray restaurant repair,,,Repairs to Equipment,,17592235887052,Ray Restaurant Repair,1349 Holly Hill Dr.,San Jose,Kitchen Equipment,4, +0,17592246530184,RBC Upholstery,rbc upholstery,rb upholstery,,,Repairs to Building,8,17592267269407,RBC Upholstery,354 Umbarger Rd. #8,San Jose,Construction in Progress,4, +0,17592242728150,R&B Upholstery,rb upholstery,rb upholstery,,,Furniture & Fixtures,6,17592267269407,RBC Upholstery,354 Umbarger Rd. #8,San Jose,Construction in Progress,4, +0,17592239753935,Upholstery RB,upholstery rb,rb upholstery,,,Construction in Progress,10,17592267269407,RBC Upholstery,354 Umbarger Rd. #8,San Jose,Construction in Progress,4, +0,17592267269407,RBC Upholstery,rbc upholstery,rb upholstery,354 Umbarger Rd. #8,San Jose,Construction in Progress,4,17592267269407,RBC Upholstery,354 Umbarger Rd. #8,San Jose,Construction in Progress,4, +0,17592251606433,Upholstery RB,upholstery rb,rb upholstery,354 Umbarger RD #8,San Jose,Leasehold Improvements,,17592267269407,RBC Upholstery,354 Umbarger Rd. #8,San Jose,Construction in Progress,4, +0,17592225933640,Upholstery RB,upholstery rb,rb upholstery,,,Equipment,8,17592267269407,RBC Upholstery,354 Umbarger Rd. #8,San Jose,Construction in Progress,4, +1,17592239171265,Regina Villaruel,regina villaruel,regina villaruel,,,Website/ Social Media,,17592239171265,Regina Villaruel,,,Website/ Social Media,, +1,17592239164412,Regina Villaryel,regina villaryel,regina villaruel,,,Website/ Social Media,,17592239171265,Regina Villaruel,,,Website/ Social Media,, +0,17592274319091,renee lewis,renee lewis,renee lewis,,,Food Cost,,17592274319091,renee lewis,,,Food Cost,, +0,17592186046163,Renee Lewis - Reimburstment,renee lewis reimbursement,renee lewis,,,Food Cost,,17592274319091,renee lewis,,,Food Cost,, +1,17592234527778,test,test,rent test,,,Repairs to Building,,17592186046188,Rent Test,,,Rent,, +1,17592299307194,test,test,rent test,,,Advertising,,17592186046188,Rent Test,,,Rent,, +1,17592186046188,Rent Test,rent test,rent test,,,Rent,,17592186046188,Rent Test,,,Rent,, +0,17592235642853,Urban Properties,urban properties,republic urban properties,,,Rent,75,17592235642853,Urban Properties,,,Rent,75, +0,17592285043159,Republic Urban Properties,republic urban properties,republic urban properties,,,Rent,,17592235642853,Urban Properties,,,Rent,75, +1,17592309737165,Ricardo Gutierrez-Martinez,ricardo gutierrez martinez,ricardo gutierrez martinez,,,Payroll Outstanding,,17592309737165,Ricardo Gutierrez-Martinez,,,Payroll Outstanding,, +1,17592263569287,RICARDO MARTINEZ,ricardo martinez,ricardo gutierrez martinez,,,Payroll Outstanding,,17592309737165,Ricardo Gutierrez-Martinez,,,Payroll Outstanding,, +0,17592258193771,Rivera & Son Electric,rivera electric,rivera electric,P.O. Box 540,Newman,Leasehold Improvements,3,17592258193771,Rivera & Son Electric,P.O. Box 540,Newman,Leasehold Improvements,3, +0,17592292324938,"Rivera & Son Electric, INC",rivera sons electric,rivera electric,P.O. Box 540,Newman,Repairs to Building,4,17592258193771,Rivera & Son Electric,P.O. Box 540,Newman,Leasehold Improvements,3, +1,17592309971643,Ronaldo Lopez,ronaldo lopez,romaldo lopez,,,Payroll Outstanding,,17592309971643,Ronaldo Lopez,,,Payroll Outstanding,, +1,17592274830809,Romaldo Sanchez Lopez,romaldo lopez,romaldo lopez,,,Payroll Outstanding,,17592309971643,Ronaldo Lopez,,,Payroll Outstanding,, +0,17592232942011,Rosanna Colella - Payroll,rosanna colella,rosanna colella,,,Payroll Outstanding,,17592232942011,Rosanna Colella - Payroll,,,Payroll Outstanding,,TRUE +0,17592232939797,Rosanna Colella - Tips,rosanna colella tips,rosanna colella,,,Tips Payable,,17592232942011,Rosanna Colella - Payroll,,,Payroll Outstanding,,TRUE +1,17592186045926,Roto Rooter Plumbers,roto rooter plumbers,roto rooter,356 Matthew Street,Santa Clara,Repairs to Building,,17592186045926,Roto Rooter Plumbers,356 Matthew Street,Santa Clara,Repairs to Building,, +1,17592203530047,Roto Rooter,roto rooter,roto rooter,,,Building Cleaning & Maintenance,2,17592186045926,Roto Rooter Plumbers,356 Matthew Street,Santa Clara,Repairs to Building,, +0,17592252241741,Samuel R. Orozco,samuel rozco,samuel orozco,522 Oak Park Dr,Boerne,Unassigned Expenses,,17592186046334,Samuel Orozco,945 N. 7th St,San Jose,Rent,, +0,17592186046334,Samuel Orozco,samuel orozco,samuel orozco,945 N. 7th St,San Jose,Rent,,17592186046334,Samuel Orozco,945 N. 7th St,San Jose,Rent,, +0,17592235954460,Samuel Orozco,samuel orozco,samuel orozco,425 N. 7th St,San Jose,Office Supplies,,17592186046334,Samuel Orozco,945 N. 7th St,San Jose,Rent,, +1,17592232886693,The City of San Carlos,san carlos city,san carlos city,8839 N Cedar Ave#212,Fresno,Building Cleaning & Maintenance,15,17592232886693,The City of San Carlos,8839 N Cedar Ave#212,Fresno,Building Cleaning & Maintenance,15,TRUE +1,17592186852602,SCC Tax Collector,san carlos city tax collector,san carlos city,"70 West Hedding Street East Wing, 6th Floor",San Jose,Local Taxes,2,17592232886693,The City of San Carlos,8839 N Cedar Ave#212,Fresno,Building Cleaning & Maintenance,15,TRUE +1,17592190300338,SCC DTAC,san carlos city department of transportation and aviation,san carlos city,PO BOX 60534,CITY OF INDUSTRY,Personal Property Taxes,,17592232886693,The City of San Carlos,8839 N Cedar Ave#212,Fresno,Building Cleaning & Maintenance,15,TRUE +0,17592211833770,Santa Cruz Chamber of Commerce,santa cruz chamber commerce,santa clara chamber commerce,725 Front St,Santa Cruz,Membership Dues and Associations,,17592186046340,Santa Clara Chamber of Commerce,1850 Warburton Ave.,Santa Clara,Health Permit,,TRUE +0,17592186046340,Santa Clara Chamber of Commerce,santa clara chamber commerce,santa clara chamber commerce,1850 Warburton Ave.,Santa Clara,Health Permit,,17592186046340,Santa Clara Chamber of Commerce,1850 Warburton Ave.,Santa Clara,Health Permit,,TRUE +1,17592238500831,SAPARITO FOODS INC,saparito foods,saparito foods,1020 HANSEN WAY,REDWOOD CITY,Food Cost,,17592238500831,SAPARITO FOODS INC,1020 HANSEN WAY,REDWOOD CITY,Food Cost,, +1,17592238501124,SAPORITO FOODS INC,saporito foods,saparito foods,1020 HANSEN WAY,REDWOOD CITY,Food Cost,,17592238500831,SAPARITO FOODS INC,1020 HANSEN WAY,REDWOOD CITY,Food Cost,, +0,17592186046194,Sean Caldell,sean caldell,sean caldell,,,Tips Payable,,17592186046194,Sean Caldell,,,Tips Payable,, +0,17592224288922,Sean Caldwell,sean caldwell,sean caldell,5184 Lassen Ave,San Jose,Tips Payable,,17592186046194,Sean Caldell,,,Tips Payable,, +1,17592272475215,Silicon Valley Building,silicon valley building,silicon valley building,2565 Kolnes Ct,San Jose,Payroll Outstanding,4,17592272475215,Silicon Valley Building,2565 Kolnes Ct,San Jose,Payroll Outstanding,4, +1,17592272408770,Silicon Valley Building Service and Repair,silicon valley building service repair,silicon valley building,2565 Kolnes Ct,San Jose,Repairs to Building,4,17592272475215,Silicon Valley Building,2565 Kolnes Ct,San Jose,Payroll Outstanding,4, +0,17592194416702,Smart Food Services,smart food services,smart food service,,,Food Cost,,17592214452849,Smart Food Service,,,Food Cost,14, +0,17592214452849,Smart Food Service,smart food service,smart food service,,,Food Cost,14,17592214452849,Smart Food Service,,,Food Cost,14, +1,17592314344180,Sophia Inez Chavez Foncea,sophia chavez foncea,sophia chavez,,,Payroll Outstanding,,17592257543236,Sophia Chavez,,,Payroll Outstanding,,TRUE +1,17592257543236,Sophia Chavez,sophia chavez,sophia chavez,,,Payroll Outstanding,,17592257543236,Sophia Chavez,,,Payroll Outstanding,,TRUE +0,17592309227469,St. Clare School,st clare school,st claire school,,,Promotional or Donation Meal Comps,,17592309228366,Saint Clare School,,,Charitable Contributions,, +0,17592309227438,St. Clare School,st clare school,st claire school,,,Promotional or Donation Meal Comps,,17592309228366,Saint Clare School,,,Charitable Contributions,, +0,17592309228366,Saint Clare School,st claire school,st claire school,,,Charitable Contributions,,17592309228366,Saint Clare School,,,Charitable Contributions,, +1,17592266831733,State Farm Specialty Products,state farm specialty products,state farm specialty,,,Insurance,,17592253135901,State Farm Specialty,,,Liability Insurance,, +1,17592266831566,State Farm Speciality Products,state farm specialty products,state farm specialty,,,Insurance,,17592253135901,State Farm Specialty,,,Liability Insurance,, +1,17592253135901,State Farm Specialty,state farm specialty,state farm specialty,,,Liability Insurance,,17592253135901,State Farm Specialty,,,Liability Insurance,, +0,17592317290574,3D Studio,studio,studio,,,Advertising,,17592317290574,3D Studio,,,Advertising,, +0,17592314341751,3D Studio Imagination Visualized,studio imagination visualization,studio,,,Design,,17592317290574,3D Studio,,,Advertising,, +1,17592228391399,Todd Rothbard,todd rothbard,todd rothbard,100 Saratoga Ave,Santa Clara,Legal Fees,,17592228391399,Todd Rothbard,100 Saratoga Ave,Santa Clara,Legal Fees,, +1,17592186046229,Todd Rothbard Law Offices,todd rothbard law offices,todd rothbard,100 Saratoga Ave,Santa Clara,Legal Fees,,17592228391399,Todd Rothbard,100 Saratoga Ave,Santa Clara,Legal Fees,, +0,17592306013706,TSI Builder dba Argo Associates,tsi builder argonaut associates,tsi builder argonaut associates,,,Repairs to Building,,17592320114028,TSI Builders dba Argo Associates,320 Martin ave,Santa Clara,Repairs to Building,, +0,17592320114028,TSI Builders dba Argo Associates,tsi builders argo associates,tsi builder argonaut associates,320 Martin ave,Santa Clara,Repairs to Building,,17592320114028,TSI Builders dba Argo Associates,320 Martin ave,Santa Clara,Repairs to Building,, +1,17592235343378,US Mechanical,us mechanical,us mechanical,,,Furniture & Fixtures,4,17592278870077,"us mechanical & hood, inc",1719 grant street,santa clara,Repairs to Equipment,, +1,17592278870077,"us mechanical & hood, inc",us mechanical hood,us mechanical,1719 grant street,santa clara,Repairs to Equipment,,17592278870077,"us mechanical & hood, inc",1719 grant street,santa clara,Repairs to Equipment,, +0,17592264216952,Vicente Alvarado,vicente alvarado,vicente alvarado,,,Payroll Outstanding,,17592264216952,Vicente Alvarado,,,Payroll Outstanding,, +0,17592265232785,Vicente Alvarado Sandoval,vicente alvarado sandoval,vicente alvarado,,,Payroll Outstanding,,17592264216952,Vicente Alvarado,,,Payroll Outstanding,, +1,17592204853372,Victor Martin Silva,victor martin silva,victor martin silva,,,Payroll Outstanding,,17592204853382,Victor Silva,,,Payroll Outstanding,, +1,17592204853382,Victor Silva,victor silva,victor martin silva,,,Payroll Outstanding,,17592204853382,Victor Silva,,,Payroll Outstanding,, +0,17592294471083,Vortex,vortex,vortex,,,Repairs to Building,,17592186140389,Vortex Industries,1353 Oakland Road,San Jose,Repairs to Equipment,, +0,17592186140389,Vortex Industries,vortex industries,vortex,1353 Oakland Road,San Jose,Repairs to Equipment,,17592186140389,Vortex Industries,1353 Oakland Road,San Jose,Repairs to Equipment,, +1,17592309707244,Walnut Creek Luxury Cars LLC,walnut creek luxury cars,walnut creek,,,Auto and Truck Expenses,,17592309790974,City of Walnut Creek,,,Parking,,TRUE +1,17592309790974,City of Walnut Creek,walnut creek,walnut creek,,,Parking,,17592309790974,City of Walnut Creek,,,Parking,,TRUE +0,17592186852702,WEST VALLEY COLLECTION,west valley collection,west valley collection,PO BOX 60248,LOS ANGELES,Trash Removal,,17592186852702,WEST VALLEY COLLECTION,PO BOX 60248,LOS ANGELES,Trash Removal,,TRUE +0,17592186852706,"West Valley Collection & Recycling, LLC",west valley collection recycling,west valley collection,1333 Old Oakland,San Jose,Building Cleaning & Maintenance,,17592186852702,WEST VALLEY COLLECTION,PO BOX 60248,LOS ANGELES,Trash Removal,,TRUE +1,17592241925942,WILSON BOROR,wilson boror,wilson boror,,,Payroll Outstanding,,17592241925938,WILSON BORROR,147A WEST HILLSDALE BLVD,SAN MATEO,Payroll Outstanding,, +1,17592241925938,WILSON BORROR,wilson borror,wilson boror,147A WEST HILLSDALE BLVD,SAN MATEO,Payroll Outstanding,,17592241925938,WILSON BORROR,147A WEST HILLSDALE BLVD,SAN MATEO,Payroll Outstanding,, +0,17592271341302,Wine Wise - Naschmarkt,wine wise naschmarkt,wine wise,5655 College Ave.,Oakland,Wine Cost,,17592271341302,Wine Wise - Naschmarkt,5655 College Ave.,Oakland,Wine Cost,, +0,17592186045786,Wine Wise,wine wise,wine wise,,,Wine Cost,,17592271341302,Wine Wise - Naschmarkt,5655 College Ave.,Oakland,Wine Cost,, +1,17592251226630,yoon Peng Chin,yoon peng chin,yoon peng chin,,,Payroll Outstanding,,17592251226630,yoon Peng Chin,,,Payroll Outstanding,, +1,17592232939779,Youn Peng Chin,youn peng chin,yoon peng chin,,,Tips Payable,,17592251226630,yoon Peng Chin,,,Payroll Outstanding,, +1,17592232939815,Youn Peng Chin,youn peng chin,yoon peng chin,,,Tips Payable,,17592251226630,yoon Peng Chin,,,Payroll Outstanding,, \ No newline at end of file diff --git a/src/clj/auto_ap/graphql/vendors.clj b/src/clj/auto_ap/graphql/vendors.clj index 413907a3..343ada6f 100644 --- a/src/clj/auto_ap/graphql/vendors.clj +++ b/src/clj/auto_ap/graphql/vendors.clj @@ -209,4 +209,6 @@ :args [(dc/db conn)]})] {"id" (:db/id result) "name" (:vendor/name result) - "hidden" (boolean (:vendor/hidden result))})))) \ No newline at end of file + "hidden" (boolean (:vendor/hidden result))})))) + +#_(rebuild-search-index) diff --git a/src/clj/auto_ap/jobs/sales_summaries.clj b/src/clj/auto_ap/jobs/sales_summaries.clj index ceb88368..9ee556be 100644 --- a/src/clj/auto_ap/jobs/sales_summaries.clj +++ b/src/clj/auto_ap/jobs/sales_summaries.clj @@ -74,10 +74,10 @@ (def name->number {"gyros and pitas" 40111 - "returns" 41100 + "returns" 41300 "card payments" 75460 "cash payments" 75452 - "cash refunds" 75452 + "cash refunds" 41400 "food app payments" 72350 "unknown" 40000 "discounts" 41000 @@ -95,8 +95,8 @@ "uncategorized" 40000 "tax" 25700 "tip" 25500 - "card refunds" 75460 - "food app refunds" 72350}) + "card refunds" 41400 + "food app refunds" 41400}) (defn get-payment-items [c date] (->> diff --git a/src/clj/user.fiddle b/src/clj/user.fiddle index b5dbe95a..076d6a63 100644 --- a/src/clj/user.fiddle +++ b/src/clj/user.fiddle @@ -389,5 +389,62 @@ taptelis-clients) :separator \tab) -(dc/pull (dc/db conn) - 17592316415740) + + +(comment + +(defn cleanup-duplicate-vendors-get-merge [] + (with-open [i (io/reader (io/resource "duplicate_vendors.csv"))] + (let [[header & rest] (clojure.data.csv/read-csv i)] + + (->> rest + (map (fn [h r] + (into {} (map vector h r))) (repeat header)) + + (filter (fn [row] + (not= (get row "Ben says don't merge?") + "TRUE"))) + (map (fn [row] + {:from (Long/parseLong (get row "vendor_id")) + :to (Long/parseLong (get row "master_vendor_id"))})) + (filter (fn [row] + (not= (:from row) (:to row)))) + + (into [])))) + + ) + +(cleanup-duplicate-vendors-get-merge) + +(defn merge-vendor [{:keys [from to]}] + (let [valid-keys #{:transaction/recommended-vendor :cash-drawer-shift/vendor :payment/vendor :journal-entry/vendor :sales-refund/vendor :transaction/vendor :sales-order/vendor :vendor-usage/vendor :transaction-rule/vendor :invoice/vendor :expected-deposit/vendor} + transaction (->> (dc/q {:find '[?x ?a2] + :in '[$ [ ?a2 ...] ?vendor-from] + :where ['[?x ?a2 ?vendor-from] ]} + (dc/db conn) + valid-keys + from) + (mapcat (fn [[src attr]] + + [[:db/retract src attr from] + [:db/add src attr to]])) + (into []))] + + (auto-ap.datomic/audit-transact-batch transaction {:user/role "VENDOR-DEDUPE-CLEANUP"}) + (auto-ap.datomic/audit-transact [[:db/retractEntity from]] {:user/role "VENDOR-DEDUPE-CLEANUP"}))) + + + +(doseq [v (cleanup-duplicate-vendors-get-merge)] +(println v) + (merge-vendor v)) + +(dc/q {:find '[?a2] + :in '[$] + :where ['[?v :vendor/name] + '[_ ?a ?v] + '[?a :db/ident ?a2]]} + (dc/db conn)) + + + ) From 52a23209d75be7423880671936ae877bf334d8c6 Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 2 May 2024 23:08:18 -0700 Subject: [PATCH 48/59] Sysco can now import for a line item --- resources/sysco_line_item_mapping.csv | 1762 +++++++++++++++++ src/clj/auto_ap/jobs/sysco.clj | 128 +- src/clj/auto_ap/ssr/admin/clients.clj | 3 +- ...k.SYSCO050_00162075_20220114120945127.csv# | 1 + sysco-poller/.~lock.test.csv# | 1 + 5 files changed, 1869 insertions(+), 26 deletions(-) create mode 100644 resources/sysco_line_item_mapping.csv create mode 100644 sysco-poller/.~lock.SYSCO050_00162075_20220114120945127.csv# create mode 100644 sysco-poller/.~lock.test.csv# diff --git a/resources/sysco_line_item_mapping.csv b/resources/sysco_line_item_mapping.csv new file mode 100644 index 00000000..e821eda6 --- /dev/null +++ b/resources/sysco_line_item_mapping.csv @@ -0,0 +1,1762 @@ +Id,Sysco Category,Sysco Description,Integreat Account,Integreat Account Code,Nick's changes +0,CHEMICAL/JANTRL,LUBRICANT GEL F/ I CRM MCH,Food Costs,50000, +1,SUPP & EQUIP,DISH FRUIT CRM WHT 4-3/4 OZ,Food Costs,50000, +2,PAPER & DISP,BOWL PULP RND 32 OZ 8,Paper Costs,55000, +3,PAPER & DISP,CONTAINER PAPER MLD FIBR 9X6,Paper Costs,55000, +4,PAPER & DISP,STRAW PLAS TRANS JMB WRPD 7.75,Paper Costs,55000, +5,PAPER & DISP,FORK PLAS BLK PLA COMPOSTABLE,Paper Costs,55000, +6,PAPER & DISP,BAG PLAS LOGO 3 CLR,Paper Costs,55000, +7,FROZEN,BREAD PITA GYRO PRE-OILED 7,Food Costs,50000, +8,DAIRY PRODUCTS,YOGURT FRZN TART,Dairy Costs,51300, +9,POULTRY,GYRO CHICKEN SHAWARMA CONE,Chicken/ Poultry Costs,51120, +10,FROZEN,BAKLAVA CLASSIC 2X24,Food Costs,50000, +11,MEATS,PORK SLI GYRO CONE,Beef/Pork Costs,51110, +12,DAIRY PRODUCTS,SAUCE TZATZIKI,Dairy Costs,51300, +13,POULTRY,CHICKEN CVP THIGH BNLS SKLS,Chicken/ Poultry Costs,51120, +14,MEATS,MEAT GYRO BEEF CONE NTG,Beef/Pork Costs,51110, +15,CANNED AND DRY,SODA MEX COKE GLS NON RET,Soft Beverage Costs,52000, +16,CANNED AND DRY,TEA LIQUID UNSWEET PURELEAF,Food Costs,50000, +17,CANNED AND DRY,RICE BASMATI STEAMED XTRA LNG,Food Costs,50000, +18,CANNED AND DRY,WATER SPARKLING GREEK,Beverages Costs,52000, +19,DAIRY PRODUCTS,SAUCE SPICY YOGURT LOGO,Dairy Costs,51300, +20,CANNED AND DRY,WATER PURIFIED .5,Food Costs,50000, +21,FROZEN,DOUGH PASTRY HNY PUFF,Food Costs,50000, +22,DAIRY PRODUCTS,YOGURT PLAIN GREEK NON-FAT,Dairy Costs,51300, +23,PAPER & DISP,GLOVE NITRILE LARGE,Paper Costs,55000, +24,PAPER & DISP,CUP PAPER COLD 22OZ LOGO NTG,Paper Costs,55000, +25,PAPER & DISP,LID PLAS FLAT F/12-22 OZ,Paper Costs,55000, +26,PAPER & DISP,LINER TRASH 40X46 1.5 ML CLR,Paper Costs,55000, +27,CANNED AND DRY,DRESSING MIX RANCH ORIG,Food Costs,50000, +28,PAPER & DISP,NAPKIN DISP XPRESSNP NAT,Paper Costs,55000, +29,PAPER & DISP,CUP PLAS PORTION TRN 2OZ PC200,Paper Costs,55000, +30,CANNED AND DRY,CHGS FOR FUEL SURCHARGE,Food Costs,50000, +31,MEATS,VEAL CHEEK MEAT,Beef/Pork Costs,51110, +32,SEAFOOD,BRONZINI WHL SMALL 0.9-1.25#,Seafood Costs,51130, +33,SEAFOOD,SCALLOP SEA U/10 DRY JAPAN 8#,Seafood Costs,51130, +34,CANNED AND DRY,CHARGE FOR CREDIT CARD SRCHRG,Food Costs,50000, +35,CANNED AND DRY,ALLOWANCE FOR DROP SIZE,Food Costs,50000, +36,PAPER & DISP,FILM PVC ROLL 3000FT,Paper Costs,55000, +37,PAPER & DISP,NAPKIN DISP XPRESSNAP WHT,Paper Costs,55000, +38,PAPER & DISP,CONTAINER PAPER #4/110OZ NTG,Paper Costs,55000, +39,PAPER & DISP,CONTAINER CMPSTBL 9X6X3 PFREE,Paper Costs,55000, +40,CANNED AND DRY,TEA ICED UNSWEET PURELEAF,Beverages Costs,52000, +41,CANNED AND DRY,WATER BOTTLED DRINKING,Food Costs,50000, +42,CANNED AND DRY,SODA CHERRY VISSINADA GRK PLAS,Food Costs,50000, +43,CANNED AND DRY,SODA LEMON LEMONADA GREEK,Soft Beverage Costs,52000, +44,CANNED AND DRY,WATER MINERAL CARNONATED GREEK,Food Costs,50000, +45,DISPENSER BEVRG,SYRUP COLA PEPSI BIB,Soft Beverage Costs,52000, +46,DISPENSER BEVRG,SYRUP LEMONADE PNK BIB,Soft Beverage Costs,52000, +47,CANNED AND DRY,RICE BASMATI PABROIL SELA CS,Food Costs,50000, +48,CANNED AND DRY,KETCHUP FANCY,Food Costs,50000, +49,CANNED AND DRY,TUB & HUMMUS,Food Costs,50000, +50,CHEMICAL/JANTRL,SANITIZER MULTI QUAT LIQ,Food Costs,50000, +51,DAIRY PRODUCTS,YOGURT PLAIN GRK 5%,Dairy Costs,51300, +52,FROZEN,APTZR VEG FALAFEL BALL,Food Costs,50000, +53,PAPER & DISP,BOWL PAPER FIBER RND 32OZ 8IN,Paper Costs,55000, +54,PAPER & DISP,LID PLAS F/BOWL RND 8,Paper Costs,55000, +55,MEATS,BEEF GRND CHUCK FINE 80/20FRSH,Beef/Pork Costs,51110, +56,CANNED AND DRY,SODA ORANGE CRSH,Food Costs,50000, +57,PAPER & DISP,CONTAINER PLAS CLR BAR LK 5 IN,Paper Costs,55000, +58,CANNED AND DRY,KETCHUP PACKET FCY,Food Costs,50000, +59,PAPER & DISP,BAG PLAS WAVE TOP LOGO 18X16,Paper Costs,55000, +60,CANNED AND DRY,DRESSING VINAIGRETTE LOGO,Food Costs,50000, +61,PAPER & DISP,CONTAINER PAPER MLD FBR 9X6,Paper Costs,55000, +62,PAPER & DISP,BOWL PAPER MLD FBR 32OZ NFA,Paper Costs,55000, +63,PAPER & DISP,CONTAINER PLAS 120Z SUNDAE,Paper Costs,55000, +64,CANNED AND DRY,DRESSING VINAIGRETTE GYRO,Food Costs,50000, +65,CANNED AND DRY,VINEGAR WINE RED 5% 50 GRN,Alcohol Costs,54000, +66,DAIRY PRODUCTS,EGG SHELL LG WHT AA CA CGFREE,Dairy Costs,51300, +67,CANNED AND DRY,DRESSING MARINADE SOUVLAKI,Food Costs,50000, +68,CANNED AND DRY,SAUCE MUSTARD,Food Costs,50000, +69,CANNED AND DRY,TEA ICED SWEET PURELEAF,Beverages Costs,52000, +70,PAPER & DISP,LINER TRASH 40X46 1.1 ML GRY,Paper Costs,55000, +71,CANNED AND DRY,SODA COLA,Soft Beverage Costs,52000, +72,CANNED AND DRY,HONEY PURE CLOVER GR A TSC JUG,Food Costs,50000, +73,DAIRY PRODUCTS,CHEESE FETA RW,Dairy Costs,51300, +74,CANNED AND DRY,WATER PURIFIED BTL PET LSE DW,Food Costs,50000, +75,PRODUCE,JUICE LEMON FRESH PSTRZD,Produce Costs,51200, +76,CANNED AND DRY,SPREAD HUMMUS TRADITIONAL,Food Costs,50000, +77,PRODUCE,LETTUCE ROMAINE OF HEART FRSH,Produce Costs,51200, +78,PAPER & DISP,CONTAINER PAPER #1/30OZ NTG,Paper Costs,55000, +79,CANNED AND DRY,OIL SALAD CANOLA ZTF,Food Costs,50000, +80,PRODUCE,POTATO KENNEBEC FRESH,Produce Costs,51200, +81,POULTRY,CHICKEN CVP THIGH B/S HALAL FZ,Chicken/ Poultry Costs,51120, +82,POULTRY,CHICKEN CVP WHL WOG NAE 3.5-4#,Chicken/ Poultry Costs,51120, +83,PAPER & DISP,GLOVE NITRILE FDSRV PF BLU LRG,Paper Costs,55000, +84,CANNED AND DRY,RICE BASMATI CHEF SECRT LG GRN,Food Costs,50000, +85,FROZEN,APTZR VEG FALAFEL PUCK HALAL,Food Costs,50000, +86,PAPER & DISP,LID PLAS PET FOR 32OZ BOWL,Paper Costs,55000, +87,PAPER & DISP,FORK PLAS PP X-HVY BLK,Paper Costs,55000, +88,PRODUCE,TOMATO ROMA JUMBO FRESH,Produce Costs,51200, +89,PRODUCE,ONION YELLOW JUMBO BAG,Produce Costs,51200, +90,PRODUCE,ONION RED JUMBO BAG,Produce Costs,51200, +91,PRODUCE,GARLIC PEELED FRESH,Produce Costs,51200, +92,PRODUCE,MUSHROOM PORT RNDM W/STEM FRSH,Produce Costs,51200, +93,PRODUCE,SPINACH BABY FRSH,Produce Costs,51200, +94,PRODUCE,DILL BABY FRESH HERB,Produce Costs,51200, +95,PRODUCE,CUCUMBER ENGLISH MED SEEDLESS,Produce Costs,51200, +96,CANNED AND DRY,SODA ORANGE PORTOKALADA GREEK,Food Costs,50000, +97,DAIRY PRODUCTS,BUTTER SOLID USDA AA UNSLTD,Dairy Costs,51300, +98,DAIRY PRODUCTS,CHEESE MONT JACK SLI INT .75OZ,Dairy Costs,51300, +99,DAIRY PRODUCTS,CREAMER HALF & HALF SHF STBL,Dairy Costs,51300, +100,DAIRY PRODUCTS,MILK 2% CORRUGATE,Dairy Costs,51300, +101,MEATS,BACON CANADIAN STYLE WA,Beef/Pork Costs,51110, +102,MEATS,BEEF FRITTER CHKN CNTRY 8 OZ,Beef/Pork Costs,51110, +103,MEATS,BEEF GRND BULK CHUCK 80\20,Beef/Pork Costs,51110, +104,MEATS,BEEF SIRLOIN TRI TIP PLD CH,Beef/Pork Costs,51110, +105,MEATS,PORK CARNITAS MEAT PRCK CAFE H,Beef/Pork Costs,51110, +106,SEAFOOD,CRAB CAKE BRD O/R KRABBY 3 OZ,Seafood Costs,51130, +107,POULTRY,CHICKEN CVP BRST WHL 8OZ HAL,Chicken/ Poultry Costs,51120, +108,FROZEN,BISCUIT BTRMLK ROUND 3,Food Costs,50000, +109,FROZEN,DOUGH CROISSANT BTR PINCHED LG,Food Costs,50000, +110,FROZEN,TORTILLA CORN WHT 6 IN,Food Costs,50000, +111,FROZEN,TORTILLA FLOUR PRSSD 14IN,Food Costs,50000, +112,CANNED AND DRY,DRESSING CILANTRO VINGT LFAT,Food Costs,50000, +113,CANNED AND DRY,FLOUR ALL PURP H&R BL EN MT,Food Costs,50000, +114,CANNED AND DRY,JAM STRAWBERRY CUP,Food Costs,50000, +115,CANNED AND DRY,MARMALADE ORANGE CUP,Food Costs,50000, +116,CANNED AND DRY,SALT GRANULATED PLAIN,Food Costs,50000, +117,CANNED AND DRY,SAUCE HOT PEPPER CALIFN STYLE,Food Costs,50000, +118,CANNED AND DRY,SAUCE STEAK GLASS,Food Costs,50000, +119,CANNED AND DRY,SHORTENING PAN & GRILL,Food Costs,50000, +120,CANNED AND DRY,SUGAR GRANULATED XFINE CANE,Food Costs,50000, +121,CANNED AND DRY,SYRUP BREAKFAST CUP,Food Costs,50000, +122,CANNED AND DRY,SYRUP PANCAKE & WAFFLE,Food Costs,50000, +123,PAPER & DISP,BAG PLAS TSHRT 11.5X6.5X21 TKU,Paper Costs,55000, +124,PAPER & DISP,CONTAINER PLAS DELI TRANS W/LD,Paper Costs,55000, +125,PAPER & DISP,CONTAINER PLAS HNG WHT 8.5 1C,Paper Costs,55000, +126,PAPER & DISP,CUP PLAS PRTN TRANS 2OZ,Paper Costs,55000, +127,PAPER & DISP,FOIL ALMN ROLL STD WGT 500FT,Paper Costs,55000, +128,PAPER & DISP,LINER TRASH 40X46 1.6 ML BLK,Paper Costs,55000, +129,PAPER & DISP,TOWEL MULTI 9.5X9.12 EARTH+,Paper Costs,55000, +130,PRODUCE,ASPARAGUS FRESH LARGE FX,Produce Costs,51200, +131,PRODUCE,AVOCADO HASS BREAKING FRESH,Produce Costs,51200, +132,PRODUCE,BANANA FRESH GREEN TIP,Produce Costs,51200, +133,PRODUCE,BLUEBERRY FRESH,Produce Costs,51200, +134,PRODUCE,CILANTRO BUNCH FRESH,Produce Costs,51200, +135,PRODUCE,GRAPE RED SEEDLS LG,Produce Costs,51200, +136,PRODUCE,LETTUCE ICEBERG PREMIUM PLTIZD,Produce Costs,51200, +137,PRODUCE,LETTUCE SPRING MIX CONV PLLW,Produce Costs,51200, +138,PRODUCE,MELON CANTALOUPE FRESH,Produce Costs,51200, +139,PRODUCE,MELON HONEYDEW FRSH,Produce Costs,51200, +140,PRODUCE,MUSHROOM FOODSERVICE #2 FRESH,Produce Costs,51200, +141,PRODUCE,ONION YELLOW JUMBO BOX,Produce Costs,51200, +142,PRODUCE,ORANGE FRESH JUICE 100CT-138CT,Produce Costs,51200, +143,PRODUCE,PEPPER GREEN BELL CHOICE FRESH,Produce Costs,51200, +144,PRODUCE,PEPPER JALAPENO FRESH,Produce Costs,51200, +145,PRODUCE,PINEAPPLE FRESH GOLDEN RIPE,Produce Costs,51200, +146,PRODUCE,POTATO BAKING IDAHO 90CT FRSH,Produce Costs,51200, +147,PRODUCE,POTATO RED #2 FRESH SZ A,Produce Costs,51200, +148,PRODUCE,SPINACH CLIPPED FRESH,Produce Costs,51200, +149,PRODUCE,STRAWBERRY FRESH,Produce Costs,51200, +150,PRODUCE,TOMATO 2 LAYER 5X6 FRESH,Produce Costs,51200, +151,PRODUCE,TOMATO ROMA UTILITY FRESH,Produce Costs,51200, +152,MEATS,SAUSAGE CHICKEN APPLE LINK 4OZ,Meats Costs,51110, +153,DAIRY PRODUCTS,MILK WHL CORRUGATE,Dairy Costs,51300, +154,DAIRY PRODUCTS,BUTTERMILK 1% HG,Dairy Costs,51300, +155,DAIRY PRODUCTS,CHEESE CHDR MLD SLI INT .75 YL,Dairy Costs,51300, +156,CHEMICAL/JANTRL,BLEACH LIQ GRMCDL ULTRA 6%,Food Costs,50000, +157,POULTRY,TURKEY BRST NAT BRN PAN SKON,Poultry Costs,51120, +158,DAIRY PRODUCTS,CREAM HEAVY 40% FRESH HG,Dairy Costs,51300, +159,MEATS,BACON SHINGLE 10/12 HY GF PR12,Beef/Pork Costs,51110, +160,SEAFOOD,SALMON SMOKED COHO 2/CS,Seafood Costs,51130, +161,CANNED AND DRY,HASH CORNED BEEF,Beef/Pork Costs,51110, +162,MEATS,SAUSAGE PORK LNK A/C CKD NAT,Beef/Pork Costs,51110, +163,MEATS,SAUSAGE MEXICAN CHORIZO BULK,Meats Costs,51110, +164,MEATS,SAUSAGE LINGUISA ROPE,Meat Costs,51110, +165,PAPER & DISP,CONTAINER PLAS 11X8 58OZ BLK,Paper Costs,55000, +166,DAIRY PRODUCTS,MARGARINE WHIP TUB ZTF,Dairy Costs,51300, +167,CANNED AND DRY,SHORTENING FRY CANOLA CLR ZTF,Food Costs,50000, +168,DAIRY PRODUCTS,CHEESE CHDR MILD FTHR SHRD YEL,Dairy Costs,51300, +169,DAIRY PRODUCTS,CHEESE MONTEREY JACK FTHR SHRD,Dairy Costs,51300, +170,PAPER & DISP,CONTAINER PLAS 1C HNG 9X9 WHT,Paper Costs,55000, +171,DAIRY PRODUCTS,CHEESE AMER 160 SLI YEL,Dairy Costs,51300, +172,MEATS,HAM BUFFET MASTER BNLS H/W 32%,Beef/Pork Costs,51110, +173,CANNED AND DRY,PEPPER JALAPENO SLI,Food Costs,50000, +174,PAPER & DISP,CUP PAPER INSUL HOT 12OZ PHILZ,Paper Costs,55000, +175,PAPER & DISP,CUP PAPER INSUL HOT LOGO 16OZ,Paper Costs,55000, +176,PAPER & DISP,CUP PAPER INSUL HOT PHILZ 20,Paper Costs,55000, +177,PAPER & DISP,LID COMPOST HOT CUP PHILZ,Paper Costs,55000, +178,CANNED AND DRY,SUGAR BROWN LIGHT GOLDEN,Food Costs,50000, +179,PRODUCE,MINT FRESH HERB,Produce Costs,51200, +180,PAPER & DISP,NAPKIN DNR 12.75X16.25 2PLY,Paper Costs,55000, +181,PAPER & DISP,GLOVE POLY CAST DISP LG,Paper Costs,55000, +182,PAPER & DISP,FILTER COFFEE TEA 1.5GAL 13X5,Paper Costs,55000, +183,DAIRY PRODUCTS,MILK SOY BARISTA VANILLA,Dairy Costs,51300, +184,CANNED AND DRY,JUICE DRINK BRY BLAST,Food Costs,50000, +185,CANNED AND DRY,JUICE DRINK MANGO,Food Costs,50000, +186,CANNED AND DRY,JUICE APPLE GLS FCY,Food Costs,50000, +187,CANNED AND DRY,WATER SPRING,Food Costs,50000, +188,DAIRY PRODUCTS,CREAM HEAVY NATURAL HG,Dairy Costs,51300, +189,DAIRY PRODUCTS,MILK OAT BARISTA BLEND,Dairy Costs,51300, +190,DAIRY PRODUCTS,MILK ALMOND PURE BARISTA BLEND,Dairy Costs,51300, +191,PAPER & DISP,LID PLAS PET 32OZ - 48OZ BOWL,Paper Costs,55000, +192,PAPER & DISP,BOWL PAPER MOLDED FIBER 32OZ,Paper Costs,55000, +193,PAPER & DISP,BOX CORR CATER #1 LOGO 2021,Paper Costs,55000, +194,DISPENSER BEVRG,SYRUP LEMONADE BIB,Soft Beverage Costs,52000, +195,PAPER & DISP,FOIL ALMN ROLL HVY WGT 500 FT,Paper Costs,55000, +196,DAIRY PRODUCTS,CHEESE FETA CHUNKS IN BRNE,Dairy Costs,51300, +197,POULTRY,CHICKEN CVP WOG WHL HAL,Chicken/ Poultry Costs,51120, +198,PAPER & DISP,CONTAINER MFPP 1C HNG 9X6 WHT,Paper Costs,55000, +199,CANNED AND DRY,CHARGE FOR DELIVERY,Food Costs,50000, +200,PAPER & DISP,LID PLAS CLR DOME F/32 OZ RND,Paper Costs,55000, +201,DISPENSER BEVRG,SYRUP LEMON LIME BIB,Soft Beverage Costs,52000, +202,DAIRY PRODUCTS,CHEESE FETA PAIL,Dairy Costs,51300, +203,CANNED AND DRY,CHGS FOR MINIMUM ORDER,Food Costs,50000, +204,CANNED AND DRY,BREAD CRUMB PLAIN MED,Food Costs,50000, +205,CANNED AND DRY,DRESSING SALAD PRASINI,Food Costs,50000, +206,CANNED AND DRY,OIL CORN,Food Costs,50000, +207,CANNED AND DRY,OLIVE KALAMATA PTD BRNE 22 LB,Food Costs,50000, +208,CANNED AND DRY,SPICE TURMERIC GROUND,Food Costs,50000, +209,PRODUCE,SQUASH ZUCCHINI MEDIUM FRESH,Produce Costs,51200, +210,PRODUCE,ONION GREEN ICELS ROOTLESS,Produce Costs,51200, +211,CANNED AND DRY,SODA COLA PEPSI ZERO,Soft Beverage Costs,52000, +212,CANNED AND DRY,SODA DR PPR REG,Soft Beverage Costs,52000, +213,PAPER & DISP,TRAY PAPER FOOD 2LB LOGO NTG,Paper Costs,55000, +214,CHEMICAL/JANTRL,BLEACH LIQ GRMCDL CONC 8.25%,Food Costs,50000, +215,DISPENSER BEVRG,SYRUP COLA PEPSI DIET BIB,Soft Beverage Costs,52000, +216,PAPER & DISP,GLOVE NITRILE FDSRV PF BLU MED,Paper Costs,55000, +217,FROZEN,BAKLAVA GREEK PASTRY,Food Costs,50000, +218,DISPENSER BEVRG,SYRUP DR PPR DIET BIB,Soft Beverage Costs,52000, +219,DISPENSER BEVRG,SYRUP MOUNTAIN DEW BIB,Soft Beverage Costs,52000, +220,CANNED AND DRY,SAUCE CHILI HOT SRIRACHA,Food Costs,50000, +221,PAPER & DISP,SKEWER BAMBOO 10IN,Paper Costs,55000, +222,CANNED AND DRY,RICE BASMATI,Food Costs,50000, +223,PAPER & DISP,WRAP PAPER 14X14 LOGO,Paper Costs,55000, +224,CANNED AND DRY,HONEY PURE CLOVER GR A JUG,Food Costs,50000, +225,MEATS,PORK BUTT BNLS VP PR12,Beef/Pork Costs,51110, +226,DAIRY PRODUCTS,YOGURT PLAIN GREEK NONFAT,Dairy Costs,51300, +227,PAPER & DISP,TONG PLAS 9 BLK SNAP N SERVE,Paper Costs,55000, +228,CANNED AND DRY,SAUCE HOT SRIRACHA,Food Costs,50000, +229,DISPENSER BEVRG,SYRUP DR PEPPER BIB,Soft Beverage Costs,52000, +230,HLTHCAR/HOSPITALITY,BILLING MISC REGULAR,Food Costs,50000, +231,PAPER & DISP,FORK PLAS BLK MEDHVY MDLNGTH,Paper Costs,55000, +232,DAIRY PRODUCTS,YOGURT PLAIN ORIGINAL FTFR,Dairy Costs,51300, +233,SUPP & EQUIP,MOP HEAD BLND LPD ALL PURP LRG,Food Costs,50000, +234,PAPER & DISP,SPOON PLAS WHT MEDHVY MDLNGTH,Paper Costs,55000, +235,MEATS,BEEF GROUND BULK NAT 80/20,Beef/Pork Costs,51110, +236,PAPER & DISP,CONTAINER PAPER HNG 9X6 PFF,Paper Costs,55000, +237,PRODUCE,POTATO KENNEBEC FRSH CARTON,Produce Costs,51200, +238,PRODUCE,ARUGULA BABY FRESH,Produce Costs,51200, +239,PRODUCE,ONION GREEN ICELS FRSH,Produce Costs,51200, +240,CANNED AND DRY,JUICE LEMON,Food Costs,50000, +241,PRODUCE,PARSLEY ITALIAN FRSH,Produce Costs,51200, +242,PAPER & DISP,GLOVE VINYL FDSV PF MED,Paper Costs,55000, +243,PRODUCE,CUCUMBER ENGLISH FRSH,Produce Costs,51200, +244,PAPER & DISP,FORK PLAS WHT MED HVY MDLNGTH,Paper Costs,55000, +245,PAPER & DISP,CUP PLAS 12-14OZ CLR STRT WALL,Paper Costs,55000, +246,CANNED AND DRY,SAUCE HOT BOTTLE,Food Costs,50000, +247,CANNED AND DRY,OIL OLIVE BLEND 80/20,Food Costs,50000, +248,CANNED AND DRY,SPICE OREGANO LEAF RUBBED,Food Costs,50000, +249,DAIRY PRODUCTS,YOGURT VANILLA GREEK NFAT,Dairy Costs,51300, +250,FROZEN,BUN BRIOCHE HOMESTYLE 4,Food Costs,50000, +251,CANNED AND DRY,WATER SPRKLG IMPRTD MNERAL GLS,Food Costs,50000, +252,DAIRY PRODUCTS,CHEESE AMER 120 DELI SLI YEL,Dairy Costs,51300, +253,DAIRY PRODUCTS,CREAM SOUR SEL 13%,Dairy Costs,51300, +254,DAIRY PRODUCTS,CREAM WHIPPED ARSL XTRA CREAMY,Dairy Costs,51300, +255,CANNED AND DRY,HONEY POUCH,Food Costs,50000, +256,CANNED AND DRY,OIL OLIVE CANOLA EVO 75/25,Food Costs,50000, +257,CANNED AND DRY,PEPPER CHIPOTLE IN ADOBO SAUCE,Food Costs,50000, +258,CANNED AND DRY,PEPPER GREEN CHILI WHL,Food Costs,50000, +259,CANNED AND DRY,PEPPER JALAPENO SLI FIELD RUN,Food Costs,50000, +260,CANNED AND DRY,SAUCE MIX HOLLANDAISE GF,Food Costs,50000, +261,CANNED AND DRY,VINEGAR DISTILLED WHITE 5%,Food Costs,50000, +262,PAPER & DISP,COVER TOILET SEAT,Paper Costs,55000, +263,PAPER & DISP,FILM PVC 2000FT ROLL,Paper Costs,55000, +264,PAPER & DISP,DOILY PAPER NRMDY LACE 6,Paper Costs,55000, +265,PAPER & DISP,KIT CUTLERY MED PP KFS S&P NAP,Paper Costs,55000, +266,PAPER & DISP,NAPKIN DNR 2P 15X16.25 1/8F WH,Paper Costs,55000, +267,CHEMICAL/JANTRL,DETERGENT POT/PAN LIQ PINK RTU,Food Costs,50000, +268,CHEMICAL/JANTRL,SALT GRANULE SOLAR WATER SOFT,Food Costs,50000, +269,PRODUCE,CARROT FRESH JUMBO,Produce Costs,51200, +270,PRODUCE,LIME FRESH 200CT,Produce Costs,51200, +271,PAPER & DISP,CUP PLAS RPET CLR 16 OZ,Paper Costs,55000, +272,CANNED AND DRY,SAUCE HOT,Food Costs,50000, +273,MEATS,BACON SHINGLE 10/12 AW GF PR12,Beef/Pork Costs,51110, +274,PAPER & DISP,CRAYON RED BLUE YEL GREEN,Paper Costs,55000, +275,DAIRY PRODUCTS,CREAMER HALF AND HALF PC ASEP,Dairy Costs,51300, +276,MEATS,SAUSAGE PORK ROLL PURE,Beef/Pork Costs,51110, +277,POULTRY,CHICKEN 8PC BRD HNY STNG PCK,Chicken/ Poultry Costs,51120, +278,POULTRY,CHICKEN CVP BRST WHL 6OZ HAL,Chicken/ Poultry Costs,51120, +279,DISPENSER BEVRG,COFFEE COLD BREW CONC,Coffee Costs,52200, +280,CANNED AND DRY,KETCHUP SQUEEZE UPSIDE DOWN,Food Costs,50000, +281,PAPER & DISP,GLOVE NITRILE FDSRV PF BLK LRG,Paper Costs,55000, +282,MEATS,BEEF GRND CHUCK 81/19 CHUB FRS,Beef/Pork Costs,51110, +283,PAPER & DISP,LID FOIL F/FULL STM TBL PAN,Paper Costs,55000, +284,PAPER & DISP,FORK WOODEN DISP,Paper Costs,55000, +285,PAPER & DISP,SKEWER BAMBOO THIN 8 IN,Paper Costs,55000, +286,PAPER & DISP,WRAP DELI WHT 12X12 GRS RESIST,Paper Costs,55000, +287,PAPER & DISP,GLOVE NITRILE BLK PWDRFREE MED,Paper Costs,55000, +288,PRODUCE,LEMON CHOICE FRESH,Produce Costs,51200, +289,PAPER & DISP,CUP PLAS TRANS HIPS 12 OZ,Paper Costs,55000, +290,PAPER & DISP,TRAY FOOD PAPER #2 LOGO,Paper Costs,55000, +291,PAPER & DISP,LID PLAS CLR F/1.5-2.5OZ PRTN,Paper Costs,55000, +292,DISPENSER BEVRG,SYRUP TEA RASP 5X1 BRISK,Soft Beverage Costs,52000, +293,PAPER & DISP,PAN FOIL STM TBL FULL DP 3-3/8,Paper Costs,55000, +294,DISPENSER BEVRG,SYRUP ROOT BEER BIB,Soft Beverage Costs,52000, +295,PAPER & DISP,FOIL ALMN ROLL HVY WGT 1000 FT,Paper Costs,55000, +296,DAIRY PRODUCTS,CHEESE GORGONZOLA WHEEL HALF,Dairy Costs,51300, +297,DAIRY PRODUCTS,CHEESE MOZZ WM SHRED GOLD PREM,Dairy Costs,51300, +298,DAIRY PRODUCTS,CREAM SOUR CULTRD GRADE A,Dairy Costs,51300, +299,DAIRY PRODUCTS,ICE CREAM VAN,Dairy Costs,51300, +300,CANNED AND DRY,FLOUR MONDAKO BREAD EN-BLZ,Food Costs,50000, +301,CANNED AND DRY,JUICE CLAM SEA,Food Costs,50000, +302,CANNED AND DRY,MAYONNAISE DLX ALL YOLK,Food Costs,50000, +303,CANNED AND DRY,OIL RICE BRAN,Food Costs,50000, +304,CANNED AND DRY,SOUP BASE VEG ULTM GF,Food Costs,50000, +305,CANNED AND DRY,SUGAR CONFECTIONER 10X CANE,Food Costs,50000, +306,DISPENSER BEVRG,SYRUP TEA CONC UNSWT BLK PREM,Soft Beverage Costs,52000, +307,SEAFOOD,CRAB MEAT LUMP PAST,Seafood Costs,51130, +308,SEAFOOD,CALAMARI TUBE TNT FLTRM5-8ASIA,Seafood Costs,51130, +309,SEAFOOD,SCALLOP SEA WTR ADD 10/20 USA,Seafood Costs,51130, +310,MEATS,BACON SLAB SLI 13/17 CT PR12,Beef/Pork Costs,51110, +311,CANNED AND DRY,DRESSING MIX RANCH,Food Costs,50000, +312,FROZEN,BUN BRIOCHE HOMESTYLE 4.25,Food Costs,50000, +313,CANNED AND DRY,SODA LEMON LIME,Soft Beverage Costs,52000, +314,FROZEN,PUREE ORANGE BLOOD CONCENTRATE,Food Costs,50000, +315,CANNED AND DRY,FLOUR HI-GLUTEN BL EN MT AA,Dry Good Costs,51500, +316,PRODUCE,JUICE LIME PSTRZD ULTRA PREM,Produce Costs,51200, +317,SEAFOOD,OCTOPUS SPANISH RAW 6-8 LBS,Seafood Costs,51130, +318,PAPER & DISP,NAPKIN DISP COMP360 1PLY NAT,Paper Costs,55000, +319,PAPER & DISP,BOWL PULP NATL 32 OZ,Paper Costs,55000, +320,PAPER & DISP,LID BOWL FENWICK,Paper Costs,55000, +321,PAPER & DISP,SKEWER WOOD 10 IN,Paper Costs,55000, +322,PAPER & DISP,BAG FOIL SILVER 3.5X1.5X8.5,Paper Costs,55000, +323,DAIRY PRODUCTS,YOGURT PLAIN,Dairy Costs,51300, +324,MEATS,BEEF GRND BULK 80/20 BRICK,Beef/Pork Costs,51110, +325,DAIRY PRODUCTS,CHEESE FETA CHUNKS PAIL PREM,Dairy Costs,51300, +326,PRODUCE,PEPPER GREEN BELL LARGE FRESH,Produce Costs,51200, +327,PRODUCE,TOMATO ROMA FRSH,Produce Costs,51200, +328,CHEMICAL/JANTRL,CLEANER DEGREASER OVEN RTU,Food Costs,50000, +329,PAPER & DISP,BOX CORR CATER #4 LOGO 2021,Paper Costs,55000, +330,PAPER & DISP,LID PLAS HI DOME DESSRT,Paper Costs,55000, +331,MEATS,PORK BUTT BNLS 1/4 6-9#EA,Beef/Pork Costs,51110, +332,PAPER & DISP,CUP PAPER HOT WHT TALL 12OZ,Paper Costs,55000, +333,PAPER & DISP,SPOON PLAS SOUP BLACK XHEAVY,Paper Costs,55000, +334,PAPER & DISP,FOIL ALMN ROLL STD WGT 1000 FT,Paper Costs,55000, +335,SUPP & EQUIP,PAD SCRUB STNLS 50GR 1.75OZ,Food Costs,50000, +336,DISPENSER BEVRG,SYRUP TEA UNSWTD 5X1,Soft Beverage Costs,52000, +337,FROZEN,BUN BRIOCHE SPLIT TOP 4IN SLI,Food Costs,50000, +338,CANNED AND DRY,WATER MINERAL LIMONATA CAN,Beverages Costs,52000, +339,PRODUCE,GARLIC PEELED CHINESE,Produce Costs,51200, +340,PAPER & DISP,LID PLAS FLAT F/12-24Z PET CUP,Paper Costs,55000, +341,FROZEN,BILLING MISC FROZEN,Food Costs,50000, +342,PAPER & DISP,KNIFE PLAS BLK PLA COMPSTABLE,Paper Costs,55000, +343,PAPER & DISP,GLOVE NITRILE MED,Paper Costs,55000, +344,SUPP & EQUIP,GRILL BRICK 3.5IN THICK,Food Costs,50000, +345,PRODUCE,CABBAGE SAVOY FRSH,Produce Costs,51200, +346,PRODUCE,FLOWER ORCHID MULTI COLORED,Produce Costs,51200, +347,CANNED AND DRY,OIL AVOCADO,Food Costs,50000, +348,CANNED AND DRY,SODA SQUIRT MEXICAN GLS,Beverages Costs,52000, +349,CANNED AND DRY,SODA SPRITE MEX GLASS NON RETR,Soft Beverage Costs,52000, +350,CANNED AND DRY,SODA COKE DIET GLASS NON RETRN,Soft Beverage Costs,52000, +351,SEAFOOD,SALMON WHL KNG ORA,Seafood Costs,51130, +352,SEAFOOD,BRONZINI WHL BACK BTRFLY SML,Seafood Costs,51130, +353,MEATS,BEEF RIBEYE LIPON PR,Beef/Pork Costs,51110, +354,MEATS,STEAK FILET E\E,Beef/Pork Costs,51110, +355,MEATS,BEEF BACK RIB EXTRA MEATY FRZN,Beef/Pork Costs,51110, +356,SEAFOOD,HAMACHI FILET IVP FROZEN 4UP,Seafood Costs,51130, +357,MEATS,BACON SLAB FRSH PR12,Beef/Pork Costs,51110, +358,DAIRY PRODUCTS,CHEESE BLUE CRUMBLES,Dairy Costs,51300, +359,DAIRY PRODUCTS,CHEESE MOZZ FRSH BURRATA 4 OZ,Dairy Costs,51300, +360,DAIRY PRODUCTS,CHEESE MOZZ FRSH OVOLINI 4 OZ,Dairy Costs,51300, +361,DAIRY PRODUCTS,CREAMER HALF & HALF ESL,Dairy Costs,51300, +362,MEATS,BEEF GRND CHUCK & BRSKT PTY,Beef/Pork Costs,51110, +363,POULTRY,CHICKEN DRUMSTICK IF,Chicken/ Poultry Costs,51120, +364,POULTRY,CHICKEN WHL WOG ROCKY JR,Chicken/ Poultry Costs,51120, +365,FROZEN,CHEESECAKE PLAIN 14CT 10 INCH,Food Costs,50000, +366,FROZEN,CHIP TORTILLA CORN YEL 6 CUT,Food Costs,50000, +367,FROZEN,POTATO FRY SS1/4 XL PRIV RESV,Food Costs,50000, +368,PRODUCE,BROCCOLINI FRESH ICELS,Produce Costs,51200, +369,PRODUCE,CAULIFLOWER CELLO WRPD FRSH,Produce Costs,51200, +370,PRODUCE,CHARD SWISS GREEN,Produce Costs,51200, +371,PRODUCE,CORN SWEET WHITE FRESH,Produce Costs,51200, +372,PRODUCE,GARLIC CLOVE JMBO FRSH,Produce Costs,51200, +373,PRODUCE,MUSHROOM CRIMINI UNSZD FRESH,Produce Costs,51200, +374,PRODUCE,MUSHROOM SHIITAKE FRESH,Produce Costs,51200, +375,PRODUCE,PEPPER RED BELL FRESH,Produce Costs,51200, +376,PRODUCE,POTATO YELLOW YUKON GLD FRSH,Produce Costs,51200, +377,PRODUCE,RASPBERRY RED FRESH,Produce Costs,51200, +378,PRODUCE,TOMATILLO FRESH,Produce Costs,51200, +379,PRODUCE,TOMATO FRESH MIXED MEDLEY,Produce Costs,51200, +380,CANNED AND DRY,BEAN GARBANZO,Food Costs,50000, +381,CANNED AND DRY,CHOCOLATE WHITE BLOCK,Food Costs,50000, +382,CANNED AND DRY,GLAZE BALSAMIC,Food Costs,50000, +383,CANNED AND DRY,HORSERADISH WHITE PRPD,Food Costs,50000, +384,CANNED AND DRY,OIL OLIVE EXTRA VIRGIN ROBUSTO,Food Costs,50000, +385,CANNED AND DRY,OIL SALAD SUNFLOWER NONGMO ZTF,Food Costs,50000, +386,CANNED AND DRY,OIL TRUFFLE WHT,Food Costs,50000, +387,CANNED AND DRY,SAUCE SOY TAMARI GLUTEN FREE,Food Costs,50000, +388,CANNED AND DRY,TOMATO WHOLE PLD SAN MRZANO,Produce Costs,51200, +389,DAIRY PRODUCTS,CHEESE GOAT CHEF-CHEVRE,Dairy Costs,51300, +390,PRODUCE,BRUSSEL SPROUT FRSH MEDIUM,Produce Costs,51200, +391,PAPER & DISP,TOWEL MULTIFOLD 9.4X9.2 WHT 1P,Paper Costs,55000, +392,PAPER & DISP,TISSUE TOILET WRPD 4X3.8 2PLY,Paper Costs,55000, +393,MEATS,BEEF GRND 80/20 BULK,Beef/Pork Costs,51110, +394,CANNED AND DRY,MAYONNAISE HEAVY DUTY,Food Costs,50000, +395,PAPER & DISP,CONTAINER PLAS HNG 9X6 WHT,Paper Costs,55000, +396,PAPER & DISP,SPOON PLASTIC BLK BAGGED,Paper Costs,55000, +397,PAPER & DISP,FORK PLAS BLK HVY FULL LNGTH,Paper Costs,55000, +398,DISPENSER BEVRG,SYRUP COLA PEPSI ZERO BIB,Soft Beverage Costs,52000, +399,MEATS,PORK BUTT BNLS 1 PC VP FRZ P12,Beef/Pork Costs,51110, +400,PAPER & DISP,PICK BAMBOO PADDLE 4.7IN,Paper Costs,55000, +401,MEATS,PORK BUTT BNLS,Beef/Pork Costs,51110, +402,MEATS,HAM BUFFET BNLS H/W 32% MENUM,Meat Costs,51110, +403,FROZEN,TORTILLA CORN WHT 6IN,Food Costs,50000, +404,CANNED AND DRY,BEAN BLACK,Food Costs,50000, +405,CANNED AND DRY,SYRUP CHOCOLATE PLAS JUG,Food Costs,50000, +406,CANNED AND DRY,TUNA LIGHT SKIPJACK CHUNK WTR,Food Costs,50000, +407,CHEMICAL/JANTRL,DEGREASER HEAVY DUTY RTU,Food Costs,50000, +408,CANNED AND DRY,JAM BLACKBERRY CUP,Food Costs,50000, +409,CANNED AND DRY,PICKLE WHL DILL KO REF 75/85,Food Costs,50000, +410,DAIRY PRODUCTS,CHEESE QUESO FRESCO CASERO,Dairy Costs,51300, +411,CANNED AND DRY,PASTA ORZO,Food Costs,50000, +412,PAPER & DISP,KNIFE PLAS BLK MEDHVY MDLNGTH,Paper Costs,55000, +413,PAPER & DISP,CONTAINER PAPER #1 TAKEOUT WHT,Paper Costs,55000, +414,CANNED AND DRY,DIP HUMMUS FRSH TADITIONAL,Food Costs,50000, +415,PRODUCE,ONION GREEN ICELS,Produce Costs,51200, +416,PRODUCE,ONION RED JUMBO BOX,Produce Costs,51200, +417,PAPER & DISP,CONTAINER FOAM HNG LRG 9INX6IN,Paper Costs,55000, +418,PAPER & DISP,FORK PLAS PP HVY BLK FULL LENG,Paper Costs,55000, +419,CANNED AND DRY,WATER SPRKLG UNFLAVRD SLEK CN,Beverages Costs,52000, +420,CANNED AND DRY,RICE JASMINE THAI PR GRADE,Food Costs,50000, +421,PAPER & DISP,CONTAINER PAPER HNG 9X6 FIB,Paper Costs,55000, +422,PAPER & DISP,LINER REPRO 40X46 1.5 ML BLK,Paper Costs,55000, +423,PAPER & DISP,TAPE PAPR REG THERMAL 3-1/8,Paper Costs,55000, +424,SUPP & EQUIP,PAD SCOUR GRN 6X9IN ANTIMICRO,Food Costs,50000, +425,PAPER & DISP,GLOVE NITRILE BLUE XL,Paper Costs,55000, +426,PRODUCE,CUCUMBER ENGLISH LONG,Produce Costs,51200, +427,PRODUCE,TOMATO ROMA MED,Produce Costs,51200, +428,MEATS,PORK BUTT BNLS 1/4 6-9# EA,Beef/Pork Costs,51110, +429,PAPER & DISP,BOWL PAPER FIBER RND 32OZ 8IN,Paper Costs,55000, +430,DISPENSER BEVRG,SYRUP ORANGE CRSH BIB,Soft Beverage Costs,52000, +431,CANNED AND DRY,VINEGAR BALSAMIC ITALY,Food Costs,50000, +432,POULTRY,CHICKEN CVP THIGH B/S HALAL JM,Chicken/ Poultry Costs,51120, +433,CANNED AND DRY,DRESSING HONEY MUSTARD,Food Costs,50000, +434,PRODUCE,JUICE LEMON PSTRZD ULTRA PREM,Produce Costs,51200, +435,CANNED AND DRY,SPICE PAPRIKA GROUND,Food Costs,50000, +436,PAPER & DISP,FORK PLAS WHT HVY FULL LENGTH,Paper Costs,55000, +437,PAPER & DISP,LID FOIL F/ HALF STMTBL PAN,Paper Costs,55000, +438,SUPP & EQUIP,PAN FOIL HALF DEEP 100CT,Food Costs,50000, +439,PAPER & DISP,CONTAINER FOAM HNG LRG 1C,Paper Costs,55000, +440,PAPER & DISP,LINER TRASH 40X48 13 MC NAT,Paper Costs,55000, +441,CANNED AND DRY,KETCHUP FCY,Food Costs,50000, +442,PAPER & DISP,STRAW PLAS WRPD FLEX WHT 7.625,Paper Costs,55000, +443,CANNED AND DRY,WATER SPRKLG CHRY/POMGRNT,Food Costs,50000, +444,PAPER & DISP,APRON POLY EMBSD WHT 28X46 ECO,Paper Costs,55000, +445,PAPER & DISP,LID PLAS F/2OZ PRTN CP XL250PC,Paper Costs,55000, +446,CANNED AND DRY,OIL OLIVE BLEND 90/10,Food Costs,50000, +447,MEATS,PORK BUTT BNLS 1/8 TRM 2P C FZ,Beef/Pork Costs,51110, +448,PAPER & DISP,CONTAINER BIODEG SOUP CUSTOM,Paper Costs,55000, +449,PAPER & DISP,CONTAINER FIBER,Paper Costs,55000, +450,CANNED AND DRY,SODA COLA ZERO SUGAR,Soft Beverage Costs,52000, +451,PAPER & DISP,CONTAINER PLAS HNG CLR 5IN,Paper Costs,55000, +452,DAIRY PRODUCTS,CHEESE CREAM LOAF,Dairy Costs,51300, +453,CANNED AND DRY,ANCHOVY FILET IN OLIVE OIL,Food Costs,50000, +454,CANNED AND DRY,OIL SOYBEAN VEGETABLE PURE,Food Costs,50000, +455,SEAFOOD,CALAMARI TUBE & TNT 5-8 INCH,Seafood Costs,51130, +456,SEAFOOD,SHRIMP CKD & PLD BAY 90\150 FZ,Seafood Costs,51130, +457,SEAFOOD,SHRIMP WHT GH 16-20,Seafood Costs,51130, +458,SUPP & EQUIP,BROOM ANGULAR FLAGGED,Food Costs,50000, +459,CANNED AND DRY,SAUCE CHILI SRIRACHA,Food Costs,50000, +460,PAPER & DISP,CONTAINER PAPER #1 TK OUT KRFT,Paper Costs,55000, +461,PAPER & DISP,SPOON PLAS BLK MEDHVY MDLNGTH,Paper Costs,55000, +462,PAPER & DISP,LID PLAS F/ 12/16/21/24 CUPS,Paper Costs,55000, +463,PAPER & DISP,GLOVE NITRILE FDSRV PF BLU XL,Paper Costs,55000, +464,CANNED AND DRY,SODA ORANGE,Food Costs,50000, +465,PRODUCE,SQUASH ZUCCHINI MED FRSH,Produce Costs,51200, +466,CANNED AND DRY,SPICE TURMERIC GRND ORGANIC,Food Costs,50000, +467,CANNED AND DRY,WATER SPRING IMPORTED GLS,Food Costs,50000, +468,DISPENSER BEVRG,TEA ICED BREW BLK FP 4OZ,Soft Beverage Costs,52000, +469,PRODUCE,PARSLEY ITALIAN BUNCHED/WASHED,Produce Costs,51200, +470,PRODUCE,LETTUCE ROMAINE HEART OF FRSH,Produce Costs,51200, +471,PRODUCE,ONION RED MEDIUM BAG,Produce Costs,51200, +472,PAPER & DISP,GLOVE NITRILE BLK PEDRFREE LRG,Paper Costs,55000, +473,PAPER & DISP,TRAY CARRYOUT 4CUP,Paper Costs,55000, +474,PAPER & DISP,BAG PLAS T-SHRT THNKYOU12X7X22,Paper Costs,55000, +475,PAPER & DISP,GRILL BRICK 3.5IN THICK,Paper Costs,55000, +476,PAPER & DISP,PAD SCOUR GRN 6X9IN ANTIMICRO,Paper Costs,55000, +477,PAPER & DISP,PAD SCRUB STNLS 50GR 1.75OZ,Paper Costs,55000, +478,PAPER & DISP,LID TOGO PLAS F/12-16-32 OZ,Paper Costs,55000, +479,PRODUCE,PEPPER GREEN BELL FRSH LG,Produce Costs,51200, +480,DISPENSER BEVRG,SYRUP COLA WILD CHERRY,Soft Beverage Costs,52000, +481,DISPENSER BEVRG,SYRUP DR PEPPER DIET BIB,Soft Beverage Costs,52000, +482,CHEMICAL/JANTRL,CLEANER DEGREASER CONCENT RTU,Food Costs,50000, +483,CANNED AND DRY,OIL CANOLA SAL,Food Costs,50000, +484,PRODUCE,TOMATO ROMA FRESH,Produce Costs,51200, +485,DAIRY PRODUCTS,YOGURT PLAIN GREEK WM 4% FAT,Dairy Costs,51300, +486,CHEMICAL/JANTRL,CLEANER OVEN GREASESTRIP+ NP,Food Costs,50000, +487,FROZEN,BUN BRIOCHE SLI 4.5,Food Costs,50000, +488,PRODUCE,LEMON FRESH,Produce Costs,51200, +489,SUPP & EQUIP,DISH SUPREME GLASS,Food Costs,50000, +490,PAPER & DISP,CONTAINER POLYETHELYN,Paper Costs,55000, +491,PAPER & DISP,FILTER GREASE CONE 10 IN,Paper Costs,55000, +492,PRODUCE,SQUASH ZUCCHINI FCY FRESH,Produce Costs,51200, +493,CHEMICAL/JANTRL,CLEANER ALL PURPOSE PINE RTU,Food Costs,50000, +494,CANNED AND DRY,KETCHUP PACKET FCY FOIL,Food Costs,50000, +495,PRODUCE,MUSHROOM PORTABELLA CP LRG FSH,Produce Costs,51200, +496,PAPER & DISP,CONTAINER MINERAL 9X6 HNG 1CPT,Paper Costs,55000, +497,PAPER & DISP,WRAP DRY WAX DELI HVY 10X10.75,Paper Costs,55000, +498,PAPER & DISP,LID PLAS 12/16/22 OZ CUP,Paper Costs,55000, +499,CHEMICAL/JANTRL,POLISH S-S SATIN SHINE ARSL,Food Costs,50000, +500,CANNED AND DRY,SPICE MARJORAM LVS,Food Costs,50000, +501,SUPP & EQUIP,BOTTLE PLASTIC SQUEEZE WIDEMTH,Food Costs,50000, +502,PAPER & DISP,PAN FOIL STM TBL DEEPXH 2-9/16,Paper Costs,55000, +503,PAPER & DISP,TONG PLAS BLK 6.25IN SM SRVING,Paper Costs,55000, +504,PAPER & DISP,FORK PLAS WHT P/P,Paper Costs,55000, +505,CHEMICAL/JANTRL,CLEANER DEGRSR HGH TMP GRL RTU,Food Costs,50000, +506,DISPENSER BEVRG,SYRUP BASE ORG CRSH BIB,Soft Beverage Costs,52000, +507,PAPER & DISP,CONTAINER PAPER #4 TAKEOUT WHT,Paper Costs,55000, +508,CANNED AND DRY,CAPER NONPAREIL IMPORTED,Food Costs,50000, +509,MEATS,BEEF GRND CHUCK CHUB PREM FINE,Beef/Pork Costs,51110, +510,PAPER & DISP,LINER TRASH 33X39 .7 ML BLK,Paper Costs,55000, +511,PAPER & DISP,LINER TRASH 40X46 1.20 MIL BLK,Paper Costs,55000, +512,PAPER & DISP,GLOVE SYNTHETIC FDSRV PF SML,Paper Costs,55000, +513,PAPER & DISP,FORK PLASTIC WRPD PP XHVY BLK,Paper Costs,55000, +514,MEATS,LAMB RIBLET FZN,Meats Costs,51110, +515,CANNED AND DRY,WATER BOTTLED,Food Costs,50000, +516,CHEMICAL/JANTRL,SOAP HAND LIQ PINK RTU,Food Costs,50000, +517,PAPER & DISP,LINER TRASH 40X46 1.5 ML BLU,Paper Costs,55000, +518,CANNED AND DRY,SYSCO CUSTOMER AGREEMENT,Food Costs,50000, +519,CANNED AND DRY,HONEY WILDFLOWER BLOSSOM,Food Costs,50000, +520,CANNED AND DRY,BEET RED POWDER,Food Costs,50000, +521,FROZEN,BURRITO BKFST BACON,Food Costs,50000, +522,FROZEN,BURRITO BREAKFAST PORK SAUS,Food Costs,50000, +523,FROZEN,BREAKFAST SAUSAGE TUR SNDWICH,Food Costs,50000, +524,FROZEN,BREAKFAST SANDWICH PLANT BASE,Food Costs,50000, +525,FROZEN,BAGEL SLICE ASSORTED LRG,Food Costs,50000, +526,PAPER & DISP,BAG PAPER SAND GRS RESIST WHT,Paper Costs,55000, +527,PAPER & DISP,STOPPER FOR COFF PLUG BLK,Paper Costs,55000, +528,PAPER & DISP,LINER TRASH 33X39 .9 ML CLR,Paper Costs,55000, +529,PAPER & DISP,TOWEL MULTIFOLD 9.4X9.2 NAT 1P,Paper Costs,55000, +530,CANNED AND DRY,JUICE APPLE GLASS FCY,Food Costs,50000, +531,DAIRY PRODUCTS,MILK ALMOND BARISTA BLEND,Dairy Costs,51300, +532,CANNED AND DRY,SPICE OREGANO LEAF,Food Costs,50000, +533,CANNED AND DRY,SAUCE CHILI SRIRACHA CHA,Food Costs,50000, +534,CANNED AND DRY,OLIVE KALAMATA PTD PLAS KEG,Food Costs,50000, +535,CANNED AND DRY,MUSTARD YELLOW PRPD,Food Costs,50000, +536,CHEMICAL/JANTRL,CLEANER DEGRSR GREASELIFT RTU,Food Costs,50000, +537,CANNED AND DRY,SALT PKT .6 GM,Food Costs,50000, +538,CANNED AND DRY,SPICE PEPPER PACKET .1 GM,Food Costs,50000, +539,PAPER & DISP,LINER ROLL COMPOST47X60 1ML,Paper Costs,55000, +540,CANNED AND DRY,WATER SPRKLG ORG ARANCAT CAN,Food Costs,50000, +541,DISPENSER BEVRG,SYRUP COKE DIET 5X1 BIB,Soft Beverage Costs,52000, +542,SEAFOOD,SHRIMP WHT RHSO 16/20 MEX,Seafood Costs,51130, +543,DAIRY PRODUCTS,CHEESE CHDR SHARP LOAF,Dairy Costs,51300, +544,CANNED AND DRY,OLIVE GREEN QN STF PIM100/120,Food Costs,50000, +545,CANNED AND DRY,CORN STARCH,Food Costs,50000, +546,PAPER & DISP,FILM PVC ROLL 2000FT,Paper Costs,55000, +547,SUPP & EQUIP,TONG UTILITY S-S HEAVY DUTY,Food Costs,50000, +548,CANNED AND DRY,CHOCOLATE GRND SWT CHOC &COCOA,Food Costs,50000, +549,CANNED AND DRY,SPICE PAPRIKA XFCY,Food Costs,50000, +550,FROZEN,POTATO FRY SKON SS 1/4 RCPCH,Food Costs,50000, +551,DAIRY PRODUCTS,ICE CREAM GELATO DARK CHOCOLAT,Dairy Costs,51300, +552,CANNED AND DRY,PAN COATING ARSL CONC,Food Costs,50000, +553,PAPER & DISP,LINER ROLL 40X53 1.3ML BK ACFT,Paper Costs,55000, +554,DISPENSER BEVRG,SYRUP COLA PEPSI ZERO DIET BIB,Soft Beverage Costs,52000, +555,DAIRY PRODUCTS,CHEESE SWISS SNDW CUT GRADE A,Dairy Costs,51300, +556,CANNED AND DRY,KETCHUP SWEET W/NAT SUGAR BULK,Food Costs,50000, +557,CANNED AND DRY,VINEGAR WINE WHITE 5%,Alcohol Costs,54000, +558,DISPENSER BEVRG,SYRUP COKE CLASSIC 5X1 BIB,Soft Beverage Costs,52000, +559,CANNED AND DRY,DRESSING MIX RANCH NO MSG ADD,Food Costs,50000, +560,PAPER & DISP,TISSUE TOILET 4X3.75 2PL WH WR,Paper Costs,55000, +561,PAPER & DISP,TAPE PAPR CASH REG RL 2PLY 3,Paper Costs,55000, +562,CHEMICAL/JANTRL,BLEACH LIQUID DISINFECT CLENER,Food Costs,50000, +563,PAPER & DISP,CONTAINER PAPER FBR 9X6 1CPFF,Paper Costs,55000, +564,CANNED AND DRY,SODA COKE MEXICO GLASS NON RET,Soft Beverage Costs,52000, +565,CANNED AND DRY,SPICE CINNAMON STICK,Food Costs,50000, +566,CANNED AND DRY,WALNUT HALVES AND PCS,Food Costs,50000, +567,DISPENSER BEVRG,TEA ICED CONC RASP 5.5+1,Soft Beverage Costs,52000, +568,MEATS,BEEF GRND BULK 81/19 CHUB FRS,Beef/Pork Costs,51110, +569,DAIRY PRODUCTS,EGG SHELL MED WHT AA CA CGFREE,Dairy Costs,51300, +570,CANNED AND DRY,SPICE PAPRIKA DOM GRND,Food Costs,50000, +571,SUPP & EQUIP,BASKET FRYER FRT HOOK,Food Costs,50000, +572,PRODUCE,CUCUMBER ENGLISH LRGE SEEDLESS,Produce Costs,51200, +573,PAPER & DISP,KNIFE PLAS PP X-HVY BLK,Paper Costs,55000, +574,DISPENSER BEVRG,TEA ICED BREW BLK FP 1OZ,Soft Beverage Costs,52000, +575,CANNED AND DRY,SPICE CINNAMON GROUND BAKER,Food Costs,50000, +576,PAPER & DISP,TAPE PAPR CASH REG RL 1PLY 3,Paper Costs,55000, +577,PAPER & DISP,NAPKIN DSPNSR 13X12 EARTH+,Paper Costs,55000, +578,CANNED AND DRY,CORN WHL KERNEL GOLDEN FCY,Food Costs,50000, +579,PAPER & DISP,NAPKIN DNR 15X16.25 2PLY 1/8F,Paper Costs,55000, +580,PRODUCE,MELON WATERMELON SDLS FRSH,Produce Costs,51200, +581,FROZEN,BREAD LOAF MINI SWISS OVAL,Food Costs,50000, +582,PAPER & DISP,KIT CUTLERY FSKN PLANTSTRCH,Paper Costs,55000, +583,CANNED AND DRY,SODA DR PEPPER PET 24 LOOSE,Soft Beverage Costs,52000, +584,PAPER & DISP,WRAP PAPER WHT GREAS RES12X12,Paper Costs,55000, +585,PRODUCE,CELERY PASCAL FDSVC,Produce Costs,51200, +586,PAPER & DISP,LINER TRASH 40X46 1.1 ML CLR,Paper Costs,55000, +587,FROZEN,DIP HUMMUS TRADITIONAL,Food Costs,50000, +588,CANNED AND DRY,RICE BASMATI WHITE,Food Costs,50000, +589,PAPER & DISP,BAG PLAS WAVE TOP 20X18X10 TTO,Paper Costs,55000, +590,PAPER & DISP,LID PLAS STRAW SLOT 12-24OZ,Paper Costs,55000, +591,PRODUCE,ONION YELLOW JUMBO FRESH SACK,Produce Costs,51200, +592,MEATS,PORK BUTT BNLS 1/4 6-9#EA FZ,Beef/Pork Costs,51110, +593,PAPER & DISP,CONTAINER PLAS CLR HNG 6IN,Paper Costs,55000, +594,CANNED AND DRY,SPICE CARDAMOM GRND,Food Costs,50000, +595,FROZEN,BURRITO BKFST GRN CHILE,Food Costs,50000, +596,DAIRY PRODUCTS,CHEESE CREAM WHPD TUB SPREAD,Dairy Costs,51300, +597,DAIRY PRODUCTS,YOGURT STWBRY GREEK NON FAT,Dairy Costs,51300, +598,CANNED AND DRY,STARCH POTATO,Food Costs,50000, +599,SUPP & EQUIP,SUPPLY SOTF TABLEWARE,Food Costs,50000, +600,SUPP & EQUIP,CHARGE FREIGHT,Food Costs,50000, +601,CANNED AND DRY,SPICE TURMERIC GRND,Food Costs,50000, +602,CANNED AND DRY,TEA LIQUID SWEET PURELEAF,Food Costs,50000, +603,PAPER & DISP,NAPKIN DISP 13X12 1PLY UNBLEAC,Paper Costs,55000, +604,PAPER & DISP,WRAP DRY WAX DELI 12X10.75IN,Paper Costs,55000, +605,PAPER & DISP,FORK SERVING BLK,Paper Costs,55000, +606,FROZEN,BREAD PITA PLAIN 7 IN,Food Costs,50000, +607,PAPER & DISP,LINER ROLL 24X24 6 MC NAT,Paper Costs,55000, +608,PAPER & DISP,LINER TRASH 43X47 .7 ML BLK,Paper Costs,55000, +609,PAPER & DISP,CUP PLAS CLR RPET 12-14 OZ,Paper Costs,55000, +610,MEATS,PORK BUTT BNLS 1 PC VP PR12,Beef/Pork Costs,51110, +611,CANNED AND DRY,DRINK APPLE SPRKLG,Food Costs,50000, +612,PAPER & DISP,FILM PVC ROLL 2000 W/SLI CUTR,Paper Costs,55000, +613,PAPER & DISP,LID PLAS F/1.5 & 2 OZ PRTN,Paper Costs,55000, +614,CHEMICAL/JANTRL,DETERGENT POT/PAN LIQ BLUE RTU,Food Costs,50000, +615,CANNED AND DRY,RICE BASMATI PARBOILED SELA,Food Costs,50000, +616,SEAFOOD,TUNA YELLOWFIN STK SKLS 6OZ TS,Seafood Costs,51130, +617,FROZEN,POTATO FRY 1/4 SS LONG PHANTM,Produce Costs,51200, +618,CANNED AND DRY,TOMATO WHOLE PEELD PLM NTRL,Produce Costs,51200, +619,CANNED AND DRY,TOMATO DICED IN JCE NO SALT CA,Food Costs,50000, +620,SEAFOOD,OCTOPUS SPANISH RAW 4-6 LBS,Seafood Costs,51130, +621,MEATS,LAMB RACK NZ 3531 FRCHD HALAL,Beef/Pork Costs,51110, +622,CANNED AND DRY,FLOUR PIZZA 00 BLUE PIZZERIA,Food Costs,50000, +623,CANNED AND DRY,DRINK GINGER BEER,Alcohol Costs,54000, +624,FROZEN,CAKE BROWN BUTR MINI,Food Costs,50000, +625,CANNED AND DRY,FLOUR SEMOLINA #1 HI-GLUTEN EN,Food Costs,50000, +626,FROZEN,BREAD BAGUETTE FRCH,Food Costs,50000, +627,CANNED AND DRY,PEPPER RED DROPS MINI,Food Costs,50000, +628,CANNED AND DRY,SAUCE SOY,Food Costs,50000, +629,MEATS,BEEF PHILLY SIRL BRKWY ANG MAR,Beef/Pork Costs,51110, +630,SUPP & EQUIP,BOX BUS BLK 7IN DEEP 15X20IN,Food Costs,50000, +631,PAPER & DISP,BAG PAPER BRN W/HNDL BSTRO 60#,Paper Costs,55000, +632,CANNED AND DRY,VINEGAR RED WINE,Food Costs,50000, +633,PAPER & DISP,LINER TRASH 40X46 .7 ML BLK,Paper Costs,55000, +634,SUPP & EQUIP,PAD SCRUB S-S 35 GRAM 1.25 OZ,Food Costs,50000, +635,PAPER & DISP,BOWL PULP ROUND 32OZ,Paper Costs,55000, +636,PAPER & DISP,TOWEL MULTIFOLD NAT 9.5X9.125,Paper Costs,55000, +637,CANNED AND DRY,SUGAR SUB PACKET PINK,Food Costs,50000, +638,CANNED AND DRY,WATER PURIFIED,Food Costs,50000, +639,PAPER & DISP,TRAY CARRIER 4CUP MOLDED FIBR,Paper Costs,55000, +640,PRODUCE,PARSLEY ITAL FRESH HERB,Produce Costs,51200, +641,CANNED AND DRY,SALT GRANULATED IODIZED,Food Costs,50000, +642,FROZEN,BUN BRIOCHE 4.25 IN,Food Costs,50000, +643,CANNED AND DRY,VINEGAR BLSMIC AGED ITALY PL,Food Costs,50000, +644,PAPER & DISP,GLOVE NITRILE FDSRV PF BLU SML,Paper Costs,55000, +645,PAPER & DISP,SPOON PLASTIC SERVING BLK 10IN,Paper Costs,55000, +646,CANNED AND DRY,MAYONNAISE REAL,Food Costs,50000, +647,DAIRY PRODUCTS,ICE CREAM STWBRY,Dairy Costs,51300, +648,DAIRY PRODUCTS,ICE CREAM CHOC,Dairy Costs,51300, +649,DAIRY PRODUCTS,ICE CREAM VAN BEAN SPECK,Dairy Costs,51300, +650,FROZEN,GLACE DEMI VEAL,Beef/Pork Costs,51110, +651,CANNED AND DRY,SODA DR PPR DIET,Soft Beverage Costs,52000, +652,CANNED AND DRY,SPICE CUMIN GRND,Food Costs,50000, +653,PAPER & DISP,CUP PLAS PORTION BLK 2 OZ,Paper Costs,55000, +654,PAPER & DISP,KNIFE PLAS CLR HVY WT,Paper Costs,55000, +655,PAPER & DISP,CUP PAPER CLD LOGO,Paper Costs,55000, +656,PAPER & DISP,CUP PLAS TRANS 16OZ SOFT,Paper Costs,55000, +657,PRODUCE,PARSLEY BUNCH FDSVC,Produce Costs,51200, +658,PAPER & DISP,LINER TRASH 24X32 .5 ML BLK,Paper Costs,55000, +659,CANNED AND DRY,SPICE CINNAMON GRND,Food Costs,50000, +660,PAPER & DISP,FORK PLAS HVY STY BLK,Paper Costs,55000, +661,PAPER & DISP,SPOON PLAS PP HVY BLK FULL LEN,Paper Costs,55000, +662,DAIRY PRODUCTS,EGG SHELL LG PAST CF,Dairy Costs,51300, +663,PAPER & DISP,GLOVE POLY EMBOSD FDSV MED,Paper Costs,55000, +664,MEATS,VEAL EYE OF RND BNLS CDFA,Beef/Pork Costs,51110, +665,SEAFOOD,CALAMARI RING & TENT 5/8IN WD,Seafood Costs,51130, +666,MEATS,BEEF GROUND PTY KOBE STY IQF,Beef/Pork Costs,51110, +667,CANNED AND DRY,WALNUT HALF & PIECES,Food Costs,50000, +668,PAPER & DISP,FORK PLAS PP WHT MED WT,Paper Costs,55000, +669,DAIRY PRODUCTS,YOGURT PLAIN GREEK WHOLE FAT,Dairy Costs,51300, +670,DAIRY PRODUCTS,EGG SHELL MED WHT AA USDA CGFR,Dairy Costs,51300, +671,PAPER & DISP,GLOVE VITRILE FDSRV PF BLU LRG,Paper Costs,55000, +672,CANNED AND DRY,DRESSING MIX RNCH ORIG,Food Costs,50000, +673,SUPP & EQUIP,MOP LOOP END 17OZ GREEN,Food Costs,50000, +674,DISPENSER BEVRG,SYRUP FRUIT PUNCH BIB,Soft Beverage Costs,52000, +675,PAPER & DISP,LINER TRASH 24X23 .35 ML BLK,Paper Costs,55000, +676,CANNED AND DRY,WATER SPARKLING GRPFRT POMPL,Beverages Costs,52000, +677,PAPER & DISP,PLATE PAPER PRO NATURALS 8.75,Paper Costs,55000, +678,PAPER & DISP,KNIFE PLAS BLK HVY FULL LENGTH,Paper Costs,55000, +679,CANNED AND DRY,SODA DR PEPPER SUITCASE,Soft Beverage Costs,52000, +680,CANNED AND DRY,OIL CANOLA/OLIVE BLEND 90/10,Food Costs,50000, +681,FROZEN,BUN BRIOCHE SLI 2.5,Food Costs,50000, +682,POULTRY,CHICKEN CVP WOG 3.5 WHITE FZ,Chicken/ Poultry Costs,51120, +683,POULTRY,CHICKEN CVP THIGH B/S FZ,Chicken/ Poultry Costs,51120, +684,PRODUCE,JUICE LEMONADE READY TO USE,Produce Costs,51200, +685,PAPER & DISP,CUP FOAM 16 OZ,Paper Costs,55000, +686,SUPP & EQUIP,CANDLE DISP PET LITES CLR,Food Costs,50000, +687,PAPER & DISP,CONTAINER PAPER #3 TK OUT KRFT,Paper Costs,55000, +688,PAPER & DISP,KIT CUTLERY FKS/SP/NP MW PP WT,Paper Costs,55000, +689,POULTRY,CHICKEN CVP BRST B/S RDM JUMBO,Chicken/ Poultry Costs,51120, +690,PAPER & DISP,PICK SANDWICH BAMBOO KNOT 4IN,Paper Costs,55000, +691,MEATS,BEEF TENDERLOIN PSMO,Beef/Pork Costs,51110, +692,FROZEN,MEAT GYRO CONE CHCGO STY,Food Costs,50000, +693,CANNED AND DRY,BEAN CANNELLINI,Food Costs,50000, +694,DAIRY PRODUCTS,CHEESE MOZZARELLA LMPS SHRD,Dairy Costs,51300, +695,DAIRY PRODUCTS,CHEESE RICOTTA PRT SKM CLS,Dairy Costs,51300, +696,CANNED AND DRY,SPREAD CHOC HZNUT NUTELLA,Food Costs,50000, +697,DISPENSER BEVRG,TEA BREW BLEND PACK FILTER BAG,Soft Beverage Costs,52000, +698,DAIRY PRODUCTS,MILK WHL HG,Dairy Costs,51300, +699,CANNED AND DRY,SEASONING CAJUN BAYOU,Food Costs,50000, +700,FROZEN,BUN HAMBURGER PUGLIESE 4.5,Food Costs,50000, +701,MEATS,BEEF GRND KOBE STYL 73/27 LEAN,Beef/Pork Costs,51110, +702,DAIRY PRODUCTS,CHEESE AMERICAN SHARP 160 SL,Dairy Costs,51300, +703,DAIRY PRODUCTS,YOGURT PLAIN LOW FAT,Dairy Costs,51300, +704,CANNED AND DRY,SAUCE HOT PKTS,Food Costs,50000, +705,PAPER & DISP,DISPENSER NAPKIN TBL COMP360,Paper Costs,55000, +706,PAPER & DISP,LINER TRASH 40X46 .7 ML CLR,Paper Costs,55000, +707,DAIRY PRODUCTS,BUTTER UNSLT USDA AA 82% EURPN,Dairy Costs,51300, +708,PAPER & DISP,LID PLAS CPLA F/SOUP 8 OZ,Paper Costs,55000, +709,MEATS,BEEF BONE SPLIT MARROW FRZN,Beef/Pork Costs,51110, +710,PAPER & DISP,CONTAINER PLAS MICRO BLK W/LID,Paper Costs,55000, +711,SUPP & EQUIP,FUEL LAMP CRTRG SOFTLIGHT,Food Costs,50000, +712,CANNED AND DRY,OIL OLIVE BLEND 75/25,Food Costs,50000, +713,PAPER & DISP,WRAP PAPER DRY WAX WHT 12X12,Paper Costs,55000, +714,CANNED AND DRY,KETCHUP JUG RED PLAS W/PUMP,Food Costs,50000, +715,CANNED AND DRY,SAUCE STRAWBERRY DECORATING,Food Costs,50000, +716,PRODUCE,CABBAGE GREEN FRSH LARGE,Produce Costs,51200, +717,DAIRY PRODUCTS,CHEESE GOUDA SMK VAN GOGH SLI,Dairy Costs,51300, +718,MEATS,SALAMI HARD SLI,Beef/Pork Costs,51110, +719,CANNED AND DRY,CRACKER SALTINE,Food Costs,50000, +720,CANNED AND DRY,OAT STEEL CUT ORGANIC,Food Costs,50000, +721,FROZEN,GLACE DEMI BEEF,Beef/Pork Costs,51110, +722,CANNED AND DRY,BREAD CRUMB ITALIAN,Food Costs,50000, +723,MEATS,LAMB RACK AUST CAP OFF FRENCD,Beef/Pork Costs,51110, +724,MEATS,SAUSAGE BULK MILD ITALIAN,Beef/Pork Costs,51110, +725,CANNED AND DRY,BARLEY PEARLED,Food Costs,50000, +726,MEATS,LAMB HINDSHANK AUS 5031 HALAL,Beef/Pork Costs,51110, +727,MEATS,PORK BUTT BNLS PR12,Beef/Pork Costs,51110, +728,PRODUCE,CUCUMBER FRESH,Produce Costs,51200, +729,DAIRY PRODUCTS,EGG SHELL WHT LRG AA USDA CGFR,Dairy Costs,51300, +730,PAPER & DISP,PLATE FOAM HVY LAM BLK 9,Paper Costs,55000, +731,PAPER & DISP,TONG PLASTIC SERVING BLK 10.75,Paper Costs,55000, +732,PAPER & DISP,LINER REPRO 40X44 1.2ML BLK RL,Paper Costs,55000, +733,POULTRY,TURKEY BURGER PEPPER GARLIC,Poultry Costs,51120, +734,CANNED AND DRY,CHOCOLATE CHIP SEMI-SWEET 1M,Food Costs,50000, +735,CANNED AND DRY,COCONUT SHRD FCY SWEETENED,Food Costs,50000, +736,CANNED AND DRY,SAUCE TABASCO HOT,Food Costs,50000, +737,DISPENSER BEVRG,JUICE BASE CRNBRY CKTL 15% BIB,Soft Beverage Costs,52000, +738,CHEMICAL/JANTRL,CLEANER SANITIZER SURFACE RTU,Food Costs,50000, +739,PRODUCE,ORANGE CHOICE FRESH,Produce Costs,51200, +740,DISPENSER BEVRG,SYRUP AGAVE VAN CREME,Soft Beverage Costs,52000, +741,PAPER & DISP,LID PLAS PP CLR F/32 OZ BOWL,Paper Costs,55000, +742,DAIRY PRODUCTS,EGG SHELL LARGE GR AA USDA WHT,Dairy Costs,51300, +743,POULTRY,CHICKEN THIGH BNLS SKLS JMB FZ,Chicken/ Poultry Costs,51120, +744,PAPER & DISP,LID PLAS TRANS F/12-20OZ CUP,Paper Costs,55000, +745,MEATS,PORK CARNITAS FC RDY TO SHRED,Beef/Pork Costs,51110, +746,CANNED AND DRY,JELLY GRAPE CUP,Food Costs,50000, +747,CANNED AND DRY,JUICE TOMATO FCY,Food Costs,50000, +748,CANNED AND DRY,TOMATO SUNDRIED JULIENNE,Food Costs,50000, +749,PRODUCE,BASIL FRESH HERB,Produce Costs,51200, +750,PAPER & DISP,CONTAINER PLAS COMBO BLK 3CMPT,Paper Costs,55000, +751,PRODUCE,JUICE ORANGE PSTRZD ULTRA PREM,Produce Costs,51200, +752,DAIRY PRODUCTS,CHEESE FETA,Dairy Costs,51300, +753,PAPER & DISP,LID PLAS CPLA F/SOUP 12/16/32,Paper Costs,55000, +754,DAIRY PRODUCTS,YOGURT VANILLA GREEK NF,Dairy Costs,51300, +755,DAIRY PRODUCTS,BUTTER SOLID UNSLTD USDA AA,Dairy Costs,51300, +756,CANNED AND DRY,KETCHUP PACKET NAT WITH SUGAR,Food Costs,50000, +757,SUPP & EQUIP,PAD GRIDDLE 4X6,Food Costs,50000, +758,PAPER & DISP,KNIFE PLAS PP BLK HVY FULL LEN,Paper Costs,55000, +759,CANNED AND DRY,TOMATO GRND UNPEELED,Food Costs,50000, +760,CANNED AND DRY,OIL OLIVE 80%CANOLA 20%POMACE,Food Costs,50000, +761,SEAFOOD,SHRIMP WHT P&D TLON 13/15,Seafood Costs,51130, +762,CANNED AND DRY,WATER SPRKLG IMP MINERAL GLS,Beverages Costs,52000, +763,CANNED AND DRY,SHORTENING FRY LIQ CLR ZTF,Food Costs,50000, +764,MEATS,STEAK RIBEYE B\I 1TL CH,Beef/Pork Costs,51110, +765,SEAFOOD,CALAMARI TUBE TNT TODA 3-5 CHN,Seafood Costs,51130, +766,CANNED AND DRY,TRUFFLE WHITE ARMA INFUSD OO,Food Costs,50000, +767,FROZEN,BREAD CIABATTA SNDW ARTISN,Food Costs,50000, +768,CANNED AND DRY,RICE ARBORIO 5KG,Food Costs,50000, +769,DAIRY PRODUCTS,CHEESE PARMESAN BLEND,Dairy Costs,51300, +770,DAIRY PRODUCTS,CHEESE CREAM NEUFCH LOAF,Dairy Costs,51300, +771,MEATS,STEAK RIBEYE B\I 1TL,Beef/Pork Costs,51110, +772,CANNED AND DRY,RICE CARNAROLI 5KG,Food Costs,50000, +773,CANNED AND DRY,WINE COOKING CHABLIS,Alcohol Costs,54000, +774,MEATS,PANCETTA ITALIAN,Beef/Pork Costs,51110, +775,CANNED AND DRY,CRANBERRY DRIED CRAISINS,Food Costs,50000, +776,CHEMICAL/JANTRL,CLEANER FLOOR ALKALINE RTU,Food Costs,50000, +777,MEATS,BEEF GRND BULK 73/27 CHUB,Beef/Pork Costs,51110, +778,MEATS,MEATBALL PK/BF ITAL STYL 2 OZ,Beef/Pork Costs,51110, +779,CANNED AND DRY,HONEY PURE LT AMB GR A TSC JUG,Food Costs,50000, +780,CANNED AND DRY,KETCHUP BTLD ORGANIC,Food Costs,50000, +781,CANNED AND DRY,SPICE PEPPER BLK GRND,Food Costs,50000, +782,MEATS,PORK CUSHION DECKLE ON PR12,Beef/Pork Costs,51110, +783,PRODUCE,ROOT TURMERIC,Produce Costs,51200, +784,PAPER & DISP,SPOON SOUP PLAS BLK HVY FULL,Paper Costs,55000, +785,PRODUCE,POTATO IDAHO #2 10 OZ. MIN CTN,Produce Costs,51200, +786,PAPER & DISP,PAN FOIL STEAM TBL DP FULL SZ,Paper Costs,55000, +787,CANNED AND DRY,WATER SPARKLING BLD ORGE SLEEK,Beverages Costs,52000, +788,CANNED AND DRY,PEA GREEN SPLIT DRIED,Produce Costs,51200, +789,CANNED AND DRY,SYRUP MAPLE PURE DARK ROBUST,Food Costs,50000, +790,MEATS,BACON SHINGLE C/C 10/12 HNY,Beef/Pork Costs,51110, +791,CANNED AND DRY,WATER SPRKLG IMPRTD MNERAL PET,Food Costs,50000, +792,MEATS,PORK BUTT B/I PRM VP PR12,Beef/Pork Costs,51110, +793,CANNED AND DRY,SPICE ANISE STAR,Food Costs,50000, +794,CHEMICAL/JANTRL,CLEANER LIQ VIGOROSO LAVEN RTU,Food Costs,50000, +795,PAPER & DISP,SUPPLY ACCESSORIES SOTF COM,Paper Costs,55000, +796,PAPER & DISP,LID PLAS CLR FLT W/SLT 12-24OZ,Paper Costs,55000, +797,PAPER & DISP,TRAY PAPER PULP CARRYOUT 4 CUP,Paper Costs,55000, +798,CHEMICAL/JANTRL,SANITIZER OASIS 146 MULTI QUAT,Food Costs,50000, +799,PAPER & DISP,CUP PLAS CLR TALL 8OZ RIGID,Paper Costs,55000, +800,PAPER & DISP,BILLING MISC DISP,Paper Costs,55000, +801,PAPER & DISP,LID FOIL F/ HALF STM TBL PAN,Paper Costs,55000, +802,SEAFOOD,SALMON ATL FIL SKLS CTRIM 3-4#,Seafood Costs,51130, +803,MEATS,LAMB GROUND AUS 5260 HALAL FRZ,Beef/Pork Costs,51110, +804,MEATS,LAMB SHOULDER SQUARE CUT FRESH,Beef/Pork Costs,51110, +805,MEATS,HAM PROSCIUTTO SLICE,Beef/Pork Costs,51110, +806,FROZEN,PUREE RASPBERRY FRZN,Food Costs,50000, +807,CANNED AND DRY,RICE LONG GRAIN 4% BRKN,Food Costs,50000, +808,DAIRY PRODUCTS,CHEESE GORGONZOLA DOLCE,Dairy Costs,51300, +809,CANNED AND DRY,SUGAR GRANULATED EXTRA FINE,Food Costs,50000, +810,MEATS,BEEF STRIPLOIN 1X0 PR 12-13#,Beef/Pork Costs,51110, +811,FROZEN,DOUGH PUFF PASTRY SHEET 15X23,Food Costs,50000, +812,DAIRY PRODUCTS,CHEESE PARM GRANA PDNO 1/4 DOP,Dairy Costs,51300, +813,FROZEN,POTATO FRY 3/8 ULTIMATE CRISP,Food Costs,50000, +814,CANNED AND DRY,FLOUR SEMOLINA UNBLCH,Food Costs,50000, +815,CANNED AND DRY,SAUCE HOT SRIRACHA BLUE AGAVE,Food Costs,50000, +816,PAPER & DISP,LINER TRASH 43X48 16 MC NAT,Paper Costs,55000, +817,CANNED AND DRY,WALNUT HALF & PCS,Food Costs,50000, +818,MEATS,BEEF SHORT RIB ASIAN CUT 1/4,Beef/Pork Costs,51110, +819,PAPER & DISP,LINER PLAS INSERT/WARMER 18X14,Paper Costs,55000, +820,PAPER & DISP,BOX PIZZA 14 W/K B-FLT 1-7/8,Paper Costs,55000, +821,DISPENSER BEVRG,COFFEE GRND FRENCH ROAST,Coffee Costs,52200, +822,MEATS,BEEF SKIRT OUTSIDE PLAD,Beef/Pork Costs,51110, +823,SEAFOOD,SALMON ATL FIL SLI SMK,Seafood Costs,51130, +824,CANNED AND DRY,PICKLE DILL CHIP KK 400/450,Food Costs,50000, +825,CANNED AND DRY,FLOUR HI-GLUTEN ALL TRUMP UNBL,Food Costs,50000, +826,CANNED AND DRY,SOUP BASE BEEF NO MSG/HVP,Beef/Pork Costs,51110, +827,PAPER & DISP,CONTAINER PLAS 46 OZ 8X11 BLK,Paper Costs,55000, +828,DAIRY PRODUCTS,CHEESE PARM WHEEL CRYO USA,Dairy Costs,51300, +829,CANNED AND DRY,MUSTARD YELLOW PLS JUG,Food Costs,50000, +830,SUPP & EQUIP,MOP HEAD CTN LGHT CUT END 16OZ,Food Costs,50000, +831,SUPP & EQUIP,BOTTLE PLAS SQUEEZE CLR,Food Costs,50000, +832,CHEMICAL/JANTRL,CLEANER FLOOR SANI WASHNWALK,Food Costs,50000, +833,FROZEN,BREAD BUN BRIOCHE 4I SL,Food Costs,50000, +834,POULTRY,CHICKEN WOG NON GMO AIR CHILL,Chicken/ Poultry Costs,51120, +835,CANNED AND DRY,KETCHUP SQUEEZE RED BTL,Food Costs,50000, +836,CANNED AND DRY,KETCHUP PACKET POLY,Food Costs,50000, +837,DISPENSER BEVRG,TEA ICED CONC UNSWT BIB 5+1,Soft Beverage Costs,52000, +838,CANNED AND DRY,KETCHUP 33% MW FCY,Food Costs,50000, +839,PRODUCE,ORANGE BLOOD FRESH,Produce Costs,51200, +840,PRODUCE,FLOWER ORCHID FRSH,Produce Costs,51200, +841,CANNED AND DRY,GINGER SLI CANDIED CRYSTALLIZE,Food Costs,50000, +842,CANNED AND DRY,FIG DRIED BLK MISSION,Food Costs,50000, +843,CHEMICAL/JANTRL,DETERGENT POT/PAN LIQ LAV,Food Costs,50000, +844,CANNED AND DRY,SPICE CLOVE WH,Food Costs,50000, +845,CANNED AND DRY,SPICE NUTMEG GROUND,Food Costs,50000, +846,PAPER & DISP,FOIL SHEET 9X10.75IN SILVER,Paper Costs,55000, +847,CANNED AND DRY,WATER SPARKLING GRFRT,Food Costs,50000, +848,CANNED AND DRY,MUSTARD YELLOW JUG,Food Costs,50000, +849,CANNED AND DRY,POLENTA CORN MEAL YELLOW,Food Costs,50000, +850,CANNED AND DRY,YEAST ACTIVE DRY,Food Costs,50000, +851,FROZEN,POTATO FRY SS 1/4IN DELIVERY,Produce Costs,51200, +852,PAPER & DISP,STIRRER PLAS STRAW BLK 5.25,Paper Costs,55000, +853,SUPP & EQUIP,RAMEKIN MELAMINE FLUTED BONE,Food Costs,50000, +854,DAIRY PRODUCTS,CHEESE CREAM PLAIN SPREAD CUP,Dairy Costs,51300, +855,CANNED AND DRY,BEAN LENTIL DRIED,Food Costs,50000, +856,SEAFOOD,BRONZINI WHL SCAL/GIL/GUTED,Seafood Costs,51130, +857,SEAFOOD,LOBSTER TAIL 5-6OZ CANADN/MAIN,Seafood Costs,51130, +858,CANNED AND DRY,YEAST COMPRESSED FRSH ESL,Food Costs,50000, +859,MEATS,PORK TENDERLOIN PR12,Beef/Pork Costs,51110, +860,CANNED AND DRY,SODA COKE ZERO CONTOUR PET,Soft Beverage Costs,52000, +861,CHEMICAL/JANTRL,CLEANER GRL HIGH TEMP,Food Costs,50000, +862,MEATS,BEEF STRIPLOIN 0X1,Beef/Pork Costs,51110, +863,CANNED AND DRY,FLOUR HI-GLUTEN SUPREME,Food Costs,50000, +864,DAIRY PRODUCTS,CHEESE RICOTTA NY ORG STYLE,Dairy Costs,51300, +865,FROZEN,BUN BRIOCHE 4.5IN SLI,Food Costs,50000, +866,PAPER & DISP,FOIL ALMN ROLL LGT WGT 1000 FT,Paper Costs,55000, +867,CANNED AND DRY,KETCHUP PACKET,Food Costs,50000, +868,MEATS,STEAK FILET C\C SEL,Beef/Pork Costs,51110, +869,CANNED AND DRY,TOMATO DICED IN JUICE CA,Food Costs,50000, +870,DISPENSER BEVRG,SYRUP SPRITE 5X1 BIB,Soft Beverage Costs,52000, +871,FROZEN,ROLL HOAGIE BKD 11.5IN,Food Costs,50000, +872,PAPER & DISP,LINER TRASH 41X54 16M 55 GAL,Paper Costs,55000, +873,CANNED AND DRY,PECAN HALF FCY,Food Costs,50000, +874,FROZEN,BREAKFAST SANDWICH BEYOND MT,Food Costs,50000, +875,DAIRY PRODUCTS,CHEESE CREAM LIGHT CUP,Dairy Costs,51300, +876,DAIRY PRODUCTS,YOGURT BLUEBERRY GREEK NON FAT,Dairy Costs,51300, +877,HLTHCAR/HOSPITALITY,PERKS MEMBERSHIP FEE,Food Costs,50000, +878,CANNED AND DRY,DRESSING RED WINE VINGRT METRO,Wine Costs,54400, +879,CANNED AND DRY,SPICE GARLIC PWDR,Food Costs,50000, +880,CANNED AND DRY,SPICE ONION POWDER,Food Costs,50000, +881,CANNED AND DRY,SALT KOSHER FLAKE COARSE,Food Costs,50000, +882,CHEMICAL/JANTRL,CLEANER FLOOR NEUTRAL DISP,Food Costs,50000, +883,PAPER & DISP,STRAW WRPD PLA CLR CMPST 9.5,Paper Costs,55000, +884,CANNED AND DRY,JUICE DRINK GREEN MACH,Food Costs,50000, +885,PRODUCE,MUSHROOM PORT LOCAL SM 4-5,Produce Costs,51200, +886,PRODUCE,ONION WHITE JMBO CTN,Produce Costs,51200, +887,PRODUCE,POTATO BAKING IDAHO 120CT FRSH,Produce Costs,51200, +888,PAPER & DISP,LID PLAS F/ 2 OZ GRNWARE,Paper Costs,55000, +889,CHEMICAL/JANTRL,SANITIZER QUAT MULTI RTU,Food Costs,50000, +890,PRODUCE,LETTUCE ROMAINE FRESH W/LINER,Produce Costs,51200, +891,CANNED AND DRY,SUPPLY FOOD SOFT COM,Food Costs,50000, +892,FROZEN,BUN HAMBURGER POTATO 4 SLI,Food Costs,50000, +893,FROZEN,BUN HAMBURGER OILTOPPED 4.5,Food Costs,50000, +894,POULTRY,DUCK BRST BNLS SKON 7-8 OZ RAW,Poultry Costs,51120, +895,SEAFOOD,SHRIMP WHT GH DVND 13/15 IQF,Seafood Costs,51130, +896,CANNED AND DRY,GELATIN PLAIN SHEET,Food Costs,50000, +897,SUPP & EQUIP,MOP HEAD BLND LPD ALL PURP MED,Food Costs,50000, +898,DAIRY PRODUCTS,CHEESE GOAT LOG RONDIN,Dairy Costs,51300, +899,DAIRY PRODUCTS,CHEESE MOZZ LMWM LOAF PREM,Dairy Costs,51300, +900,SEAFOOD,LOBSTER MEAT CK-CKL BLEND 44%,Seafood Costs,51130, +901,PRODUCE,BEET FRESH GOLD,Produce Costs,51200, +902,PRODUCE,BEET RED WHL,Produce Costs,51200, +903,PRODUCE,CABBAGE GREEN FDSVC,Produce Costs,51200, +904,PRODUCE,ONION RED JUMBO SACK,Produce Costs,51200, +905,PRODUCE,PEPPER SERRANO FRSH,Produce Costs,51200, +906,PRODUCE,THYME FRESH HERB,Produce Costs,51200, +907,CANNED AND DRY,ALMOND WHL BLNCHD,Food Costs,50000, +908,CANNED AND DRY,CORN MEAL YEL,Food Costs,50000, +909,CANNED AND DRY,HONEY PURE HOT CHILIES 24Z,Food Costs,50000, +910,CANNED AND DRY,SAUCE GENERAL TSO,Food Costs,50000, +911,CANNED AND DRY,SPICE GARLIC POWDER,Food Costs,50000, +912,CANNED AND DRY,SPREAD COOKIE CREAMY,Food Costs,50000, +913,CANNED AND DRY,TOMATO PASTE,Food Costs,50000, +914,PAPER & DISP,BOX PIZZA 12 WK B PLN 1-5/8,Paper Costs,55000, +915,PAPER & DISP,LABEL ROLL SHLF LFE DISS 2X3,Paper Costs,55000, +916,PAPER & DISP,NAPKIN BEV 9.5X9.5 2PLY BLACK,Paper Costs,55000, +917,PRODUCE,BRUSSEL SPROUT FRESH,Produce Costs,51200, +918,CANNED AND DRY,MUSTARD DIJON XTRA STRONG,Food Costs,50000, +919,DAIRY PRODUCTS,CHEESE GOAT CRUMBLES,Dairy Costs,51300, +920,FROZEN,DOUGH ROLL CINNAMON CLASSIC,Food Costs,50000, +921,CANNED AND DRY,BAKING SODA,Food Costs,50000, +922,CANNED AND DRY,NUT MACADAMIA PCS DRY ROASTED,Food Costs,50000, +923,CANNED AND DRY,SAUCE WORCESTERSHIRE,Food Costs,50000, +924,PAPER & DISP,CONTAINER PLAS 1C HNG 6X6 WHT,Paper Costs,55000, +925,PRODUCE,PINEAPPLE FRESH,Produce Costs,51200, +926,SUPP & EQUIP,MOP HEAD CTN CUT END VALUE #24,Food Costs,50000, +927,DAIRY PRODUCTS,CHEESE RICOTTA WMHM SEL,Dairy Costs,51300, +928,MEATS,BACON LAYFLAT NT CC 13/17 PR12,Beef/Pork Costs,51110, +929,CANNED AND DRY,COOKIE CRUMB OREO MED CRUNCH,Food Costs,50000, +930,CANNED AND DRY,JUICE APPLE 100% PET,Food Costs,50000, +931,CANNED AND DRY,JUICE PNAPL 100%,Food Costs,50000, +932,CANNED AND DRY,RELISH SWEET PICKLE PREMIUM,Food Costs,50000, +933,PRODUCE,CELERY FRESH,Produce Costs,51200, +934,PRODUCE,LEMON STANDARD 115CT-165CT,Produce Costs,51200, +935,MEATS,BEEF RND INS TOP CH 168,Beef/Pork Costs,51110, +936,PAPER & DISP,CONTAINER MFPP 1C HNG 9X9 WHT,Paper Costs,55000, +937,CANNED AND DRY,JUICE GUAVA 100%,Food Costs,50000, +938,CANNED AND DRY,VINEGAR WHITE 100 GRAIN 10%,Food Costs,50000, +939,CANNED AND DRY,SODA PEPSI,Soft Beverage Costs,52000, +940,SUPP & EQUIP,SUPPLY SOTF STORAGE/TRANSPORT,Food Costs,50000, +941,SUPP & EQUIP,SUPPLY SOTF KITCHEN,Food Costs,50000, +942,PAPER & DISP,LID PLAS FOR 12 & 16-22 OZ,Paper Costs,55000, +943,CHEMICAL/JANTRL,BLEACH CHLORINE LIQ 5.25 %,Food Costs,50000, +944,CANNED AND DRY,DRESSING MIX RANCH BULK,Food Costs,50000, +945,CANNED AND DRY,SUGAR CRYSTAL WHITE CANE,Food Costs,50000, +946,PAPER & DISP,SPOON SOUP PLAS WHT HVY FULL,Paper Costs,55000, +947,CANNED AND DRY,SPICE CLOVE GRND,Food Costs,50000, +948,PAPER & DISP,BAG PAPER BRN W/HNDL MISSY 60#,Paper Costs,55000, +949,DAIRY PRODUCTS,MILK SOY BARISTA ORIGINAL,Dairy Costs,51300, +950,CANNED AND DRY,SUPPLY SOTF SPICES,Food Costs,50000, +951,PAPER & DISP,TONG PLAS 6 BLK SNAP N SERVE,Paper Costs,55000, +952,DAIRY PRODUCTS,CHEESE FETA CRUMBLED,Dairy Costs,51300, +953,CANNED AND DRY,SODA PEPSI BTTL DIET,Soft Beverage Costs,52000, +954,CANNED AND DRY,SPICE ANISE SEED,Food Costs,50000, +956,SEAFOOD,SHRIMP GH WHT U/15 #1 MEX,Seafood Costs,51130, +957,MEATS,BACON SHINGLE 12/14 AW GF PR12,Beef/Pork Costs,51110, +958,PAPER & DISP,CLOTH CHS REG WGT 36IN,Paper Costs,55000, +959,DAIRY PRODUCTS,CHEESE FETA CRUMBLED PLAIN,Dairy Costs,51300, +960,PRODUCE,LEMON FANCY FRESH,Produce Costs,51200, +961,PAPER & DISP,LABEL ROLL USE BY/SHELF 4X2,Paper Costs,55000, +962,SEAFOOD,BRONZINI WHL GGS SML 0.75-1#,Seafood Costs,51130, +963,PRODUCE,LEMON CH FRESH,Produce Costs,51200, +964,PRODUCE,SQUASH ZUCCHINI SMALL FCY FRSH,Produce Costs,51200, +965,CANNED AND DRY,CHOCOLATE BITTERSWEET BLOCK 60,Food Costs,50000, +966,SEAFOOD,TUNA AHI STEAK RUBY RED 6OZ,Seafood Costs,51130, +967,MEATS,MEATBALL ITAL BF PK FC 3 OZ,Beef/Pork Costs,51110, +968,CANNED AND DRY,EXTRACT VANILLA PURE,Food Costs,50000, +969,CANNED AND DRY,SOUP BASE CLAM NO MSG OR HVP,Food Costs,50000, +970,POULTRY,CHICKEN BRST B/S 6OZ NONGMO,Chicken/ Poultry Costs,51120, +971,CANNED AND DRY,TEA BLK ORGANIC ANCIENT,Food Costs,50000, +972,PAPER & DISP,LID PLAS HI DM CLR LRG RECT,Paper Costs,55000, +973,PAPER & DISP,CONTAINER PLAS 2OZ PORTION,Paper Costs,55000, +974,PRODUCE,PARSLEY CLN/WASH FRESH HERB,Produce Costs,51200, +975,PAPER & DISP,LABEL ROLL PRODUCT/PREP BY 2,Paper Costs,55000, +976,PAPER & DISP,GLOVE VINYL FDSVC PF LG,Paper Costs,55000, +977,PAPER & DISP,CONTAINER PLAS BLK 12X9 3CMP,Paper Costs,55000, +978,PAPER & DISP,LID PLASTIC PP 12X9,Paper Costs,55000, +979,PAPER & DISP,WRAP PAPER SAND QUIK WHT 12X12,Paper Costs,55000, +980,PAPER & DISP,BOWL PAPER FIBER RND 32OZ,Paper Costs,55000, +981,DAIRY PRODUCTS,CHEESE AMER 120 SLI YEL,Dairy Costs,51300, +982,DAIRY PRODUCTS,CHEESE PARM WHEEL 1/12LB,Dairy Costs,51300, +983,MEATS,LAMB RACK AUST C/O FRCHD FRSH,Beef/Pork Costs,51110, +984,MEATS,VEAL RACK 6 BONE CHP RDY CDFA,Beef/Pork Costs,51110, +985,PRODUCE,BRUSSEL SPROUT FRSH JMBO,Produce Costs,51200, +986,PRODUCE,LETTUCE BOSTON /BUTTER FRESH,Produce Costs,51200, +987,PRODUCE,OREGANO FRESH HERB,Produce Costs,51200, +988,PRODUCE,ROSEMARY FRESH HERB,Produce Costs,51200, +989,PRODUCE,SAGE FRESH HERB,Produce Costs,51200, +990,CANNED AND DRY,BREAD CRUMB PANKO NON GMO,Food Costs,50000, +991,CANNED AND DRY,CORN CREAM STYLE GOLDEN FCY,Food Costs,50000, +992,CANNED AND DRY,PASTA MACARONI ELBOW,Food Costs,50000, +993,CANNED AND DRY,PASTA SPAGHETTI,Food Costs,50000, +994,CANNED AND DRY,SUGAR BROWN DARK,Food Costs,50000, +995,CHEMICAL/JANTRL,CLEANER GLASS BLUE RTU,Food Costs,50000, +996,CANNED AND DRY,PASTA RISO ORZO,Food Costs,50000, +997,CANNED AND DRY,SODA COKE CLS CONTOUR TRAY PK,Soft Beverage Costs,52000, +998,CANNED AND DRY,SODA SPRITE PET PROPR DIMPLE,Soft Beverage Costs,52000, +999,CANNED AND DRY,FLOUR RICE,Food Costs,50000, +1000,PRODUCE,CILANTRO BUNCH ICELESS,Produce Costs,51200, +1001,DAIRY PRODUCTS,CREAMER FRCH VAN LIQ PUMP BTL,Dairy Costs,51300, +1002,CANNED AND DRY,SODA COKE MEXICO GLASS NON R,Soft Beverage Costs,52000, +1003,FROZEN,GLACE DEMI VEAL FRZN,Meat Costs,51110, +1004,DAIRY PRODUCTS,CHEESE BLUE STUFFED OLIVES,Dairy Costs,51300, +1005,SUPP & EQUIP,HANDLE MOP FIBRGLS QUICK CHNGE,Food Costs,50000, +1006,SUPP & EQUIP,SUPPLY SOTF JANSAN,Food Costs,50000, +1007,CANNED AND DRY,WALNUT HALVES & PCS,Food Costs,50000, +1008,CANNED AND DRY,WATER SPARKLN ORG PRCKLY PEAR,Beverages Costs,52000, +1009,CANNED AND DRY,DRINK NATURAL CLMTN SPRKLG,Food Costs,50000, +1010,CANNED AND DRY,DRESSING MIX RNCH BTRMK NO MSG,Food Costs,50000, +1011,PAPER & DISP,LINER TRASH 40X46 .95 ML WHT,Paper Costs,55000, +1012,PAPER & DISP,HAIRNET NYLON LRG BLK LT WGT,Paper Costs,55000, +1013,MEATS,PORK CUSHION MEAT 1-3# AVG,Beef/Pork Costs,51110, +1014,PAPER & DISP,PLATE PAPR 8 1/2 WHT SUPERWRE,Paper Costs,55000, +1015,CHEMICAL/JANTRL,SOAP HAND AB FOAM NEXA ADVANCE,Food Costs,50000, +1016,POULTRY,CHICKEN THIGH BNLS/SKLS RAW,Chicken/ Poultry Costs,51120, +1017,CANNED AND DRY,MAYONNAISE HEAVY DUTY CARTON,Food Costs,50000, +1018,CANNED AND DRY,WALNUT HALVES & PCS HNY MAPLE,Food Costs,50000, +1019,CANNED AND DRY,OLIVE KALAMATA PITTED,Food Costs,50000, +1020,PAPER & DISP,CONTAINER MFPP 1C HNG 6X6 WHT,Paper Costs,55000, +1021,FROZEN,PASTA TORTELLINI CHEESE PRECKD,Food Costs,50000, +1022,PAPER & DISP,SLEEVE PAPER KRAFT RSK-20 ECO,Paper Costs,55000, +1023,FROZEN,BUN BRIOCHE SLI 4,Food Costs,50000, +1024,PAPER & DISP,NAPKIN DNR UNIV NAT 2PLY 1/8F,Paper Costs,55000, +1025,PAPER & DISP,LINER REPRO 43X46 1.5 ML BLK,Paper Costs,55000, +1026,CANNED AND DRY,SPICE OREGANO LEAVES,Food Costs,50000, +1027,SEAFOOD,SQUID TUBE&TENT CLEAN 5-8,Seafood Costs,51130, +1028,SUPP & EQUIP,SPOON TEA CORAL S-S,Food Costs,50000, +1029,SUPP & EQUIP,KNIFE DINNER CORAL STNLS,Food Costs,50000, +1030,SUPP & EQUIP,FORK DINNER CORAL STNLS,Food Costs,50000, +1031,CANNED AND DRY,DRESSING BALSAMIC VINGT GARLIC,Food Costs,50000, +1032,CANNED AND DRY,SPREAD CHOC NUTELLA JAR FDSRV,Food Costs,50000, +1033,CANNED AND DRY,SUGAR BROWN LIGHT,Food Costs,50000, +1034,PAPER & DISP,PAD SCOUR 6X9 HVYDTY ANTIMICRO,Paper Costs,55000, +1035,CHEMICAL/JANTRL,DETERGENT POT/PAN LIQ GRN RTU,Food Costs,50000, +1036,PAPER & DISP,KNIFE PLAS HVY STY BLK,Paper Costs,55000, +1037,CHEMICAL/JANTRL,CLEANER DISINFECT PEROX RTU,Food Costs,50000, +1038,CANNED AND DRY,SPREAD HUMMUS,Food Costs,50000, +1039,CANNED AND DRY,DRESSING GREEK FETA CHEESE,Food Costs,50000, +1040,CHEMICAL/JANTRL,POLISH STNLS MDALLN NON ARSL,Food Costs,50000, +1041,PAPER & DISP,SPOON PLAS MED STY WRAPPED BLK,Paper Costs,55000, +1042,PAPER & DISP,STRAW PAPER WRAP 8 WHITE CKTL,Paper Costs,55000, +1043,PAPER & DISP,TRAY CARRY 4 CUP 8-22OZ,Paper Costs,55000, +1044,CHEMICAL/JANTRL,STRIP TEST SANITIZER QUAT-40,Food Costs,50000, +1045,CANNED AND DRY,DIP HUMMUS TRADITIONAL FRSH,Food Costs,50000, +1046,PAPER & DISP,APRON POLY EMBSD WHT 28X46 COM,Paper Costs,55000, +1047,PRODUCE,PEPPER SERRANO FRESH,Produce Costs,51200, +1048,PAPER & DISP,WRAP PAPER WHT GREAS RES 14X14,Paper Costs,55000, +1049,MEATS,PORK BUTT BNLS 1/4 6-9#EA FRZ,Beef/Pork Costs,51110, +1050,PAPER & DISP,LINER PAPER DRY WAX WHT 12X12,Paper Costs,55000, +1051,DAIRY PRODUCTS,EGG SHELL PASTR LG LS AHHCF CF,Dairy Costs,51300, +1052,CANNED AND DRY,SAUCE FRY,Food Costs,50000, +1053,MEATS,PORK BUTT BNLS ALWAYS TENDR FZ,Beef/Pork Costs,51110, +1054,CANNED AND DRY,CHOCOLATE DARK CALLETS 54.5%,Food Costs,50000, +1055,PAPER & DISP,LINER REPRO 33X39 1.5ML BLK,Paper Costs,55000, +1056,DAIRY PRODUCTS,CHEESE MASCARPONE TUB USA,Dairy Costs,51300, +1057,PAPER & DISP,PAN FOIL OBLONG TRAY W/BRD LID,Paper Costs,55000, +1058,PAPER & DISP,PAN FOIL OBLONG 12X8X1.5,Paper Costs,55000, +1059,CANNED AND DRY,DRINK MIX LEMONADE,Food Costs,50000, +1060,PAPER & DISP,WRAP PAPER MEAT WHT 1300 FT,Paper Costs,55000, +1061,FROZEN,PASTRY BAKLAVA LRG TRIANG,Food Costs,50000, +1062,SUPP & EQUIP,SUPPLY HARDWARE SOTF COM,Food Costs,50000, +1063,CANNED AND DRY,DRESSING HONEY MUSTRD ESSNTALS,Food Costs,50000, +1064,CANNED AND DRY,SAUCE TABASCO SRIRACHA,Food Costs,50000, +1065,PRODUCE,ONION WHITE JUMBO BOX,Produce Costs,51200, +1066,PAPER & DISP,CUP PAPER HOT INSUL 12OZ STAMP,Paper Costs,55000, +1067,PAPER & DISP,LID PLAS DOME WHT 12/16/20 CMF,Paper Costs,55000, +1068,CANNED AND DRY,WATER SPRKLG BLDORGE/BLKRSPBRY,Food Costs,50000, +1069,CANNED AND DRY,SAUCE HOT SRIRACHA CHILI PKT,Food Costs,50000, +1070,PAPER & DISP,SPOON SOUP PLAS HVY BLK FULL,Paper Costs,55000, +1071,PAPER & DISP,PAD SCRUB STNLS 1.75OZ,Paper Costs,55000, +1072,PAPER & DISP,BAG PLAS TSHRT 11.5X6.5X20 TKU,Paper Costs,55000, +1073,FROZEN,POTATO FRY 1/4 SS OVNRDY XL,Food Costs,50000, +1074,PAPER & DISP,GLOVE VINYL FDSVC PWD LG,Paper Costs,55000, +1075,FROZEN,PUREE ORANGE BLOOD,Food Costs,50000, +1076,CANNED AND DRY,BREADING MIX CHKN FRY,Food Costs,50000, +1077,CANNED AND DRY,OLIVES GREEK KALAMATA PITTED,Food Costs,50000, +1078,DAIRY PRODUCTS,YOGURT PLAIN GREEK BAG OIKOS,Dairy Costs,51300, +1079,SUPP & EQUIP,SPOON PLAS SERVING HI-HEAT BLK,Food Costs,50000, +1080,DAIRY PRODUCTS,CHEESE TALEGGIO,Dairy Costs,51300, +1081,CANNED AND DRY,ANCHOVY FILET EASY OPEN TIN OO,Food Costs,50000, +1082,SEAFOOD,SHRIMP RAW MEX#1 WHT 13\15 FZN,Seafood Costs,51130, +1083,PRODUCE,LETTUCE ROMAINE HEART FRSH,Produce Costs,51200, +1084,DAIRY PRODUCTS,CHEESE GOAT LOG FRSH,Dairy Costs,51300, +1085,CANNED AND DRY,DRESSING MAYONNAISE PAIL,Food Costs,50000, +1086,CHEMICAL/JANTRL,DETERGENT DISHWASH LIQ DISP,Food Costs,50000, +1087,MEATS,STEAK SIRL TOP BSBALL SKND PR,Beef/Pork Costs,51110, +1088,SEAFOOD,OCTOPUS SPANISH CKD TENTACLES,Seafood Costs,51130, +1089,FROZEN,BREAD CIABATTA ARTISAN,Food Costs,50000, +1090,PRODUCE,MUSHROOM WILD CHEF,Produce Costs,51200, +1091,CANNED AND DRY,PASTA CAPELLINI,Food Costs,50000, +1092,POULTRY,CHICKEN BRST B/L S/L E/CO UNCD,Chicken/ Poultry Costs,51120, +1093,POULTRY,CHICKEN CVP BRST BS RDM JB MAR,Chicken/ Poultry Costs,51120, +1094,POULTRY,CHICKEN BRST BNLS RNDM PPD,Chicken/ Poultry Costs,51120, +1095,CANNED AND DRY,SOUP BASE CHICKEN NO MSG ADDED,Food Costs,50000, +1096,CANNED AND DRY,TOMATO PLUM SAN MARZANO STY,Food Costs,50000, +1097,MEATS,SALAMI GENOA SLICED .33OZ,Meats Costs,51110, +1098,CANNED AND DRY,KETCHUP FCY JUG,Food Costs,50000, +1099,CANNED AND DRY,SPICE FIVE CHINESE,Food Costs,50000, +1100,SEAFOOD,CLAM MEAT SEA CHOPPED IQF,Seafood Costs,51130, +1101,MEATS,BACON LAYFLT 14/18 APL GF PR12,Beef/Pork Costs,51110, +1102,PAPER & DISP,PAN FOIL STEAM TBL DEEP,Paper Costs,55000, +1103,DAIRY PRODUCTS,CHEESE SWISS SLICE .75 OZ,Dairy Costs,51300, +1104,PAPER & DISP,KIT CUTLERY MED KFS/S&P/NAP,Paper Costs,55000, +1105,SEAFOOD,SHRIMP WHT P&D TLOF 31/40,Seafood Costs,51130, +1106,CANNED AND DRY,BEAN PINTO DRIED MULTI-CLEAN,Food Costs,50000, +1107,CANNED AND DRY,CROUTON SEASONED HMSTY ZTF,Food Costs,50000, +1108,CANNED AND DRY,SOUP BASE CLAM,Food Costs,50000, +1109,CANNED AND DRY,SUGAR CONFECTIONER,Food Costs,50000, +1110,PAPER & DISP,BAG PAPER BRN W/HNDL REGAL 65#,Paper Costs,55000, +1111,DAIRY PRODUCTS,EGG SHELL WHT CAGEFREE GR A LG,Dairy Costs,51300, +1112,CANNED AND DRY,VINEGAR RICE SEASONED,Food Costs,50000, +1113,CANNED AND DRY,VINEGAR WHITE DSTD 5%,Food Costs,50000, +1114,SEAFOOD,SHRIMP WHT GH 13-15,Seafood Costs,51130, +1115,PAPER & DISP,BAG PLAS PRTN 6.5X7 ORG SAT,Paper Costs,55000, +1116,CANNED AND DRY,BREAD CRUMB JAP PANKO TOASTED,Food Costs,50000, +1117,CANNED AND DRY,SPICE PEPPER BLK WHL,Food Costs,50000, +1118,MEATS,PORK BUTT B/I PRM VP PR12 FRZ,Beef/Pork Costs,51110, +1119,PRODUCE,MUSHROOM SLCD FRESH,Produce Costs,51200, +1120,POULTRY,CHICKEN THIGH BNLS SKLS LARGE,Chicken/ Poultry Costs,51120, +1121,DISPENSER BEVRG,SYRUP SODA STRAWB DRAGON,Soft Beverage Costs,52000, +1122,PRODUCE,PEPPER CHILE GUAJILLO DRIED,Produce Costs,51200, +1123,CANNED AND DRY,PICKLE SLI DILL CHIP 1/8,Food Costs,50000, +1124,PAPER & DISP,LID PLAS PET CLR 243248OZ 8.5,Paper Costs,55000, +1125,CANNED AND DRY,POWDER BAKING,Bakery Costs,51500, +1126,CANNED AND DRY,SAUCE BBQ ORIGINAL,Food Costs,50000, +1127,CANNED AND DRY,SYRUP BKFST SUGAR FREE,Food Costs,50000, +1128,PAPER & DISP,LID PLAS WHT TEAR BACK F/12OZ,Paper Costs,55000, +1129,PRODUCE,CABBAGE RED FDSVC,Produce Costs,51200, +1130,PAPER & DISP,TRAY FOOD PAPR RED PLAID 2LB,Paper Costs,55000, +1131,PAPER & DISP,GLOVE NITRILE FDSRV PF BLK MED,Paper Costs,55000, +1132,CANNED AND DRY,SUGAR BROWN LIGHT CANE,Food Costs,50000, +1133,CANNED AND DRY,DRESSING RANCH BUTTERMILK,Food Costs,50000, +1134,CANNED AND DRY,SODA COCA COLA CLS,Soft Beverage Costs,52000, +1135,PAPER & DISP,GLOVE VINYL FDSVC PF XL,Paper Costs,55000, +1136,CANNED AND DRY,SPICE THYME LEAVES WHL,Food Costs,50000, +1137,PAPER & DISP,TEST STRIP SANITIZER QUAT,Paper Costs,55000, +1138,PRODUCE,LETTUCE ROMAINE ARTISAN,Produce Costs,51200, +1139,MEATS,PORK BUTT BNLS VP PR12 FRZ,Beef/Pork Costs,51110, +1140,PAPER & DISP,BOWL PAPER PLNT FBR UNBLCH 32Z,Paper Costs,55000, +1141,PAPER & DISP,LID PLAS CLR F/24 OZ FIBR BOWL,Paper Costs,55000, +1142,FROZEN,GYRO BEEF AND LAMB CONE HALAL,Beef/Pork Costs,51110, +1143,PRODUCE,ONION WHITE JUMBO SACK,Produce Costs,51200, +1144,PRODUCE,JUICE LEMON PASTURIZED,Produce Costs,51200, +1145,PAPER & DISP,GLOVE VITRILE FDSRV PF BLU MED,Paper Costs,55000, +1146,SUPP & EQUIP,SUPPLY HARDWARE SOTF COM BID,Food Costs,50000, +1147,CANNED AND DRY,VINEGAR BALSAMIC (LOV OF FARE),Food Costs,50000, +1148,CANNED AND DRY,CEREAL GRANOLA OATSN HNY BLKPK,Food Costs,50000, +1149,DAIRY PRODUCTS,CHEESE FRESCO QUESO 10#,Dairy Costs,51300, +1150,CANNED AND DRY,DRESSING RANCH,Food Costs,50000, +1151,POULTRY,CHICKEN CVP LEG MEAT BNLS/SKLS,Chicken/ Poultry Costs,51120, +1152,MEATS,PORK BUTT B/I 1/4 8-12# EA,Beef/Pork Costs,51110, +1153,CHEMICAL/JANTRL,POLISH STNLS ECOSHINE,Food Costs,50000, +1154,CANNED AND DRY,DRINK FRT POMGRNT FRTFD SPRKLG,Food Costs,50000, +1155,CANNED AND DRY,FLOUR HI-GLUTEN WHT BL EN MLT,Food Costs,50000, +1156,CHEMICAL/JANTRL,TEST STRIP SANITIZER CHLORINE,Food Costs,50000, +1157,CANNED AND DRY,SAUCE DEMI GLZ CONC BEEF,Food Costs,50000, +1158,CANNED AND DRY,SPICE CLOVE WHL ORGANIC,Food Costs,50000, +1159,PAPER & DISP,SPOON WOODEN DISP,Paper Costs,55000, +1160,PAPER & DISP,SPOON PLAS PP WHT MED WT,Paper Costs,55000, +1161,PAPER & DISP,CONTAINER PAPER #3 TAKEOUT WHT,Paper Costs,55000, +1162,PAPER & DISP,CONTAINER FIBER HNG 9X6 NFA,Paper Costs,55000, +1163,CANNED AND DRY,WATER BOTTLED PET LOOSE DASANI,Beverages Costs,52000, +1164,MEATS,BEEF GROUND CHUCK PTY FZ,Beef/Pork Costs,51110, +1165,MEATS,BEEF GRND BULK 85/15 CHUB FRS,Beef/Pork Costs,51110, +1166,PRODUCE,SPINACH BABY ORGANIC LINER,Produce Costs,51200, +1167,PAPER & DISP,TRAY CARRY BEV 4CUP 8-46OZ,Paper Costs,55000, +1168,CANNED AND DRY,HONEY PURE LT AMBER GR A JUG,Food Costs,50000, +1169,PAPER & DISP,LID PLASTIC CLR FITS 2OZ PORTN,Paper Costs,55000, +1170,FROZEN,PASTA TORTELLINI RAINBOW PRCKD,Food Costs,50000, +1171,MEATS,LAMB SIRLOIN AUS 6-8OZ FRZN,Beef/Pork Costs,51110, +1172,PRODUCE,JUICE LEMON FRSH,Produce Costs,51200, +1173,PAPER & DISP,CUP PAPER HOT 4OZ CMPST PHILZ,Paper Costs,55000, +1174,CANNED AND DRY,SPICE CINNAMON GROUND KORINJE,Food Costs,50000, +1175,DAIRY PRODUCTS,MILK SOY BARISTA PLAIN,Dairy Costs,51300, +1176,CHEMICAL/JANTRL,CLEANER FLOOR NEUTRAL PWDR RTU,Food Costs,50000, +1177,PAPER & DISP,LINER PAN QUILON HALF SZ,Paper Costs,55000, +1178,SUPP & EQUIP,HANDLE MOP WOOD CLAMP STYQUICK,Food Costs,50000, +1179,SUPP & EQUIP,PAIL SANITIZING RED 6QT,Food Costs,50000, +1180,CHEMICAL/JANTRL,LUBRICANT GEL,Food Costs,50000, +1181,DISPENSER BEVRG,SYRUP PEPSI BIB FCB,Soft Beverage Costs,52000, +1182,CANNED AND DRY,WATER BOTTLED SPRING,Food Costs,50000, +1183,CANNED AND DRY,CHARGE DELIVERY,Food Costs,50000, +1184,CANNED AND DRY,SUGAR SUB SWEETENER SPLENDA,Food Costs,50000, +1185,CANNED AND DRY,SYRUP ITALIAN PEACH,Food Costs,50000, +1186,PRODUCE,APPLE GRANNY SMITH FRSH,Produce Costs,51200, +1187,CANNED AND DRY,SAUERKRAUT SHREDDED,Food Costs,50000, +1188,CANNED AND DRY,DRINK FRUIT SPRKL ORNG POMGR,Food Costs,50000, +1189,SUPP & EQUIP,SQUEEGEE FLOOR 22IN BLUE,Food Costs,50000, +1190,SUPP & EQUIP,MOP HEAD COTTN CUT END #32,Food Costs,50000, +1191,CANNED AND DRY,SPICE PARSLEY FLAKE,Food Costs,50000, +1192,CHEMICAL/JANTRL,CLEANER FRYER BOILOUT RTU,Food Costs,50000, +1193,PAPER & DISP,LABEL ROLL UNVRSL PLAS 2X3,Paper Costs,55000, +1194,PAPER & DISP,LABEL ROLL USE FRST 2 TRIL,Paper Costs,55000, +1195,SEAFOOD,HALIBUT FILLET SKLES,Seafood Costs,51130, +1196,SUPP & EQUIP,CUTTER DOUGH 6 INCH,Food Costs,50000, +1197,DISPENSER BEVRG,SYRUP TEA CONC BLACK UNSWEET,Soft Beverage Costs,52000, +1198,MEATS,BEEF CHUCK GRND 80/20 FZ,Beef/Pork Costs,51110, +1199,PAPER & DISP,SKEWER BAMBOO 6 IN,Paper Costs,55000, +1200,MEATS,PORK BUTT BNLS VAC PLS FRZPR12,Beef/Pork Costs,51110, +1201,CANNED AND DRY,SPICE PEPPER CAYENNE GRND,Food Costs,50000, +1202,DISPENSER BEVRG,SYRUP GINGER ALE 5X1 BIB,Soft Beverage Costs,52000, +1203,PAPER & DISP,KNIFE PLAS WHT HVY FULL LENGTH,Paper Costs,55000, +1204,DISPENSER BEVRG,TEA CHAMOMILE BLOSSOM ORGANIC,Soft Beverage Costs,52000, +1205,CANNED AND DRY,SPICE CARDAMOM MILLED,Food Costs,50000, +1206,FROZEN,DOUGH PIE SHEET 10X15,Food Costs,50000, +1207,CANNED AND DRY,SODA COKE CLS BTL NON RETRN,Beverages Costs,52000, +1208,CANNED AND DRY,VINEGAR BALSAMIC ONE DIAMOND,Food Costs,50000, +1209,SUPP & EQUIP,PAN FRY ALMN SLVST NONSTK HNDL,Food Costs,50000, +1210,PRODUCE,SQUASH ZUCCHINI LARGE FRESH,Produce Costs,51200, +1211,CANNED AND DRY,HONEY PURE WLDFLW GR A TSC JUG,Food Costs,50000, +1212,SEAFOOD,BILLING MISC SEAFOOD,Seafood Costs,51130, +1213,PRODUCE,ARUGULA ORGANIC WILD CLAMSHELL,Produce Costs,51200, +1214,PAPER & DISP,CONTAINER PAPER 9X6 1C PFREE,Paper Costs,55000, +1215,CANNED AND DRY,DRINK BLACKBERRY SPRKLG,Food Costs,50000, +1216,PAPER & DISP,CUP PAPER 24OZ,Paper Costs,55000, +1217,PAPER & DISP,TISSUE BATH 2P 3.8 WRPD WHT,Paper Costs,55000, +1218,DAIRY PRODUCTS,CHEESE CHEDDAR MILD PRINT WHT,Dairy Costs,51300, +1219,DAIRY PRODUCTS,CHEESE GRUYERE KNG CUTS,Dairy Costs,51300, +1220,DAIRY PRODUCTS,CHEESE MONTEREY JACK LOAF,Dairy Costs,51300, +1221,DAIRY PRODUCTS,CHEESE ROMANO PECORINO 1/4 DOP,Dairy Costs,51300, +1222,MEATS,SALAMI ITAL MILD SOPRESSATA,Meats Costs,51110, +1223,PRODUCE,GINGER ROOT FRESH,Produce Costs,51200, +1224,PRODUCE,LETTUCE BABY GEM,Produce Costs,51200, +1225,PRODUCE,PEPPER ANAHEIM FRSH,Produce Costs,51200, +1226,PRODUCE,SHALLOT WHL PEELED FRESH,Produce Costs,51200, +1227,CANNED AND DRY,CHOCOLATE CHIP SEMI SWEET 1000,Food Costs,50000, +1228,CANNED AND DRY,CHOCOLATE CHUNK SEMI-SWEET,Food Costs,50000, +1229,CANNED AND DRY,COOKIE BISCOTTI FAM PACK,Food Costs,50000, +1230,CANNED AND DRY,NUT PISTACHIO SHELLED RAW,Food Costs,50000, +1231,CANNED AND DRY,PASTA RIGATONI MEZZI,Food Costs,50000, +1232,CANNED AND DRY,SOUP BASE BEEF GOLD NO MSG,Food Costs,50000, +1233,CANNED AND DRY,SOUP BASE LOBSTER NO MSG/HVP,Food Costs,50000, +1234,CANNED AND DRY,VINEGAR SHERRY WINE,Alcohol Costs,54000, +1235,PRODUCE,CHIVE FRESH,Produce Costs,51200, +1236,CHEMICAL/JANTRL,CLEANER FLOOR ALKALINE HD DISP,Food Costs,50000, +1237,FROZEN,PASTA TORTELLONI FOUR CHEESE,Food Costs,50000, +1238,MEATS,LAMB FORESHANK NZ 3711 HALAL,Beef/Pork Costs,51110, +1239,POULTRY,CHICKEN CVP BRST AIRLINE 8-10Z,Chicken/ Poultry Costs,51120, +1240,PAPER & DISP,SPOON SOUP PLAS BLK MEDHVY MDL,Paper Costs,55000, +1241,PAPER & DISP,CONTAINER PLAS 9X2 48OZ BLK,Paper Costs,55000, +1242,PAPER & DISP,CUP PAPER HOT INSUL WORLD ART,Paper Costs,55000, +1243,CHEMICAL/JANTRL,SALT PELLET WATER SOFTENER,Food Costs,50000, +1244,CANNED AND DRY,CHOCOLATE GRND SWTND,Food Costs,50000, +1245,PAPER & DISP,SPOON PLAS MW SMTSK REFILL BLK,Paper Costs,55000, +1246,CHEMICAL/JANTRL,CLEANER FRYR EXPRESS,Food Costs,50000, +1247,SEAFOOD,MUSSEL BLUE COOKED FRZN,Seafood Costs,51130, +1248,CANNED AND DRY,SUGAR BROWN CUBE LR DEMERARA,Food Costs,50000, +1249,CANNED AND DRY,SUGAR CUBE WHT,Food Costs,50000, +1250,CHEMICAL/JANTRL,CLEANER FLOOR ALL PURP WO PHS,Food Costs,50000, +1251,CANNED AND DRY,ARTICHOKE HEART QUARTERED MARN,Food Costs,50000, +1252,SEAFOOD,SCALLOP SEA IQF 10/20 USA,Seafood Costs,51130, +1253,PRODUCE,POTATO KENNEBEC HOLLYWOOD FRY,Produce Costs,51200, +1254,PRODUCE,PARSLEY FRESH ICELESS,Produce Costs,51200, +1255,MEATS,STEAK FILET C\C CH,Beef/Pork Costs,51110, +1256,CANNED AND DRY,WATER FLAVOR ROSE,Food Costs,50000, +1257,PAPER & DISP,LINER TRASH 40X48 14N 40-45G,Paper Costs,55000, +1258,CANNED AND DRY,SALT COARSE ALBERGER TOPPING,Food Costs,50000, +1259,FROZEN,PEA GREEN GR A P,Produce Costs,51200, +1260,PAPER & DISP,SPOON PLAS WHT MED WT,Paper Costs,55000, +1261,DAIRY PRODUCTS,BUTTER BALL .25 OZ SALTED BAG,Dairy Costs,51300, +1262,PAPER & DISP,CUP PAPER CONE 8OZ,Paper Costs,55000, +1263,DAIRY PRODUCTS,CHEESE MOZZ FRSH LOG CRYO,Dairy Costs,51300, +1264,FROZEN,SAUCE TZATZIKI SOUR CREAM,Food Costs,50000, +1265,FROZEN,BREAD CIABATTA LOAF PBK,Food Costs,50000, +1266,FROZEN,ROLL CIABATTA SNDW,Food Costs,50000, +1267,PAPER & DISP,CONTAINER PAPER #4 TK OUT KRFT,Paper Costs,55000, +1268,PAPER & DISP,LINER PAPER DRY WAX 12X12,Paper Costs,55000, +1269,PRODUCE,MUSHROOM PORT LOCAL LG 5-7,Produce Costs,51200, +1270,PAPER & DISP,FORK PLAS WRP HVY BLK FULL,Paper Costs,55000, +1271,CANNED AND DRY,KETCHUP FANCY POUCH DSPNSR,Food Costs,50000, +1272,MEATS,SAUSAGE PORK BULK ROLL RAW MLD,Beef/Pork Costs,51110, +1273,CANNED AND DRY,PEANUT BUTTER CREAMY,Food Costs,50000, +1274,DAIRY PRODUCTS,CHEESE MOZZARELLA LMWM SHRD,Dairy Costs,51300, +1275,PRODUCE,JUICE GRPFRT PSTRZD U.P.,Produce Costs,51200, +1276,PAPER & DISP,NAPKIN DNR 1P 15X17 1/8F WHT,Paper Costs,55000, +1277,MEATS,SAUSAGE PORK LINK 1 OZ S/ON FZ,Beef/Pork Costs,51110, +1278,PAPER & DISP,DISPENSER NAPKIN XPN TBL BLK,Paper Costs,55000, +1279,PAPER & DISP,NAPKIN DSPNSR 13X12 1P NAT,Paper Costs,55000, +1280,PAPER & DISP,BAG POLY T-SHIRT 15X7X26 .6 ML,Paper Costs,55000, +1281,MEATS,VEAL BONE FF MARROW CDFA,Beef/Pork Costs,51110, +1282,CANNED AND DRY,SALT SEASONED,Food Costs,50000, +1283,CANNED AND DRY,SEASONING CAJUN,Food Costs,50000, +1284,CANNED AND DRY,SPICE ONION SALT,Food Costs,50000, +1285,CANNED AND DRY,SPICE PAPRIKA SMK,Food Costs,50000, +1286,POULTRY,CHICKEN WOG 2.5-3.25 BULK NGP,Chicken/ Poultry Costs,51120, +1287,CANNED AND DRY,SAUCE HOT PC 7GM,Food Costs,50000, +1288,DISPENSER BEVRG,TEA ICED CONC SWEET BIB,Soft Beverage Costs,52000, +1289,POULTRY,CHICKEN THIGH BNLS SKLS RAW,Chicken/ Poultry Costs,51120, +1290,CHEMICAL/JANTRL,SANITIZER QUAT SOLID DISP,Food Costs,50000, +1291,DAIRY PRODUCTS,CHEESE CHEDDAR SHARP YEL LOAF,Dairy Costs,51300, +1292,DAIRY PRODUCTS,CHEESE PROV NON-SMKD SLI .75OZ,Dairy Costs,51300, +1293,DAIRY PRODUCTS,CHEESE BRIE PLAIN 60% DOMSTC,Dairy Costs,51300, +1294,CANNED AND DRY,PICKLE DILL CHIP3/16 2000/2400,Food Costs,50000, +1295,FROZEN,POTATO FRY SWEET 3/16X3/8,Produce Costs,51200, +1296,FROZEN,POTATO FRY SKON 3/8 GR A,Produce Costs,51200, +1297,CANNED AND DRY,JUICE APPLE 100% ASEPTIC,Food Costs,50000, +1298,MEATS,BEEF CHUCK FLAP CALGROWN,Beef/Pork Costs,51110, +1299,PAPER & DISP,SKEWER WOOD 10IN BIODEGRADABLE,Paper Costs,55000, +1300,MEATS,PORK BUTT SLICED 3MM,Beef/Pork Costs,51110, +1301,PAPER & DISP,CUP PLASTIC CLEAR RPET 24OZ,Paper Costs,55000, +1302,CANNED AND DRY,SUGAR SUBSTITUTE PKT 1 GM,Food Costs,50000, +1303,PAPER & DISP,BAND NAPKIN PAPR 1.5X4.25 WHT,Paper Costs,55000, +1304,PAPER & DISP,FORK PLAS REFILL MW SMTSK BLK,Paper Costs,55000, +1305,SUPP & EQUIP,BUCKET MOP CMBO WB SDPRSS YEL,Food Costs,50000, +1306,DAIRY PRODUCTS,CHEESE CREAM TUB SPREAD,Dairy Costs,51300, +1307,CANNED AND DRY,JUICE DRINK MIGHTY MANGO,Food Costs,50000, +1308,PRODUCE,PARSLEY ITALIAN BUNCH FRESH,Produce Costs,51200, +1309,CANNED AND DRY,DRESSING CAESAR CREAMY RFG,Food Costs,50000, +1310,CANNED AND DRY,BEAN BLACK LOW SODIUM,Food Costs,50000, +1311,CANNED AND DRY,JUICE CLAM OCEAN,Food Costs,50000, +1312,MEATS,BEEF GRND CHUCK 80\20 CHUB,Beef/Pork Costs,51110, +1313,CANNED AND DRY,PASTA ROTINI FUSILLI,Food Costs,50000, +1314,PRODUCE,FLOWER EDIBLE PANSY MIX,Produce Costs,51200, +1315,FROZEN,CROISSANT BUTR PRE-BAKED,Food Costs,50000, +1316,PAPER & DISP,BOX PIZZA 12 K/K B-FLT 1-7/8,Paper Costs,55000, +1317,DAIRY PRODUCTS,EGG SHELL LRG WHT LOOSE 144,Dairy Costs,51300, +1318,PAPER & DISP,KNIFE PLAS COMPST PLANTW MED6,Paper Costs,55000, +1319,PAPER & DISP,PAD SCRUB S-S 1.75 OZ,Paper Costs,55000, +1320,PAPER & DISP,LINER TRASH 33X46 13 MC NAT,Paper Costs,55000, +1321,SUPP & EQUIP,BOTTLE PLASTIC SQUEEZE CLR TOP,Food Costs,50000, +1322,PAPER & DISP,GLOVE VINYL FDSRV PF XL,Paper Costs,55000, +1323,FROZEN,BREAD PITA 7,Food Costs,50000, +1324,FROZEN,BREAD PITA WHT CHCGO STYL 7,Food Costs,50000, +1325,PAPER & DISP,RIBBON PRINTER STAR SP 700,Paper Costs,55000, +1326,PAPER & DISP,WRAP FOIL CUSH-FLD 14X16,Paper Costs,55000, +1327,PAPER & DISP,TOWEL MULTIFOLD BLEACHED,Paper Costs,55000, +1328,CANNED AND DRY,CHERRY BING BADA,Food Costs,50000, +1329,PAPER & DISP,CONTAINER PAPER HNG FBR BLND,Paper Costs,55000, +1330,CANNED AND DRY,JUICE CRNBRY RTS PET,Food Costs,50000, +1331,PAPER & DISP,GLOVE VINYL FDSV PF LRG,Paper Costs,55000, +1332,CHEMICAL/JANTRL,DELIMER DESCALER LIME AWAY RTU,Food Costs,50000, +1333,SUPP & EQUIP,SCRAPER SPATULA HIGH HT WHITE,Food Costs,50000, +1334,PRODUCE,DILL FRESH,Produce Costs,51200, +1335,PAPER & DISP,PAPER PATTY 6X6 SQUARE,Paper Costs,55000, +1336,PAPER & DISP,NAPKIN DISP UNV XPRES FIT WHT,Paper Costs,55000, +1337,CANNED AND DRY,MUSTARD DIJON PLS JAR,Food Costs,50000, +1338,MEATS,PORK TENDERLOIN BNL MVP FRZ,Beef/Pork Costs,51110, +1339,PAPER & DISP,SKEWER BAMBOO 8 IN,Paper Costs,55000, +1340,MEATS,BEEF CHUCK BNLS SHORT RIB,Beef/Pork Costs,51110, +1341,PAPER & DISP,LID FLAT RENEWABLE HOT 10-20Z,Paper Costs,55000, +1342,CANNED AND DRY,MUSTARD YELLOW SQZ CLS,Food Costs,50000, +1343,PAPER & DISP,LID CUP 2OZ UNBLCHD PLNT FIBER,Paper Costs,55000, +1344,SEAFOOD,CRAB MEAT CLAW PAST,Seafood Costs,51130, +1345,PAPER & DISP,STRAW PLAS UNWRP JMBO BLK 7.75,Paper Costs,55000, +1346,CANNED AND DRY,SPICE SAFFRON TIN,Food Costs,50000, +1347,PAPER & DISP,GLOVE POLY EMBOSD FDSV LG,Paper Costs,55000, +1348,PRODUCE,MUSHROOM LARGE FRESH,Produce Costs,51200, +1349,SUPP & EQUIP,DOLLY BLK GARBAGE CAN,Food Costs,50000, +1350,MEATS,PORK BUTT BNLS VP AT PR12 FRZ,Beef/Pork Costs,51110, +1351,CANNED AND DRY,SAUCE TZATZIKI FRESH,Food Costs,50000, +1352,PAPER & DISP,BAG PAPER KFT 13X7X17 MART,Paper Costs,55000, +1353,PRODUCE,KIWI FRUIT FRSH,Produce Costs,51200, +1354,PAPER & DISP,GLOVE VINYL FDSVC PF MED,Paper Costs,55000, +1355,PAPER & DISP,LID PLAS WHT F/10-20OZ 25% REC,Paper Costs,55000, +1356,PRODUCE,POTATO BAKING IDAHO 100CT FRSH,Produce Costs,51200, +1357,PAPER & DISP,TOWEL SFOLD 9.4X9.2 NAT 1P,Paper Costs,55000, +1358,PRODUCE,LETTUCE ROMAINE FDSVC,Produce Costs,51200, +1359,CANNED AND DRY,SAUCE CHILI SIRACHA,Food Costs,50000, +1360,PAPER & DISP,WRAP DRY SNDW 14X14,Paper Costs,55000, +1361,PAPER & DISP,GLOVE VINYL FDSRV PWDRFREE MED,Paper Costs,55000, +1362,FROZEN,SAUCE PESTO BASIL,Food Costs,50000, +1363,PAPER & DISP,BAG PASTRY DISP 21 ANTISLIP,Paper Costs,55000, +1364,PAPER & DISP,PAN FOIL STM TBL HALF,Paper Costs,55000, +1365,CANNED AND DRY,SEASONING FRUIT TAJIN,Food Costs,50000, +1366,PAPER & DISP,WRAP DRY WAX DELI 12X12 FLAT,Paper Costs,55000, +1367,CANNED AND DRY,SODA COKE DIET CLS CONT TRAY P,Soft Beverage Costs,52000, +1368,CANNED AND DRY,JUICE CRNBRY BTL BAR MIXER,Food Costs,50000, +1369,CANNED AND DRY,SPICE SESAME SEED WHL WHITE,Food Costs,50000, +1370,CANNED AND DRY,CHOCOLATE MILK #823 BLOCK 32%,Food Costs,50000, +1371,CANNED AND DRY,SPICE SESAME SEED BLK,Food Costs,50000, +1372,CANNED AND DRY,VINEGAR CIDER APPLE 5% 50 GRN,Food Costs,50000, +1373,PAPER & DISP,WIPER TOWEL COMPSTBL FLAX,Paper Costs,55000, +1374,CANNED AND DRY,NUT PISTACHIO RAW,Food Costs,50000, +1375,CANNED AND DRY,SUGAR PACKET INDIV,Food Costs,50000, +1376,CANNED AND DRY,SUGAR SUB BLUE PACKET,Food Costs,50000, +1377,CANNED AND DRY,DRESSING BALSAMIC VINEGARETTE,Food Costs,50000, +1378,CANNED AND DRY,DRESSING BALSAMIC VINAIGRETTE,Food Costs,50000, +1379,MEATS,BEEF GROUND BULK 75/25 CHUB,Beef/Pork Costs,51110, +1380,FROZEN,CAKE FUDGE DIVINE LAVA 3IN GF,Food Costs,50000, +1381,CANNED AND DRY,POLENTA INSTANT FINE,Food Costs,50000, +1382,CANNED AND DRY,MAYONNAISE HEAVY DUTY PAIL,Food Costs,50000, +1383,FROZEN,BREAD TEXAS TOAST EGG THICK 16,Food Costs,50000, +1384,PAPER & DISP,LINER TRASH 24X32 .7 ML CLR,Paper Costs,55000, +1385,CANNED AND DRY,PRESERVE APRICOT,Food Costs,50000, +1386,PAPER & DISP,SPOON SOUP PLAS HVY STY BLK,Paper Costs,55000, +1387,FROZEN,PRETZEL SOFT BAKED KINGSIZE,Food Costs,50000, +1388,MEATS,PORK CHOP 2BN C\C FRCHD,Beef/Pork Costs,51110, +1389,PAPER & DISP,TOOTHPICK WOOD RND UNWRPD,Paper Costs,55000, +1390,DAIRY PRODUCTS,BUTTER SOLID USDA AA SLTD,Dairy Costs,51300, +1391,PRODUCE,MUSHROOM SHIITAKE MED W/STEM,Produce Costs,51200, +1392,FROZEN,BALL FALAFEL FRITTER BITES,Food Costs,50000, +1393,DAIRY PRODUCTS,CHEESE BRIE CUPS DANISH,Dairy Costs,51300, +1394,CANNED AND DRY,SYRUP CORN LIGHT N/HIGH FRCTSE,Food Costs,50000, +1395,PAPER & DISP,CONTAINER FOAM HNG 1C DBL TAB,Paper Costs,55000, +1396,DAIRY PRODUCTS,CHEESE MOZZ FRSH LOG,Dairy Costs,51300, +1397,MEATS,PORK CHOP RIB 2BN FRNCH,Beef/Pork Costs,51110, +1398,PAPER & DISP,LABEL ROLL BLANK 1X2 WHT,Paper Costs,55000, +1399,PRODUCE,CELERY STICK FRESH 4 IN,Produce Costs,51200, +1400,CANNED AND DRY,PAN COATING ARSL FOOD RELEASE,Food Costs,50000, +1401,MEATS,SAUSAGE LINK MILD ITAL 4:1 Z,Beef/Pork Costs,51110, +1402,DISPENSER BEVRG,SYRUP TONIC WTR 5X1 BIB 2.5GAL,Soft Beverage Costs,52000, +1403,PAPER & DISP,BAG PAPER BRN W/HNDL TEMPO 60#,Paper Costs,55000, +1404,DISPENSER BEVRG,SYRUP TEA SWEET CONC,Soft Beverage Costs,52000, +1405,SUPP & EQUIP,GLASS COOLER GIBRALTAR TALL,Food Costs,50000, +1406,PAPER & DISP,FORK PLAS WHT HVYWT FULL LNGTH,Paper Costs,55000, +1407,PAPER & DISP,TOWEL MULTI 9.5X9 1PLY WHT,Paper Costs,55000, +1408,DAIRY PRODUCTS,YOGURT VANILLA LOW FAT,Dairy Costs,51300, +1409,DAIRY PRODUCTS,CHEESE FETA IN BRNE,Dairy Costs,51300, +1410,PAPER & DISP,CUP PAPER CLD DSP 16 OZ PEPSI,Paper Costs,55000, +1411,CANNED AND DRY,WATER MINERAL SPARKLING,Food Costs,50000, +1412,CANNED AND DRY,SODA DR PEPPER DIET FRG 2X12PK,Soft Beverage Costs,52000, +1413,PRODUCE,KIWI FRUIT FCY FRESH,Produce Costs,51200, +1414,PAPER & DISP,BAG SAND GREASE RESIST WH,Paper Costs,55000, +1415,PAPER & DISP,CONTAINER FIBER MLD RND PFREE,Paper Costs,55000, +1416,PAPER & DISP,CUP PLAS RPET CLR 20 OZ,Paper Costs,55000, +1417,SUPP & EQUIP,PLATE NR CRM WHT 10-1/4,Food Costs,50000, +1418,MEATS,PORK CUSHION MEAT 1-3# AVG,Beef/Pork Costs,51110, +1419,CANNED AND DRY,RICE ARBORIO,Food Costs,50000, +1420,PAPER & DISP,BOWL FIBER RND PFF 32OZ,Paper Costs,55000, +1421,PAPER & DISP,TRAY FOOD PAPR NAT 2 LB,Paper Costs,55000, +1422,CHEMICAL/JANTRL,CLEANSER PWDR OXY BLEACH RTU,Food Costs,50000, +1423,DAIRY PRODUCTS,CHEESE COTIJA QTR,Dairy Costs,51300, +1424,CANNED AND DRY,FLOUR CORN MASA BLUE,Food Costs,50000, +1425,CANNED AND DRY,SALT SEA FLAKE,Food Costs,50000, +1426,SUPP & EQUIP,MUG GLASS DRINKING JAR,Food Costs,50000, +1427,CANNED AND DRY,SAUCE TACO PKT,Food Costs,50000, +1428,SUPP & EQUIP,CONTAINER TRASH SLENDER BLK,Food Costs,50000, +1429,PAPER & DISP,LINER ROLL COMPOST34X48 1ML,Paper Costs,55000, +1430,PAPER & DISP,CUP PAPER HOT WHT 16OZ,Paper Costs,55000, +1431,PRODUCE,APPLE GRANNY SMITH FANCY FRESH,Produce Costs,51200, +1432,MEATS,PORK BOSTON BUTT BNLS VP 2CT,Beef/Pork Costs,51110, +1433,PAPER & DISP,FORK PLAS CORN STARCH,Paper Costs,55000, +1434,PAPER & DISP,SPOON PLAS CORN STARCH,Paper Costs,55000, +1435,POULTRY,CHICKEN CVP THGH BL/SKN HL FRZ,Chicken/ Poultry Costs,51120, +1436,MEATS,BEEF TRIPE HONEYCOMB,Beef/Pork Costs,51110, +1437,MEATS,SAUSAGE ROPE ITAL MILD RAW FRZ,Meats Costs,51110, +1438,SEAFOOD,CLAM WHL SHEL CKD VP 17-22ASIA,Seafood Costs,51130, +1439,CANNED AND DRY,PEPPERONCINI WHOLE IMPORTED,Food Costs,50000, +1440,CANNED AND DRY,ARTICHOKE HEART 40/50IMP,Produce Costs,51200, +1441,DAIRY PRODUCTS,CHEESE MASCARPONE,Dairy Costs,51300, +1442,DAIRY PRODUCTS,CHEESE ROMANO PEC GRATED ITALY,Dairy Costs,51300, +1443,MEATS,BEEF CHUCK ROLL NECK OFF,Beef/Pork Costs,51110, +1444,CANNED AND DRY,COOKIE LADYFINGER CANTREAU,Food Costs,50000, +1445,CANNED AND DRY,RAISIN SEEDLESS,Food Costs,50000, +1446,FROZEN,BALL FALAFEL CHICKPEA,Food Costs,50000, +1447,CANNED AND DRY,PASTE TAHINI,Food Costs,50000, +1448,FROZEN,RAVIOLI MUSHROOM RSTD LRG RND,Food Costs,50000, +1449,FROZEN,RAVIOLI MUSHROOM PRCINI TRUFFL,Food Costs,50000, +1450,PAPER & DISP,PLATE PAPER FBR PFAS FREE 9IN,Paper Costs,55000, +1451,DAIRY PRODUCTS,CHEESE ASIAGO WHL 1/4 5M CRYO,Dairy Costs,51300, +1452,PRODUCE,MUSHROOM SLCD FDSVC #2 FRESH,Produce Costs,51200, +1453,PRODUCE,POTATO BAKING IDAHO 40CT FRSH,Produce Costs,51200, +1454,DISPENSER BEVRG,SYRUP COKE ZERO SUGAR 5X1 BIB,Soft Beverage Costs,52000, +1455,MEATS,SAUSAGE PORK LNK SILVER MEDAL,Beef/Pork Costs,51110, +1456,PAPER & DISP,TISSUE BATH 2P 3.75 WRPD WHT,Paper Costs,55000, +1457,SUPP & EQUIP,KNIFE KIT 8 PCE,Food Costs,50000, +1458,PAPER & DISP,FORK PLAS COMPST PLANTW MED6,Paper Costs,55000, +1459,PRODUCE,CUCUMBER FRESH SELECT,Produce Costs,51200, +1460,SUPP & EQUIP,SCRAPER SPATULA WHITE,Food Costs,50000, +1461,POULTRY,CHICKEN CVP BRST BULK NAE,Chicken/ Poultry Costs,51120, +1462,CANNED AND DRY,JUICE TOMATO FCY CAL,Food Costs,50000, +1463,CANNED AND DRY,BREAD CRUMB JAPNSE PANKO FINE,Food Costs,50000, +1464,CHEMICAL/JANTRL,SOAP HAND AB FOAM ADVANCED,Food Costs,50000, +1465,FROZEN,MUFFIN ENGLISH FRK SPLIT PLAIN,Food Costs,50000, +1466,FROZEN,MUFFIN ENGLISH ORIG 2 OZ,Food Costs,50000, +1467,CANNED AND DRY,SEASONING LIQUID SMOKE HICKORY,Food Costs,50000, +1468,MEATS,LUNCH MEAT MORTADELLA PISTCHO,Meats Costs,51110, +1469,PAPER & DISP,LID PLASTIC PET 14-16OZ,Paper Costs,55000, +1470,FROZEN,BREAD BAGUETTE FRCH DEMI PRBKD,Food Costs,50000, +1471,PAPER & DISP,GLOVE VINYL FDSVC PWD MED,Paper Costs,55000, +1472,DISPENSER BEVRG,TEA ICED CONC UNSWT 5.5+1,Soft Beverage Costs,52000, +1473,FROZEN,BUN HAMBURGER 4.5 2.7OZ,Food Costs,50000, +1474,PAPER & DISP,LID PLAS CLR PET FLAT F/320 OZ,Paper Costs,55000, +1475,PAPER & DISP,LINER TRASH 43X47 .9 ML BLK,Paper Costs,55000, +1476,SUPP & EQUIP,POT STOCK ALMN RND 20 QT,Food Costs,50000, +1477,CANNED AND DRY,JUICE APPLE 100% UNSWT BTL,Food Costs,50000, +1478,CANNED AND DRY,ALMOND NATURAL SLICED,Food Costs,50000, +1479,CANNED AND DRY,TEA BULK YRBA MATTE ORGNC,Food Costs,50000, +1480,SUPP & EQUIP,SUPPLY SOTF DINING ROOM,Food Costs,50000, +1481,POULTRY,CHICKEN CVP THIGH BNL/SKL FRZN,Chicken/ Poultry Costs,51120, +1482,DAIRY PRODUCTS,EGG HARDCOOKED CGFREE DRY PACK,Dairy Costs,51300, +1483,FROZEN,BREAD CRUMB,Food Costs,50000, +1484,FROZEN,PASTA TORTELLINI CHEESE PRCKD,Food Costs,50000, +1485,MEATS,HAM PROSCIUTTO SLI,Beef/Pork Costs,51110, +1486,FROZEN,DESSERT TIRAMISU PAN 30 PC SCR,Food Costs,50000, +1487,PAPER & DISP,CONTAINER PAPER #4 TAKEOUT BLK,Paper Costs,55000, +1488,POULTRY,CHICKEN CVP WHL WOG FZ,Chicken/ Poultry Costs,51120, +1489,PRODUCE,LEEK BUNCH FRSH ICELS,Produce Costs,51200, +1490,CANNED AND DRY,BILLING MISC CANNED/DRY,Food Costs,50000, +1491,PAPER & DISP,PAN FOIL STEAM TBL HALF DEEP,Paper Costs,55000, +1492,PAPER & DISP,TRAY PAPER CARRIER 4 CUP,Paper Costs,55000, +1493,PAPER & DISP,KIT CUTLERY FKS/SP/NP HW PP BK,Paper Costs,55000, +1494,MEATS,BEEF PATTY 80/20 RND FRSH,Beef/Pork Costs,51110, +1495,PAPER & DISP,STIRRER COFFEE WOOD 7.5IN,Paper Costs,55000, +1496,CANNED AND DRY,DRESSING HONEY MUSTARD DIJON,Food Costs,50000, +1497,DAIRY PRODUCTS,EGG HARDCOOKED CGFREE HARD PK,Dairy Costs,51300, +1498,SEAFOOD,SHRIMP WHT P&D TLOF 26/30,Seafood Costs,51130, +1499,PAPER & DISP,CONTAINER PAPER HNG 9X6 1C FBR,Paper Costs,55000, +1500,CHEMICAL/JANTRL,DETERGENT POT & PAN LIQUID,Food Costs,50000, +1501,FROZEN,ASPARAGUS SPEAR MED IQF P,Produce Costs,51200, +1502,PRODUCE,ASPARAGUS FRESH STANDARD,Produce Costs,51200, +1503,SUPP & EQUIP,SCREEN GRIDDLE 4X6IN,Food Costs,50000, +1504,PAPER & DISP,LABEL ROLL PLAIN,Paper Costs,55000, +1505,POULTRY,TURKEY BRST OIL BRN ALL NAT,Poultry Costs,51120, +1506,CANNED AND DRY,HONEY PURE WILDFLOWER GR A JUG,Food Costs,50000, +1507,CANNED AND DRY,TEA BULK GUNPWDR GREEN ORGANIC,Food Costs,50000, +1508,CHEMICAL/JANTRL,DISPENSER HAND NEXA AUTO BLK,Food Costs,50000, +1509,PRODUCE,FLOWER DRIED HIBSCS,Produce Costs,51200, +1510,DAIRY PRODUCTS,CHEESE KEFIR,Dairy Costs,51300, +1511,CANNED AND DRY,TEA ICED SWEET W/LMN PURELEAF,Food Costs,50000, +1512,CHEMICAL/JANTRL,DETERGENT POT/PAN HAND SMARTPW,Food Costs,50000, +1513,CANNED AND DRY,PECAN PCS MEDIUM FCY RAW,Food Costs,50000, +1514,PAPER & DISP,GLOVE SYNTHETIC FDSRV PF MED,Paper Costs,55000, +1515,POULTRY,CHICKEN THIGH BNLS SKIN-ON RAW,Chicken/ Poultry Costs,51120, +1516,CANNED AND DRY,SPICE SAGE GRND,Food Costs,50000, +1517,CANNED AND DRY,KETCHUP SQUEEZE RED UPSIDE DWN,Food Costs,50000, +1518,CANNED AND DRY,SPICE NUTMEG WHL,Food Costs,50000, +1519,DAIRY PRODUCTS,YOGURT PLAIN FULL FAT,Dairy Costs,51300, +1520,CANNED AND DRY,VINEGAR WINE RED ITALY 6% GLS,Wine Costs,54400, +1521,POULTRY,CHICKEN CVP THIGH B/S,Chicken/ Poultry Costs,51120, +1522,SEAFOOD,CUTTLEFISH INK (SQUID),Seafood Costs,51130, +1523,CANNED AND DRY,RICE BASMATI WHT,Food Costs,50000, +1524,PAPER & DISP,BOWL PULP BIO RND 32OZ 8.5,Paper Costs,55000, +1525,PAPER & DISP,LID PLAS CLR DOME F/BURR BWL,Paper Costs,55000, +1526,MEATS,PANCETTA PORK,Beef/Pork Costs,51110, +1527,SEAFOOD,BRONZINI WHL BACK BTRFLY LRG,Seafood Costs,51130, +1528,PAPER & DISP,FILTER FRYER DEAN 22X34,Paper Costs,55000, +1529,SUPP & EQUIP,RAMEKIN PLAS FLUTED WHITE,Food Costs,50000, +1530,CHEMICAL/JANTRL,FRESHENER AIR ECO CUC MELN,Food Costs,50000, +1531,CANNED AND DRY,CHOCOLATE DARK COUVETURE,Food Costs,50000, +1532,MEATS,PORK BUTT B/I 1/4IN,Beef/Pork Costs,51110, +1533,POULTRY,CHICKEN BRD 10PC PCK NO WINGS,Chicken/ Poultry Costs,51120, +1534,PRODUCE,LETTUCE ROMAINE HEARTS JUMBO,Produce Costs,51200, +1535,SUPP & EQUIP,GLOVE NEOP HIGH-HEAT 17,Food Costs,50000, +1536,PRODUCE,LETTUCE ROMAINE CROWN LEAVES,Produce Costs,51200, +1537,PRODUCE,POTATO BAKING IDAHO 70CTFRSH,Produce Costs,51200, +1538,SUPP & EQUIP,HANDLE BRSH/BRM/SQUGE BLUE,Food Costs,50000, +1539,DISPENSER BEVRG,SYRUP MOUNTAIN DEW DIET,Soft Beverage Costs,52000, +1540,PAPER & DISP,LID PLAS TRANS F/16-20 OZ CUP,Paper Costs,55000, +1541,CANNED AND DRY,CHERRY DRIED TART,Food Costs,50000, +1542,CANNED AND DRY,SPICE PEPPER RED CRUSHED,Food Costs,50000, +1543,MEATS,SAUSAGE ITAL LNK MILD N/C 4X1,Beef/Pork Costs,51110, +1544,SUPP & EQUIP,KNIFE DINNER WINDSOR MEDWGHT,Food Costs,50000, +1545,PAPER & DISP,LINER TRASH 40X46 .95 ML CLR,Paper Costs,55000, +1546,PAPER & DISP,LINER ROLL 24X33 6 MC NAT,Paper Costs,55000, +1547,MEATS,PORK TENDERLOIN BNL MVP PR12,Beef/Pork Costs,51110, +1548,PAPER & DISP,PLACEMAT PAPER COLR ME REFILL,Paper Costs,55000, +1549,DAIRY PRODUCTS,YOGURT STRAWBERRY LOW FAT,Dairy Costs,51300, +1550,PAPER & DISP,PLATE PAPER COMPSTBLE 9IN 1CMP,Paper Costs,55000, +1551,DAIRY PRODUCTS,CHEESE CHDR MLD SLI INT.5OZ YL,Dairy Costs,51300, +1552,CHEMICAL/JANTRL,DETERGENT ALL PURP DISH TRUPWR,Food Costs,50000, +1553,DISPENSER BEVRG,DRINK MIX LEMONADE DIET,Soft Beverage Costs,52000, +1554,FROZEN,BAKLAVA WALNT TRIANGLES,Food Costs,50000, +1555,PAPER & DISP,DISPENSER NAP XPRSNP STND BLK,Paper Costs,55000, +1556,PAPER & DISP,DISPENSER TOWEL MANUL COMP360,Paper Costs,55000, +1557,PAPER & DISP,PAN FOIL STM TBL MED 2-3/16,Paper Costs,55000, +1558,PRODUCE,ONION RED JUMBO CTN,Produce Costs,51200, +1559,MEATS,BEEF CHUCK SHORTRIB KOREAN1/2,Beef/Pork Costs,51110, +1560,FROZEN,RICE MEXICAN STY,Food Costs,50000, +1561,PAPER & DISP,GLOVE VITRILE FDSRV PF BLU XL,Paper Costs,55000, +1562,DISPENSER BEVRG,TEA BULK BLACK ORGANIC,Soft Beverage Costs,52000, +1563,CANNED AND DRY,JELLY ASST CUP GRAPE STRBERRY,Food Costs,50000, +1564,SUPP & EQUIP,BOTTLE PLAS SPRAY W/TRIG 32OZ,Food Costs,50000, +1565,SUPP & EQUIP,BOTTLE PLAS SQUEEZE CLEAR,Food Costs,50000, +1566,DAIRY PRODUCTS,YOGURT PLAIN NONFAT GREEK,Dairy Costs,51300, +1567,PRODUCE,APPLE FRESH GRN JUICING N/STKR,Produce Costs,51200, +1568,CANNED AND DRY,NUT PINE,Food Costs,50000, +1569,CANNED AND DRY,MUSHROOM PORCINI PWDR DRIED,Food Costs,50000, +1570,CANNED AND DRY,KETCHUP 29% XSTD,Food Costs,50000, +1571,CANNED AND DRY,OIL OLIVE EV COLD EXTRACT ITAL,Food Costs,50000, +1572,CANNED AND DRY,SPICE PAPRIKA HUNGARIAN GROUND,Food Costs,50000, +1573,CANNED AND DRY,SODA DIET PEPSI,Soft Beverage Costs,52000, +1574,PAPER & DISP,STRAW PLAS WRP TRANS GIANT 8.5,Paper Costs,55000, +1575,PAPER & DISP,CONTAINER FIBER BAGASSE HNG,Paper Costs,55000, +1576,SUPP & EQUIP,BRUSH BOWL TOILET,Food Costs,50000, +1577,PAPER & DISP,NAPKIN DSPNSR 13X12 1PLY WHT,Paper Costs,55000, +1578,PAPER & DISP,TISSUE TOILET JUMBO 2PLY WHT,Paper Costs,55000, +1579,FROZEN,BAGEL SLICE ASSORTED LRG #4,Food Costs,50000, +1580,CANNED AND DRY,SPICE PAPRIKA SPANISH FCY,Food Costs,50000, +1581,SUPP & EQUIP,WEIGHT STEAK CAST IRON W/HNDL,Food Costs,50000, +1582,CANNED AND DRY,DRESSING ITALIAN GREGGORIO HSE,Food Costs,50000, +1583,DAIRY PRODUCTS,ICE CREAM SORBET RASP,Dairy Costs,51300, +1584,DAIRY PRODUCTS,CHEESE PARM SHRD USA,Dairy Costs,51300, +1585,SUPP & EQUIP,BRUSH UTILITY PLYPRP,Food Costs,50000, +1586,DISPENSER BEVRG,SYRUP LEMONADE PINK POPPIN BIB,Soft Beverage Costs,52000, +1587,POULTRY,CHICKEN CVP WING 1&2JT JMB RND,Chicken/ Poultry Costs,51120, +1588,DISPENSER BEVRG,DRINK BASE FRUIT PUNCH BIB,Soft Beverage Costs,52000, +1589,CANNED AND DRY,SAUCE PEPPER CAYENNE RED HOT,Food Costs,50000, +1590,SUPP & EQUIP,BOWL PASTA CRM WHT 20 OZ,Food Costs,50000, +1591,SUPP & EQUIP,BOWL RIM SOUP CRM WHT 12 OZ,Food Costs,50000, +1592,CANNED AND DRY,TEA BAG CHAI ROOIBOS ORGANIC,Food Costs,50000, +1593,CANNED AND DRY,TEA BAG BRKFST BLEND ORG,Food Costs,50000, +1594,CANNED AND DRY,TEA CHAMOMILE LMN MEADOWS,Food Costs,50000, +1595,DAIRY PRODUCTS,CHEESE CREAM WHPD TUB,Dairy Costs,51300, +1596,CHEMICAL/JANTRL,CLEANER DEGRSR FRYR & GRLL RTU,Food Costs,50000, +1597,CANNED AND DRY,YEAST INSTANT DRY,Food Costs,50000, +1598,SUPP & EQUIP,FORK DINNER DOMINION HVY WHT,Food Costs,50000, +1599,PAPER & DISP,WRAP DELI DRY WAX FLD 10X10.75,Paper Costs,55000, +1600,PAPER & DISP,FILM PVC ROLL 3000 FT,Paper Costs,55000, +1601,PAPER & DISP,LINER ROLL COMPOST42X48 1ML,Paper Costs,55000, +1602,PAPER & DISP,CONTAINER PAPER FBR 8X8 1C PFF,Paper Costs,55000, +1603,CANNED AND DRY,SPICE PEPPER BLK TABLE GRND,Food Costs,50000, +1604,PAPER & DISP,CUP PLAS CLR SQUAT 9 OZ RIGID,Paper Costs,55000, +1605,SEAFOOD,SCALLOP SEA U/8 DRY JAPAN 8#,Seafood Costs,51130, +1606,PAPER & DISP,LINER PAPER PAN QUILON,Paper Costs,55000, +1607,POULTRY,CHICKEN CVP BRST B/S WHL 6Z FZ,Chicken/ Poultry Costs,51120, +1608,PAPER & DISP,BAG PAPER BRN 2OLB SHORTY,Paper Costs,55000, +1609,CHEMICAL/JANTRL,CLEANER ALL PURPOSE ORANGE RTU,Food Costs,50000, +1610,POULTRY,CHICKEN CVP WHL WOG FRZN,Chicken/ Poultry Costs,51120, +1611,CANNED AND DRY,SPICE FENNEL SEED WHL,Food Costs,50000, +1612,PAPER & DISP,GLOVE VINYL FDSRV PWDRFREE LRG,Paper Costs,55000, +1613,CANNED AND DRY,SAUCE HOLLANDAISE RTU,Food Costs,50000, +1614,CANNED AND DRY,WALNUT HALVES & PCS CANDIED,Food Costs,50000, +1615,FROZEN,BREAD FRENCH BAGUETTE,Food Costs,50000, +1616,MEATS,DUCK WHL LEG & THIGH SK\ON,Meats Costs,51110, +1617,POULTRY,FAT DUCK CLARIFIED MOULARD,Poultry Costs,51120, +1618,PAPER & DISP,KNIFE PLAS WHT MED WT,Paper Costs,55000, +1619,SUPP & EQUIP,CANDLE BIRTHDAY SPIRAL,Food Costs,50000, +1620,CANNED AND DRY,DRESSING 1000 ISLD CHEF STYLE,Food Costs,50000, +1621,CANNED AND DRY,SODA COKE DIET,Soft Beverage Costs,52000, +1622,CANNED AND DRY,SODA SPRITE CANS,Soft Beverage Costs,52000, +1623,CANNED AND DRY,SODA GINGER ALE REG,Soft Beverage Costs,52000, +1624,CANNED AND DRY,SODA CLUB,Soft Beverage Costs,52000, +1625,CANNED AND DRY,WATER BOTTLED PLAS,Food Costs,50000, +1626,CANNED AND DRY,PUREE STRAWBERRY,Food Costs,50000, +1627,CANNED AND DRY,SODA TONIC WATER,Beverages Costs,52000, +1628,CANNED AND DRY,WATER SPRING BOTTLE PET,Food Costs,50000, +1629,PAPER & DISP,WRAP DRY WAX DELI 12X10.75,Paper Costs,55000, +1630,CANNED AND DRY,ALMOND BLANCHED SLI RAW,Food Costs,50000, +1631,PAPER & DISP,STRAW PLAS WRPD JMBO STRP 7.75,Paper Costs,55000, +1632,PAPER & DISP,PAD GRIDDLE 4X6,Paper Costs,55000, +1633,SEAFOOD,CALAMARI TUBE TNT FLTRM4-6 CHN,Seafood Costs,51130, +1634,PAPER & DISP,CUP PLAS CLR RPET SQT 9 OZ,Paper Costs,55000, +1635,PAPER & DISP,NAPKIN DISP XPRESNAP ENVIR NAT,Paper Costs,55000, +1636,PAPER & DISP,LINER WAX DRY CAKE 15X20,Paper Costs,55000, +1637,CANNED AND DRY,DIP HUMMUS CHEF PCH CLS RECIPE,Food Costs,50000, +1638,PAPER & DISP,LINER ROLL 30X43 .9ML WHT ACFT,Paper Costs,55000, +1639,PAPER & DISP,LINER TRASH 33X39 .75 ML WHT,Paper Costs,55000, +1640,CANNED AND DRY,JUICE PNAPL 100% ASEPTIC,Food Costs,50000, +1641,POULTRY,CHICKEN THIGH BNLS SKLS JMBO,Chicken/ Poultry Costs,51120, +1642,PAPER & DISP,WRAP PAPER WHT GREAS RES 12X12,Paper Costs,55000, +1643,SUPP & EQUIP,THERMOMETER DGTL WTRPF -40-392,Food Costs,50000, +1644,PAPER & DISP,PLATE PAPER WHT VERDICT 8.75,Paper Costs,55000, +1645,PAPER & DISP,CONTAINER PLAS HGD 6X6 CLR,Paper Costs,55000, +1646,PAPER & DISP,LINER TRASH 33X39 .5 ML BLK,Paper Costs,55000, +1647,CANNED AND DRY,BEAN WHITE SM DRIED,Food Costs,50000, +1648,PAPER & DISP,TISSUE TOILET WRPD 4X3.75 2PLY,Paper Costs,55000, +1649,PAPER & DISP,SPOON PLAS SERV BLK 10,Paper Costs,55000, +1650,PRODUCE,TOMATO CHERRY FRESH,Produce Costs,51200, +1651,CANNED AND DRY,KETCHUP SQUEEZE UPSD DN RED,Food Costs,50000, +1652,CANNED AND DRY,SODA COKE CHERRY ZERO CONTOUR,Soft Beverage Costs,52000, +1653,FROZEN,ENTREE VEG FALAFEL BALLS VEGAN,Food Costs,50000, +1654,SUPP & EQUIP,BRUSH GRILL W/SCRPR 27 IN HNDL,Food Costs,50000, +1655,CANNED AND DRY,SAUCE HOT SRIRACHA HUY FONG,Food Costs,50000, +1656,PAPER & DISP,TOWEL MULTIFOLD PRM LEAF,Paper Costs,55000, +1657,CANNED AND DRY,SODA LEMON LIME 12OZ,Soft Beverage Costs,52000, +1658,PAPER & DISP,KNIFE PLAS WRP BLK,Paper Costs,55000, +1659,SUPP & EQUIP,SHARPENER KNIFE,Food Costs,50000, +1660,PAPER & DISP,LABEL ROLL FRI DISSLVBL E/S/F,Paper Costs,55000, +1661,MEATS,SAUSAGE PORK LINK A/C CKD MILD,Beef/Pork Costs,51110, +1662,PAPER & DISP,WIPER TOWEL BLUE 13X17 MD DRY,Paper Costs,55000, +1663,PRODUCE,ONION RED MEDIUM BOX,Produce Costs,51200, +1664,DAIRY PRODUCTS,CHEESE GOAT LOG CHEVRE,Dairy Costs,51300, +1665,PAPER & DISP,WRAP PAPER ECOCRAFT 12X12,Paper Costs,55000, +1666,PAPER & DISP,WRAP PAPER ECOCRAFT 15X16,Paper Costs,55000, +1667,CHEMICAL/JANTRL,SANITIZER MACHINE LIQ DISP,Food Costs,50000, +1668,CANNED AND DRY,SAUCE CHILI SAMBAL OELEK,Food Costs,50000, +1669,CANNED AND DRY,DIP HUMMUS,Food Costs,50000, +1670,CANNED AND DRY,SYRUP LAVENDER,Food Costs,50000, +1671,POULTRY,DUCK PEKING WHL BODY,Chicken/ Poultry Costs,51120, +1672,MEATS,LAMB FORESHANK AUS 5030 HALAL,Beef/Pork Costs,51110, +1673,POULTRY,CHICKEN CVP LEG MEAT,Chicken/ Poultry Costs,51120, +1674,DAIRY PRODUCTS,EGG SHELL XLG WHT AA CA CGFR,Dairy Costs,51300, +1675,POULTRY,CHICKEN BRST IFZ MARN ZIP 5OZ,Chicken/ Poultry Costs,51120, +1676,MEATS,HAM SMK SLI .67OZ,Beef/Pork Costs,51110, +1677,MEATS,SALAMI DRY,Meat Costs,51110, +1678,PAPER & DISP,CUP PAPER COLD 21 OZ LOGO,Paper Costs,55000, +1679,FROZEN,BAGEL ASST #1 3 OZ SLI,Food Costs,50000, +1680,CANNED AND DRY,WATER SPRKLG MINERAL GLASS,Beverages Costs,52000, +1681,SUPP & EQUIP,MOP HEAD CTN MED CUT END 24 OZ,Food Costs,50000, +1682,DAIRY PRODUCTS,YOGURT VANILLA GREEK,Dairy Costs,51300, +1683,PRODUCE,CUCUMBER SUPER SELECT FRESH,Produce Costs,51200, +1684,CANNED AND DRY,SEASONING BLEND EVERYTHING BGL,Food Costs,50000, +1685,FROZEN,CRANBERRY WHL IQF,Produce Costs,51200, +1686,CANNED AND DRY,SUGAR IN THE RAW,Food Costs,50000, +1687,POULTRY,TURKEY BRST OIL BROWNED 5-7 PC,Poultry Costs,51120, +1688,CANNED AND DRY,DRESSING POPPY SEED GOURMET,Food Costs,50000, +1689,CANNED AND DRY,SOUP BASE BEEF ULTM GLUTEN FRE,Food Costs,50000, +1690,MEATS,STEAK STRIP LOIN 8 OZ F/A,Beef/Pork Costs,51110, +1691,CANNED AND DRY,RICE WILD BITS & BASMATI MINN,Food Costs,50000, +1692,CHEMICAL/JANTRL,TEST STRIP SANITIZER QUAT,Food Costs,50000, +1693,CHEMICAL/JANTRL,CLEANER FLOOR CLSD LOOP,Food Costs,50000, +1694,SUPP & EQUIP,BRUSH NYLON 20 UTLITY SCRUB,Food Costs,50000, +1695,SUPP & EQUIP,PLATE NR CRM WHT 6-1/2,Food Costs,50000, +1696,SUPP & EQUIP,BRUSH GRILL W/SCRAPER,Food Costs,50000, +1697,SUPP & EQUIP,PAN FRY ALMN/SLVST NONSTK W/HD,Food Costs,50000, +1698,MEATS,SAUSAGE ITAL SWT LINK 4X1,Meats Costs,51110, +1699,PAPER & DISP,BOX PAPER CARRIER 4 CUP TALL,Paper Costs,55000, +1700,CANNED AND DRY,SPICE CINNAMON GROUND,Food Costs,50000, +1701,PAPER & DISP,GLOVE POLY CAST DISP MED,Paper Costs,55000, +1702,CANNED AND DRY,EXTRACT VANILLA IMIT,Food Costs,50000, +1703,DAIRY PRODUCTS,CHEESE MOZZ PIZZ BLD FEATHERED,Dairy Costs,51300, +1704,PAPER & DISP,LID PLAS FOR 6/8/12/16OZ SOUP,Paper Costs,55000, +1705,SUPP & EQUIP,SPONGE CELLULOSE W/MED GRN PAD,Food Costs,50000, +1706,PAPER & DISP,WRAP PAPER SAND WHT 12X12,Paper Costs,55000, +1707,PAPER & DISP,WRAP DRY WAX DELI 12X10.75 HVY,Paper Costs,55000, +1708,PAPER & DISP,CONTAINER PLAS CLR HNG 8IN,Paper Costs,55000, +1709,PAPER & DISP,TISSUE TOILET 2PL ADVC WHT WR,Paper Costs,55000, +1710,SUPP & EQUIP,SPATULA RUBBER SILICONE 10.25,Food Costs,50000, +1711,CANNED AND DRY,BEAN GARBANZO FCY NO SULFITE,Food Costs,50000, +1712,MEATS,BACON SLI APLWD 13/17CT PR12,Beef/Pork Costs,51110, +1713,POULTRY,SAUSAGE CHICKEN APPLE RAW 1 OZ,Poultry Costs,51120, +1714,CANNED AND DRY,TOMATO SUNDRIED JULENNE,Food Costs,50000, +1715,MEATS,BEEF RIBEYE LIPON CH,Beef/Pork Costs,51110, +1716,PRODUCE,BERRY MIXED FRSH,Produce Costs,51200, +1717,CANNED AND DRY,OIL OLIVE X VIRGIN,Food Costs,50000, +1718,PAPER & DISP,NAPKIN DNR 15X16.25 2PLY 1/4F,Paper Costs,55000, +1719,MEATS,SAUSAGE PORK LNK A/C RAW MILD,Beef/Pork Costs,51110, +1720,MEATS,STEAK RIBEYE BNLS 1TL PR,Beef/Pork Costs,51110, +1721,PAPER & DISP,PLATE PLAS BLK 6 RGD CLSWR,Paper Costs,55000, +1722,PRODUCE,PEPPER HABANERO FRESH,Produce Costs,51200, +1723,CANNED AND DRY,CHILI CRISP MILD 32OZ,Food Costs,50000, +1724,CANNED AND DRY,MUSTARD DRY PWDR TIN,Food Costs,50000, +1725,CANNED AND DRY,MUSTARD DIJON SQZ BTL,Food Costs,50000, +1726,PAPER & DISP,GLOVE NITRILE FDSRV PF BLK SML,Paper Costs,55000, +1727,PAPER & DISP,BAG PLAS 10X14 HI-DEN CLR,Paper Costs,55000, +1728,PRODUCE,BANANA FRESH CRT GREEN TIP,Produce Costs,51200, +1729,SEAFOOD,SHRIMP WHT EZPL 16/20 ASIA,Seafood Costs,51130, +1730,MEATS,SALAMI SOPRESATA,Meats Costs,51110, +1731,PAPER & DISP,BAG PAPER BRN HNDL SROYAL 70#,Paper Costs,55000, +1732,SUPP & EQUIP,SHAKER DREDGE TC B/CLR 10OZ,Food Costs,50000, +1733,PAPER & DISP,CONTAINER FOAM HNG SDWCH SQUAR,Paper Costs,55000, +1734,PAPER & DISP,SPOON PLAS WHT TEA MED PLPRO,Paper Costs,55000, +1735,SUPP & EQUIP,BROOM LOBBY ANGLE DUO SWEEP,Food Costs,50000, +1736,SUPP & EQUIP,BROOM LOBBY FLAGGED DUO SWEEP,Food Costs,50000, +1737,PAPER & DISP,CUP PAPER CLD POLY 16OZ,Paper Costs,55000, +1738,CANNED AND DRY,HONEY PURE CLOVER,Food Costs,50000, +1739,CANNED AND DRY,DRESSING RANCH HOMESTYLE,Food Costs,50000, +1740,CANNED AND DRY,DRESSING BLUE CHEESE CHNKY PRM,Food Costs,50000, +1741,PAPER & DISP,CONTAINER PAPER #8 TAKEOUT WHT,Paper Costs,55000, +1742,PAPER & DISP,LID PLASTIC FLT 6X9 REC,Paper Costs,55000, +1743,PAPER & DISP,LID PLAS STYRN 32OZ,Paper Costs,55000, +1744,DAIRY PRODUCTS,CHEESE CHEDDAR MILD LOAF YEL,Dairy Costs,51300, +1745,FROZEN,POTATO FRY 3/8,Food Costs,50000, +1746,SEAFOOD,CRAB MEAT DUNGENESS,Seafood Costs,51130, +1747,CANNED AND DRY,SYRUP PANCAKE & WAFFLE CUP,Food Costs,50000, +1748,CANNED AND DRY,BEAN LENTIL BLK BELUGA,Food Costs,50000, +1749,CANNED AND DRY,GRAIN QUINOA RED,Food Costs,50000, +1750,CANNED AND DRY,HONEY PURE CLOVER GR A BEAR,Food Costs,50000, +1751,CANNED AND DRY,OIL OLIVE EXTRA VIRGIN GREEK,Food Costs,50000, +1752,PAPER & DISP,CUP FOIL UTILITY 4 OZ,Paper Costs,55000, +1753,CANNED AND DRY,CHOCOLATE BTRSWT 60% CALLETS,Food Costs,50000, +1754,CANNED AND DRY,BREAD CRUMB PLAIN,Food Costs,50000, +1755,DISPENSER BEVRG,DRINK MIX DBL CHOC FRAPPE CLS,Soft Beverage Costs,52000, +1756,PAPER & DISP,KNIFE WOODEN DISP,Paper Costs,55000, +1757,PAPER & DISP,SPOON PLAS BLK HVY WRPD,Paper Costs,55000, +1758,MEATS,PORK BELLY SKIN ON P12 COV,Beef/Pork Costs,51110, +1759,MEATS,PORK SHANK BONE KUROBUTA PR12,Beef/Pork Costs,51110, +1760,CANNED AND DRY,SEASONING ITALIAN WHL,Food Costs,50000, +1761,PRODUCE,MUSHROOM PORTABELLA CAP 4-5,Produce Costs,51200, \ No newline at end of file diff --git a/src/clj/auto_ap/jobs/sysco.clj b/src/clj/auto_ap/jobs/sysco.clj index b7da2288..bdce0c7a 100644 --- a/src/clj/auto_ap/jobs/sysco.clj +++ b/src/clj/auto_ap/jobs/sysco.clj @@ -1,29 +1,50 @@ (ns auto-ap.jobs.sysco - (:require - [amazonica.aws.s3 :as s3] - [auto-ap.datomic :refer [conn]] - [auto-ap.jobs.core :refer [execute]] - [auto-ap.datomic :refer [audit-transact random-tempid]] - [auto-ap.datomic.clients :as d-clients] - [auto-ap.datomic.invoices :refer [code-invoice]] - [auto-ap.parse :as parse] - [auto-ap.time :as t] - [clj-time.coerce :as coerce] - [clojure.data.csv :as csv] - [clojure.java.io :as io] - [com.brunobonacci.mulog :as mu] - [auto-ap.logging :as alog] - [clojure.string :as str] - [com.unbounce.dogstatsd.core :as statsd] - [config.core :refer [env]] - [datomic.api :as dc] - [auto-ap.datomic.vendors :as d-vendors]) - (:import - (java.util UUID))) + (:require [amazonica.aws.s3 :as s3] + [auto-ap.datomic :refer [conn]] + [auto-ap.datomic :refer [audit-transact pull-attr random-tempid]] + [auto-ap.datomic.clients :as d-clients] + [auto-ap.datomic.invoices :refer [code-invoice]] + [auto-ap.datomic.vendors :as d-vendors] + [auto-ap.jobs.core :refer [execute]] + [auto-ap.logging :as alog] + [auto-ap.parse :as parse] + [auto-ap.time :as t] + [auto-ap.utils :refer [dollars=]] + [clj-time.coerce :as coerce] + [clojure.data.csv :as csv] + [clojure.java.io :as io] + [clojure.string :as str] + [config.core :refer [env]] + [datomic.api :as dc]) + (:import (java.util UUID))) -(def bucket-name (:data-bucket env)) +(def sysco-name->line + (with-open [data (io/reader (io/resource "sysco_line_item_mapping.csv"))] + (let [data (csv/read-csv data)] + (->> data + (drop 1) + (map (fn [ [_ _ name _ account-number]] + [name (ffirst (dc/q '[:find ?a + :in $ ?an + :where [?a :account/numeric-code ?an]] + (dc/db conn) + (Long/parseLong account-number)))])) + (into {}))))) + +(defn get-line-account [item-name] + (get sysco-name->line item-name + (ffirst (dc/q '[:find ?a + :in $ ?an + :where [?a :account/numeric-code ?an]] + (dc/db conn) + 50000)))) + + +(def ^:dynamic bucket-name (:data-bucket env)) (def header-keys ["TransCode" "GroupID" "Company" "CustomerNumber" "InvoiceNumber" "RecordType" "Item" "InvoiceDocument" "AccountName" "AccountDunsNo" "InvoiceDate" "AccountDate" "CustomerPONo" "PaymentTerms" "TermsDescription" "StoreNumber" "CustomerName" "AddressLine1" "AddressLine2" "City1" "State1" "Zip1" "Phone1" "Duns1" "Hin1" "Dea1" "TIDCustomer" "ChainNumber" "BidNumber" "ContractNumber" "CompanyNumber" "BriefName" "Address" "Address2" "City2" "State2" "Zip2" "Phone2" "Duns2" "Hin2" "Dea2" "Tid_OPCO" "ObligationIndicator" "Manifest" "Route" "Stop" "TermsDiscountPercent" "TermsDiscountDueDate" "TermsNetDueDate" "TermsDiscountAmount" "TermsDiscountCode" "OrderDate" "DepartmentCode"]) +(def item-price-index 15) +(def item-name-index 29) (def summary-keys ["TranCode" "GroupID" "Company" "CustomerNumber" "InvoiceNumber" "RecordType" "Item" "InvoiceDocument" "TotalLines" "TotalQtyInvoice" "TotalQty" "TotalQtySplit" "TotalQtyPounds" "TotalExtendedPrice" "TotalTaxAmount" "TotalInvoiceAmount" "AccountDate"]) @@ -46,6 +67,29 @@ io/reader csv/read-csv)) +(defn code-individual-items [invoice csv-rows tax] + (let [items (->> csv-rows + butlast + (reduce + (fn [acc row] + (update acc (get-line-account (nth row item-name-index)) + (fnil + 0.0) + (Double/parseDouble (nth row item-price-index)) + ) + ) + {}) + ) + items-with-tax (update items (get-line-account "TAX") + (fnil + 0.0) + tax)] + + (assoc invoice :invoice/expense-accounts + (for [[account amount] items-with-tax] + #:invoice-expense-account {:db/id (random-tempid) + :account account + :location (:invoice/location invoice) + :amount amount})))) + (defn extract-invoice-details [csv-rows sysco-vendor] (let [[header-row & csv-rows] csv-rows header-row (into {} (map vector header-keys header-row)) @@ -64,14 +108,17 @@ (header-row "AddressLine2") (header-row "City1") (header-row "City2")]) - + account-number (some-> account-number Long/parseLong str) matching-client (and account-number - (d-clients/exact-match account-number)) + (d-clients/exact-match account-number)) + _ (when-not matching-client (throw (ex-info "cannot find matching client" {:account-number account-number :name customer-identifier}))) + code-items (get (into #{} (pull-attr (dc/db conn) :client/feature-flags (:db/id matching-client))) + "code-sysco-items") total (Double/parseDouble (summary-row "TotalExtendedPrice")) tax (Double/parseDouble (summary-row "TotalTaxAmount")) date (t/parse @@ -98,7 +145,8 @@ :import-status :import-status/completed :status :invoice-status/unpaid :client-identifier customer-identifier} - true (code-invoice)))) + true (code-invoice) + code-items (code-individual-items csv-rows tax)))) (defn mark-key [k] (s3/copy-object {:source-bucket-name bucket-name @@ -117,6 +165,36 @@ (s3/delete-object {:bucket-name bucket-name :key k})) +(defn get-test-invoice-file + ([] (get-test-invoice-file 999)) + ( [i] + (nth (->> (s3/list-objects-v2 {:bucket-name "data.prod.app.integreatconsult.com" + :prefix "sysco/imported"}) + :object-summaries + (map :key) + ) + i))) + + + +(defn check-okay-amount? [i] + (dollars= + (:invoice/total i) + (reduce + 0.0 (map :invoice-expense-account/amount (:invoice/expense-accounts i))))) + +(comment + (with-bindings { #'bucket-name "data.prod.app.integreatconsult.com"} + (doall + (for [n (range 800 940 ) + :let [result (-> (get-test-invoice-file n) + read-sysco-csv + (extract-invoice-details (get-sysco-vendor)) + )] + :when (not (check-okay-amount? result))] + + result))) + + ) (defn import-sysco [] (let [sysco-vendor (get-sysco-vendor) diff --git a/src/clj/auto_ap/ssr/admin/clients.clj b/src/clj/auto_ap/ssr/admin/clients.clj index 98cbed86..ddc259c7 100644 --- a/src/clj/auto_ap/ssr/admin/clients.clj +++ b/src/clj/auto_ap/ssr/admin/clients.clj @@ -498,7 +498,8 @@ :options [["new-square" "New Square+Ezcater (no effect)"] ["manually-pay-cintas" "Manually Pay Cintas"] ["include-in-ntg-corp-reports" "Include in NTG Corporate reports"] - ["import-custom-amount" "Import Custom Amount Line Items from Square"]]}))) + ["import-custom-amount" "Import Custom Amount Line Items from Square"] + ["code-sysco-items" "Code individual sysco line items"]]}))) (com/data-grid-cell {:class "align-top"} (com/a-icon-button {"@click.prevent.stop" "$refs.p.remove()"} svg/x)))) diff --git a/sysco-poller/.~lock.SYSCO050_00162075_20220114120945127.csv# b/sysco-poller/.~lock.SYSCO050_00162075_20220114120945127.csv# new file mode 100644 index 00000000..17903de2 --- /dev/null +++ b/sysco-poller/.~lock.SYSCO050_00162075_20220114120945127.csv# @@ -0,0 +1 @@ +,noti,pop-os,02.05.2024 21:43,file:///home/noti/.config/libreoffice/4; \ No newline at end of file diff --git a/sysco-poller/.~lock.test.csv# b/sysco-poller/.~lock.test.csv# new file mode 100644 index 00000000..1bb0e698 --- /dev/null +++ b/sysco-poller/.~lock.test.csv# @@ -0,0 +1 @@ +,noti,pop-os,02.05.2024 22:23,file:///home/noti/.config/libreoffice/4; \ No newline at end of file From d1a06f24f27142152b5fa63c767c3702976e57d4 Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 2 May 2024 23:14:05 -0700 Subject: [PATCH 49/59] reverts behavior if the totals don't match. --- src/clj/auto_ap/jobs/sysco.clj | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/clj/auto_ap/jobs/sysco.clj b/src/clj/auto_ap/jobs/sysco.clj index bdce0c7a..82d1e101 100644 --- a/src/clj/auto_ap/jobs/sysco.clj +++ b/src/clj/auto_ap/jobs/sysco.clj @@ -67,6 +67,11 @@ io/reader csv/read-csv)) +(defn check-okay-amount? [i] + (dollars= + (:invoice/total i) + (reduce + 0.0 (map :invoice-expense-account/amount (:invoice/expense-accounts i))))) + (defn code-individual-items [invoice csv-rows tax] (let [items (->> csv-rows butlast @@ -81,14 +86,18 @@ ) items-with-tax (update items (get-line-account "TAX") (fnil + 0.0) - tax)] - - (assoc invoice :invoice/expense-accounts + tax) + updated-invoice (assoc invoice :invoice/expense-accounts (for [[account amount] items-with-tax] #:invoice-expense-account {:db/id (random-tempid) :account account :location (:invoice/location invoice) - :amount amount})))) + :amount amount}))] + (if (check-okay-amount? updated-invoice) + updated-invoice + (do (alog/warn ::itemized-expenses-not-adding-up + :invoice updated-invoice) + invoice)))) (defn extract-invoice-details [csv-rows sysco-vendor] (let [[header-row & csv-rows] csv-rows @@ -177,20 +186,17 @@ -(defn check-okay-amount? [i] - (dollars= - (:invoice/total i) - (reduce + 0.0 (map :invoice-expense-account/amount (:invoice/expense-accounts i))))) + (comment (with-bindings { #'bucket-name "data.prod.app.integreatconsult.com"} (doall - (for [n (range 800 940 ) + (for [n (range 930 940 ) :let [result (-> (get-test-invoice-file n) read-sysco-csv (extract-invoice-details (get-sysco-vendor)) )] - :when (not (check-okay-amount? result))] + #_#_:when (not (check-okay-amount? result))] result))) From f1cb203abc0e8d94fbb70195d3e8696fba99aa62 Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 3 May 2024 11:08:41 -0700 Subject: [PATCH 50/59] solr updates --- start-solr.sh | 4 +- terraform/deploy.tf | 20 + terraform/prod-solr-taskdef.json | 2 +- terraform/staging-solr-taskdef.json | 2 +- terraform/staging.tfvars | 3 +- .../staging/terraform.tfstate | 1977 +--------------- .../staging/terraform.tfstate.backup | 2034 ++--------------- 7 files changed, 260 insertions(+), 3782 deletions(-) diff --git a/start-solr.sh b/start-solr.sh index d79437ee..18633b74 100755 --- a/start-solr.sh +++ b/start-solr.sh @@ -1,5 +1,5 @@ #!/bin/bash -#sudo docker run --rm -ti -v ~/dev/integreat/data/solr:/var/solr --network=bridge -p 8983:8983 solr -sudo podman container run --user 1000 --privileged --volume /home/notid/dev/integreat/data/solr:/var/solr -p 8983:8983 docker.io/solr +sudo docker run --rm -ti -v ~/dev/integreat/data/solr:/var/solr --network=bridge -p 8983:8983 bryce-solr +#sudo podman container run --user 1000 --privileged --volume /home/notid/dev/integreat/data/solr:/var/solr -p 8983:8983 bryce-solr diff --git a/terraform/deploy.tf b/terraform/deploy.tf index 7a306edd..7d2ee51b 100644 --- a/terraform/deploy.tf +++ b/terraform/deploy.tf @@ -4,6 +4,10 @@ variable "ecs_cluster" {} variable "local_namespace" {} variable "desired_count" {} variable "background_desired_count" {} +variable "enable_schedules" { + type = bool + default = null + } variable "http_listener_sg" { default = "sg-0024906e0e1f78048" @@ -264,6 +268,7 @@ resource "aws_service_discovery_service" "service" { } module "square_import_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -276,6 +281,7 @@ module "square_import_job" { } module "reconcile_ledger_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -288,6 +294,7 @@ module "reconcile_ledger_job" { } module "current_balance_cache" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -300,6 +307,7 @@ module "current_balance_cache" { } module "yodlee2_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -312,6 +320,7 @@ module "yodlee2_job" { } module "intuit_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -324,6 +333,7 @@ module "intuit_job" { } module "plaid_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -336,6 +346,7 @@ module "plaid_job" { } module "vendor_usages_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -350,6 +361,7 @@ module "vendor_usages_job" { module "import_uploaded_invoices_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -362,6 +374,7 @@ module "import_uploaded_invoices_job" { } module "sysco_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -374,6 +387,7 @@ module "sysco_job" { } module "close_auto_invoices_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -386,6 +400,7 @@ module "close_auto_invoices_job" { } module "yodlee2_accounts_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -399,6 +414,7 @@ module "yodlee2_accounts_job" { module "bulk_journal_import_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -411,6 +427,7 @@ module "bulk_journal_import_job" { } module "register_invoice_import_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -423,6 +440,7 @@ module "register_invoice_import_job" { } module "load_historical_sales_job" { + count = var.enable_schedules ? 1 : 0 source = "./background-job/" ecs_cluster = var.ecs_cluster task_role_arn = var.task_role_arn @@ -435,6 +453,7 @@ module "load_historical_sales_job" { } module "ntg_job" { + count = var.enable_schedules ? 1 : 0 schedule = "rate(6 hours)" source = "./background-job/" ecs_cluster = var.ecs_cluster @@ -448,6 +467,7 @@ module "ntg_job" { } module "insight_outcome_recommendation_job" { + count = var.enable_schedules ? 1 : 0 schedule = "rate(6 hours)" source = "./background-job/" ecs_cluster = var.ecs_cluster diff --git a/terraform/prod-solr-taskdef.json b/terraform/prod-solr-taskdef.json index 9ef140f9..14714ce8 100644 --- a/terraform/prod-solr-taskdef.json +++ b/terraform/prod-solr-taskdef.json @@ -11,7 +11,7 @@ } ], "essential": true, - "image": "solr", + "image": "679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-solr", "logConfiguration": { "logDriver": "awslogs", diff --git a/terraform/staging-solr-taskdef.json b/terraform/staging-solr-taskdef.json index ae8a891d..87a8215e 100644 --- a/terraform/staging-solr-taskdef.json +++ b/terraform/staging-solr-taskdef.json @@ -11,7 +11,7 @@ } ], "essential": true, - "image": "solr", + "image": "679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-solr", "logConfiguration": { "logDriver": "awslogs", diff --git a/terraform/staging.tfvars b/terraform/staging.tfvars index 8c32ec7c..662eda3a 100644 --- a/terraform/staging.tfvars +++ b/terraform/staging.tfvars @@ -9,5 +9,6 @@ execution_role_arn="arn:aws:iam::679918342773:role/ecsTaskExecutionRole" ecs_cluster="arn:aws:ecs:us-east-1:679918342773:cluster/default" # service_registry="arn:aws:servicediscovery:us-east-1:679918342773:service/srv-6auj2wqsh55k2nuj" local_namespace="ns-gv2z744em7myo2jp" -desired_count=0 +desired_count=1 background_desired_count=0 +enable_schedules=false diff --git a/terraform/terraform.tfstate.d/staging/terraform.tfstate b/terraform/terraform.tfstate.d/staging/terraform.tfstate index 70b2bc4a..0800406d 100644 --- a/terraform/terraform.tfstate.d/staging/terraform.tfstate +++ b/terraform/terraform.tfstate.d/staging/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.7.5", - "serial": 216, + "serial": 241, "lineage": "91d10fe0-8033-8778-c202-78d5a81632e8", "outputs": { "aws_access_key_id": { @@ -167,8 +167,8 @@ "early_renewal_duration": "", "id": "arn:aws:acm:us-east-1:679918342773:certificate/2444dddf-c3f5-4638-8f63-98edc35f36d0", "key_algorithm": "RSA_2048", - "not_after": "", - "not_before": "", + "not_after": "2025-04-21T23:59:59Z", + "not_before": "2024-03-22T00:00:00Z", "options": [ { "certificate_transparency_logging_preference": "ENABLED" @@ -176,9 +176,9 @@ ], "pending_renewal": false, "private_key": null, - "renewal_eligibility": "INELIGIBLE", + "renewal_eligibility": "ELIGIBLE", "renewal_summary": [], - "status": "PENDING_VALIDATION", + "status": "ISSUED", "subject_alternative_names": [ "data.staging.app.integreatconsult.com" ], @@ -225,7 +225,7 @@ ], "deployment_maximum_percent": 200, "deployment_minimum_healthy_percent": 100, - "desired_count": 0, + "desired_count": 1, "enable_ecs_managed_tags": false, "enable_execute_command": false, "force_new_deployment": null, @@ -275,7 +275,7 @@ ], "tags": {}, "tags_all": {}, - "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_staging:162", + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_staging:216", "timeouts": { "create": null, "delete": null, @@ -363,7 +363,7 @@ "registry_arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-s7tr2j6rcazkgsxp" } ], - "tags": null, + "tags": {}, "tags_all": {}, "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging:2", "timeouts": { @@ -433,9 +433,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-staging\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-staging\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -451,10 +451,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [ @@ -466,7 +466,7 @@ "file_system_id": "fs-0486d889f5a7706e8", "root_directory": "/", "transit_encryption": "", - "transit_encryption_port": null + "transit_encryption_port": 0 } ], "fsx_windows_file_server_volume_configuration": [], @@ -507,9 +507,9 @@ "provisioned_throughput_in_mibps": 0, "size_in_bytes": [ { - "value": 6144, + "value": 729235456, "value_in_ia": 0, - "value_in_standard": 6144 + "value_in_standard": 729235456 } ], "tags": { @@ -936,34 +936,61 @@ "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { - "status": "tainted", "schema_version": 0, "attributes": { - "acceleration_status": null, + "acceleration_status": "", "acl": "private", - "arn": null, + "arn": "arn:aws:s3:::data.staging.app.integreatconsult.com", "bucket": "data.staging.app.integreatconsult.com", - "bucket_domain_name": null, - "bucket_prefix": null, - "bucket_regional_domain_name": null, - "cors_rule": null, + "bucket_domain_name": "data.staging.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": "", + "bucket_regional_domain_name": "data.staging.app.integreatconsult.com.s3.amazonaws.com", + "cors_rule": [], "force_destroy": false, - "grant": [], - "hosted_zone_id": null, + "grant": [ + { + "id": "e30528e0ba05fd1f250869c1b4db0eff90001b4d9ad90dd2e01b210844f83e5a", + "permissions": [ + "FULL_CONTROL" + ], + "type": "CanonicalUser", + "uri": "" + } + ], + "hosted_zone_id": "Z3AQBSTGFYJSTF", "id": "data.staging.app.integreatconsult.com", - "lifecycle_rule": null, - "logging": null, - "object_lock_configuration": null, - "object_lock_enabled": null, + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "object_lock_enabled": false, "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::data.staging.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"},{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:s3:::data.staging.app.integreatconsult.com\",\"Sid\":\"AllowReadForProd\"},{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/http-proxy\"},\"Resource\":\"arn:aws:s3:::data.staging.app.integreatconsult.com\",\"Sid\":\"AllowReadForProdProxy\"}],\"Version\":\"2012-10-17\"}", - "region": null, - "replication_configuration": null, - "request_payer": null, - "server_side_encryption_configuration": null, - "tags": null, - "tags_all": null, + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, "timeouts": null, - "versioning": null, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], "website": [ { "error_document": "", @@ -1061,16 +1088,15 @@ "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { - "status": "tainted", "schema_version": 0, "attributes": { - "acceleration_status": null, + "acceleration_status": "", "acl": null, - "arn": null, + "arn": "arn:aws:s3:::staging3.app.integreatconsult.com", "bucket": "staging3.app.integreatconsult.com", - "bucket_domain_name": null, - "bucket_prefix": null, - "bucket_regional_domain_name": null, + "bucket_domain_name": "staging3.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": "", + "bucket_regional_domain_name": "staging3.app.integreatconsult.com.s3.amazonaws.com", "cors_rule": [ { "allowed_headers": [ @@ -1090,20 +1116,43 @@ } ], "force_destroy": false, - "grant": [], - "hosted_zone_id": null, + "grant": [ + { + "id": "e30528e0ba05fd1f250869c1b4db0eff90001b4d9ad90dd2e01b210844f83e5a", + "permissions": [ + "FULL_CONTROL" + ], + "type": "CanonicalUser", + "uri": "" + } + ], + "hosted_zone_id": "Z3AQBSTGFYJSTF", "id": "staging3.app.integreatconsult.com", - "lifecycle_rule": null, - "logging": null, - "object_lock_configuration": null, - "object_lock_enabled": null, + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "object_lock_enabled": false, "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::staging3.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"}],\"Version\":\"2012-10-17\"}", - "region": null, - "replication_configuration": null, + "region": "us-east-1", + "replication_configuration": [], "request_payer": "BucketOwner", - "server_side_encryption_configuration": null, - "tags": null, - "tags_all": null, + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, "timeouts": null, "versioning": [ { @@ -1119,8 +1168,8 @@ "routing_rules": "" } ], - "website_domain": null, - "website_endpoint": null + "website_domain": "s3-website-us-east-1.amazonaws.com", + "website_endpoint": "staging3.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com" }, "sensitive_attributes": [], "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjM2MDAwMDAwMDAwMDAsInJlYWQiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19" @@ -1517,1826 +1566,6 @@ "private": "bnVsbA==" } ] - }, - { - "module": "module.bulk_journal_import_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"bulk-journal-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"bulk-journal-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"bulk-journal-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "bulk_journal_import_staging", - "id": "bulk_journal_import_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.close_auto_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/close-auto-invoices-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "close-auto-invoices-schedule", - "is_enabled": true, - "name": "close-auto-invoices-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(1 hour)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.close_auto_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "close-auto-invoices-schedule-close-auto-invoices", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "close-auto-invoices-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "close-auto-invoices" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.close_auto_invoices_job.aws_cloudwatch_event_rule.schedule", - "module.close_auto_invoices_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.close_auto_invoices_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"close-auto-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"close-auto-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"close-auto-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "close_auto_invoices_staging", - "id": "close_auto_invoices_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.current_balance_cache", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/current-balance-cache-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "current-balance-cache-schedule", - "is_enabled": true, - "name": "current-balance-cache-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(60 minutes)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.current_balance_cache", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "current-balance-cache-schedule-current-balance-cache", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "current-balance-cache-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "current-balance-cache" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.current_balance_cache.aws_cloudwatch_event_rule.schedule", - "module.current_balance_cache.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.current_balance_cache", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"current-balance-cache\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"current-balance-cache\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"current-balance-cache\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "current_balance_cache_staging", - "id": "current_balance_cache_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.import_uploaded_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/import-uploaded-invoices-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "import-uploaded-invoices-schedule", - "is_enabled": true, - "name": "import-uploaded-invoices-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(1 hour)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.import_uploaded_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "import-uploaded-invoices-schedule-import-uploaded-invoices", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "import-uploaded-invoices-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "import-uploaded-invoices" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.import_uploaded_invoices_job.aws_cloudwatch_event_rule.schedule", - "module.import_uploaded_invoices_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.import_uploaded_invoices_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"import-uploaded-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "import_uploaded_invoices_staging", - "id": "import_uploaded_invoices_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.insight_outcome_recommendation_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/insight-outcome-recommendation-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "insight-outcome-recommendation-schedule", - "is_enabled": true, - "name": "insight-outcome-recommendation-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.insight_outcome_recommendation_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "insight-outcome-recommendation-schedule-insight-outcome-recommendation", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "insight-outcome-recommendation-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "insight-outcome-recommendation" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.insight_outcome_recommendation_job.aws_cloudwatch_event_rule.schedule", - "module.insight_outcome_recommendation_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.insight_outcome_recommendation_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"insight-outcome-recommendation\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "2048", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "insight_outcome_recommendation_staging", - "id": "insight_outcome_recommendation_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.intuit_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/intuit-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "intuit-schedule", - "is_enabled": true, - "name": "intuit-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.intuit_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "intuit-schedule-intuit", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "intuit-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "intuit" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.intuit_job.aws_cloudwatch_event_rule.schedule", - "module.intuit_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.intuit_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"intuit\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"intuit\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"intuit\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "intuit_staging", - "id": "intuit_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.load_historical_sales_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"load-historical-sales\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"load-historical-sales\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"load-historical-sales\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "load_historical_sales_staging", - "id": "load_historical_sales_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.ntg_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/ntg-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "ntg-schedule", - "is_enabled": true, - "name": "ntg-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.ntg_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "ntg-schedule-ntg", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "ntg-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "ntg" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.ntg_job.aws_cloudwatch_event_rule.schedule", - "module.ntg_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.ntg_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"ntg\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"ntg\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"ntg\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "ntg_staging", - "id": "ntg_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.plaid_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/plaid-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "plaid-schedule", - "is_enabled": true, - "name": "plaid-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.plaid_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "plaid-schedule-plaid", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "plaid-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "plaid" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.plaid_job.aws_cloudwatch_event_rule.schedule", - "module.plaid_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.plaid_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"plaid\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"plaid\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"plaid\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "plaid_staging", - "id": "plaid_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.reconcile_ledger_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/reconcile-ledger-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "reconcile-ledger-schedule", - "is_enabled": true, - "name": "reconcile-ledger-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(1 hour)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.reconcile_ledger_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "reconcile-ledger-schedule-reconcile-ledger", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "reconcile-ledger-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "reconcile-ledger" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.reconcile_ledger_job.aws_cloudwatch_event_rule.schedule", - "module.reconcile_ledger_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.reconcile_ledger_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"reconcile-ledger\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"reconcile-ledger\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"reconcile-ledger\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "2048", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "reconcile_ledger_staging", - "id": "reconcile_ledger_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "8192", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.register_invoice_import_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"register-invoice-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"register-invoice-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"register-invoice-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "2048", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "register_invoice_import_staging", - "id": "register_invoice_import_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "8192", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.square_import_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/square-import-job-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "square-import-job-schedule", - "is_enabled": true, - "name": "square-import-job-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(4 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.square_import_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "square-import-job-schedule-square-import-job", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "square-import-job-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "square-import-job" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.square_import_job.aws_cloudwatch_event_rule.schedule", - "module.square_import_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.square_import_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"square-import-job\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"square-import-job\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"square-import-job\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "square_import_job_staging", - "id": "square_import_job_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.sysco_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/sysco-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "sysco-schedule", - "is_enabled": true, - "name": "sysco-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(3 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.sysco_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "sysco-schedule-sysco", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "sysco-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "sysco" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.sysco_job.aws_cloudwatch_event_rule.schedule", - "module.sysco_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.sysco_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"sysco\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"sysco\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"sysco\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "sysco_staging", - "id": "sysco_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.vendor_usages_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/vendor-usages-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "vendor-usages-schedule", - "is_enabled": true, - "name": "vendor-usages-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(4 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.vendor_usages_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "vendor-usages-schedule-vendor-usages", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "vendor-usages-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "vendor-usages" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.vendor_usages_job.aws_cloudwatch_event_rule.schedule", - "module.vendor_usages_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.vendor_usages_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"vendor-usages\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"vendor-usages\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"vendor-usages\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "vendor_usages_staging", - "id": "vendor_usages_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.yodlee2_accounts_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"yodlee2-accounts\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2-accounts\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2-accounts\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "yodlee2_accounts_staging", - "id": "yodlee2_accounts_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.yodlee2_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/yodlee2-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "yodlee2-schedule", - "is_enabled": true, - "name": "yodlee2-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": {}, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.yodlee2_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "yodlee2-schedule-yodlee2", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "yodlee2-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "yodlee2" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.yodlee2_job.aws_cloudwatch_event_rule.schedule", - "module.yodlee2_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.yodlee2_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "yodlee2_staging", - "id": "yodlee2_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": {}, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] } ], "check_results": null diff --git a/terraform/terraform.tfstate.d/staging/terraform.tfstate.backup b/terraform/terraform.tfstate.d/staging/terraform.tfstate.backup index 9a1f001e..213baea9 100644 --- a/terraform/terraform.tfstate.d/staging/terraform.tfstate.backup +++ b/terraform/terraform.tfstate.d/staging/terraform.tfstate.backup @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.7.5", - "serial": 208, + "serial": 239, "lineage": "91d10fe0-8033-8778-c202-78d5a81632e8", "outputs": { "aws_access_key_id": { @@ -115,8 +115,8 @@ "early_renewal_duration": "", "id": "arn:aws:acm:us-east-1:679918342773:certificate/ca150186-1e27-4321-b23f-d934211de8b8", "key_algorithm": "RSA_2048", - "not_after": "", - "not_before": "", + "not_after": "2025-04-20T23:59:59Z", + "not_before": "2024-03-21T00:00:00Z", "options": [ { "certificate_transparency_logging_preference": "ENABLED" @@ -124,13 +124,13 @@ ], "pending_renewal": false, "private_key": null, - "renewal_eligibility": "INELIGIBLE", + "renewal_eligibility": "ELIGIBLE", "renewal_summary": [], - "status": "PENDING_VALIDATION", + "status": "ISSUED", "subject_alternative_names": [ "staging3.app.integreatconsult.com" ], - "tags": null, + "tags": {}, "tags_all": {}, "type": "AMAZON_ISSUED", "validation_emails": [], @@ -167,8 +167,8 @@ "early_renewal_duration": "", "id": "arn:aws:acm:us-east-1:679918342773:certificate/2444dddf-c3f5-4638-8f63-98edc35f36d0", "key_algorithm": "RSA_2048", - "not_after": "", - "not_before": "", + "not_after": "2025-04-21T23:59:59Z", + "not_before": "2024-03-22T00:00:00Z", "options": [ { "certificate_transparency_logging_preference": "ENABLED" @@ -176,13 +176,13 @@ ], "pending_renewal": false, "private_key": null, - "renewal_eligibility": "INELIGIBLE", + "renewal_eligibility": "ELIGIBLE", "renewal_summary": [], - "status": "PENDING_VALIDATION", + "status": "ISSUED", "subject_alternative_names": [ "data.staging.app.integreatconsult.com" ], - "tags": null, + "tags": {}, "tags_all": {}, "type": "AMAZON_ISSUED", "validation_emails": [], @@ -225,7 +225,7 @@ ], "deployment_maximum_percent": 200, "deployment_minimum_healthy_percent": 100, - "desired_count": 0, + "desired_count": 1, "enable_ecs_managed_tags": false, "enable_execute_command": false, "force_new_deployment": null, @@ -273,9 +273,9 @@ "registry_arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-nsn252bfk4r6bzpj" } ], - "tags": null, + "tags": {}, "tags_all": {}, - "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_staging:162", + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_staging:216", "timeouts": { "create": null, "delete": null, @@ -301,7 +301,6 @@ "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { - "status": "tainted", "schema_version": 0, "attributes": { "alarms": [], @@ -330,10 +329,10 @@ "enable_ecs_managed_tags": false, "enable_execute_command": false, "force_new_deployment": null, - "health_check_grace_period_seconds": null, - "iam_role": null, + "health_check_grace_period_seconds": 0, + "iam_role": "/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", "id": "arn:aws:ecs:us-east-1:679918342773:service/default/solr_app_staging", - "launch_type": null, + "launch_type": "", "load_balancer": [], "name": "solr_app_staging", "network_configuration": [ @@ -353,7 +352,7 @@ "ordered_placement_strategy": [], "placement_constraints": [], "platform_version": "LATEST", - "propagate_tags": null, + "propagate_tags": "NONE", "scheduling_strategy": "REPLICA", "service_connect_configuration": [], "service_registries": [ @@ -364,15 +363,15 @@ "registry_arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-s7tr2j6rcazkgsxp" } ], - "tags": null, - "tags_all": null, - "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging:1", + "tags": {}, + "tags_all": {}, + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging:2", "timeouts": { "create": null, "delete": null, "update": null }, - "triggers": null, + "triggers": {}, "wait_for_steady_state": true }, "sensitive_attributes": [], @@ -415,7 +414,7 @@ "revision": 162, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -434,9 +433,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging:1", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-staging\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -452,7 +451,7 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 1, + "revision": 3, "runtime_platform": [], "skip_destroy": false, "tags": null, @@ -502,15 +501,15 @@ "id": "fs-0486d889f5a7706e8", "kms_key_id": "", "lifecycle_policy": [], - "number_of_mount_targets": 0, + "number_of_mount_targets": 6, "owner_id": "679918342773", "performance_mode": "generalPurpose", "provisioned_throughput_in_mibps": 0, "size_in_bytes": [ { - "value": 6144, + "value": 729235456, "value_in_ia": 0, - "value_in_standard": 6144 + "value_in_standard": 729235456 } ], "tags": { @@ -569,7 +568,7 @@ "name": "integreat-staging", "path": "/", "permissions_boundary": null, - "tags": null, + "tags": {}, "tags_all": {}, "unique_id": "AIDAZ4TSKSJ2SDDJ5OMWV" }, @@ -690,7 +689,7 @@ "subnet-8519fde2", "subnet-89bab8d4" ], - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null, "vpc_id": "vpc-b5b7d6ce", @@ -740,7 +739,7 @@ "port": 80, "protocol": "HTTP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": { "read": null @@ -783,7 +782,7 @@ "port": 443, "protocol": "HTTPS", "ssl_policy": "ELBSecurityPolicy-2016-08", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": { "read": null @@ -853,7 +852,7 @@ "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener-rule/app/integreat-app-staging/d65758eb97c8e4e5/5d2f6b277d3d8af8/4cefe09d0fb96f84", "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-staging/d65758eb97c8e4e5/5d2f6b277d3d8af8", "priority": 1, - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -914,7 +913,7 @@ "type": "lb_cookie" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -937,34 +936,61 @@ "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { - "status": "tainted", "schema_version": 0, "attributes": { - "acceleration_status": null, + "acceleration_status": "", "acl": "private", - "arn": null, + "arn": "arn:aws:s3:::data.staging.app.integreatconsult.com", "bucket": "data.staging.app.integreatconsult.com", - "bucket_domain_name": null, - "bucket_prefix": null, - "bucket_regional_domain_name": null, - "cors_rule": null, + "bucket_domain_name": "data.staging.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": "", + "bucket_regional_domain_name": "data.staging.app.integreatconsult.com.s3.amazonaws.com", + "cors_rule": [], "force_destroy": false, - "grant": [], - "hosted_zone_id": null, + "grant": [ + { + "id": "e30528e0ba05fd1f250869c1b4db0eff90001b4d9ad90dd2e01b210844f83e5a", + "permissions": [ + "FULL_CONTROL" + ], + "type": "CanonicalUser", + "uri": "" + } + ], + "hosted_zone_id": "Z3AQBSTGFYJSTF", "id": "data.staging.app.integreatconsult.com", - "lifecycle_rule": null, - "logging": null, - "object_lock_configuration": null, - "object_lock_enabled": null, + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "object_lock_enabled": false, "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::data.staging.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"},{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:s3:::data.staging.app.integreatconsult.com\",\"Sid\":\"AllowReadForProd\"},{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/http-proxy\"},\"Resource\":\"arn:aws:s3:::data.staging.app.integreatconsult.com\",\"Sid\":\"AllowReadForProdProxy\"}],\"Version\":\"2012-10-17\"}", - "region": null, - "replication_configuration": null, - "request_payer": null, - "server_side_encryption_configuration": null, - "tags": null, - "tags_all": null, + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, "timeouts": null, - "versioning": null, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], "website": [ { "error_document": "", @@ -1034,7 +1060,7 @@ ] } ], - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null, "versioning": [ @@ -1062,16 +1088,15 @@ "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { - "status": "tainted", "schema_version": 0, "attributes": { - "acceleration_status": null, + "acceleration_status": "", "acl": null, - "arn": null, + "arn": "arn:aws:s3:::staging3.app.integreatconsult.com", "bucket": "staging3.app.integreatconsult.com", - "bucket_domain_name": null, - "bucket_prefix": null, - "bucket_regional_domain_name": null, + "bucket_domain_name": "staging3.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": "", + "bucket_regional_domain_name": "staging3.app.integreatconsult.com.s3.amazonaws.com", "cors_rule": [ { "allowed_headers": [ @@ -1091,20 +1116,43 @@ } ], "force_destroy": false, - "grant": [], - "hosted_zone_id": null, + "grant": [ + { + "id": "e30528e0ba05fd1f250869c1b4db0eff90001b4d9ad90dd2e01b210844f83e5a", + "permissions": [ + "FULL_CONTROL" + ], + "type": "CanonicalUser", + "uri": "" + } + ], + "hosted_zone_id": "Z3AQBSTGFYJSTF", "id": "staging3.app.integreatconsult.com", - "lifecycle_rule": null, - "logging": null, - "object_lock_configuration": null, - "object_lock_enabled": null, + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "object_lock_enabled": false, "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::staging3.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"}],\"Version\":\"2012-10-17\"}", - "region": null, - "replication_configuration": null, + "region": "us-east-1", + "replication_configuration": [], "request_payer": "BucketOwner", - "server_side_encryption_configuration": null, - "tags": null, - "tags_all": null, + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, "timeouts": null, "versioning": [ { @@ -1120,8 +1168,8 @@ "routing_rules": "" } ], - "website_domain": null, - "website_endpoint": null + "website_domain": "s3-website-us-east-1.amazonaws.com", + "website_endpoint": "staging3.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com" }, "sensitive_attributes": [], "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjM2MDAwMDAwMDAwMDAsInJlYWQiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19" @@ -1162,7 +1210,7 @@ "logging": [], "object_lock_configuration": [], "object_lock_enabled": false, - "policy": "", + "policy": "{\"Statement\":[{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::679918342773:role/datomic-ddb\",\"arn:aws:iam::679918342773:role/http-proxy\"]},\"Resource\":[\"arn:aws:s3:::toast.staging.app.integreatconsult.com/*\",\"arn:aws:s3:::toast.staging.app.integreatconsult.com\"],\"Sid\":\"\"}],\"Version\":\"2012-10-17\"}", "region": "us-east-1", "replication_configuration": [], "request_payer": "BucketOwner", @@ -1181,7 +1229,7 @@ ] } ], - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null, "versioning": [ @@ -1290,7 +1338,7 @@ "id": "srv-nsn252bfk4r6bzpj", "name": "integreat-app-staging", "namespace_id": "ns-gv2z744em7myo2jp", - "tags": null, + "tags": {}, "tags_all": {}, "type": "DNS_HTTP" }, @@ -1332,7 +1380,7 @@ "id": "srv-s7tr2j6rcazkgsxp", "name": "solr-staging", "namespace_id": "ns-gv2z744em7myo2jp", - "tags": null, + "tags": {}, "tags_all": {}, "type": "DNS_HTTP" }, @@ -1431,7 +1479,7 @@ "redrive_allow_policy": "", "redrive_policy": "", "sqs_managed_sse_enabled": true, - "tags": null, + "tags": {}, "tags_all": {}, "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-staging", "visibility_timeout_seconds": 30 @@ -1468,7 +1516,7 @@ "redrive_allow_policy": "", "redrive_policy": "", "sqs_managed_sse_enabled": true, - "tags": null, + "tags": {}, "tags_all": {}, "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-staging", "visibility_timeout_seconds": 30 @@ -1509,7 +1557,7 @@ "redrive_allow_policy": "", "redrive_policy": "", "sqs_managed_sse_enabled": true, - "tags": null, + "tags": {}, "tags_all": {}, "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-staging", "visibility_timeout_seconds": 30 @@ -1518,1826 +1566,6 @@ "private": "bnVsbA==" } ] - }, - { - "module": "module.bulk_journal_import_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"bulk-journal-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"bulk-journal-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"bulk-journal-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "bulk_journal_import_staging", - "id": "bulk_journal_import_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.close_auto_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/close-auto-invoices-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "close-auto-invoices-schedule", - "is_enabled": true, - "name": "close-auto-invoices-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(1 hour)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.close_auto_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "close-auto-invoices-schedule-close-auto-invoices", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "close-auto-invoices-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "close-auto-invoices" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.close_auto_invoices_job.aws_cloudwatch_event_rule.schedule", - "module.close_auto_invoices_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.close_auto_invoices_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"close-auto-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"close-auto-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"close-auto-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "close_auto_invoices_staging", - "id": "close_auto_invoices_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.current_balance_cache", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/current-balance-cache-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "current-balance-cache-schedule", - "is_enabled": true, - "name": "current-balance-cache-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(60 minutes)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.current_balance_cache", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "current-balance-cache-schedule-current-balance-cache", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "current-balance-cache-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "current-balance-cache" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.current_balance_cache.aws_cloudwatch_event_rule.schedule", - "module.current_balance_cache.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.current_balance_cache", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"current-balance-cache\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"current-balance-cache\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"current-balance-cache\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "current_balance_cache_staging", - "id": "current_balance_cache_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.import_uploaded_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/import-uploaded-invoices-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "import-uploaded-invoices-schedule", - "is_enabled": true, - "name": "import-uploaded-invoices-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(1 hour)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.import_uploaded_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "import-uploaded-invoices-schedule-import-uploaded-invoices", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "import-uploaded-invoices-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "import-uploaded-invoices" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.import_uploaded_invoices_job.aws_cloudwatch_event_rule.schedule", - "module.import_uploaded_invoices_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.import_uploaded_invoices_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"import-uploaded-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "import_uploaded_invoices_staging", - "id": "import_uploaded_invoices_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.insight_outcome_recommendation_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/insight-outcome-recommendation-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "insight-outcome-recommendation-schedule", - "is_enabled": true, - "name": "insight-outcome-recommendation-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.insight_outcome_recommendation_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "insight-outcome-recommendation-schedule-insight-outcome-recommendation", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "insight-outcome-recommendation-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "insight-outcome-recommendation" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.insight_outcome_recommendation_job.aws_cloudwatch_event_rule.schedule", - "module.insight_outcome_recommendation_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.insight_outcome_recommendation_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"insight-outcome-recommendation\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "2048", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "insight_outcome_recommendation_staging", - "id": "insight_outcome_recommendation_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.intuit_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/intuit-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "intuit-schedule", - "is_enabled": true, - "name": "intuit-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.intuit_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "intuit-schedule-intuit", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "intuit-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "intuit" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.intuit_job.aws_cloudwatch_event_rule.schedule", - "module.intuit_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.intuit_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"intuit\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"intuit\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"intuit\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "intuit_staging", - "id": "intuit_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.load_historical_sales_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"load-historical-sales\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"load-historical-sales\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"load-historical-sales\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "load_historical_sales_staging", - "id": "load_historical_sales_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.ntg_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/ntg-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "ntg-schedule", - "is_enabled": true, - "name": "ntg-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.ntg_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "ntg-schedule-ntg", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "ntg-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "ntg" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.ntg_job.aws_cloudwatch_event_rule.schedule", - "module.ntg_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.ntg_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"ntg\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"ntg\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"ntg\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "ntg_staging", - "id": "ntg_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.plaid_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/plaid-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "plaid-schedule", - "is_enabled": true, - "name": "plaid-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.plaid_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "plaid-schedule-plaid", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "plaid-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "plaid" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.plaid_job.aws_cloudwatch_event_rule.schedule", - "module.plaid_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.plaid_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"plaid\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"plaid\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"plaid\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "plaid_staging", - "id": "plaid_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.reconcile_ledger_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/reconcile-ledger-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "reconcile-ledger-schedule", - "is_enabled": true, - "name": "reconcile-ledger-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(1 hour)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.reconcile_ledger_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "reconcile-ledger-schedule-reconcile-ledger", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "reconcile-ledger-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "reconcile-ledger" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.reconcile_ledger_job.aws_cloudwatch_event_rule.schedule", - "module.reconcile_ledger_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.reconcile_ledger_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"reconcile-ledger\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"reconcile-ledger\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"reconcile-ledger\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "2048", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "reconcile_ledger_staging", - "id": "reconcile_ledger_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "8192", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.register_invoice_import_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"register-invoice-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"register-invoice-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"register-invoice-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "2048", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "register_invoice_import_staging", - "id": "register_invoice_import_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "8192", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.square_import_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/square-import-job-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "square-import-job-schedule", - "is_enabled": true, - "name": "square-import-job-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(4 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.square_import_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "square-import-job-schedule-square-import-job", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "square-import-job-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "square-import-job" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.square_import_job.aws_cloudwatch_event_rule.schedule", - "module.square_import_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.square_import_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"square-import-job\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"square-import-job\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"square-import-job\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "square_import_job_staging", - "id": "square_import_job_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "4096", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.sysco_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/sysco-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "sysco-schedule", - "is_enabled": true, - "name": "sysco-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(3 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.sysco_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "sysco-schedule-sysco", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "sysco-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "sysco" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.sysco_job.aws_cloudwatch_event_rule.schedule", - "module.sysco_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.sysco_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"sysco\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"sysco\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"sysco\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "sysco_staging", - "id": "sysco_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.vendor_usages_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/vendor-usages-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "vendor-usages-schedule", - "is_enabled": true, - "name": "vendor-usages-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(4 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.vendor_usages_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "vendor-usages-schedule-vendor-usages", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "vendor-usages-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "vendor-usages" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.vendor_usages_job.aws_cloudwatch_event_rule.schedule", - "module.vendor_usages_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.vendor_usages_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"vendor-usages\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"vendor-usages\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"vendor-usages\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "vendor_usages_staging", - "id": "vendor_usages_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.yodlee2_accounts_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"yodlee2-accounts\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2-accounts\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2-accounts\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "512", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "yodlee2_accounts_staging", - "id": "yodlee2_accounts_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] - }, - { - "module": "module.yodlee2_job", - "mode": "managed", - "type": "aws_cloudwatch_event_rule", - "name": "schedule", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 0, - "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/yodlee2-schedule", - "description": "", - "event_bus_name": "default", - "event_pattern": null, - "id": "yodlee2-schedule", - "is_enabled": true, - "name": "yodlee2-schedule", - "name_prefix": "", - "role_arn": "", - "schedule_expression": "rate(6 hours)", - "tags": null, - "tags_all": {} - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "module": "module.yodlee2_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": null, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_staging:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "yodlee2-schedule-yodlee2", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "yodlee2-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "yodlee2" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.yodlee2_job.aws_cloudwatch_event_rule.schedule", - "module.yodlee2_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.yodlee2_job", - "mode": "managed", - "type": "aws_ecs_task_definition", - "name": "background_taskdef", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_staging:1", - "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_staging", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"staging\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"staging\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/staging-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:staging\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", - "ephemeral_storage": [], - "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", - "family": "yodlee2_staging", - "id": "yodlee2_staging", - "inference_accelerator": [], - "ipc_mode": "", - "memory": "2048", - "network_mode": "awsvpc", - "pid_mode": "", - "placement_constraints": [], - "proxy_configuration": [], - "requires_compatibilities": [ - "FARGATE" - ], - "revision": 1, - "runtime_platform": [], - "skip_destroy": false, - "tags": null, - "tags_all": {}, - "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", - "volume": [] - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" - } - ] } ], "check_results": null From 7d9fe595926fc7744de4fea368b6271e3dbf71c7 Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 3 May 2024 11:12:47 -0700 Subject: [PATCH 51/59] build error --- src/clj/auto_ap/jobs/sysco.clj | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/clj/auto_ap/jobs/sysco.clj b/src/clj/auto_ap/jobs/sysco.clj index 82d1e101..45cd5e3b 100644 --- a/src/clj/auto_ap/jobs/sysco.clj +++ b/src/clj/auto_ap/jobs/sysco.clj @@ -18,21 +18,26 @@ [datomic.api :as dc]) (:import (java.util UUID))) -(def sysco-name->line - (with-open [data (io/reader (io/resource "sysco_line_item_mapping.csv"))] - (let [data (csv/read-csv data)] - (->> data - (drop 1) - (map (fn [ [_ _ name _ account-number]] - [name (ffirst (dc/q '[:find ?a - :in $ ?an - :where [?a :account/numeric-code ?an]] - (dc/db conn) - (Long/parseLong account-number)))])) - (into {}))))) +(def sysco-name->line (atom nil)) +(defn get-sysco->line [] + (when (nil? @sysco-name->line) + (reset! @sysco-name->line + (with-open [data (io/reader (io/resource "sysco_line_item_mapping.csv"))] + (let [data (csv/read-csv data)] + (->> data + (drop 1) + (map (fn [[_ _ name _ account-number]] + [name (ffirst (dc/q '[:find ?a + :in $ ?an + :where [?a :account/numeric-code ?an]] + (dc/db conn) + (Long/parseLong account-number)))])) + (into {})))))) + @sysco-name->line) (defn get-line-account [item-name] - (get sysco-name->line item-name + (get (get-sysco->line) + item-name (ffirst (dc/q '[:find ?a :in $ ?an :where [?a :account/numeric-code ?an]] From f4fc82da05648908e4f4bdf9fc45ca343dd94fbc Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 4 May 2024 18:34:19 -0700 Subject: [PATCH 52/59] If search index cant be updated, don't throw exception --- .../ssr/invoice/new_invoice_wizard.clj | 8 +- terraform/prod.tfvars | 1 + .../prod/terraform.tfstate | 250 ++-- .../prod/terraform.tfstate.backup | 1104 +++-------------- 4 files changed, 312 insertions(+), 1051 deletions(-) diff --git a/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj b/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj index 065baf24..18b98e00 100644 --- a/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj +++ b/src/clj/auto_ap/ssr/invoice/new_invoice_wizard.clj @@ -742,7 +742,13 @@ (exception->4xx #(assert-not-locked client-id (:invoice/date invoice))) (let [transaction-result (audit-transact [transaction] (:identity request))] - (solr/touch-with-ledger (get-in transaction-result [:tempids "invoice"])) + (try + (solr/touch-with-ledger (get-in transaction-result [:tempids "invoice"])) + (catch Exception e + (alog/error ::cant-save-solr + :error e + )) + ) (if extant? (html-response diff --git a/terraform/prod.tfvars b/terraform/prod.tfvars index 6a039cf0..13a153fd 100644 --- a/terraform/prod.tfvars +++ b/terraform/prod.tfvars @@ -11,3 +11,4 @@ ecs_cluster="arn:aws:ecs:us-east-1:679918342773:cluster/default" local_namespace="ns-gv2z744em7myo2jp" desired_count=2 background_desired_count=1 +enable_schedules=true diff --git a/terraform/terraform.tfstate.d/prod/terraform.tfstate b/terraform/terraform.tfstate.d/prod/terraform.tfstate index af4e67c4..8d5f0b87 100644 --- a/terraform/terraform.tfstate.d/prod/terraform.tfstate +++ b/terraform/terraform.tfstate.d/prod/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.7.5", - "serial": 584, + "serial": 689, "lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51", "outputs": { "aws_access_key_id": { @@ -281,7 +281,7 @@ ], "tags": {}, "tags_all": {}, - "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:729", + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:782", "timeouts": { "create": null, "delete": null, @@ -439,9 +439,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:1", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:2", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -457,9 +457,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 1, + "revision": 2, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -513,9 +513,9 @@ "provisioned_throughput_in_mibps": 0, "size_in_bytes": [ { - "value": 814315520, + "value": 699342848, "value_in_ia": 0, - "value_in_standard": 814315520 + "value_in_standard": 699342848 } ], "tags": { @@ -1568,7 +1568,7 @@ ] }, { - "module": "module.bulk_journal_import_job", + "module": "module.bulk_journal_import_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1577,9 +1577,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"bulk-journal-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"bulk-journal-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"bulk-journal-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"bulk-journal-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"bulk-journal-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"bulk-journal-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -1595,9 +1595,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -1609,7 +1609,7 @@ ] }, { - "module": "module.close_auto_invoices_job", + "module": "module.close_auto_invoices_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -1638,7 +1638,7 @@ ] }, { - "module": "module.close_auto_invoices_job", + "module": "module.close_auto_invoices_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -1678,7 +1678,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:3" } ], "event_bus_name": "default", @@ -1706,7 +1706,7 @@ ] }, { - "module": "module.close_auto_invoices_job", + "module": "module.close_auto_invoices_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1715,9 +1715,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"close-auto-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"close-auto-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"close-auto-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"close-auto-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"close-auto-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"close-auto-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -1733,9 +1733,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -1747,7 +1747,7 @@ ] }, { - "module": "module.current_balance_cache", + "module": "module.current_balance_cache[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -1776,7 +1776,7 @@ ] }, { - "module": "module.current_balance_cache", + "module": "module.current_balance_cache[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -1816,7 +1816,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:3" } ], "event_bus_name": "default", @@ -1844,7 +1844,7 @@ ] }, { - "module": "module.current_balance_cache", + "module": "module.current_balance_cache[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1853,9 +1853,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"current-balance-cache\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"current-balance-cache\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"current-balance-cache\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"current-balance-cache\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"current-balance-cache\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"current-balance-cache\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -1871,9 +1871,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -1885,7 +1885,7 @@ ] }, { - "module": "module.import_uploaded_invoices_job", + "module": "module.import_uploaded_invoices_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -1914,7 +1914,7 @@ ] }, { - "module": "module.import_uploaded_invoices_job", + "module": "module.import_uploaded_invoices_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -1954,7 +1954,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:3" } ], "event_bus_name": "default", @@ -1982,7 +1982,7 @@ ] }, { - "module": "module.import_uploaded_invoices_job", + "module": "module.import_uploaded_invoices_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1991,9 +1991,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"import-uploaded-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"import-uploaded-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2009,9 +2009,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2023,7 +2023,7 @@ ] }, { - "module": "module.insight_outcome_recommendation_job", + "module": "module.insight_outcome_recommendation_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2052,7 +2052,7 @@ ] }, { - "module": "module.insight_outcome_recommendation_job", + "module": "module.insight_outcome_recommendation_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -2092,7 +2092,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:1" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:2" } ], "event_bus_name": "default", @@ -2120,7 +2120,7 @@ ] }, { - "module": "module.insight_outcome_recommendation_job", + "module": "module.insight_outcome_recommendation_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2129,9 +2129,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:1", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:2", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"insight-outcome-recommendation\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"insight-outcome-recommendation\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "2048", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2147,7 +2147,7 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 1, + "revision": 2, "runtime_platform": [], "skip_destroy": false, "tags": {}, @@ -2161,7 +2161,7 @@ ] }, { - "module": "module.intuit_job", + "module": "module.intuit_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2190,7 +2190,7 @@ ] }, { - "module": "module.intuit_job", + "module": "module.intuit_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -2230,7 +2230,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:4" } ], "event_bus_name": "default", @@ -2258,7 +2258,7 @@ ] }, { - "module": "module.intuit_job", + "module": "module.intuit_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2267,9 +2267,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"intuit\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"intuit\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"intuit\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"intuit\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"intuit\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"intuit\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2285,9 +2285,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2299,7 +2299,7 @@ ] }, { - "module": "module.load_historical_sales_job", + "module": "module.load_historical_sales_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2308,9 +2308,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"load-historical-sales\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"load-historical-sales\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"load-historical-sales\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"load-historical-sales\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"load-historical-sales\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"load-historical-sales\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2326,9 +2326,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2340,7 +2340,7 @@ ] }, { - "module": "module.ntg_job", + "module": "module.ntg_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2360,7 +2360,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -2369,7 +2369,7 @@ ] }, { - "module": "module.ntg_job", + "module": "module.ntg_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -2407,9 +2407,9 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:3" } ], "event_bus_name": "default", @@ -2437,7 +2437,7 @@ ] }, { - "module": "module.ntg_job", + "module": "module.ntg_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2446,9 +2446,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"ntg\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"ntg\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"ntg\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"ntg\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"ntg\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"ntg\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2464,9 +2464,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2478,7 +2478,7 @@ ] }, { - "module": "module.plaid_job", + "module": "module.plaid_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2507,7 +2507,7 @@ ] }, { - "module": "module.plaid_job", + "module": "module.plaid_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -2547,7 +2547,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:3" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:4" } ], "event_bus_name": "default", @@ -2575,7 +2575,7 @@ ] }, { - "module": "module.plaid_job", + "module": "module.plaid_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2584,9 +2584,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:3", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"plaid\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"plaid\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"plaid\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"plaid\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"plaid\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"plaid\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2602,9 +2602,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 3, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2616,7 +2616,7 @@ ] }, { - "module": "module.reconcile_ledger_job", + "module": "module.reconcile_ledger_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2645,7 +2645,7 @@ ] }, { - "module": "module.reconcile_ledger_job", + "module": "module.reconcile_ledger_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -2685,7 +2685,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:3" } ], "event_bus_name": "default", @@ -2713,7 +2713,7 @@ ] }, { - "module": "module.reconcile_ledger_job", + "module": "module.reconcile_ledger_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2722,9 +2722,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"reconcile-ledger\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"reconcile-ledger\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"reconcile-ledger\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"reconcile-ledger\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"reconcile-ledger\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"reconcile-ledger\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "2048", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2740,9 +2740,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2754,7 +2754,7 @@ ] }, { - "module": "module.register_invoice_import_job", + "module": "module.register_invoice_import_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2763,9 +2763,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"register-invoice-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"register-invoice-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"register-invoice-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"register-invoice-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"register-invoice-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"register-invoice-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "2048", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2781,9 +2781,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2795,7 +2795,7 @@ ] }, { - "module": "module.square_import_job", + "module": "module.square_import_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2824,7 +2824,7 @@ ] }, { - "module": "module.square_import_job", + "module": "module.square_import_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -2864,7 +2864,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:5" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:6" } ], "event_bus_name": "default", @@ -2892,7 +2892,7 @@ ] }, { - "module": "module.square_import_job", + "module": "module.square_import_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2901,9 +2901,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:5", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:6", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"square-import-job\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"square-import-job\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"square-import-job\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"square-import-job\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"square-import-job\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"square-import-job\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2919,9 +2919,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 5, + "revision": 6, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -2933,7 +2933,7 @@ ] }, { - "module": "module.sysco_job", + "module": "module.sysco_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2962,7 +2962,7 @@ ] }, { - "module": "module.sysco_job", + "module": "module.sysco_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -3002,7 +3002,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:3" } ], "event_bus_name": "default", @@ -3030,7 +3030,7 @@ ] }, { - "module": "module.sysco_job", + "module": "module.sysco_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3039,9 +3039,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"sysco\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"sysco\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"sysco\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"sysco\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"sysco\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"sysco\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3057,9 +3057,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -3071,7 +3071,7 @@ ] }, { - "module": "module.vendor_usages_job", + "module": "module.vendor_usages_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -3100,7 +3100,7 @@ ] }, { - "module": "module.vendor_usages_job", + "module": "module.vendor_usages_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -3140,7 +3140,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:3" } ], "event_bus_name": "default", @@ -3168,7 +3168,7 @@ ] }, { - "module": "module.vendor_usages_job", + "module": "module.vendor_usages_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3177,9 +3177,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"vendor-usages\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"vendor-usages\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"vendor-usages\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"vendor-usages\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"vendor-usages\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"vendor-usages\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3195,9 +3195,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -3209,7 +3209,7 @@ ] }, { - "module": "module.yodlee2_accounts_job", + "module": "module.yodlee2_accounts_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3218,9 +3218,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_prod:3", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2-accounts\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2-accounts\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2-accounts\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2-accounts\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2-accounts\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2-accounts\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3236,9 +3236,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 3, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", @@ -3250,7 +3250,7 @@ ] }, { - "module": "module.yodlee2_job", + "module": "module.yodlee2_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -3279,7 +3279,7 @@ ] }, { - "module": "module.yodlee2_job", + "module": "module.yodlee2_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -3319,7 +3319,7 @@ "propagate_tags": "TASK_DEFINITION", "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4" } ], "event_bus_name": "default", @@ -3347,7 +3347,7 @@ ] }, { - "module": "module.yodlee2_job", + "module": "module.yodlee2_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3356,9 +3356,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3374,9 +3374,9 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, + "skip_destroy": false, "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", diff --git a/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup b/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup index 90b71a54..6e0c1242 100644 --- a/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup +++ b/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.7.5", - "serial": 535, + "serial": 666, "lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51", "outputs": { "aws_access_key_id": { @@ -281,7 +281,7 @@ ], "tags": {}, "tags_all": {}, - "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:686", + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:782", "timeouts": { "create": null, "delete": null, @@ -439,9 +439,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:1", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:2", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"solr\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"solr\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-solr\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/solr-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[{\"containerPath\":\"/var/solr\",\"readOnly\":false,\"sourceVolume\":\"solr-storage\"}],\"name\":\"solr\",\"portMappings\":[{\"containerPort\":8983,\"hostPort\":8983,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -457,10 +457,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 1, + "revision": 2, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [ @@ -472,7 +472,7 @@ "file_system_id": "fs-0dcb350caba648ba3", "root_directory": "/", "transit_encryption": "", - "transit_encryption_port": 0 + "transit_encryption_port": null } ], "fsx_windows_file_server_volume_configuration": [], @@ -513,9 +513,9 @@ "provisioned_throughput_in_mibps": 0, "size_in_bytes": [ { - "value": 780294144, + "value": 699342848, "value_in_ia": 0, - "value_in_standard": 780294144 + "value_in_standard": 699342848 } ], "tags": { @@ -1213,7 +1213,7 @@ "logging": [], "object_lock_configuration": [], "object_lock_enabled": false, - "policy": "", + "policy": "{\"Statement\":[{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::679918342773:role/datomic-ddb\",\"arn:aws:iam::679918342773:role/http-proxy\"]},\"Resource\":[\"arn:aws:s3:::toast.prod.app.integreatconsult.com/*\",\"arn:aws:s3:::toast.prod.app.integreatconsult.com\"],\"Sid\":\"\"}],\"Version\":\"2012-10-17\"}", "region": "us-east-1", "replication_configuration": [], "request_payer": "BucketOwner", @@ -1232,7 +1232,7 @@ ] } ], - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null, "versioning": [ @@ -1568,7 +1568,7 @@ ] }, { - "module": "module.bulk_journal_import_job", + "module": "module.bulk_journal_import_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1577,9 +1577,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/bulk_journal_import_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"bulk-journal-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"bulk-journal-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"bulk-journal-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"bulk-journal-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"bulk-journal-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"bulk-journal-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -1595,10 +1595,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1609,7 +1609,7 @@ ] }, { - "module": "module.close_auto_invoices_job", + "module": "module.close_auto_invoices_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -1619,17 +1619,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/close-auto-invoices-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/close-auto-invoices-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "close-auto-invoices-schedule", + "id": "close-auto-invoices-schedule-prod", "is_enabled": true, - "name": "close-auto-invoices-schedule", + "name": "close-auto-invoices-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(1 hour)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -1638,75 +1638,7 @@ ] }, { - "module": "module.close_auto_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "close-auto-invoices-schedule-close-auto-invoices", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "close-auto-invoices-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "close-auto-invoices" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.close_auto_invoices_job.aws_cloudwatch_event_rule.schedule", - "module.close_auto_invoices_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.close_auto_invoices_job", + "module": "module.close_auto_invoices_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1715,9 +1647,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"close-auto-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"close-auto-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"close-auto-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"close-auto-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"close-auto-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"close-auto-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -1733,10 +1665,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1747,7 +1679,7 @@ ] }, { - "module": "module.current_balance_cache", + "module": "module.current_balance_cache[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -1757,17 +1689,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/current-balance-cache-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/current-balance-cache-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "current-balance-cache-schedule", + "id": "current-balance-cache-schedule-prod", "is_enabled": true, - "name": "current-balance-cache-schedule", + "name": "current-balance-cache-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(60 minutes)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -1776,75 +1708,7 @@ ] }, { - "module": "module.current_balance_cache", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "current-balance-cache-schedule-current-balance-cache", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "current-balance-cache-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "current-balance-cache" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.current_balance_cache.aws_cloudwatch_event_rule.schedule", - "module.current_balance_cache.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.current_balance_cache", + "module": "module.current_balance_cache[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1853,9 +1717,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"current-balance-cache\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"current-balance-cache\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"current-balance-cache\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"current-balance-cache\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"current-balance-cache\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"current-balance-cache\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -1871,10 +1735,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1885,7 +1749,7 @@ ] }, { - "module": "module.import_uploaded_invoices_job", + "module": "module.import_uploaded_invoices_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -1895,17 +1759,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/import-uploaded-invoices-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/import-uploaded-invoices-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "import-uploaded-invoices-schedule", + "id": "import-uploaded-invoices-schedule-prod", "is_enabled": true, - "name": "import-uploaded-invoices-schedule", + "name": "import-uploaded-invoices-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(1 hour)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -1914,75 +1778,7 @@ ] }, { - "module": "module.import_uploaded_invoices_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "import-uploaded-invoices-schedule-import-uploaded-invoices", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "import-uploaded-invoices-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "import-uploaded-invoices" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.import_uploaded_invoices_job.aws_cloudwatch_event_rule.schedule", - "module.import_uploaded_invoices_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.import_uploaded_invoices_job", + "module": "module.import_uploaded_invoices_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -1991,9 +1787,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"import-uploaded-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"import-uploaded-invoices\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"import-uploaded-invoices\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2009,10 +1805,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2023,7 +1819,7 @@ ] }, { - "module": "module.insight_outcome_recommendation_job", + "module": "module.insight_outcome_recommendation_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2031,20 +1827,21 @@ "instances": [ { "index_key": 0, + "status": "tainted", "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/insight-outcome-recommendation-schedule", - "description": "", + "arn": null, + "description": null, "event_bus_name": "default", "event_pattern": null, - "id": "insight-outcome-recommendation-schedule", + "id": "insight-outcome-recommendation-schedule-prod", "is_enabled": true, - "name": "insight-outcome-recommendation-schedule", - "name_prefix": "", - "role_arn": "", + "name": "insight-outcome-recommendation-schedule-prod", + "name_prefix": null, + "role_arn": null, "schedule_expression": "rate(6 hours)", - "tags": {}, - "tags_all": {} + "tags": null, + "tags_all": null }, "sensitive_attributes": [], "private": "bnVsbA==" @@ -2052,75 +1849,7 @@ ] }, { - "module": "module.insight_outcome_recommendation_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:1" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "insight-outcome-recommendation-schedule-insight-outcome-recommendation", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "insight-outcome-recommendation-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "insight-outcome-recommendation" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.insight_outcome_recommendation_job.aws_cloudwatch_event_rule.schedule", - "module.insight_outcome_recommendation_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.insight_outcome_recommendation_job", + "module": "module.insight_outcome_recommendation_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2129,9 +1858,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:1", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:2", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"insight-outcome-recommendation\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"insight-outcome-recommendation\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"insight-outcome-recommendation\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "2048", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2147,10 +1876,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 1, + "revision": 2, "runtime_platform": [], "skip_destroy": false, - "tags": {}, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2161,7 +1890,7 @@ ] }, { - "module": "module.intuit_job", + "module": "module.intuit_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2171,17 +1900,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/intuit-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/intuit-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "intuit-schedule", + "id": "intuit-schedule-prod", "is_enabled": true, - "name": "intuit-schedule", + "name": "intuit-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -2190,75 +1919,7 @@ ] }, { - "module": "module.intuit_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "intuit-schedule-intuit", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "intuit-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "intuit" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.intuit_job.aws_cloudwatch_event_rule.schedule", - "module.intuit_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.intuit_job", + "module": "module.intuit_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2267,9 +1928,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"intuit\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"intuit\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"intuit\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"intuit\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"intuit\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"intuit\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2285,10 +1946,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2299,7 +1960,7 @@ ] }, { - "module": "module.load_historical_sales_job", + "module": "module.load_historical_sales_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2308,9 +1969,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/load_historical_sales_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"load-historical-sales\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"load-historical-sales\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"load-historical-sales\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"load-historical-sales\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"load-historical-sales\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"load-historical-sales\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2326,10 +1987,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2340,7 +2001,7 @@ ] }, { - "module": "module.ntg_job", + "module": "module.ntg_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2350,17 +2011,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/ntg-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/ntg-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "ntg-schedule", + "id": "ntg-schedule-prod", "is_enabled": true, - "name": "ntg-schedule", + "name": "ntg-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -2369,7 +2030,7 @@ ] }, { - "module": "module.ntg_job", + "module": "module.ntg_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_target", "name": "job_target", @@ -2407,14 +2068,14 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": {}, + "tags": null, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:2" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:3" } ], "event_bus_name": "default", "http_target": [], - "id": "ntg-schedule-ntg", + "id": "ntg-schedule-prod-ntg", "input": "", "input_path": "", "input_transformer": [], @@ -2422,7 +2083,7 @@ "redshift_target": [], "retry_policy": [], "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "ntg-schedule", + "rule": "ntg-schedule-prod", "run_command_targets": [], "sqs_target": [], "target_id": "ntg" @@ -2437,7 +2098,7 @@ ] }, { - "module": "module.ntg_job", + "module": "module.ntg_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2446,9 +2107,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"ntg\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"ntg\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"ntg\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"ntg\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"ntg\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"ntg\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2464,10 +2125,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2478,7 +2139,7 @@ ] }, { - "module": "module.plaid_job", + "module": "module.plaid_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2488,17 +2149,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/plaid-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/plaid-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "plaid-schedule", + "id": "plaid-schedule-prod", "is_enabled": true, - "name": "plaid-schedule", + "name": "plaid-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -2507,75 +2168,7 @@ ] }, { - "module": "module.plaid_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:3" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "plaid-schedule-plaid", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "plaid-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "plaid" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.plaid_job.aws_cloudwatch_event_rule.schedule", - "module.plaid_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.plaid_job", + "module": "module.plaid_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2584,9 +2177,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:3", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"plaid\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"plaid\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"plaid\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"plaid\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"plaid\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"plaid\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2602,10 +2195,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 3, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2616,7 +2209,7 @@ ] }, { - "module": "module.reconcile_ledger_job", + "module": "module.reconcile_ledger_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2626,17 +2219,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/reconcile-ledger-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/reconcile-ledger-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "reconcile-ledger-schedule", + "id": "reconcile-ledger-schedule-prod", "is_enabled": true, - "name": "reconcile-ledger-schedule", + "name": "reconcile-ledger-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(1 hour)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -2645,75 +2238,7 @@ ] }, { - "module": "module.reconcile_ledger_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "reconcile-ledger-schedule-reconcile-ledger", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "reconcile-ledger-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "reconcile-ledger" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.reconcile_ledger_job.aws_cloudwatch_event_rule.schedule", - "module.reconcile_ledger_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.reconcile_ledger_job", + "module": "module.reconcile_ledger_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2722,9 +2247,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"reconcile-ledger\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"reconcile-ledger\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"reconcile-ledger\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"reconcile-ledger\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"reconcile-ledger\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"reconcile-ledger\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "2048", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2740,10 +2265,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2754,7 +2279,7 @@ ] }, { - "module": "module.register_invoice_import_job", + "module": "module.register_invoice_import_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2763,9 +2288,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/register_invoice_import_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"register-invoice-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"register-invoice-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"register-invoice-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"register-invoice-import\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"register-invoice-import\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"register-invoice-import\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "2048", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2781,10 +2306,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2795,7 +2320,7 @@ ] }, { - "module": "module.square_import_job", + "module": "module.square_import_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2805,17 +2330,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/square-import-job-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/square-import-job-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "square-import-job-schedule", + "id": "square-import-job-schedule-prod", "is_enabled": true, - "name": "square-import-job-schedule", + "name": "square-import-job-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(4 hours)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -2824,75 +2349,7 @@ ] }, { - "module": "module.square_import_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:5" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "square-import-job-schedule-square-import-job", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "square-import-job-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "square-import-job" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.square_import_job.aws_cloudwatch_event_rule.schedule", - "module.square_import_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.square_import_job", + "module": "module.square_import_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -2901,9 +2358,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:5", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:6", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"square-import-job\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"square-import-job\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"square-import-job\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"square-import-job\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"square-import-job\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"square-import-job\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -2919,10 +2376,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 5, + "revision": 6, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2933,7 +2390,7 @@ ] }, { - "module": "module.sysco_job", + "module": "module.sysco_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -2943,17 +2400,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/sysco-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/sysco-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "sysco-schedule", + "id": "sysco-schedule-prod", "is_enabled": true, - "name": "sysco-schedule", + "name": "sysco-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(3 hours)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -2962,75 +2419,7 @@ ] }, { - "module": "module.sysco_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "sysco-schedule-sysco", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "sysco-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "sysco" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.sysco_job.aws_cloudwatch_event_rule.schedule", - "module.sysco_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.sysco_job", + "module": "module.sysco_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3039,9 +2428,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"sysco\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"sysco\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"sysco\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"sysco\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"sysco\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"sysco\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3057,10 +2446,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -3071,7 +2460,7 @@ ] }, { - "module": "module.vendor_usages_job", + "module": "module.vendor_usages_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -3079,20 +2468,21 @@ "instances": [ { "index_key": 0, + "status": "tainted", "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/vendor-usages-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/vendor-usages-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "vendor-usages-schedule", + "id": "vendor-usages-schedule-prod", "is_enabled": true, - "name": "vendor-usages-schedule", + "name": "vendor-usages-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(4 hours)", - "tags": {}, - "tags_all": {} + "tags": null, + "tags_all": null }, "sensitive_attributes": [], "private": "bnVsbA==" @@ -3100,75 +2490,7 @@ ] }, { - "module": "module.vendor_usages_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "vendor-usages-schedule-vendor-usages", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "vendor-usages-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "vendor-usages" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.vendor_usages_job.aws_cloudwatch_event_rule.schedule", - "module.vendor_usages_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.vendor_usages_job", + "module": "module.vendor_usages_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3177,9 +2499,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:3", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"vendor-usages\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"vendor-usages\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"vendor-usages\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"vendor-usages\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"vendor-usages\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"vendor-usages\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3195,10 +2517,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 3, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -3209,7 +2531,7 @@ ] }, { - "module": "module.yodlee2_accounts_job", + "module": "module.yodlee2_accounts_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3218,9 +2540,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_prod:3", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_accounts_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2-accounts\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2-accounts\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2-accounts\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2-accounts\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2-accounts\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2-accounts\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "512", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3236,10 +2558,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 3, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -3250,7 +2572,7 @@ ] }, { - "module": "module.yodlee2_job", + "module": "module.yodlee2_job[0]", "mode": "managed", "type": "aws_cloudwatch_event_rule", "name": "schedule", @@ -3260,17 +2582,17 @@ "index_key": 0, "schema_version": 0, "attributes": { - "arn": "arn:aws:events:us-east-1:679918342773:rule/yodlee2-schedule", + "arn": "arn:aws:events:us-east-1:679918342773:rule/yodlee2-schedule-prod", "description": "", "event_bus_name": "default", "event_pattern": null, - "id": "yodlee2-schedule", + "id": "yodlee2-schedule-prod", "is_enabled": true, - "name": "yodlee2-schedule", + "name": "yodlee2-schedule-prod", "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": {}, + "tags": null, "tags_all": {} }, "sensitive_attributes": [], @@ -3279,75 +2601,7 @@ ] }, { - "module": "module.yodlee2_job", - "mode": "managed", - "type": "aws_cloudwatch_event_target", - "name": "job_target", - "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", - "instances": [ - { - "index_key": 0, - "schema_version": 1, - "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", - "batch_target": [], - "dead_letter_config": [], - "ecs_target": [ - { - "capacity_provider_strategy": [], - "enable_ecs_managed_tags": false, - "enable_execute_command": false, - "group": "", - "launch_type": "FARGATE", - "network_configuration": [ - { - "assign_public_ip": true, - "security_groups": [ - "sg-004e5855310c453a3", - "sg-02d167406b1082698" - ], - "subnets": [ - "subnet-5e675761", - "subnet-8519fde2", - "subnet-89bab8d4" - ] - } - ], - "ordered_placement_strategy": [], - "placement_constraint": [], - "platform_version": "", - "propagate_tags": "TASK_DEFINITION", - "tags": {}, - "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:2" - } - ], - "event_bus_name": "default", - "http_target": [], - "id": "yodlee2-schedule-yodlee2", - "input": "", - "input_path": "", - "input_transformer": [], - "kinesis_target": [], - "redshift_target": [], - "retry_policy": [], - "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", - "rule": "yodlee2-schedule", - "run_command_targets": [], - "sqs_target": [], - "target_id": "yodlee2" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", - "dependencies": [ - "module.yodlee2_job.aws_cloudwatch_event_rule.schedule", - "module.yodlee2_job.aws_ecs_task_definition.background_taskdef" - ] - } - ] - }, - { - "module": "module.yodlee2_job", + "module": "module.yodlee2_job[0]", "mode": "managed", "type": "aws_ecs_task_definition", "name": "background_taskdef", @@ -3356,9 +2610,9 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:2", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod", - "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", "cpu": "1024", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", @@ -3374,10 +2628,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 2, + "revision": 4, "runtime_platform": [], - "skip_destroy": null, - "tags": {}, + "skip_destroy": false, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] From 7acd8ceee4500211ef407ed37de9b7db08af1cd4 Mon Sep 17 00:00:00 2001 From: Bryce Date: Tue, 7 May 2024 19:44:10 -0700 Subject: [PATCH 53/59] Should make payment links better --- src/clj/auto_ap/ssr/payments.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/auto_ap/ssr/payments.clj b/src/clj/auto_ap/ssr/payments.clj index beee6c74..ef1f70f0 100644 --- a/src/clj/auto_ap/ssr/payments.clj +++ b/src/clj/auto_ap/ssr/payments.clj @@ -366,7 +366,7 @@ :render (fn [p] (link-dropdown (concat (->> p :invoice-payment/_payment (map :invoice-payment/invoice) - + (filter identity) (map (fn [invoice] {:link (hu/url (bidi/path-for ssr-routes/only-routes ::invoice-route/all-page) From 518bdb794501a2c6fc5a86bf9634b09bc7f6f46a Mon Sep 17 00:00:00 2001 From: Bryce Date: Tue, 7 May 2024 20:27:51 -0700 Subject: [PATCH 54/59] fixing sysco rollout bug. --- src/clj/auto_ap/jobs/sysco.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/auto_ap/jobs/sysco.clj b/src/clj/auto_ap/jobs/sysco.clj index 45cd5e3b..b8340ce7 100644 --- a/src/clj/auto_ap/jobs/sysco.clj +++ b/src/clj/auto_ap/jobs/sysco.clj @@ -21,7 +21,7 @@ (def sysco-name->line (atom nil)) (defn get-sysco->line [] (when (nil? @sysco-name->line) - (reset! @sysco-name->line + (reset! sysco-name->line (with-open [data (io/reader (io/resource "sysco_line_item_mapping.csv"))] (let [data (csv/read-csv data)] (->> data From 7728147eacf607fae6818694e99bdf38d84f6a95 Mon Sep 17 00:00:00 2001 From: Bryce Date: Mon, 13 May 2024 14:29:43 -0700 Subject: [PATCH 55/59] should hide pending invoices. --- src/clj/auto_ap/ssr/invoices.clj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/clj/auto_ap/ssr/invoices.clj b/src/clj/auto_ap/ssr/invoices.clj index 7f21f3ce..905f0a85 100644 --- a/src/clj/auto_ap/ssr/invoices.clj +++ b/src/clj/auto_ap/ssr/invoices.clj @@ -178,6 +178,10 @@ (merge-query {:query {:in ['?import-status] :where ['[?e :invoice/import-status ?import-status]]} :args [(:import-status query-params)]}) + + (not (:import-status query-params)) + (merge-query {:query { :where ['[?e :invoice/import-status :import-status/imported]]} }) + (:status route-params) (merge-query {:query {:in ['?status] :where ['[?e :invoice/status ?status]]} From a7428a2d1942ed8c26ea3e39808df1b05a15b688 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 15 May 2024 21:30:30 -0700 Subject: [PATCH 56/59] fixes sysco import --- src/clj/auto_ap/jobs/sysco.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/auto_ap/jobs/sysco.clj b/src/clj/auto_ap/jobs/sysco.clj index b8340ce7..b2b36cb0 100644 --- a/src/clj/auto_ap/jobs/sysco.clj +++ b/src/clj/auto_ap/jobs/sysco.clj @@ -156,7 +156,7 @@ :date (coerce/to-date date) :vendor (:db/id sysco-vendor ) :client (:db/id matching-client) - :import-status :import-status/completed + :import-status :import-status/imported :status :invoice-status/unpaid :client-identifier customer-identifier} true (code-invoice) From 1e797592bf4b3a6fd81306386927c3d1baa60cb1 Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 18 May 2024 10:10:36 -0700 Subject: [PATCH 57/59] load historical sales fix --- src/clj/auto_ap/jobs/load_historical_sales.clj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/clj/auto_ap/jobs/load_historical_sales.clj b/src/clj/auto_ap/jobs/load_historical_sales.clj index ab5f9fb0..37307290 100644 --- a/src/clj/auto_ap/jobs/load_historical_sales.clj +++ b/src/clj/auto_ap/jobs/load_historical_sales.clj @@ -34,7 +34,8 @@ (defn load-historical-sales [args] (let [{:keys [days client]} args - client (Long/parseLong client)] + client (cond-> client + ( string? client) #( Long/parseLong %))] (historical-load-sales client days))) (defn -main [& _] From daafe9eaa15bb58b7150533d3530f08f434d920a Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 18 May 2024 10:41:57 -0700 Subject: [PATCH 58/59] another fix --- src/clj/auto_ap/jobs/load_historical_sales.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/clj/auto_ap/jobs/load_historical_sales.clj b/src/clj/auto_ap/jobs/load_historical_sales.clj index 37307290..fa5d92da 100644 --- a/src/clj/auto_ap/jobs/load_historical_sales.clj +++ b/src/clj/auto_ap/jobs/load_historical_sales.clj @@ -16,7 +16,7 @@ (let [client (dc/pull (dc/db auto-ap.datomic/conn) square3/square-read client) - days (Long/parseLong days)] + days (cond-> days (string? days) ( #(Long/parseLong %)))] (doseq [square-location (:client/square-locations client) :when (:square-location/client-location square-location)] @@ -35,7 +35,7 @@ (defn load-historical-sales [args] (let [{:keys [days client]} args client (cond-> client - ( string? client) #( Long/parseLong %))] + ( string? client) ( #( Long/parseLong %)))] (historical-load-sales client days))) (defn -main [& _] From 4b36cde7a0d9e80595651cc37d318f4bcff06183 Mon Sep 17 00:00:00 2001 From: Bryce Date: Sun, 26 May 2024 20:17:50 -0700 Subject: [PATCH 59/59] tweaks --- .../test-dolce/sftp_server/docker-compose.yml | 11 + .../sftp_server/ssh_host_ed25519_key | 7 + .../sftp_server/ssh_host_ed25519_key.pub | 1 + .../test-dolce/sftp_server/ssh_host_rsa_key | 49 ++ .../sftp_server/ssh_host_rsa_key.pub | 1 + ....~lock.Bill's Cafe - Fremont_20240508.csv# | 1 + .../upload/Bill's Cafe - Fremont_20240508.csv | 544 ++++++++++++ .../upload/Bill's Cafe - Fremont_20240509.csv | 543 ++++++++++++ .../sftp_server/upload/Elk Grove_20240508.csv | 223 +++++ .../sftp_server/upload/Elk Grove_20240509.csv | 219 +++++ .../upload/NTG - Fair Oaks_20240508.csv | 317 +++++++ .../upload/NTG - Fair Oaks_20240509.csv | 316 +++++++ .../upload/NTG - Fountains_20240508.csv | 193 +++++ .../upload/NTG - Fountains_20240509.csv | 193 +++++ .../upload/NTG - Fremont_20240508.csv | 317 +++++++ .../upload/NTG - Fremont_20240509.csv | 314 +++++++ .../upload/NTG - Roseville_20240508.csv | 186 ++++ .../upload/NTG - Roseville_20240509.csv | 185 ++++ .../upload/NTG - San Carlos_20240508.csv | 186 ++++ .../upload/NTG - San Carlos_20240509.csv | 186 ++++ .../upload/Philz Coffee_20240508.csv | 271 ++++++ .../upload/Philz Coffee_20240509.csv | 273 ++++++ .../test-dolce/sftp_server/upload/hello.txt | 1 + resources/public/output.css | 2 +- src/clj/auto_ap/import/plaid.fiddle | 50 ++ src/clj/auto_ap/import/transactions.clj | 55 +- src/clj/auto_ap/plaid/core.clj | 3 +- src/clj/auto_ap/yodlee/core2.fiddle | 22 + src/clj/user.fiddle | 20 + terraform/deploy.tf | 4 +- .../prod/terraform.tfstate | 101 ++- .../prod/terraform.tfstate.backup | 806 +++++++++++++++++- 32 files changed, 5504 insertions(+), 96 deletions(-) create mode 100644 dev-resources/test-dolce/sftp_server/docker-compose.yml create mode 100644 dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key create mode 100644 dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key.pub create mode 100644 dev-resources/test-dolce/sftp_server/ssh_host_rsa_key create mode 100644 dev-resources/test-dolce/sftp_server/ssh_host_rsa_key.pub create mode 100644 dev-resources/test-dolce/sftp_server/upload/.~lock.Bill's Cafe - Fremont_20240508.csv# create mode 100644 dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240508.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240509.csv create mode 100644 dev-resources/test-dolce/sftp_server/upload/hello.txt create mode 100644 src/clj/auto_ap/yodlee/core2.fiddle diff --git a/dev-resources/test-dolce/sftp_server/docker-compose.yml b/dev-resources/test-dolce/sftp_server/docker-compose.yml new file mode 100644 index 00000000..45740286 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/docker-compose.yml @@ -0,0 +1,11 @@ +sftp: + image: jmcombs/sftp + volumes: + - /home/ubuntu/sftp_server/upload:/home/dolce/upload + - /home/ubuntu/sftp_server/ssh_host_ed25519_key:/etc/ssh/ssh_host_ed25519_key:ro + - /home/ubuntu/sftp_server/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key:ro + ports: + - "2222:22" + command: dolce:7Wve2Y9xwpDLg:1000 + restart: always + diff --git a/dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key b/dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key new file mode 100644 index 00000000..fa9b077c --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACAmCxqyPTRhy0jdxPy5TQoNxrrF6Hl5KqPkNRd5xVE+fwAAAKBl+THqZfkx +6gAAAAtzc2gtZWQyNTUxOQAAACAmCxqyPTRhy0jdxPy5TQoNxrrF6Hl5KqPkNRd5xVE+fw +AAAEANPN7BtdbrOnh16K2oPEP6hJhO+/ytLAXtWBJfuy943SYLGrI9NGHLSN3E/LlNCg3G +usXoeXkqo+Q1F3nFUT5/AAAAFnVidW50dUBpcC0xNzItMzEtMTAtODMBAgMEBQYH +-----END OPENSSH PRIVATE KEY----- diff --git a/dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key.pub b/dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key.pub new file mode 100644 index 00000000..5d4d108b --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/ssh_host_ed25519_key.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICYLGrI9NGHLSN3E/LlNCg3GusXoeXkqo+Q1F3nFUT5/ ubuntu@ip-172-31-10-83 diff --git a/dev-resources/test-dolce/sftp_server/ssh_host_rsa_key b/dev-resources/test-dolce/sftp_server/ssh_host_rsa_key new file mode 100644 index 00000000..e84d6211 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/ssh_host_rsa_key @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn +NhAAAAAwEAAQAAAgEA0+LtJJMVVyT2IIJEc+G0bzm/qrezEP7J/LAZdFeMSg2y/kPOYBkl +mgdghniirJrjSDUxP7Tb5uLQZ8L1omuHs2mLYDh8SZVKEX5K7pCWEwSNpNsrKGVCdR16sQ +HTWF3RtASmI8p0LFseNxsLgqbFmtXNORRS3oNE6PL2ofi453qG06Ble32KsOzKMkM3YRK5 +6SZKEh+VBKcQFLniElNXPHvTeV5Na0T+/keYwBJVXvCUvaEHuu2EMqxAF+3mxubCnsGlqb +UPS4V9p/EGVIZN8blIRLnDmf9AH5E8pevfJkzvZ+d8NObz7QOBAsiCJNy6dIbttQLEXM9H +BCyFL4ljwYmaVrIe570HyVGmDEFJbVwZrM8j8eGEcONvtw3/PE8urTMUZEMaTngJ6QpQmh +B0cpgiJjkkvps6QMCeRfd8Z/e1l7ig5eytPFm+Yux+5c8PCS2xgMz3nO77nW5HCTCWIraq +Jb1pdozFDnrUZvwmp3ydylWv4/BS5CD3KZ2zt/URPorhHhHjYRLuIANUYxDa4HBoNlOMzA +Ax3RLupM96GAa4oOCj9+0RxHW7AmTFOXaeiZ181kwHLOEXEqa6O0QJb3lTlmvm4O+PYpgo +r0dH1KSpSS+DOX8D9JNTGYAAH936/tIZ4ejF3CiNZ527pTSuGdSOCE772heVMoReEL8NHv +UAAAdQV63uqlet7qoAAAAHc3NoLXJzYQAAAgEA0+LtJJMVVyT2IIJEc+G0bzm/qrezEP7J +/LAZdFeMSg2y/kPOYBklmgdghniirJrjSDUxP7Tb5uLQZ8L1omuHs2mLYDh8SZVKEX5K7p +CWEwSNpNsrKGVCdR16sQHTWF3RtASmI8p0LFseNxsLgqbFmtXNORRS3oNE6PL2ofi453qG +06Ble32KsOzKMkM3YRK56SZKEh+VBKcQFLniElNXPHvTeV5Na0T+/keYwBJVXvCUvaEHuu +2EMqxAF+3mxubCnsGlqbUPS4V9p/EGVIZN8blIRLnDmf9AH5E8pevfJkzvZ+d8NObz7QOB +AsiCJNy6dIbttQLEXM9HBCyFL4ljwYmaVrIe570HyVGmDEFJbVwZrM8j8eGEcONvtw3/PE +8urTMUZEMaTngJ6QpQmhB0cpgiJjkkvps6QMCeRfd8Z/e1l7ig5eytPFm+Yux+5c8PCS2x +gMz3nO77nW5HCTCWIraqJb1pdozFDnrUZvwmp3ydylWv4/BS5CD3KZ2zt/URPorhHhHjYR +LuIANUYxDa4HBoNlOMzAAx3RLupM96GAa4oOCj9+0RxHW7AmTFOXaeiZ181kwHLOEXEqa6 +O0QJb3lTlmvm4O+PYpgor0dH1KSpSS+DOX8D9JNTGYAAH936/tIZ4ejF3CiNZ527pTSuGd +SOCE772heVMoReEL8NHvUAAAADAQABAAACAA+lFst3jMDVetLlq3Y++RqpUeyiCbe8iF9/ +BTIg8LvbDRdXHFreIHeiCc+EAsbp3NRNESjaCs6eerLeo1JtzCREK8VcBllMi56FC7VXua +0HzgmZITOnXmPVXGTLdLZ2nvBC052a6j8IL0/0UEJCXB7VoISRapkBakok/m7xNX3p/yCL +HFMk7uOnaDqT2ffx8QY1DI0QBenFCBvvqbCetLdDkVbJzr+X5ZgS40VzVRhgfSsPQ8nalc +NEEqtxpnOTQFWGiNviAZIa9i87TbNaA1FQ0/Q3Hyk0vqBWEftSUjS6w4aRggtJ7kLW2mTB +N1LPdXj7KXwPCz6rE1xMiTz8UQAr6xCXPX9pFwBItdKuRA29F0XUL29FeMQqMyZW+2U8lO +Djru6aEO8AF/TUiBaG6rROPZ+GeAYlsj4az/OmCHlW02yjvC8RdCEAYd2zjID9TEg69ebT +dD9P/hNZ6Aa32nnyjufLGbt9mdF+a0fK6vL1PVfz9VM0jENQalBzCPgFZ6Na2IJXzh5P2c +nekKrf9gNSGmsZQoPGhl2meheUPILpWoOfYtkL0+N1vaxEb7gp3pQVr6n1QTZxD2Tj0NfP +ggSP0Gu/BrTZ8kMbxSQ03xywbr/20hL7jOAzwp7rpcrPi6mkF0CAbNDAgrDBVOBpy8QASp +9/drdxQ8dOKgRMPT5VAAABAQCUz3F6802IgSCiQK5d5l2Qr2JrtcaHzVGcG1wMatRLconH +IFnenuSlLEbsuBGVPEh5qhroiG5Ywys+BbrqikyRRarBqBmYfUXaCP/rb80vKepd8zCjpl +K30c4LTEn/PHAknBnjJ+xBIPYjgZUOX200MZu91wmaNBEzYRvlfESjuWputHGe2Nn2YLLl +hey4ZBb3cVfSl+X6BslnKdvJjMVJ7ET8V5zrRXh+UwecpKenYqbEdpIsqilHtvGc9yxoQ+ +y0Y5cVnAXZEWX8j0woD7iKh4qrAHep4b5ZUzRILTvqt/cy8l7xIqyTmq8sUwmNnqn7dUFt +rjJtBdTyTZtvB+y6AAABAQDpeqoUCXyS1Hg5YB4Ftb8Zs9plvKLH7xvhn7Z5hljKQwz0Jh +8aYPdGZPqIvGlz2oIyg4UEeYMMrcSE1cL5hxZcxhg12mbx9m/XLDJDPD1N01JhKIU1mk9L +i31w719dgp1rsGdSKWOn8UDJn1EgNQlF9MC+SUea4ln8Vlqd3VOLEolLJ6TwGH3b/WTUOL ++iN3EgLQToCg/lHtkg9KVCQ4JxhFl/gLNFFaFK2kdPQ+J8ueiNCbo0NsUwZdr6VyM8F0L6 +Lx9aMO62Y1AJekNBGX8n7Pms7C1Hq96gtsDZiB7xoweX5EQCjyhqVTKJGB1dlF1y+FIOfj +L5WDf90SzrCu23AAABAQDoUxHORilE14/1nZ+4IDEwF7ANmiAFUb2ZXUdpKIRLTWtrHVbU +NXLca0VZDyJu7vF1Ot2485JwbRI2Rz57mPuD714ezA+wiG5rq7zwdScPefQZ7QjZ6cY+5p +xQU/rhCFDPjzsBoInbLr1VHUSCcdzXXXsow9FnFaih7FyoDGdbW9Szbn+6cpXfD/WEklSg +KXo0k5WHyBbi1JR8Yr6EDl6tGBUgW+erRLSr9JG1Ky5eNjVxzizrrvxwvZl7GFxqrEjcn7 +NbAtJJuZYgatAC1MqjwVC/5zT4xElWFCL97vWVgQJMGLM8iRBBBsgLnJ0f8G3RBPqmy3qT +CZREI7GA3lizAAAAFnVidW50dUBpcC0xNzItMzEtMTAtODMBAgME +-----END OPENSSH PRIVATE KEY----- diff --git a/dev-resources/test-dolce/sftp_server/ssh_host_rsa_key.pub b/dev-resources/test-dolce/sftp_server/ssh_host_rsa_key.pub new file mode 100644 index 00000000..d2c05a55 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/ssh_host_rsa_key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDT4u0kkxVXJPYggkRz4bRvOb+qt7MQ/sn8sBl0V4xKDbL+Q85gGSWaB2CGeKKsmuNINTE/tNvm4tBnwvWia4ezaYtgOHxJlUoRfkrukJYTBI2k2ysoZUJ1HXqxAdNYXdG0BKYjynQsWx43GwuCpsWa1c05FFLeg0To8vah+LjneobToGV7fYqw7MoyQzdhErnpJkoSH5UEpxAUueISU1c8e9N5Xk1rRP7+R5jAElVe8JS9oQe67YQyrEAX7ebG5sKewaWptQ9LhX2n8QZUhk3xuUhEucOZ/0AfkTyl698mTO9n53w05vPtA4ECyIIk3Lp0hu21AsRcz0cELIUviWPBiZpWsh7nvQfJUaYMQUltXBmszyPx4YRw42+3Df88Ty6tMxRkQxpOeAnpClCaEHRymCImOSS+mzpAwJ5F93xn97WXuKDl7K08Wb5i7H7lzw8JLbGAzPec7vudbkcJMJYitqolvWl2jMUOetRm/CanfJ3KVa/j8FLkIPcpnbO39RE+iuEeEeNhEu4gA1RjENrgcGg2U4zMADHdEu6kz3oYBrig4KP37RHEdbsCZMU5dp6JnXzWTAcs4RcSpro7RAlveVOWa+bg749imCivR0fUpKlJL4M5fwP0k1MZgAAf3fr+0hnh6MXcKI1nnbulNK4Z1I4ITvvaF5UyhF4Qvw0e9Q== ubuntu@ip-172-31-10-83 diff --git a/dev-resources/test-dolce/sftp_server/upload/.~lock.Bill's Cafe - Fremont_20240508.csv# b/dev-resources/test-dolce/sftp_server/upload/.~lock.Bill's Cafe - Fremont_20240508.csv# new file mode 100644 index 00000000..97d5485a --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/.~lock.Bill's Cafe - Fremont_20240508.csv# @@ -0,0 +1 @@ +,noti,pop-os,10.05.2024 21:49,file:///home/noti/.config/libreoffice/4; \ No newline at end of file diff --git a/dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240508.csv new file mode 100644 index 00000000..9a4736ba --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240508.csv @@ -0,0 +1,544 @@ +"146903#24","","300","","04/18/2024","04/18/2024 7:55:18am","04/18/2024 2:12:34pm","23","0.00","Canada","Ricardo","7098657" +"146903#1692","","300","","04/18/2024","04/18/2024 8:48:29am","04/18/2024 10:54:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/18/2024","04/18/2024 11:25:00am","04/18/2024 2:13:33pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","300","","04/18/2024","04/18/2024 8:30:37am","04/18/2024 1:59:24pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/18/2024","04/18/2024 6:58:02am","04/18/2024 2:13:39pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/18/2024","04/18/2024 7:58:01am","04/18/2024 12:17:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/18/2024","04/18/2024 12:47:00pm","04/18/2024 3:30:09pm","18","0.00","Lopez","Valentin","7098657" +"146903#21","","200","","04/18/2024","04/18/2024 7:58:59am","04/18/2024 9:33:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/18/2024","04/18/2024 10:04:00am","04/18/2024 2:38:42pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/18/2024","04/18/2024 6:58:52am","04/18/2024 7:31:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/18/2024","04/18/2024 8:01:00am","04/18/2024 1:13:32pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/18/2024","04/18/2024 8:25:36am","04/18/2024 8:51:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/18/2024","04/18/2024 9:21:00am","04/18/2024 2:37:26pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#47","","200","","04/18/2024","04/18/2024 6:00:00am","04/18/2024 6:20:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/18/2024","04/18/2024 6:50:00am","04/18/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","04/19/2024","04/19/2024 7:59:52am","04/19/2024 11:17:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/19/2024","04/19/2024 11:47:00am","04/19/2024 2:09:38pm","16.8","0.00","Bac","Diego","7098657" +"146903#161","","200","","04/19/2024","04/19/2024 8:57:24am","04/19/2024 12:12:00pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#161","","200","","04/19/2024","04/19/2024 12:47:00pm","04/19/2024 2:54:29pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#24","","300","","04/19/2024","04/19/2024 6:55:27am","04/19/2024 9:15:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/19/2024","04/19/2024 9:47:00am","04/19/2024 2:30:24pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/19/2024","04/19/2024 7:00:33am","04/19/2024 9:10:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/19/2024","04/19/2024 9:40:00am","04/19/2024 12:38:46pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/19/2024","04/19/2024 7:54:09am","04/19/2024 10:09:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/19/2024","04/19/2024 10:41:00am","04/19/2024 12:38:07pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","200","","04/19/2024","04/19/2024 9:02:11am","04/19/2024 1:06:10pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/19/2024","04/19/2024 7:57:56am","04/19/2024 11:57:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/19/2024","04/19/2024 12:27:00pm","04/19/2024 2:26:45pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/19/2024","04/19/2024 8:02:47am","04/19/2024 1:41:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/19/2024","04/19/2024 2:12:00pm","04/19/2024 3:03:48pm","18","0.00","Lopez","Valentin","7098657" +"146903#1708","","300","","04/19/2024","04/19/2024 9:01:25am","04/19/2024 3:00:52pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/19/2024","04/19/2024 6:58:34am","04/19/2024 9:14:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/19/2024","04/19/2024 9:44:00am","04/19/2024 2:36:53pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/19/2024","04/19/2024 6:58:21am","04/19/2024 8:11:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/19/2024","04/19/2024 8:42:00am","04/19/2024 12:45:00pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","300","","04/19/2024","04/19/2024 7:29:29am","04/19/2024 1:21:42pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#50","","200","","04/19/2024","04/19/2024 8:30:45am","04/19/2024 10:04:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/19/2024","04/19/2024 10:35:00am","04/19/2024 2:36:44pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/19/2024","04/19/2024 6:00:00am","04/19/2024 6:23:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/19/2024","04/19/2024 6:53:00am","04/19/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/20/2024","04/20/2024 7:00:29am","04/20/2024 8:50:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/20/2024","04/20/2024 9:20:00am","04/20/2024 3:32:40pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/20/2024","04/20/2024 8:01:31am","04/20/2024 1:14:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/20/2024","04/20/2024 1:45:00pm","04/20/2024 2:35:08pm","16.8","0.00","Bac","Diego","7098657" +"146903#161","","200","","04/20/2024","04/20/2024 8:59:11am","04/20/2024 2:00:00pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#161","","200","","04/20/2024","04/20/2024 2:32:00pm","04/20/2024 3:52:56pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#24","","300","","04/20/2024","04/20/2024 6:30:09am","04/20/2024 8:08:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/20/2024","04/20/2024 8:38:00am","04/20/2024 3:24:37pm","23","0.00","Canada","Ricardo","7098657" +"146903#1706","","300","","04/20/2024","04/20/2024 8:29:56am","04/20/2024 1:11:00pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1706","","300","","04/20/2024","04/20/2024 1:42:00pm","04/20/2024 2:45:39pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1697","","300","","04/20/2024","04/20/2024 7:12:01am","04/20/2024 3:31:46pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/20/2024","04/20/2024 6:04:43am","04/20/2024 9:12:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/20/2024","04/20/2024 9:42:00am","04/20/2024 3:11:12pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/20/2024","04/20/2024 8:01:36am","04/20/2024 1:58:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/20/2024","04/20/2024 2:29:00pm","04/20/2024 2:45:21pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/20/2024","04/20/2024 7:59:50am","04/20/2024 10:05:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/20/2024","04/20/2024 10:36:00am","04/20/2024 3:26:42pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","200","","04/20/2024","04/20/2024 8:31:58am","04/20/2024 1:59:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/20/2024","04/20/2024 2:29:00pm","04/20/2024 2:47:50pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/20/2024","04/20/2024 6:58:56am","04/20/2024 12:10:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/20/2024","04/20/2024 12:43:00pm","04/20/2024 3:23:46pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/20/2024","04/20/2024 8:03:51am","04/20/2024 10:30:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/20/2024","04/20/2024 11:01:00am","04/20/2024 3:58:27pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/20/2024","04/20/2024 7:18:42am","04/20/2024 9:06:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/20/2024","04/20/2024 9:39:00am","04/20/2024 3:24:10pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/20/2024","04/20/2024 6:59:26am","04/20/2024 1:14:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/20/2024","04/20/2024 1:47:00pm","04/20/2024 2:29:32pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/20/2024","04/20/2024 8:58:25am","04/20/2024 11:49:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","04/20/2024","04/20/2024 12:20:00pm","04/20/2024 4:04:49pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/20/2024","04/20/2024 6:30:26am","04/20/2024 1:52:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/20/2024","04/20/2024 2:23:00pm","04/20/2024 3:31:54pm","18","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/20/2024","04/20/2024 7:54:36am","04/20/2024 1:13:00pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/20/2024","04/20/2024 1:43:00pm","04/20/2024 2:51:32pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/20/2024","04/20/2024 7:53:55am","04/20/2024 9:17:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/20/2024","04/20/2024 9:44:00am","04/20/2024 3:06:51pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/20/2024","04/20/2024 8:21:53am","04/20/2024 1:19:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/20/2024","04/20/2024 1:49:00pm","04/20/2024 3:19:06pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/20/2024","04/20/2024 6:59:44am","04/20/2024 7:30:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/20/2024","04/20/2024 8:01:00am","04/20/2024 1:59:26pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/20/2024","04/20/2024 8:00:01am","04/20/2024 9:38:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/20/2024","04/20/2024 10:08:00am","04/20/2024 3:32:03pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/20/2024","04/20/2024 6:51:52am","04/20/2024 8:06:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/20/2024","04/20/2024 8:36:00am","04/20/2024 3:28:31pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/20/2024","04/20/2024 6:00:00am","04/20/2024 6:18:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/20/2024","04/20/2024 6:48:00am","04/20/2024 4:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/21/2024","04/21/2024 7:00:28am","04/21/2024 8:59:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/21/2024","04/21/2024 9:29:00am","04/21/2024 3:45:31pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/21/2024","04/21/2024 8:02:12am","04/21/2024 12:00:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/21/2024","04/21/2024 12:30:00pm","04/21/2024 2:52:16pm","16.8","0.00","Bac","Diego","7098657" +"146903#161","","200","","04/21/2024","04/21/2024 8:57:11am","04/21/2024 2:20:00pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#161","","200","","04/21/2024","04/21/2024 2:51:00pm","04/21/2024 3:48:28pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#24","","300","","04/21/2024","04/21/2024 6:31:39am","04/21/2024 8:56:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/21/2024","04/21/2024 9:31:00am","04/21/2024 3:48:12pm","23","0.00","Canada","Ricardo","7098657" +"146903#1706","","300","","04/21/2024","04/21/2024 8:35:17am","04/21/2024 1:31:00pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1706","","300","","04/21/2024","04/21/2024 2:03:00pm","04/21/2024 3:01:49pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1697","","300","","04/21/2024","04/21/2024 7:10:10am","04/21/2024 2:24:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","04/21/2024","04/21/2024 2:55:00pm","04/21/2024 4:23:47pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/21/2024","04/21/2024 6:07:36am","04/21/2024 8:24:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/21/2024","04/21/2024 8:56:00am","04/21/2024 2:20:51pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/21/2024","04/21/2024 7:00:39am","04/21/2024 2:03:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/21/2024","04/21/2024 2:33:00pm","04/21/2024 2:55:35pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/21/2024","04/21/2024 6:43:34am","04/21/2024 8:08:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/21/2024","04/21/2024 8:40:00am","04/21/2024 4:08:27pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","200","","04/21/2024","04/21/2024 8:31:37am","04/21/2024 2:18:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/21/2024","04/21/2024 2:48:00pm","04/21/2024 2:57:02pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/21/2024","04/21/2024 6:07:47am","04/21/2024 9:10:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/21/2024","04/21/2024 9:42:00am","04/21/2024 4:05:34pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/21/2024","04/21/2024 8:03:25am","04/21/2024 10:18:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/21/2024","04/21/2024 10:48:00am","04/21/2024 5:21:40pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/21/2024","04/21/2024 6:21:04am","04/21/2024 7:46:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/21/2024","04/21/2024 8:17:00am","04/21/2024 3:57:33pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1708","","300","","04/21/2024","04/21/2024 8:59:47am","04/21/2024 5:21:21pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/21/2024","04/21/2024 6:30:41am","04/21/2024 2:08:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/21/2024","04/21/2024 2:40:00pm","04/21/2024 3:44:20pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/21/2024","04/21/2024 6:58:31am","04/21/2024 9:53:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/21/2024","04/21/2024 10:26:00am","04/21/2024 2:12:07pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/21/2024","04/21/2024 7:54:18am","04/21/2024 11:05:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/21/2024","04/21/2024 11:35:00am","04/21/2024 3:17:04pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/21/2024","04/21/2024 7:56:51am","04/21/2024 2:17:00pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/21/2024","04/21/2024 2:48:00pm","04/21/2024 3:32:34pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/21/2024","04/21/2024 8:18:45am","04/21/2024 12:58:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/21/2024","04/21/2024 1:29:00pm","04/21/2024 3:22:08pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/21/2024","04/21/2024 6:28:07am","04/21/2024 8:58:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/21/2024","04/21/2024 9:28:00am","04/21/2024 2:15:00pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/21/2024","04/21/2024 8:00:31am","04/21/2024 9:53:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/21/2024","04/21/2024 10:23:00am","04/21/2024 3:44:33pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/21/2024","04/21/2024 6:51:31am","04/21/2024 8:07:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/21/2024","04/21/2024 8:37:00am","04/21/2024 3:45:35pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/21/2024","04/21/2024 6:00:00am","04/21/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/21/2024","04/21/2024 6:58:00am","04/21/2024 4:00:15pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","04/22/2024","04/22/2024 8:01:00am","04/22/2024 11:04:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/22/2024","04/22/2024 11:34:00am","04/22/2024 2:15:00pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/22/2024","04/22/2024 7:10:26am","04/22/2024 12:31:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/22/2024","04/22/2024 1:01:00pm","04/22/2024 2:20:19pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/22/2024","04/22/2024 8:55:07am","04/22/2024 11:46:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/22/2024","04/22/2024 12:16:00pm","04/22/2024 2:09:31pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/22/2024","04/22/2024 8:23:52am","04/22/2024 8:37:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/22/2024","04/22/2024 9:07:00am","04/22/2024 2:42:26pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","300","","04/22/2024","04/22/2024 8:32:48am","04/22/2024 1:50:47pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1701","","300","","04/22/2024","04/22/2024 8:02:42am","04/22/2024 11:31:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/22/2024","04/22/2024 12:02:00pm","04/22/2024 3:42:27pm","18","0.00","Lopez","Valentin","7098657" +"146903#163","","200","","04/22/2024","04/22/2024 6:59:24am","04/22/2024 7:37:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/22/2024","04/22/2024 8:07:00am","04/22/2024 1:27:54pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/22/2024","04/22/2024 8:00:33am","04/22/2024 9:45:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/22/2024","04/22/2024 10:17:00am","04/22/2024 2:46:23pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/22/2024","04/22/2024 6:00:00am","04/22/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/22/2024","04/22/2024 6:58:00am","04/22/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","04/23/2024","04/23/2024 8:37:43am","04/23/2024 8:51:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/23/2024","04/23/2024 9:21:00am","04/23/2024 3:03:47pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/23/2024","04/23/2024 7:01:35am","04/23/2024 2:11:14pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/23/2024","04/23/2024 6:07:39am","04/23/2024 2:13:18pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/23/2024","04/23/2024 8:01:29am","04/23/2024 10:47:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/23/2024","04/23/2024 11:26:00am","04/23/2024 12:34:46pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","300","","04/23/2024","04/23/2024 7:58:38am","04/23/2024 12:00:17pm","17","0.00","Karki","Rina","7098657" +"146903#1708","","300","","04/23/2024","04/23/2024 8:12:09am","04/23/2024 2:56:04pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","04/23/2024","04/23/2024 7:01:43am","04/23/2024 7:33:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/23/2024","04/23/2024 8:03:00am","04/23/2024 12:54:41pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/23/2024","04/23/2024 8:00:30am","04/23/2024 9:19:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/23/2024","04/23/2024 9:52:00am","04/23/2024 2:50:39pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/23/2024","04/23/2024 6:00:00am","04/23/2024 6:18:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/23/2024","04/23/2024 6:48:00am","04/23/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","04/24/2024","04/24/2024 8:33:37am","04/24/2024 10:06:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/24/2024","04/24/2024 10:37:00am","04/24/2024 2:36:30pm","16.8","0.00","Bac","Diego","7098657" +"146903#111","","300","","04/24/2024","04/24/2024 6:15:28am","04/24/2024 9:21:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/24/2024","04/24/2024 9:51:00am","04/24/2024 2:15:43pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#4","","300","","04/24/2024","04/24/2024 6:59:28am","04/24/2024 10:17:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/24/2024","04/24/2024 10:50:00am","04/24/2024 12:34:50pm","23","0.00","Lopez","Santiago","7098657" +"146903#1666","","300","","04/24/2024","04/24/2024 7:50:48am","04/24/2024 11:00:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/24/2024","04/24/2024 11:31:00am","04/24/2024 2:15:57pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/24/2024","04/24/2024 7:59:48am","04/24/2024 10:52:00am","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/24/2024","04/24/2024 11:25:00am","04/24/2024 1:57:47pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/24/2024","04/24/2024 8:11:23am","04/24/2024 11:27:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","04/24/2024","04/24/2024 12:06:00pm","04/24/2024 2:48:52pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/24/2024","04/24/2024 8:03:08am","04/24/2024 9:25:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/24/2024","04/24/2024 9:59:00am","04/24/2024 2:40:30pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/24/2024","04/24/2024 6:55:50am","04/24/2024 7:27:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/24/2024","04/24/2024 7:57:00am","04/24/2024 12:22:21pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#163","","200","","04/24/2024","04/24/2024 6:29:02am","04/24/2024 8:34:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/24/2024","04/24/2024 9:05:00am","04/24/2024 1:42:06pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#1692","","300","","04/25/2024","04/25/2024 8:56:35am","04/25/2024 11:06:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/25/2024","04/25/2024 11:37:00am","04/25/2024 2:22:20pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","300","","04/25/2024","04/25/2024 8:30:33am","04/25/2024 1:23:24pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/25/2024","04/25/2024 6:58:06am","04/25/2024 12:29:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/25/2024","04/25/2024 1:01:00pm","04/25/2024 2:09:52pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/25/2024","04/25/2024 7:55:47am","04/25/2024 12:20:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/25/2024","04/25/2024 12:50:00pm","04/25/2024 3:32:55pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/25/2024","04/25/2024 7:55:25am","04/25/2024 10:08:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/25/2024","04/25/2024 10:39:00am","04/25/2024 1:32:37pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#21","","200","","04/25/2024","04/25/2024 8:01:17am","04/25/2024 9:34:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/25/2024","04/25/2024 10:07:00am","04/25/2024 2:56:36pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/25/2024","04/25/2024 6:58:55am","04/25/2024 8:01:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/25/2024","04/25/2024 8:32:00am","04/25/2024 12:59:59pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/25/2024","04/25/2024 8:23:48am","04/25/2024 8:53:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/25/2024","04/25/2024 9:24:00am","04/25/2024 2:48:29pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#47","","200","","04/25/2024","04/25/2024 6:00:00am","04/25/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/25/2024","04/25/2024 6:58:00am","04/25/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","04/26/2024","04/26/2024 7:01:27am","04/26/2024 2:32:53pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/26/2024","04/26/2024 7:06:29am","04/26/2024 11:08:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/26/2024","04/26/2024 11:38:00am","04/26/2024 1:23:26pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1700","","200","","04/26/2024","04/26/2024 7:58:16am","04/26/2024 8:25:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/26/2024","04/26/2024 8:55:00am","04/26/2024 1:48:38pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","04/26/2024","04/26/2024 9:00:08am","04/26/2024 1:08:54pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/26/2024","04/26/2024 7:58:38am","04/26/2024 2:42:55pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/26/2024","04/26/2024 8:00:38am","04/26/2024 1:13:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/26/2024","04/26/2024 1:44:00pm","04/26/2024 3:06:49pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/26/2024","04/26/2024 8:00:08am","04/26/2024 2:46:30pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1708","","300","","04/26/2024","04/26/2024 9:00:19am","04/26/2024 3:10:42pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/26/2024","04/26/2024 7:50:02am","04/26/2024 10:54:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/26/2024","04/26/2024 11:27:00am","04/26/2024 2:34:15pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/26/2024","04/26/2024 6:56:29am","04/26/2024 8:18:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/26/2024","04/26/2024 8:49:00am","04/26/2024 12:39:05pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","300","","04/26/2024","04/26/2024 7:27:34am","04/26/2024 1:20:59pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1707","","200","","04/26/2024","04/26/2024 8:16:42am","04/26/2024 11:17:00am","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/26/2024","04/26/2024 11:48:00am","04/26/2024 2:27:46pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#50","","200","","04/26/2024","04/26/2024 8:30:39am","04/26/2024 9:17:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/26/2024","04/26/2024 9:48:00am","04/26/2024 2:34:27pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/26/2024","04/26/2024 6:00:00am","04/26/2024 6:25:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/26/2024","04/26/2024 6:55:00am","04/26/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/27/2024","04/27/2024 7:00:24am","04/27/2024 8:44:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/27/2024","04/27/2024 9:14:00am","04/27/2024 3:27:26pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/27/2024","04/27/2024 8:00:10am","04/27/2024 1:16:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/27/2024","04/27/2024 1:47:00pm","04/27/2024 2:43:05pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/27/2024","04/27/2024 6:30:00am","04/27/2024 2:00:00pm","23","0.00","Canada","Ricardo","7098657" +"146903#1706","","300","","04/27/2024","04/27/2024 8:31:00am","04/27/2024 11:38:00am","16.8","0.00","Contreras","Daniel","7098657" +"146903#1697","","300","","04/27/2024","04/27/2024 7:08:32am","04/27/2024 1:44:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","04/27/2024","04/27/2024 2:15:00pm","04/27/2024 3:30:09pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/27/2024","04/27/2024 6:05:33am","04/27/2024 10:19:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/27/2024","04/27/2024 10:50:00am","04/27/2024 1:25:54pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/27/2024","04/27/2024 8:00:21am","04/27/2024 1:36:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/27/2024","04/27/2024 2:06:00pm","04/27/2024 2:58:17pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/27/2024","04/27/2024 7:46:03am","04/27/2024 9:55:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/27/2024","04/27/2024 10:28:00am","04/27/2024 3:35:18pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/27/2024","04/27/2024 8:21:00am","04/27/2024 12:28:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/27/2024","04/27/2024 12:58:00pm","04/27/2024 2:35:00pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","04/27/2024","04/27/2024 8:31:43am","04/27/2024 1:23:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/27/2024","04/27/2024 1:54:00pm","04/27/2024 2:38:20pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/27/2024","04/27/2024 6:59:25am","04/27/2024 11:05:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/27/2024","04/27/2024 11:37:00am","04/27/2024 3:21:20pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/27/2024","04/27/2024 8:08:00am","04/27/2024 11:28:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/27/2024","04/27/2024 11:58:00am","04/27/2024 3:59:11pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/27/2024","04/27/2024 7:35:33am","04/27/2024 9:03:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/27/2024","04/27/2024 9:36:00am","04/27/2024 3:37:27pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/27/2024","04/27/2024 7:02:24am","04/27/2024 12:55:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/27/2024","04/27/2024 1:26:00pm","04/27/2024 2:58:26pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/27/2024","04/27/2024 9:00:46am","04/27/2024 3:59:45pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/27/2024","04/27/2024 6:30:18am","04/27/2024 1:22:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/27/2024","04/27/2024 1:54:00pm","04/27/2024 3:24:02pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/27/2024","04/27/2024 6:57:36am","04/27/2024 10:08:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/27/2024","04/27/2024 10:38:00am","04/27/2024 1:17:47pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/27/2024","04/27/2024 7:53:50am","04/27/2024 10:59:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/27/2024","04/27/2024 11:29:00am","04/27/2024 3:08:31pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/27/2024","04/27/2024 8:00:32am","04/27/2024 12:17:00pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/27/2024","04/27/2024 12:47:00pm","04/27/2024 3:00:40pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/27/2024","04/27/2024 8:21:53am","04/27/2024 12:24:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/27/2024","04/27/2024 12:55:00pm","04/27/2024 3:29:30pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/27/2024","04/27/2024 6:28:49am","04/27/2024 8:56:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/27/2024","04/27/2024 9:26:00am","04/27/2024 1:37:32pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/27/2024","04/27/2024 8:01:28am","04/27/2024 9:41:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/27/2024","04/27/2024 10:13:00am","04/27/2024 3:24:09pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/27/2024","04/27/2024 6:51:13am","04/27/2024 8:10:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/27/2024","04/27/2024 8:40:00am","04/27/2024 3:27:54pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/27/2024","04/27/2024 6:17:25am","04/27/2024 6:18:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/27/2024","04/27/2024 6:48:00am","04/27/2024 4:00:01pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/28/2024","04/28/2024 7:00:26am","04/28/2024 8:52:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/28/2024","04/28/2024 9:22:00am","04/28/2024 4:12:34pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/28/2024","04/28/2024 8:00:28am","04/28/2024 12:09:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/28/2024","04/28/2024 12:39:00pm","04/28/2024 2:49:21pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/28/2024","04/28/2024 6:34:27am","04/28/2024 9:51:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/28/2024","04/28/2024 10:21:00am","04/28/2024 3:54:29pm","23","0.00","Canada","Ricardo","7098657" +"146903#1697","","300","","04/28/2024","04/28/2024 7:14:36am","04/28/2024 1:12:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","04/28/2024","04/28/2024 1:43:00pm","04/28/2024 3:48:48pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/28/2024","04/28/2024 5:51:34am","04/28/2024 11:33:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/28/2024","04/28/2024 12:03:00pm","04/28/2024 3:04:25pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/28/2024","04/28/2024 8:00:45am","04/28/2024 1:52:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/28/2024","04/28/2024 2:22:00pm","04/28/2024 2:47:12pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/28/2024","04/28/2024 6:50:43am","04/28/2024 8:17:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/28/2024","04/28/2024 8:49:00am","04/28/2024 2:42:29pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/28/2024","04/28/2024 8:25:20am","04/28/2024 12:48:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/28/2024","04/28/2024 1:19:00pm","04/28/2024 2:41:11pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","04/28/2024","04/28/2024 8:31:14am","04/28/2024 1:57:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/28/2024","04/28/2024 2:27:00pm","04/28/2024 2:47:33pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/28/2024","04/28/2024 6:58:32am","04/28/2024 12:14:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/28/2024","04/28/2024 12:49:00pm","04/28/2024 4:03:25pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/28/2024","04/28/2024 8:01:14am","04/28/2024 10:52:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/28/2024","04/28/2024 11:23:00am","04/28/2024 4:14:02pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/28/2024","04/28/2024 6:30:17am","04/28/2024 8:56:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/28/2024","04/28/2024 9:28:00am","04/28/2024 4:03:05pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/28/2024","04/28/2024 6:57:24am","04/28/2024 1:06:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/28/2024","04/28/2024 1:37:00pm","04/28/2024 2:50:08pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/28/2024","04/28/2024 8:59:13am","04/28/2024 4:39:36pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/28/2024","04/28/2024 6:33:43am","04/28/2024 1:55:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/28/2024","04/28/2024 2:29:00pm","04/28/2024 3:51:55pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/28/2024","04/28/2024 6:24:58am","04/28/2024 9:05:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/28/2024","04/28/2024 9:35:00am","04/28/2024 1:45:14pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/28/2024","04/28/2024 7:53:48am","04/28/2024 10:19:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/28/2024","04/28/2024 10:49:00am","04/28/2024 2:50:53pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/28/2024","04/28/2024 8:01:23am","04/28/2024 11:17:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/28/2024","04/28/2024 11:47:00am","04/28/2024 3:52:42pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/28/2024","04/28/2024 8:54:20am","04/28/2024 12:50:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/28/2024","04/28/2024 1:21:00pm","04/28/2024 4:15:45pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/28/2024","04/28/2024 6:56:32am","04/28/2024 9:39:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/28/2024","04/28/2024 10:09:00am","04/28/2024 1:50:09pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/28/2024","04/28/2024 7:59:35am","04/28/2024 9:50:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/28/2024","04/28/2024 10:22:00am","04/28/2024 4:13:34pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/28/2024","04/28/2024 6:48:00am","04/28/2024 8:13:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/28/2024","04/28/2024 8:43:00am","04/28/2024 4:12:00pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/28/2024","04/28/2024 6:00:00am","04/28/2024 6:19:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/28/2024","04/28/2024 6:49:00am","04/28/2024 4:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","04/29/2024","04/29/2024 8:02:45am","04/29/2024 2:27:45pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/29/2024","04/29/2024 7:05:52am","04/29/2024 10:32:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/29/2024","04/29/2024 11:02:00am","04/29/2024 2:11:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/29/2024","04/29/2024 8:50:13am","04/29/2024 11:00:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/29/2024","04/29/2024 11:31:00am","04/29/2024 2:07:52pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/29/2024","04/29/2024 8:34:56am","04/29/2024 9:06:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/29/2024","04/29/2024 9:36:00am","04/29/2024 2:27:32pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","300","","04/29/2024","04/29/2024 8:25:19am","04/29/2024 1:39:40pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1701","","300","","04/29/2024","04/29/2024 8:07:29am","04/29/2024 12:08:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/29/2024","04/29/2024 12:38:00pm","04/29/2024 4:56:07pm","18","0.00","Lopez","Valentin","7098657" +"146903#163","","200","","04/29/2024","04/29/2024 7:00:07am","04/29/2024 8:34:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/29/2024","04/29/2024 9:04:00am","04/29/2024 1:35:58pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/29/2024","04/29/2024 7:59:40am","04/29/2024 9:34:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/29/2024","04/29/2024 10:06:00am","04/29/2024 2:59:41pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","04/29/2024","04/29/2024 8:42:05am","04/29/2024 10:42:00am","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","04/29/2024","04/29/2024 11:15:00am","04/29/2024 11:43:46am","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#47","","200","","04/29/2024","04/29/2024 6:00:00am","04/29/2024 6:25:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/29/2024","04/29/2024 6:55:00am","04/29/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","04/30/2024","04/30/2024 8:42:07am","04/30/2024 8:55:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/30/2024","04/30/2024 9:26:00am","04/30/2024 2:58:59pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/30/2024","04/30/2024 7:00:46am","04/30/2024 12:46:26pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/30/2024","04/30/2024 6:10:22am","04/30/2024 2:03:32pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/30/2024","04/30/2024 7:54:09am","04/30/2024 11:45:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/30/2024","04/30/2024 12:16:00pm","04/30/2024 2:03:23pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","300","","04/30/2024","04/30/2024 8:05:57am","04/30/2024 12:31:20pm","17","0.00","Karki","Rina","7098657" +"146903#1708","","300","","04/30/2024","04/30/2024 7:59:16am","04/30/2024 2:35:57pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","04/30/2024","04/30/2024 7:01:14am","04/30/2024 7:21:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/30/2024","04/30/2024 7:52:00am","04/30/2024 1:35:11pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/30/2024","04/30/2024 7:59:49am","04/30/2024 9:26:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/30/2024","04/30/2024 9:57:00am","04/30/2024 2:52:17pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/30/2024","04/30/2024 6:00:00am","04/30/2024 6:30:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/30/2024","04/30/2024 7:00:00am","04/30/2024 2:18:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","05/01/2024","05/01/2024 8:34:29am","05/01/2024 9:24:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/01/2024","05/01/2024 9:56:00am","05/01/2024 2:55:24pm","16.8","0.00","Bac","Diego","7098657" +"146903#111","","300","","05/01/2024","05/01/2024 5:36:49am","05/01/2024 8:38:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/01/2024","05/01/2024 9:08:00am","05/01/2024 12:24:26pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#4","","300","","05/01/2024","05/01/2024 6:59:40am","05/01/2024 9:15:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/01/2024","05/01/2024 9:49:00am","05/01/2024 2:25:57pm","23","0.00","Lopez","Santiago","7098657" +"146903#1666","","300","","05/01/2024","05/01/2024 7:59:58am","05/01/2024 10:08:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/01/2024","05/01/2024 10:39:00am","05/01/2024 2:17:56pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/01/2024","05/01/2024 8:05:00am","05/01/2024 10:11:00am","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/01/2024","05/01/2024 10:41:00am","05/01/2024 1:53:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/01/2024","05/01/2024 8:05:03am","05/01/2024 11:04:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","05/01/2024","05/01/2024 11:36:00am","05/01/2024 2:43:04pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/01/2024","05/01/2024 7:58:23am","05/01/2024 9:28:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/01/2024","05/01/2024 9:59:00am","05/01/2024 2:48:01pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/01/2024","05/01/2024 6:57:18am","05/01/2024 7:41:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/01/2024","05/01/2024 8:12:00am","05/01/2024 11:20:54am","16.8","0.00","Pacheco","Victor","7098657" +"146903#163","","200","","05/01/2024","05/01/2024 6:31:44am","05/01/2024 8:40:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/01/2024","05/01/2024 9:11:00am","05/01/2024 2:03:22pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#1692","","300","","05/02/2024","05/02/2024 8:45:41am","05/02/2024 11:09:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/02/2024","05/02/2024 11:41:00am","05/02/2024 2:13:12pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","300","","05/02/2024","05/02/2024 8:34:24am","05/02/2024 12:27:04pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/02/2024","05/02/2024 7:00:36am","05/02/2024 10:25:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/02/2024","05/02/2024 10:57:00am","05/02/2024 1:40:13pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/02/2024","05/02/2024 8:04:53am","05/02/2024 11:02:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/02/2024","05/02/2024 11:33:00am","05/02/2024 3:11:56pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/02/2024","05/02/2024 7:55:44am","05/02/2024 10:05:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/02/2024","05/02/2024 10:37:00am","05/02/2024 12:33:22pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#21","","200","","05/02/2024","05/02/2024 8:00:45am","05/02/2024 10:04:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/02/2024","05/02/2024 10:36:00am","05/02/2024 2:55:41pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/02/2024","05/02/2024 6:56:35am","05/02/2024 8:11:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/02/2024","05/02/2024 8:41:00am","05/02/2024 12:49:21pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","05/02/2024","05/02/2024 8:25:10am","05/02/2024 9:04:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","05/02/2024","05/02/2024 9:35:00am","05/02/2024 2:50:45pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#47","","200","","05/02/2024","05/02/2024 6:00:00am","05/02/2024 6:30:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/02/2024","05/02/2024 7:00:00am","05/02/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","05/03/2024","05/03/2024 6:58:19am","05/03/2024 10:06:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","05/03/2024","05/03/2024 10:37:00am","05/03/2024 2:36:11pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","05/03/2024","05/03/2024 6:54:51am","05/03/2024 9:03:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/03/2024","05/03/2024 9:38:00am","05/03/2024 11:52:14am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1700","","200","","05/03/2024","05/03/2024 8:59:42am","05/03/2024 2:33:29pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","05/03/2024","05/03/2024 8:58:10am","05/03/2024 12:51:22pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/03/2024","05/03/2024 7:59:44am","05/03/2024 11:54:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/03/2024","05/03/2024 12:25:00pm","05/03/2024 2:41:01pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/03/2024","05/03/2024 8:00:45am","05/03/2024 11:56:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/03/2024","05/03/2024 12:27:00pm","05/03/2024 3:05:33pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/03/2024","05/03/2024 8:02:27am","05/03/2024 10:56:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/03/2024","05/03/2024 11:27:00am","05/03/2024 12:24:48pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1708","","300","","05/03/2024","05/03/2024 8:59:51am","05/03/2024 11:59:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","05/03/2024","05/03/2024 12:33:00pm","05/03/2024 3:13:14pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/03/2024","05/03/2024 6:58:29am","05/03/2024 9:17:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/03/2024","05/03/2024 9:48:00am","05/03/2024 2:52:59pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/03/2024","05/03/2024 6:57:57am","05/03/2024 7:35:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/03/2024","05/03/2024 8:06:00am","05/03/2024 10:47:57am","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","300","","05/03/2024","05/03/2024 7:28:36am","05/03/2024 12:41:00pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","300","","05/03/2024","05/03/2024 1:12:00pm","05/03/2024 1:35:54pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1707","","200","","05/03/2024","05/03/2024 7:53:18am","05/03/2024 10:00:00am","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","05/03/2024","05/03/2024 10:30:00am","05/03/2024 12:22:25pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#50","","200","","05/03/2024","05/03/2024 8:30:51am","05/03/2024 10:11:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/03/2024","05/03/2024 10:41:00am","05/03/2024 12:05:59pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","05/03/2024","05/03/2024 8:31:40am","05/03/2024 12:01:00pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","05/03/2024","05/03/2024 12:39:00pm","05/03/2024 2:06:57pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#47","","200","","05/03/2024","05/03/2024 6:00:00am","05/03/2024 6:27:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/03/2024","05/03/2024 6:57:00am","05/03/2024 3:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","05/04/2024","05/04/2024 7:00:24am","05/04/2024 8:50:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","05/04/2024","05/04/2024 9:25:00am","05/04/2024 3:30:27pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#24","","300","","05/04/2024","05/04/2024 6:33:09am","05/04/2024 8:11:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","05/04/2024","05/04/2024 8:48:00am","05/04/2024 3:36:46pm","23","0.00","Canada","Ricardo","7098657" +"146903#1697","","300","","05/04/2024","05/04/2024 7:04:51am","05/04/2024 1:14:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","05/04/2024","05/04/2024 1:45:00pm","05/04/2024 4:04:59pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","05/04/2024","05/04/2024 5:56:30am","05/04/2024 11:34:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/04/2024","05/04/2024 12:05:00pm","05/04/2024 3:21:17pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","05/04/2024","05/04/2024 8:01:45am","05/04/2024 1:58:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","05/04/2024","05/04/2024 2:29:00pm","05/04/2024 2:53:40pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","05/04/2024","05/04/2024 7:47:58am","05/04/2024 10:11:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/04/2024","05/04/2024 10:43:00am","05/04/2024 3:32:24pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","05/04/2024","05/04/2024 8:29:46am","05/04/2024 1:06:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","05/04/2024","05/04/2024 1:36:00pm","05/04/2024 2:30:34pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","05/04/2024","05/04/2024 8:33:33am","05/04/2024 1:46:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","05/04/2024","05/04/2024 2:17:00pm","05/04/2024 2:38:34pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/04/2024","05/04/2024 6:58:31am","05/04/2024 12:27:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/04/2024","05/04/2024 1:02:00pm","05/04/2024 3:20:47pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/04/2024","05/04/2024 8:06:52am","05/04/2024 11:09:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/04/2024","05/04/2024 11:40:00am","05/04/2024 4:06:06pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/04/2024","05/04/2024 7:33:30am","05/04/2024 9:01:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/04/2024","05/04/2024 9:31:00am","05/04/2024 3:31:52pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/04/2024","05/04/2024 7:01:43am","05/04/2024 1:07:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/04/2024","05/04/2024 1:40:00pm","05/04/2024 2:48:15pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/04/2024","05/04/2024 8:57:49am","05/04/2024 3:11:12pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/04/2024","05/04/2024 6:30:00am","05/04/2024 2:04:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/04/2024","05/04/2024 2:34:00pm","05/04/2024 3:30:00pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/04/2024","05/04/2024 6:59:00am","05/04/2024 9:46:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/04/2024","05/04/2024 10:17:00am","05/04/2024 1:32:00pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","05/04/2024","05/04/2024 7:55:53am","05/04/2024 10:32:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","05/04/2024","05/04/2024 11:03:00am","05/04/2024 3:06:13pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","05/04/2024","05/04/2024 7:53:30am","05/04/2024 11:37:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","05/04/2024","05/04/2024 12:07:00pm","05/04/2024 3:20:03pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","05/04/2024","05/04/2024 8:54:50am","05/04/2024 2:00:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","05/04/2024","05/04/2024 2:32:00pm","05/04/2024 3:21:36pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","05/04/2024","05/04/2024 6:30:01am","05/04/2024 8:55:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/04/2024","05/04/2024 9:25:00am","05/04/2024 1:37:19pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/04/2024","05/04/2024 7:58:31am","05/04/2024 9:49:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/04/2024","05/04/2024 10:21:00am","05/04/2024 3:31:34pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","05/04/2024","05/04/2024 8:51:09am","05/04/2024 12:14:00pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","05/04/2024","05/04/2024 12:50:00pm","05/04/2024 1:58:11pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1709","","200","","05/04/2024","05/04/2024 6:42:54am","05/04/2024 8:11:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","05/04/2024","05/04/2024 8:51:00am","05/04/2024 3:32:40pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","05/04/2024","05/04/2024 6:00:00am","05/04/2024 6:01:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/04/2024","05/04/2024 6:31:00am","05/04/2024 4:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","05/05/2024","05/05/2024 6:59:56am","05/05/2024 9:06:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","05/05/2024","05/05/2024 9:36:00am","05/05/2024 3:30:46pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","05/05/2024","05/05/2024 8:01:17am","05/05/2024 1:33:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/05/2024","05/05/2024 2:05:00pm","05/05/2024 2:59:43pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","05/05/2024","05/05/2024 6:31:41am","05/05/2024 9:29:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","05/05/2024","05/05/2024 10:00:00am","05/05/2024 3:50:30pm","23","0.00","Canada","Ricardo","7098657" +"146903#1697","","300","","05/05/2024","05/05/2024 7:18:52am","05/05/2024 11:54:00am","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","05/05/2024","05/05/2024 12:24:00pm","05/05/2024 3:50:08pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","05/05/2024","05/05/2024 6:27:26am","05/05/2024 12:15:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/05/2024","05/05/2024 12:45:00pm","05/05/2024 3:11:07pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","05/05/2024","05/05/2024 7:59:25am","05/05/2024 2:22:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","05/05/2024","05/05/2024 2:52:00pm","05/05/2024 2:56:11pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","05/05/2024","05/05/2024 6:58:17am","05/05/2024 8:49:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/05/2024","05/05/2024 9:21:00am","05/05/2024 4:06:07pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","05/05/2024","05/05/2024 8:32:33am","05/05/2024 1:37:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","05/05/2024","05/05/2024 2:07:00pm","05/05/2024 2:33:17pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","05/05/2024","05/05/2024 8:30:28am","05/05/2024 2:10:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","05/05/2024","05/05/2024 2:40:00pm","05/05/2024 2:41:25pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/05/2024","05/05/2024 6:59:46am","05/05/2024 12:59:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/05/2024","05/05/2024 1:31:00pm","05/05/2024 4:00:08pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/05/2024","05/05/2024 8:03:11am","05/05/2024 10:56:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/05/2024","05/05/2024 11:26:00am","05/05/2024 4:23:27pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/05/2024","05/05/2024 6:47:51am","05/05/2024 8:03:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/05/2024","05/05/2024 8:36:00am","05/05/2024 3:51:29pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/05/2024","05/05/2024 6:58:37am","05/05/2024 1:42:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/05/2024","05/05/2024 2:12:00pm","05/05/2024 3:00:53pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/05/2024","05/05/2024 8:59:15am","05/05/2024 4:24:06pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/05/2024","05/05/2024 6:29:44am","05/05/2024 1:55:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/05/2024","05/05/2024 2:28:00pm","05/05/2024 3:33:26pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/05/2024","05/05/2024 6:26:32am","05/05/2024 8:55:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/05/2024","05/05/2024 9:26:00am","05/05/2024 1:41:02pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","05/05/2024","05/05/2024 7:55:22am","05/05/2024 10:12:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","05/05/2024","05/05/2024 10:42:00am","05/05/2024 3:18:19pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","05/05/2024","05/05/2024 8:01:58am","05/05/2024 11:04:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","05/05/2024","05/05/2024 11:35:00am","05/05/2024 3:34:13pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","05/05/2024","05/05/2024 8:54:39am","05/05/2024 12:09:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","05/05/2024","05/05/2024 12:39:00pm","05/05/2024 3:48:18pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","05/05/2024","05/05/2024 6:58:43am","05/05/2024 9:28:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/05/2024","05/05/2024 9:59:00am","05/05/2024 2:20:38pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/05/2024","05/05/2024 8:03:36am","05/05/2024 10:03:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/05/2024","05/05/2024 10:36:00am","05/05/2024 3:48:59pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","05/05/2024","05/05/2024 8:54:07am","05/05/2024 12:50:00pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","05/05/2024","05/05/2024 1:25:00pm","05/05/2024 1:36:09pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1709","","200","","05/05/2024","05/05/2024 6:57:17am","05/05/2024 8:21:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","05/05/2024","05/05/2024 8:51:00am","05/05/2024 3:33:03pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","05/05/2024","05/05/2024 6:00:00am","05/05/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/05/2024","05/05/2024 6:58:00am","05/05/2024 4:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","05/06/2024","05/06/2024 7:59:36am","05/06/2024 2:31:58pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","05/06/2024","05/06/2024 7:10:05am","05/06/2024 12:51:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/06/2024","05/06/2024 1:21:00pm","05/06/2024 2:29:06pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","05/06/2024","05/06/2024 8:58:53am","05/06/2024 12:19:33pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","05/06/2024","05/06/2024 8:24:37am","05/06/2024 8:30:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","05/06/2024","05/06/2024 9:01:00am","05/06/2024 2:27:30pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","300","","05/06/2024","05/06/2024 8:30:23am","05/06/2024 1:43:58pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1708","","300","","05/06/2024","05/06/2024 8:02:32am","05/06/2024 3:43:13pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","05/06/2024","05/06/2024 7:00:01am","05/06/2024 7:46:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/06/2024","05/06/2024 8:17:00am","05/06/2024 12:13:32pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/06/2024","05/06/2024 7:59:28am","05/06/2024 9:23:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/06/2024","05/06/2024 9:55:00am","05/06/2024 2:43:52pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","05/06/2024","05/06/2024 6:00:00am","05/06/2024 6:27:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/06/2024","05/06/2024 6:57:00am","05/06/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1714","","300","","05/07/2024","05/07/2024 9:00:00am","05/07/2024 12:34:00pm","18","0.00","Argueta","Brandon","7098657" +"146903#1714","","300","","05/07/2024","05/07/2024 1:05:00pm","05/07/2024 3:16:51pm","18","0.00","Argueta","Brandon","7098657" +"146903#1711","","200","","05/07/2024","05/07/2024 8:47:48am","05/07/2024 9:05:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/07/2024","05/07/2024 9:36:00am","05/07/2024 2:56:28pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","05/07/2024","05/07/2024 7:03:03am","05/07/2024 1:00:59pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","05/07/2024","05/07/2024 6:57:14am","05/07/2024 2:22:28pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","05/07/2024","05/07/2024 7:49:34am","05/07/2024 11:44:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/07/2024","05/07/2024 12:18:00pm","05/07/2024 2:19:17pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","300","","05/07/2024","05/07/2024 7:58:23am","05/07/2024 11:59:53am","17","0.00","Karki","Rina","7098657" +"146903#1708","","300","","05/07/2024","05/07/2024 8:14:48am","05/07/2024 3:16:38pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","05/07/2024","05/07/2024 7:00:10am","05/07/2024 7:28:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/07/2024","05/07/2024 7:58:00am","05/07/2024 1:11:10pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/07/2024","05/07/2024 8:00:34am","05/07/2024 9:02:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/07/2024","05/07/2024 9:32:00am","05/07/2024 2:51:54pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","05/07/2024","05/07/2024 6:00:00am","05/07/2024 6:34:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/07/2024","05/07/2024 7:04:00am","05/07/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1714","","300","","05/08/2024","05/08/2024 9:13:55am","05/08/2024 11:37:00am","18","0.00","Argueta","Brandon","7098657" +"146903#1714","","300","","05/08/2024","05/08/2024 12:08:00pm","05/08/2024 2:53:08pm","18","0.00","Argueta","Brandon","7098657" +"146903#1711","","200","","05/08/2024","05/08/2024 8:31:51am","05/08/2024 9:19:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/08/2024","05/08/2024 9:51:00am","05/08/2024 2:56:05pm","16.8","0.00","Bac","Diego","7098657" +"146903#111","","300","","05/08/2024","05/08/2024 6:07:06am","05/08/2024 9:04:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/08/2024","05/08/2024 9:34:00am","05/08/2024 2:31:55pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#4","","300","","05/08/2024","05/08/2024 6:58:02am","05/08/2024 10:16:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/08/2024","05/08/2024 10:49:00am","05/08/2024 12:36:15pm","23","0.00","Lopez","Santiago","7098657" +"146903#1666","","300","","05/08/2024","05/08/2024 7:57:45am","05/08/2024 11:10:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/08/2024","05/08/2024 11:42:00am","05/08/2024 2:37:55pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/08/2024","05/08/2024 8:04:33am","05/08/2024 10:43:00am","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/08/2024","05/08/2024 11:13:00am","05/08/2024 12:15:38pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/08/2024","05/08/2024 11:33:33am","05/08/2024 2:52:59pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/08/2024","05/08/2024 8:01:22am","05/08/2024 10:19:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/08/2024","05/08/2024 10:49:00am","05/08/2024 2:44:01pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/08/2024","05/08/2024 6:57:01am","05/08/2024 7:41:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/08/2024","05/08/2024 8:12:00am","05/08/2024 12:57:14pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#163","","200","","05/08/2024","05/08/2024 6:28:32am","05/08/2024 8:42:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/08/2024","05/08/2024 9:13:00am","05/08/2024 2:01:59pm","16.8","0.00","Vasquez","Daniel","7098657" diff --git a/dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240509.csv new file mode 100644 index 00000000..76eaeadf --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/Bill's Cafe - Fremont_20240509.csv @@ -0,0 +1,543 @@ +"146903#1711","","200","","04/19/2024","04/19/2024 7:59:52am","04/19/2024 11:17:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/19/2024","04/19/2024 11:47:00am","04/19/2024 2:09:38pm","16.8","0.00","Bac","Diego","7098657" +"146903#161","","200","","04/19/2024","04/19/2024 8:57:24am","04/19/2024 12:12:00pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#161","","200","","04/19/2024","04/19/2024 12:47:00pm","04/19/2024 2:54:29pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#24","","300","","04/19/2024","04/19/2024 6:55:27am","04/19/2024 9:15:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/19/2024","04/19/2024 9:47:00am","04/19/2024 2:30:24pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/19/2024","04/19/2024 7:00:33am","04/19/2024 9:10:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/19/2024","04/19/2024 9:40:00am","04/19/2024 12:38:46pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/19/2024","04/19/2024 7:54:09am","04/19/2024 10:09:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/19/2024","04/19/2024 10:41:00am","04/19/2024 12:38:07pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","200","","04/19/2024","04/19/2024 9:02:11am","04/19/2024 1:06:10pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/19/2024","04/19/2024 7:57:56am","04/19/2024 11:57:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/19/2024","04/19/2024 12:27:00pm","04/19/2024 2:26:45pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/19/2024","04/19/2024 8:02:47am","04/19/2024 1:41:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/19/2024","04/19/2024 2:12:00pm","04/19/2024 3:03:48pm","18","0.00","Lopez","Valentin","7098657" +"146903#1708","","300","","04/19/2024","04/19/2024 9:01:25am","04/19/2024 3:00:52pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/19/2024","04/19/2024 6:58:34am","04/19/2024 9:14:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/19/2024","04/19/2024 9:44:00am","04/19/2024 2:36:53pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/19/2024","04/19/2024 6:58:21am","04/19/2024 8:11:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/19/2024","04/19/2024 8:42:00am","04/19/2024 12:45:00pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","300","","04/19/2024","04/19/2024 7:29:29am","04/19/2024 1:21:42pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#50","","200","","04/19/2024","04/19/2024 8:30:45am","04/19/2024 10:04:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/19/2024","04/19/2024 10:35:00am","04/19/2024 2:36:44pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/19/2024","04/19/2024 6:00:00am","04/19/2024 6:23:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/19/2024","04/19/2024 6:53:00am","04/19/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/20/2024","04/20/2024 7:00:29am","04/20/2024 8:50:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/20/2024","04/20/2024 9:20:00am","04/20/2024 3:32:40pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/20/2024","04/20/2024 8:01:31am","04/20/2024 1:14:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/20/2024","04/20/2024 1:45:00pm","04/20/2024 2:35:08pm","16.8","0.00","Bac","Diego","7098657" +"146903#161","","200","","04/20/2024","04/20/2024 8:59:11am","04/20/2024 2:00:00pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#161","","200","","04/20/2024","04/20/2024 2:32:00pm","04/20/2024 3:52:56pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#24","","300","","04/20/2024","04/20/2024 6:30:09am","04/20/2024 8:08:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/20/2024","04/20/2024 8:38:00am","04/20/2024 3:24:37pm","23","0.00","Canada","Ricardo","7098657" +"146903#1706","","300","","04/20/2024","04/20/2024 8:29:56am","04/20/2024 1:11:00pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1706","","300","","04/20/2024","04/20/2024 1:42:00pm","04/20/2024 2:45:39pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1697","","300","","04/20/2024","04/20/2024 7:12:01am","04/20/2024 3:31:46pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/20/2024","04/20/2024 6:04:43am","04/20/2024 9:12:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/20/2024","04/20/2024 9:42:00am","04/20/2024 3:11:12pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/20/2024","04/20/2024 8:01:36am","04/20/2024 1:58:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/20/2024","04/20/2024 2:29:00pm","04/20/2024 2:45:21pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/20/2024","04/20/2024 7:59:50am","04/20/2024 10:05:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/20/2024","04/20/2024 10:36:00am","04/20/2024 3:26:42pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","200","","04/20/2024","04/20/2024 8:31:58am","04/20/2024 1:59:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/20/2024","04/20/2024 2:29:00pm","04/20/2024 2:47:50pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/20/2024","04/20/2024 6:58:56am","04/20/2024 12:10:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/20/2024","04/20/2024 12:43:00pm","04/20/2024 3:23:46pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/20/2024","04/20/2024 8:03:51am","04/20/2024 10:30:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/20/2024","04/20/2024 11:01:00am","04/20/2024 3:58:27pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/20/2024","04/20/2024 7:18:42am","04/20/2024 9:06:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/20/2024","04/20/2024 9:39:00am","04/20/2024 3:24:10pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/20/2024","04/20/2024 6:59:26am","04/20/2024 1:14:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/20/2024","04/20/2024 1:47:00pm","04/20/2024 2:29:32pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/20/2024","04/20/2024 8:58:25am","04/20/2024 11:49:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","04/20/2024","04/20/2024 12:20:00pm","04/20/2024 4:04:49pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/20/2024","04/20/2024 6:30:26am","04/20/2024 1:52:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/20/2024","04/20/2024 2:23:00pm","04/20/2024 3:31:54pm","18","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/20/2024","04/20/2024 7:54:36am","04/20/2024 1:13:00pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/20/2024","04/20/2024 1:43:00pm","04/20/2024 2:51:32pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/20/2024","04/20/2024 7:53:55am","04/20/2024 9:17:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/20/2024","04/20/2024 9:44:00am","04/20/2024 3:06:51pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/20/2024","04/20/2024 8:21:53am","04/20/2024 1:19:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/20/2024","04/20/2024 1:49:00pm","04/20/2024 3:19:06pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/20/2024","04/20/2024 6:59:44am","04/20/2024 7:30:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/20/2024","04/20/2024 8:01:00am","04/20/2024 1:59:26pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/20/2024","04/20/2024 8:00:01am","04/20/2024 9:38:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/20/2024","04/20/2024 10:08:00am","04/20/2024 3:32:03pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/20/2024","04/20/2024 6:51:52am","04/20/2024 8:06:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/20/2024","04/20/2024 8:36:00am","04/20/2024 3:28:31pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/20/2024","04/20/2024 6:00:00am","04/20/2024 6:18:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/20/2024","04/20/2024 6:48:00am","04/20/2024 4:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/21/2024","04/21/2024 7:00:28am","04/21/2024 8:59:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/21/2024","04/21/2024 9:29:00am","04/21/2024 3:45:31pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/21/2024","04/21/2024 8:02:12am","04/21/2024 12:00:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/21/2024","04/21/2024 12:30:00pm","04/21/2024 2:52:16pm","16.8","0.00","Bac","Diego","7098657" +"146903#161","","200","","04/21/2024","04/21/2024 8:57:11am","04/21/2024 2:20:00pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#161","","200","","04/21/2024","04/21/2024 2:51:00pm","04/21/2024 3:48:28pm","16.8","0.00","Bahena","Oscar","7098657" +"146903#24","","300","","04/21/2024","04/21/2024 6:31:39am","04/21/2024 8:56:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/21/2024","04/21/2024 9:31:00am","04/21/2024 3:48:12pm","23","0.00","Canada","Ricardo","7098657" +"146903#1706","","300","","04/21/2024","04/21/2024 8:35:17am","04/21/2024 1:31:00pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1706","","300","","04/21/2024","04/21/2024 2:03:00pm","04/21/2024 3:01:49pm","16.8","0.00","Contreras","Daniel","7098657" +"146903#1697","","300","","04/21/2024","04/21/2024 7:10:10am","04/21/2024 2:24:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","04/21/2024","04/21/2024 2:55:00pm","04/21/2024 4:23:47pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/21/2024","04/21/2024 6:07:36am","04/21/2024 8:24:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/21/2024","04/21/2024 8:56:00am","04/21/2024 2:20:51pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/21/2024","04/21/2024 7:00:39am","04/21/2024 2:03:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/21/2024","04/21/2024 2:33:00pm","04/21/2024 2:55:35pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/21/2024","04/21/2024 6:43:34am","04/21/2024 8:08:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/21/2024","04/21/2024 8:40:00am","04/21/2024 4:08:27pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","200","","04/21/2024","04/21/2024 8:31:37am","04/21/2024 2:18:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/21/2024","04/21/2024 2:48:00pm","04/21/2024 2:57:02pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/21/2024","04/21/2024 6:07:47am","04/21/2024 9:10:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/21/2024","04/21/2024 9:42:00am","04/21/2024 4:05:34pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/21/2024","04/21/2024 8:03:25am","04/21/2024 10:18:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/21/2024","04/21/2024 10:48:00am","04/21/2024 5:21:40pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/21/2024","04/21/2024 6:21:04am","04/21/2024 7:46:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/21/2024","04/21/2024 8:17:00am","04/21/2024 3:57:33pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1708","","300","","04/21/2024","04/21/2024 8:59:47am","04/21/2024 5:21:21pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/21/2024","04/21/2024 6:30:41am","04/21/2024 2:08:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/21/2024","04/21/2024 2:40:00pm","04/21/2024 3:44:20pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/21/2024","04/21/2024 6:58:31am","04/21/2024 9:53:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/21/2024","04/21/2024 10:26:00am","04/21/2024 2:12:07pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/21/2024","04/21/2024 7:54:18am","04/21/2024 11:05:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/21/2024","04/21/2024 11:35:00am","04/21/2024 3:17:04pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/21/2024","04/21/2024 7:56:51am","04/21/2024 2:17:00pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/21/2024","04/21/2024 2:48:00pm","04/21/2024 3:32:34pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/21/2024","04/21/2024 8:18:45am","04/21/2024 12:58:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/21/2024","04/21/2024 1:29:00pm","04/21/2024 3:22:08pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/21/2024","04/21/2024 6:28:07am","04/21/2024 8:58:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/21/2024","04/21/2024 9:28:00am","04/21/2024 2:15:00pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/21/2024","04/21/2024 8:00:31am","04/21/2024 9:53:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/21/2024","04/21/2024 10:23:00am","04/21/2024 3:44:33pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/21/2024","04/21/2024 6:51:31am","04/21/2024 8:07:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/21/2024","04/21/2024 8:37:00am","04/21/2024 3:45:35pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/21/2024","04/21/2024 6:00:00am","04/21/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/21/2024","04/21/2024 6:58:00am","04/21/2024 4:00:15pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","04/22/2024","04/22/2024 8:01:00am","04/22/2024 11:04:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/22/2024","04/22/2024 11:34:00am","04/22/2024 2:15:00pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/22/2024","04/22/2024 7:10:26am","04/22/2024 12:31:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/22/2024","04/22/2024 1:01:00pm","04/22/2024 2:20:19pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/22/2024","04/22/2024 8:55:07am","04/22/2024 11:46:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/22/2024","04/22/2024 12:16:00pm","04/22/2024 2:09:31pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/22/2024","04/22/2024 8:23:52am","04/22/2024 8:37:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/22/2024","04/22/2024 9:07:00am","04/22/2024 2:42:26pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","300","","04/22/2024","04/22/2024 8:32:48am","04/22/2024 1:50:47pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1701","","300","","04/22/2024","04/22/2024 8:02:42am","04/22/2024 11:31:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/22/2024","04/22/2024 12:02:00pm","04/22/2024 3:42:27pm","18","0.00","Lopez","Valentin","7098657" +"146903#163","","200","","04/22/2024","04/22/2024 6:59:24am","04/22/2024 7:37:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/22/2024","04/22/2024 8:07:00am","04/22/2024 1:27:54pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/22/2024","04/22/2024 8:00:33am","04/22/2024 9:45:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/22/2024","04/22/2024 10:17:00am","04/22/2024 2:46:23pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/22/2024","04/22/2024 6:00:00am","04/22/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/22/2024","04/22/2024 6:58:00am","04/22/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","04/23/2024","04/23/2024 8:37:43am","04/23/2024 8:51:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/23/2024","04/23/2024 9:21:00am","04/23/2024 3:03:47pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/23/2024","04/23/2024 7:01:35am","04/23/2024 2:11:14pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/23/2024","04/23/2024 6:07:39am","04/23/2024 2:13:18pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/23/2024","04/23/2024 8:01:29am","04/23/2024 10:47:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/23/2024","04/23/2024 11:26:00am","04/23/2024 12:34:46pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","300","","04/23/2024","04/23/2024 7:58:38am","04/23/2024 12:00:17pm","17","0.00","Karki","Rina","7098657" +"146903#1708","","300","","04/23/2024","04/23/2024 8:12:09am","04/23/2024 2:56:04pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","04/23/2024","04/23/2024 7:01:43am","04/23/2024 7:33:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/23/2024","04/23/2024 8:03:00am","04/23/2024 12:54:41pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/23/2024","04/23/2024 8:00:30am","04/23/2024 9:19:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/23/2024","04/23/2024 9:52:00am","04/23/2024 2:50:39pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/23/2024","04/23/2024 6:00:00am","04/23/2024 6:18:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/23/2024","04/23/2024 6:48:00am","04/23/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","04/24/2024","04/24/2024 8:33:37am","04/24/2024 10:06:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/24/2024","04/24/2024 10:37:00am","04/24/2024 2:36:30pm","16.8","0.00","Bac","Diego","7098657" +"146903#111","","300","","04/24/2024","04/24/2024 6:15:28am","04/24/2024 9:21:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/24/2024","04/24/2024 9:51:00am","04/24/2024 2:15:43pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#4","","300","","04/24/2024","04/24/2024 6:59:28am","04/24/2024 10:17:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/24/2024","04/24/2024 10:50:00am","04/24/2024 12:34:50pm","23","0.00","Lopez","Santiago","7098657" +"146903#1666","","300","","04/24/2024","04/24/2024 7:50:48am","04/24/2024 11:00:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/24/2024","04/24/2024 11:31:00am","04/24/2024 2:15:57pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/24/2024","04/24/2024 7:59:48am","04/24/2024 10:52:00am","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/24/2024","04/24/2024 11:25:00am","04/24/2024 1:57:47pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/24/2024","04/24/2024 8:11:23am","04/24/2024 11:27:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","04/24/2024","04/24/2024 12:06:00pm","04/24/2024 2:48:52pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/24/2024","04/24/2024 8:03:08am","04/24/2024 9:25:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/24/2024","04/24/2024 9:59:00am","04/24/2024 2:40:30pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/24/2024","04/24/2024 6:55:50am","04/24/2024 7:27:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/24/2024","04/24/2024 7:57:00am","04/24/2024 12:22:21pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#163","","200","","04/24/2024","04/24/2024 6:29:02am","04/24/2024 8:34:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/24/2024","04/24/2024 9:05:00am","04/24/2024 1:42:06pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#1692","","300","","04/25/2024","04/25/2024 8:56:35am","04/25/2024 11:06:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/25/2024","04/25/2024 11:37:00am","04/25/2024 2:22:20pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","300","","04/25/2024","04/25/2024 8:30:33am","04/25/2024 1:23:24pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/25/2024","04/25/2024 6:58:06am","04/25/2024 12:29:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/25/2024","04/25/2024 1:01:00pm","04/25/2024 2:09:52pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/25/2024","04/25/2024 7:55:47am","04/25/2024 12:20:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/25/2024","04/25/2024 12:50:00pm","04/25/2024 3:32:55pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/25/2024","04/25/2024 7:55:25am","04/25/2024 10:08:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/25/2024","04/25/2024 10:39:00am","04/25/2024 1:32:37pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#21","","200","","04/25/2024","04/25/2024 8:01:17am","04/25/2024 9:34:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/25/2024","04/25/2024 10:07:00am","04/25/2024 2:56:36pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/25/2024","04/25/2024 6:58:55am","04/25/2024 8:01:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/25/2024","04/25/2024 8:32:00am","04/25/2024 12:59:59pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/25/2024","04/25/2024 8:23:48am","04/25/2024 8:53:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/25/2024","04/25/2024 9:24:00am","04/25/2024 2:48:29pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#47","","200","","04/25/2024","04/25/2024 6:00:00am","04/25/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/25/2024","04/25/2024 6:58:00am","04/25/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","04/26/2024","04/26/2024 7:01:27am","04/26/2024 2:32:53pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/26/2024","04/26/2024 7:06:29am","04/26/2024 11:08:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/26/2024","04/26/2024 11:38:00am","04/26/2024 1:23:26pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1700","","200","","04/26/2024","04/26/2024 7:58:16am","04/26/2024 8:25:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/26/2024","04/26/2024 8:55:00am","04/26/2024 1:48:38pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","04/26/2024","04/26/2024 9:00:08am","04/26/2024 1:08:54pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/26/2024","04/26/2024 7:58:38am","04/26/2024 2:42:55pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/26/2024","04/26/2024 8:00:38am","04/26/2024 1:13:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/26/2024","04/26/2024 1:44:00pm","04/26/2024 3:06:49pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/26/2024","04/26/2024 8:00:08am","04/26/2024 2:46:30pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1708","","300","","04/26/2024","04/26/2024 9:00:19am","04/26/2024 3:10:42pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/26/2024","04/26/2024 7:50:02am","04/26/2024 10:54:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/26/2024","04/26/2024 11:27:00am","04/26/2024 2:34:15pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/26/2024","04/26/2024 6:56:29am","04/26/2024 8:18:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/26/2024","04/26/2024 8:49:00am","04/26/2024 12:39:05pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","300","","04/26/2024","04/26/2024 7:27:34am","04/26/2024 1:20:59pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1707","","200","","04/26/2024","04/26/2024 8:16:42am","04/26/2024 11:17:00am","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/26/2024","04/26/2024 11:48:00am","04/26/2024 2:27:46pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#50","","200","","04/26/2024","04/26/2024 8:30:39am","04/26/2024 9:17:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/26/2024","04/26/2024 9:48:00am","04/26/2024 2:34:27pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/26/2024","04/26/2024 6:00:00am","04/26/2024 6:25:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/26/2024","04/26/2024 6:55:00am","04/26/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/27/2024","04/27/2024 7:00:24am","04/27/2024 8:44:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/27/2024","04/27/2024 9:14:00am","04/27/2024 3:27:26pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/27/2024","04/27/2024 8:00:10am","04/27/2024 1:16:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/27/2024","04/27/2024 1:47:00pm","04/27/2024 2:43:05pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/27/2024","04/27/2024 6:30:00am","04/27/2024 2:00:00pm","23","0.00","Canada","Ricardo","7098657" +"146903#1706","","300","","04/27/2024","04/27/2024 8:31:00am","04/27/2024 11:38:00am","16.8","0.00","Contreras","Daniel","7098657" +"146903#1697","","300","","04/27/2024","04/27/2024 7:08:32am","04/27/2024 1:44:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","04/27/2024","04/27/2024 2:15:00pm","04/27/2024 3:30:09pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/27/2024","04/27/2024 6:05:33am","04/27/2024 10:19:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/27/2024","04/27/2024 10:50:00am","04/27/2024 1:25:54pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/27/2024","04/27/2024 8:00:21am","04/27/2024 1:36:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/27/2024","04/27/2024 2:06:00pm","04/27/2024 2:58:17pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/27/2024","04/27/2024 7:46:03am","04/27/2024 9:55:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/27/2024","04/27/2024 10:28:00am","04/27/2024 3:35:18pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/27/2024","04/27/2024 8:21:00am","04/27/2024 12:28:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/27/2024","04/27/2024 12:58:00pm","04/27/2024 2:35:00pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","04/27/2024","04/27/2024 8:31:43am","04/27/2024 1:23:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/27/2024","04/27/2024 1:54:00pm","04/27/2024 2:38:20pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/27/2024","04/27/2024 6:59:25am","04/27/2024 11:05:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/27/2024","04/27/2024 11:37:00am","04/27/2024 3:21:20pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/27/2024","04/27/2024 8:08:00am","04/27/2024 11:28:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/27/2024","04/27/2024 11:58:00am","04/27/2024 3:59:11pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/27/2024","04/27/2024 7:35:33am","04/27/2024 9:03:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/27/2024","04/27/2024 9:36:00am","04/27/2024 3:37:27pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/27/2024","04/27/2024 7:02:24am","04/27/2024 12:55:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/27/2024","04/27/2024 1:26:00pm","04/27/2024 2:58:26pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/27/2024","04/27/2024 9:00:46am","04/27/2024 3:59:45pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/27/2024","04/27/2024 6:30:18am","04/27/2024 1:22:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/27/2024","04/27/2024 1:54:00pm","04/27/2024 3:24:02pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/27/2024","04/27/2024 6:57:36am","04/27/2024 10:08:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/27/2024","04/27/2024 10:38:00am","04/27/2024 1:17:47pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/27/2024","04/27/2024 7:53:50am","04/27/2024 10:59:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/27/2024","04/27/2024 11:29:00am","04/27/2024 3:08:31pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/27/2024","04/27/2024 8:00:32am","04/27/2024 12:17:00pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/27/2024","04/27/2024 12:47:00pm","04/27/2024 3:00:40pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/27/2024","04/27/2024 8:21:53am","04/27/2024 12:24:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/27/2024","04/27/2024 12:55:00pm","04/27/2024 3:29:30pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/27/2024","04/27/2024 6:28:49am","04/27/2024 8:56:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/27/2024","04/27/2024 9:26:00am","04/27/2024 1:37:32pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/27/2024","04/27/2024 8:01:28am","04/27/2024 9:41:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/27/2024","04/27/2024 10:13:00am","04/27/2024 3:24:09pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/27/2024","04/27/2024 6:51:13am","04/27/2024 8:10:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/27/2024","04/27/2024 8:40:00am","04/27/2024 3:27:54pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/27/2024","04/27/2024 6:17:25am","04/27/2024 6:18:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/27/2024","04/27/2024 6:48:00am","04/27/2024 4:00:01pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","04/28/2024","04/28/2024 7:00:26am","04/28/2024 8:52:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","04/28/2024","04/28/2024 9:22:00am","04/28/2024 4:12:34pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","04/28/2024","04/28/2024 8:00:28am","04/28/2024 12:09:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/28/2024","04/28/2024 12:39:00pm","04/28/2024 2:49:21pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/28/2024","04/28/2024 6:34:27am","04/28/2024 9:51:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","04/28/2024","04/28/2024 10:21:00am","04/28/2024 3:54:29pm","23","0.00","Canada","Ricardo","7098657" +"146903#1697","","300","","04/28/2024","04/28/2024 7:14:36am","04/28/2024 1:12:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","04/28/2024","04/28/2024 1:43:00pm","04/28/2024 3:48:48pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","04/28/2024","04/28/2024 5:51:34am","04/28/2024 11:33:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/28/2024","04/28/2024 12:03:00pm","04/28/2024 3:04:25pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","04/28/2024","04/28/2024 8:00:45am","04/28/2024 1:52:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","04/28/2024","04/28/2024 2:22:00pm","04/28/2024 2:47:12pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","04/28/2024","04/28/2024 6:50:43am","04/28/2024 8:17:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/28/2024","04/28/2024 8:49:00am","04/28/2024 2:42:29pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/28/2024","04/28/2024 8:25:20am","04/28/2024 12:48:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/28/2024","04/28/2024 1:19:00pm","04/28/2024 2:41:11pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","04/28/2024","04/28/2024 8:31:14am","04/28/2024 1:57:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","04/28/2024","04/28/2024 2:27:00pm","04/28/2024 2:47:33pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","04/28/2024","04/28/2024 6:58:32am","04/28/2024 12:14:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","04/28/2024","04/28/2024 12:49:00pm","04/28/2024 4:03:25pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","04/28/2024","04/28/2024 8:01:14am","04/28/2024 10:52:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/28/2024","04/28/2024 11:23:00am","04/28/2024 4:14:02pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","04/28/2024","04/28/2024 6:30:17am","04/28/2024 8:56:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","04/28/2024","04/28/2024 9:28:00am","04/28/2024 4:03:05pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","04/28/2024","04/28/2024 6:57:24am","04/28/2024 1:06:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","04/28/2024","04/28/2024 1:37:00pm","04/28/2024 2:50:08pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","04/28/2024","04/28/2024 8:59:13am","04/28/2024 4:39:36pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","04/28/2024","04/28/2024 6:33:43am","04/28/2024 1:55:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","04/28/2024","04/28/2024 2:29:00pm","04/28/2024 3:51:55pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","04/28/2024","04/28/2024 6:24:58am","04/28/2024 9:05:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","04/28/2024","04/28/2024 9:35:00am","04/28/2024 1:45:14pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","04/28/2024","04/28/2024 7:53:48am","04/28/2024 10:19:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","04/28/2024","04/28/2024 10:49:00am","04/28/2024 2:50:53pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","04/28/2024","04/28/2024 8:01:23am","04/28/2024 11:17:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","04/28/2024","04/28/2024 11:47:00am","04/28/2024 3:52:42pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","04/28/2024","04/28/2024 8:54:20am","04/28/2024 12:50:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","04/28/2024","04/28/2024 1:21:00pm","04/28/2024 4:15:45pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","04/28/2024","04/28/2024 6:56:32am","04/28/2024 9:39:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/28/2024","04/28/2024 10:09:00am","04/28/2024 1:50:09pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/28/2024","04/28/2024 7:59:35am","04/28/2024 9:50:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/28/2024","04/28/2024 10:22:00am","04/28/2024 4:13:34pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1709","","200","","04/28/2024","04/28/2024 6:48:00am","04/28/2024 8:13:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","04/28/2024","04/28/2024 8:43:00am","04/28/2024 4:12:00pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","04/28/2024","04/28/2024 6:00:00am","04/28/2024 6:19:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/28/2024","04/28/2024 6:49:00am","04/28/2024 4:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","04/29/2024","04/29/2024 8:02:45am","04/29/2024 2:27:45pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/29/2024","04/29/2024 7:05:52am","04/29/2024 10:32:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","04/29/2024","04/29/2024 11:02:00am","04/29/2024 2:11:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/29/2024","04/29/2024 8:50:13am","04/29/2024 11:00:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/29/2024","04/29/2024 11:31:00am","04/29/2024 2:07:52pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","04/29/2024","04/29/2024 8:34:56am","04/29/2024 9:06:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","04/29/2024","04/29/2024 9:36:00am","04/29/2024 2:27:32pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","300","","04/29/2024","04/29/2024 8:25:19am","04/29/2024 1:39:40pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1701","","300","","04/29/2024","04/29/2024 8:07:29am","04/29/2024 12:08:00pm","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","04/29/2024","04/29/2024 12:38:00pm","04/29/2024 4:56:07pm","18","0.00","Lopez","Valentin","7098657" +"146903#163","","200","","04/29/2024","04/29/2024 7:00:07am","04/29/2024 8:34:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/29/2024","04/29/2024 9:04:00am","04/29/2024 1:35:58pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/29/2024","04/29/2024 7:59:40am","04/29/2024 9:34:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/29/2024","04/29/2024 10:06:00am","04/29/2024 2:59:41pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","04/29/2024","04/29/2024 8:42:05am","04/29/2024 10:42:00am","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","04/29/2024","04/29/2024 11:15:00am","04/29/2024 11:43:46am","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#47","","200","","04/29/2024","04/29/2024 6:00:00am","04/29/2024 6:25:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/29/2024","04/29/2024 6:55:00am","04/29/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","04/30/2024","04/30/2024 8:42:07am","04/30/2024 8:55:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","04/30/2024","04/30/2024 9:26:00am","04/30/2024 2:58:59pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","04/30/2024","04/30/2024 7:00:46am","04/30/2024 12:46:26pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","04/30/2024","04/30/2024 6:10:22am","04/30/2024 2:03:32pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","04/30/2024","04/30/2024 7:54:09am","04/30/2024 11:45:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","04/30/2024","04/30/2024 12:16:00pm","04/30/2024 2:03:23pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","300","","04/30/2024","04/30/2024 8:05:57am","04/30/2024 12:31:20pm","17","0.00","Karki","Rina","7098657" +"146903#1708","","300","","04/30/2024","04/30/2024 7:59:16am","04/30/2024 2:35:57pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","04/30/2024","04/30/2024 7:01:14am","04/30/2024 7:21:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","04/30/2024","04/30/2024 7:52:00am","04/30/2024 1:35:11pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","04/30/2024","04/30/2024 7:59:49am","04/30/2024 9:26:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","04/30/2024","04/30/2024 9:57:00am","04/30/2024 2:52:17pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","04/30/2024","04/30/2024 6:00:00am","04/30/2024 6:30:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","04/30/2024","04/30/2024 7:00:00am","04/30/2024 2:18:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1711","","200","","05/01/2024","05/01/2024 8:34:29am","05/01/2024 9:24:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/01/2024","05/01/2024 9:56:00am","05/01/2024 2:55:24pm","16.8","0.00","Bac","Diego","7098657" +"146903#111","","300","","05/01/2024","05/01/2024 5:36:49am","05/01/2024 8:38:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/01/2024","05/01/2024 9:08:00am","05/01/2024 12:24:26pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#4","","300","","05/01/2024","05/01/2024 6:59:40am","05/01/2024 9:15:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/01/2024","05/01/2024 9:49:00am","05/01/2024 2:25:57pm","23","0.00","Lopez","Santiago","7098657" +"146903#1666","","300","","05/01/2024","05/01/2024 7:59:58am","05/01/2024 10:08:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/01/2024","05/01/2024 10:39:00am","05/01/2024 2:17:56pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/01/2024","05/01/2024 8:05:00am","05/01/2024 10:11:00am","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/01/2024","05/01/2024 10:41:00am","05/01/2024 1:53:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/01/2024","05/01/2024 8:05:03am","05/01/2024 11:04:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","05/01/2024","05/01/2024 11:36:00am","05/01/2024 2:43:04pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/01/2024","05/01/2024 7:58:23am","05/01/2024 9:28:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/01/2024","05/01/2024 9:59:00am","05/01/2024 2:48:01pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/01/2024","05/01/2024 6:57:18am","05/01/2024 7:41:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/01/2024","05/01/2024 8:12:00am","05/01/2024 11:20:54am","16.8","0.00","Pacheco","Victor","7098657" +"146903#163","","200","","05/01/2024","05/01/2024 6:31:44am","05/01/2024 8:40:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/01/2024","05/01/2024 9:11:00am","05/01/2024 2:03:22pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#1692","","300","","05/02/2024","05/02/2024 8:45:41am","05/02/2024 11:09:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/02/2024","05/02/2024 11:41:00am","05/02/2024 2:13:12pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","300","","05/02/2024","05/02/2024 8:34:24am","05/02/2024 12:27:04pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/02/2024","05/02/2024 7:00:36am","05/02/2024 10:25:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/02/2024","05/02/2024 10:57:00am","05/02/2024 1:40:13pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/02/2024","05/02/2024 8:04:53am","05/02/2024 11:02:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/02/2024","05/02/2024 11:33:00am","05/02/2024 3:11:56pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/02/2024","05/02/2024 7:55:44am","05/02/2024 10:05:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/02/2024","05/02/2024 10:37:00am","05/02/2024 12:33:22pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#21","","200","","05/02/2024","05/02/2024 8:00:45am","05/02/2024 10:04:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/02/2024","05/02/2024 10:36:00am","05/02/2024 2:55:41pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/02/2024","05/02/2024 6:56:35am","05/02/2024 8:11:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/02/2024","05/02/2024 8:41:00am","05/02/2024 12:49:21pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","05/02/2024","05/02/2024 8:25:10am","05/02/2024 9:04:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","05/02/2024","05/02/2024 9:35:00am","05/02/2024 2:50:45pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#47","","200","","05/02/2024","05/02/2024 6:00:00am","05/02/2024 6:30:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/02/2024","05/02/2024 7:00:00am","05/02/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","05/03/2024","05/03/2024 6:58:19am","05/03/2024 10:06:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","05/03/2024","05/03/2024 10:37:00am","05/03/2024 2:36:11pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","05/03/2024","05/03/2024 6:54:51am","05/03/2024 9:03:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/03/2024","05/03/2024 9:38:00am","05/03/2024 11:52:14am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1700","","200","","05/03/2024","05/03/2024 8:59:42am","05/03/2024 2:33:29pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","05/03/2024","05/03/2024 8:58:10am","05/03/2024 12:51:22pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/03/2024","05/03/2024 7:59:44am","05/03/2024 11:54:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/03/2024","05/03/2024 12:25:00pm","05/03/2024 2:41:01pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/03/2024","05/03/2024 8:00:45am","05/03/2024 11:56:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/03/2024","05/03/2024 12:27:00pm","05/03/2024 3:05:33pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/03/2024","05/03/2024 8:02:27am","05/03/2024 10:56:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/03/2024","05/03/2024 11:27:00am","05/03/2024 12:24:48pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1708","","300","","05/03/2024","05/03/2024 8:59:51am","05/03/2024 11:59:00am","18","0.00","Narvaez","Aaron","7098657" +"146903#1708","","300","","05/03/2024","05/03/2024 12:33:00pm","05/03/2024 3:13:14pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/03/2024","05/03/2024 6:58:29am","05/03/2024 9:17:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/03/2024","05/03/2024 9:48:00am","05/03/2024 2:52:59pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/03/2024","05/03/2024 6:57:57am","05/03/2024 7:35:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/03/2024","05/03/2024 8:06:00am","05/03/2024 10:47:57am","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","300","","05/03/2024","05/03/2024 7:28:36am","05/03/2024 12:41:00pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","300","","05/03/2024","05/03/2024 1:12:00pm","05/03/2024 1:35:54pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1707","","200","","05/03/2024","05/03/2024 7:53:18am","05/03/2024 10:00:00am","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","05/03/2024","05/03/2024 10:30:00am","05/03/2024 12:22:25pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#50","","200","","05/03/2024","05/03/2024 8:30:51am","05/03/2024 10:11:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/03/2024","05/03/2024 10:41:00am","05/03/2024 12:05:59pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","05/03/2024","05/03/2024 8:31:40am","05/03/2024 12:01:00pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","05/03/2024","05/03/2024 12:39:00pm","05/03/2024 2:06:57pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#47","","200","","05/03/2024","05/03/2024 6:00:00am","05/03/2024 6:27:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/03/2024","05/03/2024 6:57:00am","05/03/2024 3:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","05/04/2024","05/04/2024 7:00:24am","05/04/2024 8:50:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","05/04/2024","05/04/2024 9:25:00am","05/04/2024 3:30:27pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#24","","300","","05/04/2024","05/04/2024 6:33:09am","05/04/2024 8:11:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","05/04/2024","05/04/2024 8:48:00am","05/04/2024 3:36:46pm","23","0.00","Canada","Ricardo","7098657" +"146903#1697","","300","","05/04/2024","05/04/2024 7:04:51am","05/04/2024 1:14:00pm","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","05/04/2024","05/04/2024 1:45:00pm","05/04/2024 4:04:59pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","05/04/2024","05/04/2024 5:56:30am","05/04/2024 11:34:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/04/2024","05/04/2024 12:05:00pm","05/04/2024 3:21:17pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","05/04/2024","05/04/2024 8:01:45am","05/04/2024 1:58:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","05/04/2024","05/04/2024 2:29:00pm","05/04/2024 2:53:40pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","05/04/2024","05/04/2024 7:47:58am","05/04/2024 10:11:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/04/2024","05/04/2024 10:43:00am","05/04/2024 3:32:24pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","05/04/2024","05/04/2024 8:29:46am","05/04/2024 1:06:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","05/04/2024","05/04/2024 1:36:00pm","05/04/2024 2:30:34pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","05/04/2024","05/04/2024 8:33:33am","05/04/2024 1:46:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","05/04/2024","05/04/2024 2:17:00pm","05/04/2024 2:38:34pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/04/2024","05/04/2024 6:58:31am","05/04/2024 12:27:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/04/2024","05/04/2024 1:02:00pm","05/04/2024 3:20:47pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/04/2024","05/04/2024 8:06:52am","05/04/2024 11:09:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/04/2024","05/04/2024 11:40:00am","05/04/2024 4:06:06pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/04/2024","05/04/2024 7:33:30am","05/04/2024 9:01:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/04/2024","05/04/2024 9:31:00am","05/04/2024 3:31:52pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/04/2024","05/04/2024 7:01:43am","05/04/2024 1:07:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/04/2024","05/04/2024 1:40:00pm","05/04/2024 2:48:15pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/04/2024","05/04/2024 8:57:49am","05/04/2024 3:11:12pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/04/2024","05/04/2024 6:30:00am","05/04/2024 2:04:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/04/2024","05/04/2024 2:34:00pm","05/04/2024 3:30:00pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/04/2024","05/04/2024 6:59:00am","05/04/2024 9:46:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/04/2024","05/04/2024 10:17:00am","05/04/2024 1:32:00pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","05/04/2024","05/04/2024 7:55:53am","05/04/2024 10:32:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","05/04/2024","05/04/2024 11:03:00am","05/04/2024 3:06:13pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","05/04/2024","05/04/2024 7:53:30am","05/04/2024 11:37:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","05/04/2024","05/04/2024 12:07:00pm","05/04/2024 3:20:03pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","05/04/2024","05/04/2024 8:54:50am","05/04/2024 2:00:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","05/04/2024","05/04/2024 2:32:00pm","05/04/2024 3:21:36pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","05/04/2024","05/04/2024 6:30:01am","05/04/2024 8:55:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/04/2024","05/04/2024 9:25:00am","05/04/2024 1:37:19pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/04/2024","05/04/2024 7:58:31am","05/04/2024 9:49:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/04/2024","05/04/2024 10:21:00am","05/04/2024 3:31:34pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","05/04/2024","05/04/2024 8:51:09am","05/04/2024 12:14:00pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","05/04/2024","05/04/2024 12:50:00pm","05/04/2024 1:58:11pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1709","","200","","05/04/2024","05/04/2024 6:42:54am","05/04/2024 8:11:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","05/04/2024","05/04/2024 8:51:00am","05/04/2024 3:32:40pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","05/04/2024","05/04/2024 6:00:00am","05/04/2024 6:01:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/04/2024","05/04/2024 6:31:00am","05/04/2024 4:00:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1704","","200","","05/05/2024","05/05/2024 6:59:56am","05/05/2024 9:06:00am","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1704","","200","","05/05/2024","05/05/2024 9:36:00am","05/05/2024 3:30:46pm","16.8","0.00","Aguilar","Brayan","7098657" +"146903#1711","","200","","05/05/2024","05/05/2024 8:01:17am","05/05/2024 1:33:00pm","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/05/2024","05/05/2024 2:05:00pm","05/05/2024 2:59:43pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","05/05/2024","05/05/2024 6:31:41am","05/05/2024 9:29:00am","23","0.00","Canada","Ricardo","7098657" +"146903#24","","300","","05/05/2024","05/05/2024 10:00:00am","05/05/2024 3:50:30pm","23","0.00","Canada","Ricardo","7098657" +"146903#1697","","300","","05/05/2024","05/05/2024 7:18:52am","05/05/2024 11:54:00am","18","0.00","Garcia","Guillermo","7098657" +"146903#1697","","300","","05/05/2024","05/05/2024 12:24:00pm","05/05/2024 3:50:08pm","18","0.00","Garcia","Guillermo","7098657" +"146903#111","","300","","05/05/2024","05/05/2024 6:27:26am","05/05/2024 12:15:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/05/2024","05/05/2024 12:45:00pm","05/05/2024 3:11:07pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#262","","300","","05/05/2024","05/05/2024 7:59:25am","05/05/2024 2:22:00pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#262","","300","","05/05/2024","05/05/2024 2:52:00pm","05/05/2024 2:56:11pm","0","0.00","Gonzalez","Jackelyn","7098657" +"146903#1692","","300","","05/05/2024","05/05/2024 6:58:17am","05/05/2024 8:49:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/05/2024","05/05/2024 9:21:00am","05/05/2024 4:06:07pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","05/05/2024","05/05/2024 8:32:33am","05/05/2024 1:37:00pm","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","05/05/2024","05/05/2024 2:07:00pm","05/05/2024 2:33:17pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","200","","05/05/2024","05/05/2024 8:30:28am","05/05/2024 2:10:00pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1710","","200","","05/05/2024","05/05/2024 2:40:00pm","05/05/2024 2:41:25pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/05/2024","05/05/2024 6:59:46am","05/05/2024 12:59:00pm","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/05/2024","05/05/2024 1:31:00pm","05/05/2024 4:00:08pm","23","0.00","Lopez","Santiago","7098657" +"146903#1701","","300","","05/05/2024","05/05/2024 8:03:11am","05/05/2024 10:56:00am","18","0.00","Lopez","Valentin","7098657" +"146903#1701","","300","","05/05/2024","05/05/2024 11:26:00am","05/05/2024 4:23:27pm","18","0.00","Lopez","Valentin","7098657" +"146903#1666","","300","","05/05/2024","05/05/2024 6:47:51am","05/05/2024 8:03:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/05/2024","05/05/2024 8:36:00am","05/05/2024 3:51:29pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/05/2024","05/05/2024 6:58:37am","05/05/2024 1:42:00pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/05/2024","05/05/2024 2:12:00pm","05/05/2024 3:00:53pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/05/2024","05/05/2024 8:59:15am","05/05/2024 4:24:06pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/05/2024","05/05/2024 6:29:44am","05/05/2024 1:55:00pm","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/05/2024","05/05/2024 2:28:00pm","05/05/2024 3:33:26pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/05/2024","05/05/2024 6:26:32am","05/05/2024 8:55:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/05/2024","05/05/2024 9:26:00am","05/05/2024 1:41:02pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","05/05/2024","05/05/2024 7:55:22am","05/05/2024 10:12:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","05/05/2024","05/05/2024 10:42:00am","05/05/2024 3:18:19pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#1712","","200","","05/05/2024","05/05/2024 8:01:58am","05/05/2024 11:04:00am","16.8","0.00","Salgado","Paola","7098657" +"146903#1712","","200","","05/05/2024","05/05/2024 11:35:00am","05/05/2024 3:34:13pm","16.8","0.00","Salgado","Paola","7098657" +"146903#1707","","200","","05/05/2024","05/05/2024 8:54:39am","05/05/2024 12:09:00pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#1707","","200","","05/05/2024","05/05/2024 12:39:00pm","05/05/2024 3:48:18pm","16.8","0.00","Valdovinos","Brandon","7098657" +"146903#163","","200","","05/05/2024","05/05/2024 6:58:43am","05/05/2024 9:28:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/05/2024","05/05/2024 9:59:00am","05/05/2024 2:20:38pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/05/2024","05/05/2024 8:03:36am","05/05/2024 10:03:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/05/2024","05/05/2024 10:36:00am","05/05/2024 3:48:59pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#1713","","200","","05/05/2024","05/05/2024 8:54:07am","05/05/2024 12:50:00pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1713","","200","","05/05/2024","05/05/2024 1:25:00pm","05/05/2024 1:36:09pm","16.8","0.00","Villavicencio-Vega","Jorge","7098657" +"146903#1709","","200","","05/05/2024","05/05/2024 6:57:17am","05/05/2024 8:21:00am","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#1709","","200","","05/05/2024","05/05/2024 8:51:00am","05/05/2024 3:33:03pm","16.8","0.00","Zevallos","Marcelino","7098657" +"146903#47","","200","","05/05/2024","05/05/2024 6:00:00am","05/05/2024 6:28:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/05/2024","05/05/2024 6:58:00am","05/05/2024 4:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#24","","300","","05/06/2024","05/06/2024 7:59:36am","05/06/2024 2:31:58pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","05/06/2024","05/06/2024 7:10:05am","05/06/2024 12:51:00pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/06/2024","05/06/2024 1:21:00pm","05/06/2024 2:29:06pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","05/06/2024","05/06/2024 8:58:53am","05/06/2024 12:19:33pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","200","","05/06/2024","05/06/2024 8:24:37am","05/06/2024 8:30:00am","17","0.00","Karki","Rina","7098657" +"146903#1700","","200","","05/06/2024","05/06/2024 9:01:00am","05/06/2024 2:27:30pm","17","0.00","Karki","Rina","7098657" +"146903#1710","","300","","05/06/2024","05/06/2024 8:30:23am","05/06/2024 1:43:58pm","17","0.00","Khadka","Saraswoti","7098657" +"146903#1708","","300","","05/06/2024","05/06/2024 8:02:32am","05/06/2024 3:43:13pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","05/06/2024","05/06/2024 7:00:01am","05/06/2024 7:46:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/06/2024","05/06/2024 8:17:00am","05/06/2024 12:13:32pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/06/2024","05/06/2024 7:59:28am","05/06/2024 9:23:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/06/2024","05/06/2024 9:55:00am","05/06/2024 2:43:52pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","05/06/2024","05/06/2024 6:00:00am","05/06/2024 6:27:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/06/2024","05/06/2024 6:57:00am","05/06/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1714","","300","","05/07/2024","05/07/2024 9:00:00am","05/07/2024 12:34:00pm","18","0.00","Argueta","Brandon","7098657" +"146903#1714","","300","","05/07/2024","05/07/2024 1:05:00pm","05/07/2024 3:16:51pm","18","0.00","Argueta","Brandon","7098657" +"146903#1711","","200","","05/07/2024","05/07/2024 8:47:48am","05/07/2024 9:05:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/07/2024","05/07/2024 9:36:00am","05/07/2024 2:56:28pm","16.8","0.00","Bac","Diego","7098657" +"146903#24","","300","","05/07/2024","05/07/2024 7:03:03am","05/07/2024 1:00:59pm","23","0.00","Canada","Ricardo","7098657" +"146903#111","","300","","05/07/2024","05/07/2024 6:57:14am","05/07/2024 2:22:28pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#1692","","300","","05/07/2024","05/07/2024 7:49:34am","05/07/2024 11:44:00am","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1692","","300","","05/07/2024","05/07/2024 12:18:00pm","05/07/2024 2:19:17pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1700","","300","","05/07/2024","05/07/2024 7:58:23am","05/07/2024 11:59:53am","17","0.00","Karki","Rina","7098657" +"146903#1708","","300","","05/07/2024","05/07/2024 8:14:48am","05/07/2024 3:16:38pm","18","0.00","Narvaez","Aaron","7098657" +"146903#163","","200","","05/07/2024","05/07/2024 7:00:10am","05/07/2024 7:28:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/07/2024","05/07/2024 7:58:00am","05/07/2024 1:11:10pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#50","","200","","05/07/2024","05/07/2024 8:00:34am","05/07/2024 9:02:00am","17.5","0.00","Vasquez","Nora","7098657" +"146903#50","","200","","05/07/2024","05/07/2024 9:32:00am","05/07/2024 2:51:54pm","17.5","0.00","Vasquez","Nora","7098657" +"146903#47","","200","","05/07/2024","05/07/2024 6:00:00am","05/07/2024 6:34:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/07/2024","05/07/2024 7:04:00am","05/07/2024 2:30:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#1714","","300","","05/08/2024","05/08/2024 9:13:55am","05/08/2024 11:37:00am","18","0.00","Argueta","Brandon","7098657" +"146903#1714","","300","","05/08/2024","05/08/2024 12:08:00pm","05/08/2024 2:53:08pm","18","0.00","Argueta","Brandon","7098657" +"146903#1711","","200","","05/08/2024","05/08/2024 8:31:51am","05/08/2024 9:19:00am","16.8","0.00","Bac","Diego","7098657" +"146903#1711","","200","","05/08/2024","05/08/2024 9:51:00am","05/08/2024 2:56:05pm","16.8","0.00","Bac","Diego","7098657" +"146903#111","","300","","05/08/2024","05/08/2024 6:07:06am","05/08/2024 9:04:00am","24","0.00","Gonzalez","Filiberto","7098657" +"146903#111","","300","","05/08/2024","05/08/2024 9:34:00am","05/08/2024 2:31:55pm","24","0.00","Gonzalez","Filiberto","7098657" +"146903#4","","300","","05/08/2024","05/08/2024 6:58:02am","05/08/2024 10:16:00am","23","0.00","Lopez","Santiago","7098657" +"146903#4","","300","","05/08/2024","05/08/2024 10:49:00am","05/08/2024 12:36:15pm","23","0.00","Lopez","Santiago","7098657" +"146903#1666","","300","","05/08/2024","05/08/2024 7:57:45am","05/08/2024 11:10:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/08/2024","05/08/2024 11:42:00am","05/08/2024 2:37:55pm","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#168","","300","","05/08/2024","05/08/2024 8:04:33am","05/08/2024 10:43:00am","17.8","0.00","Narayan","Isabella","7098657" +"146903#168","","300","","05/08/2024","05/08/2024 11:13:00am","05/08/2024 12:15:38pm","17.8","0.00","Narayan","Isabella","7098657" +"146903#1708","","300","","05/08/2024","05/08/2024 11:33:33am","05/08/2024 2:52:59pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/08/2024","05/08/2024 8:01:22am","05/08/2024 10:19:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/08/2024","05/08/2024 10:49:00am","05/08/2024 2:44:01pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/08/2024","05/08/2024 6:57:01am","05/08/2024 7:41:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/08/2024","05/08/2024 8:12:00am","05/08/2024 12:57:14pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#163","","200","","05/08/2024","05/08/2024 6:28:32am","05/08/2024 8:42:00am","16.8","0.00","Vasquez","Daniel","7098657" +"146903#163","","200","","05/08/2024","05/08/2024 9:13:00am","05/08/2024 2:01:59pm","16.8","0.00","Vasquez","Daniel","7098657" +"146903#1692","","300","","05/09/2024","05/09/2024 8:43:20am","05/09/2024 2:00:40pm","22","0.00","Hernandez Gordillo","Junior Alejandro","7098657" +"146903#1710","","300","","05/09/2024","05/09/2024 8:30:26am","05/09/2024 10:20:21am","17","0.00","Khadka","Saraswoti","7098657" +"146903#4","","300","","05/09/2024","05/09/2024 7:01:09am","05/09/2024 12:33:31pm","23","0.00","Lopez","Santiago","7098657" +"146903#1666","","300","","05/09/2024","05/09/2024 7:58:08am","05/09/2024 9:46:00am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1666","","300","","05/09/2024","05/09/2024 10:18:00am","05/09/2024 10:23:07am","22","0.00","Molina Dominguez","Sabino","7098657" +"146903#1708","","300","","05/09/2024","05/09/2024 8:06:10am","05/09/2024 2:30:45pm","18","0.00","Narvaez","Aaron","7098657" +"146903#21","","200","","05/09/2024","05/09/2024 7:58:41am","05/09/2024 9:34:00am","18","0.00","Pacheco","Victor","7098657" +"146903#21","","200","","05/09/2024","05/09/2024 10:04:00am","05/09/2024 2:02:12pm","18","0.00","Pacheco","Victor","7098657" +"65","","200","","05/09/2024","05/09/2024 6:59:35am","05/09/2024 7:57:00am","16.8","0.00","Pacheco","Victor","7098657" +"65","","200","","05/09/2024","05/09/2024 8:28:00am","05/09/2024 12:07:35pm","16.8","0.00","Pacheco","Victor","7098657" +"146903#248","","200","","05/09/2024","05/09/2024 8:25:39am","05/09/2024 9:02:00am","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#248","","200","","05/09/2024","05/09/2024 9:32:00am","05/09/2024 2:18:20pm","16.8","0.00","Pacheco Vazquez","Jacqueline","7098657" +"146903#47","","200","","05/09/2024","05/09/2024 6:00:00am","05/09/2024 6:34:00am","20","0.00","Zevallos Guillen","Romulo","7098657" +"146903#47","","200","","05/09/2024","05/09/2024 7:04:00am","05/09/2024 1:51:00pm","20","0.00","Zevallos Guillen","Romulo","7098657" diff --git a/dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240508.csv new file mode 100644 index 00000000..b5da56d5 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240508.csv @@ -0,0 +1,223 @@ +"147856#483","","300","","04/18/2024","04/18/2024 9:00:00am","04/18/2024 3:00:00pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","04/18/2024","04/18/2024 9:44:57am","04/18/2024 2:49:23pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/18/2024","04/18/2024 11:57:54am","04/18/2024 2:41:02pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/18/2024","04/18/2024 3:11:16pm","04/18/2024 8:16:52pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#301","","300","","04/18/2024","04/18/2024 7:57:08am","04/18/2024 2:07:55pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/18/2024","04/18/2024 8:30:00am","04/18/2024 1:57:00pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/18/2024","04/18/2024 2:30:00pm","04/18/2024 5:55:37pm","22","0.00","Matzar","Maycol","8901965" +"147856#465","","300","","04/18/2024","04/18/2024 4:57:10pm","04/18/2024 10:42:20pm","20","0.00","Mendoza","Dania","8901965" +"147856#477","","200","","04/18/2024","04/18/2024 12:57:47pm","04/18/2024 5:07:56pm","20","0.00","Morgan","Wayne","8901965" +"147856#477","","200","","04/18/2024","04/18/2024 5:39:57pm","04/18/2024 7:06:00pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/18/2024","04/18/2024 4:59:11pm","04/18/2024 10:16:46pm","20","0.00","Philips","Evan","8901965" +"147856#370","","300","","04/18/2024","04/18/2024 5:21:23pm","04/18/2024 10:42:30pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/18/2024","04/18/2024 4:58:10pm","04/18/2024 10:16:54pm","20","0.00","Thandi","Raj","8901965" +"147856#470","","300","","04/19/2024","04/19/2024 10:58:56am","04/19/2024 2:26:38pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/19/2024","04/19/2024 2:54:59pm","04/19/2024 4:02:37pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#413","","200","","04/19/2024","04/19/2024 3:59:07pm","04/19/2024 9:06:56pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#413","","200","","04/19/2024","04/19/2024 9:22:10pm","04/19/2024 10:20:07pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","04/19/2024","04/19/2024 7:57:14am","04/19/2024 1:55:24pm","20","0.00","Koutsos","Georgia","8901965" +"147856#416","","200","","04/19/2024","04/19/2024 4:57:43pm","04/19/2024 10:19:58pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","04/19/2024","04/19/2024 9:02:25am","04/19/2024 1:36:39pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/19/2024","04/19/2024 2:08:58pm","04/19/2024 8:25:34pm","22","0.00","Matzar","Maycol","8901965" +"147856#465","","300","","04/19/2024","04/19/2024 5:03:54pm","04/19/2024 11:24:49pm","20","0.00","Mendoza","Dania","8901965" +"147856#477","","200","","04/19/2024","04/19/2024 11:34:49am","04/19/2024 4:02:45pm","20","0.00","Morgan","Wayne","8901965" +"147856#380","","200","","04/19/2024","04/19/2024 10:03:58am","04/19/2024 2:59:31pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/19/2024","04/19/2024 5:11:37pm","04/19/2024 11:24:34pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#470","","300","","04/20/2024","04/20/2024 11:01:44am","04/20/2024 4:06:26pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#413","","200","","04/20/2024","04/20/2024 4:28:26pm","04/20/2024 10:10:30pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","04/20/2024","04/20/2024 7:57:11am","04/20/2024 2:20:57pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/20/2024","04/20/2024 8:58:22am","04/20/2024 2:22:20pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/20/2024","04/20/2024 2:56:18pm","04/20/2024 7:03:28pm","22","0.00","Matzar","Maycol","8901965" +"147856#465","","300","","04/20/2024","04/20/2024 4:57:55pm","04/20/2024 10:41:07pm","20","0.00","Mendoza","Dania","8901965" +"147856#477","","200","","04/20/2024","04/20/2024 5:03:18pm","04/20/2024 10:10:17pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/20/2024","04/20/2024 9:57:31am","04/20/2024 3:09:22pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","04/20/2024","04/20/2024 11:32:03am","04/20/2024 5:14:57pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/20/2024","04/20/2024 5:08:09pm","04/20/2024 10:40:57pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/20/2024","04/20/2024 9:57:23am","04/20/2024 2:00:17pm","20","0.00","Thandi","Raj","8901965" +"147856#398","","200","","04/21/2024","04/21/2024 9:56:04am","04/21/2024 4:28:06pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/21/2024","04/21/2024 9:00:00am","04/21/2024 2:47:00pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/21/2024","04/21/2024 3:18:00pm","04/21/2024 4:15:00pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#346","","300","","04/21/2024","04/21/2024 9:01:30am","04/21/2024 2:08:12pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/21/2024","04/21/2024 2:39:53pm","04/21/2024 7:30:18pm","22","0.00","Matzar","Maycol","8901965" +"147856#465","","300","","04/21/2024","04/21/2024 4:57:42pm","04/21/2024 10:24:33pm","20","0.00","Mendoza","Dania","8901965" +"147856#477","","200","","04/21/2024","04/21/2024 10:03:24am","04/21/2024 3:11:51pm","20","0.00","Morgan","Wayne","8901965" +"147856#380","","200","","04/21/2024","04/21/2024 4:00:18pm","04/21/2024 7:33:28pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/21/2024","04/21/2024 8:03:12pm","04/21/2024 10:10:31pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/21/2024","04/21/2024 5:03:44pm","04/21/2024 10:24:25pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/21/2024","04/21/2024 4:57:27pm","04/21/2024 10:10:43pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/22/2024","04/22/2024 5:00:00pm","04/22/2024 10:22:00pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/22/2024","04/22/2024 5:00:45pm","04/22/2024 10:22:07pm","20","0.00","Castro","Jose","8901965" +"147856#467","","300","","04/22/2024","04/22/2024 4:23:06pm","04/22/2024 10:22:24pm","20","0.00","Espindola","Lisandro","8901965" +"147856#470","","300","","04/22/2024","04/22/2024 9:09:46am","04/22/2024 1:39:42pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/22/2024","04/22/2024 2:02:48pm","04/22/2024 5:14:11pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#301","","300","","04/22/2024","04/22/2024 8:57:33am","04/22/2024 2:55:21pm","20","0.00","Koutsos","Georgia","8901965" +"229","","200","","04/22/2024","04/22/2024 4:27:49pm","04/22/2024 10:29:31pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","04/22/2024","04/22/2024 10:58:29am","04/22/2024 5:45:46pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/22/2024","04/22/2024 6:15:18pm","04/22/2024 7:45:05pm","20","0.00","Sandhu","Neha","8901965" +"147856#478","","200","","04/22/2024","04/22/2024 9:57:33am","04/22/2024 4:13:11pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/23/2024","04/23/2024 5:00:00pm","04/23/2024 10:04:00pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/23/2024","04/23/2024 5:04:32pm","04/23/2024 10:04:33pm","20","0.00","Castro","Jose","8901965" +"147856#467","","300","","04/23/2024","04/23/2024 4:58:14pm","04/23/2024 10:04:55pm","20","0.00","Espindola","Lisandro","8901965" +"147856#398","","200","","04/23/2024","04/23/2024 12:02:13pm","04/23/2024 6:51:27pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/23/2024","04/23/2024 7:23:35pm","04/23/2024 8:27:21pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/23/2024","04/23/2024 9:26:22am","04/23/2024 2:05:08pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/23/2024","04/23/2024 2:34:24pm","04/23/2024 3:29:38pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#346","","300","","04/23/2024","04/23/2024 8:57:49am","04/23/2024 1:21:56pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/23/2024","04/23/2024 1:54:19pm","04/23/2024 5:59:50pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/23/2024","04/23/2024 10:00:00am","04/23/2024 2:40:00pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/23/2024","04/23/2024 5:00:39pm","04/23/2024 10:30:03pm","20","0.00","Philips","Evan","8901965" +"147856#483","","300","","04/24/2024","04/24/2024 5:00:00pm","04/24/2024 10:05:00pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/24/2024","04/24/2024 5:07:29pm","04/24/2024 10:06:55pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","04/24/2024","04/24/2024 8:57:48am","04/24/2024 3:21:29pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","04/24/2024","04/24/2024 9:00:31am","04/24/2024 2:55:43pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/24/2024","04/24/2024 9:04:31am","04/24/2024 1:35:08pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/24/2024","04/24/2024 2:06:01pm","04/24/2024 6:03:36pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","04/24/2024","04/24/2024 4:59:04pm","04/24/2024 10:33:49pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","04/24/2024","04/24/2024 12:01:57pm","04/24/2024 5:49:08pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/24/2024","04/24/2024 6:18:31pm","04/24/2024 8:23:44pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/24/2024","04/24/2024 5:18:32pm","04/24/2024 10:05:25pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#398","","200","","04/25/2024","04/25/2024 12:01:04pm","04/25/2024 6:17:04pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/25/2024","04/25/2024 6:47:02pm","04/25/2024 8:19:13pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/25/2024","04/25/2024 4:05:30pm","04/25/2024 5:45:12pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/25/2024","04/25/2024 6:15:12pm","04/25/2024 10:22:47pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#301","","300","","04/25/2024","04/25/2024 7:57:08am","04/25/2024 2:00:39pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/25/2024","04/25/2024 9:00:00am","04/25/2024 1:27:00pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/25/2024","04/25/2024 1:57:00pm","04/25/2024 7:00:00pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/25/2024","04/25/2024 10:01:35am","04/25/2024 2:39:43pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/25/2024","04/25/2024 4:57:31pm","04/25/2024 10:17:50pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","04/25/2024","04/25/2024 12:06:22pm","04/25/2024 3:47:12pm","20","0.00","Quintero","Daniela","8901965" +"147856#370","","300","","04/25/2024","04/25/2024 5:13:13pm","04/25/2024 10:22:40pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","04/26/2024","04/26/2024 5:00:00pm","04/26/2024 11:02:00pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","04/26/2024","04/26/2024 4:01:09pm","04/26/2024 7:40:05pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/26/2024","04/26/2024 8:07:12pm","04/26/2024 10:21:47pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/26/2024","04/26/2024 10:58:37am","04/26/2024 2:20:10pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/26/2024","04/26/2024 2:48:00pm","04/26/2024 4:14:46pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#301","","300","","04/26/2024","04/26/2024 7:57:08am","04/26/2024 1:51:21pm","20","0.00","Koutsos","Georgia","8901965" +"147856#416","","200","","04/26/2024","04/26/2024 4:59:07pm","04/26/2024 10:21:35pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","04/26/2024","04/26/2024 9:00:31am","04/26/2024 1:11:14pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/26/2024","04/26/2024 1:44:04pm","04/26/2024 6:54:24pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/26/2024","04/26/2024 11:03:08am","04/26/2024 4:05:27pm","20","0.00","Morgan","Wayne","8901965" +"147856#370","","300","","04/26/2024","04/26/2024 5:30:30pm","04/26/2024 11:01:18pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/26/2024","04/26/2024 10:01:17am","04/26/2024 2:46:20pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/27/2024","04/27/2024 5:00:00pm","04/27/2024 11:01:00pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","04/27/2024","04/27/2024 5:06:10pm","04/27/2024 10:21:36pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/27/2024","04/27/2024 11:04:13am","04/27/2024 2:25:45pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/27/2024","04/27/2024 2:55:05pm","04/27/2024 4:06:03pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#413","","200","","04/27/2024","04/27/2024 3:57:04pm","04/27/2024 6:36:32pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#413","","200","","04/27/2024","04/27/2024 7:07:12pm","04/27/2024 10:20:55pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","04/27/2024","04/27/2024 7:57:18am","04/27/2024 2:01:34pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/27/2024","04/27/2024 9:00:42am","04/27/2024 12:38:47pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/27/2024","04/27/2024 1:10:22pm","04/27/2024 6:10:46pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","04/27/2024","04/27/2024 11:02:44am","04/27/2024 4:18:35pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/27/2024","04/27/2024 5:08:43pm","04/27/2024 11:01:12pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/27/2024","04/27/2024 9:59:20am","04/27/2024 3:12:34pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/28/2024","04/28/2024 4:57:55pm","04/28/2024 10:56:39pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","04/28/2024","04/28/2024 9:59:52am","04/28/2024 2:32:34pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/28/2024","04/28/2024 3:02:18pm","04/28/2024 4:21:00pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/28/2024","04/28/2024 9:05:08am","04/28/2024 1:24:51pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/28/2024","04/28/2024 1:54:02pm","04/28/2024 4:22:15pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#416","","200","","04/28/2024","04/28/2024 3:59:18pm","04/28/2024 7:09:25pm","20","0.00","Matsuda","Haley","8901965" +"147856#416","","200","","04/28/2024","04/28/2024 7:38:03pm","04/28/2024 10:18:08pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","04/28/2024","04/28/2024 8:57:33am","04/28/2024 2:39:10pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/28/2024","04/28/2024 3:11:44pm","04/28/2024 7:05:29pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","04/28/2024","04/28/2024 4:59:29pm","04/28/2024 10:19:16pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/28/2024","04/28/2024 4:57:41pm","04/28/2024 10:55:47pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/28/2024","04/28/2024 9:57:56am","04/28/2024 3:32:13pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/29/2024","04/29/2024 5:04:17pm","04/29/2024 10:36:12pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/29/2024","04/29/2024 5:04:01pm","04/29/2024 10:36:00pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","04/29/2024","04/29/2024 9:59:24am","04/29/2024 4:02:05pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","04/29/2024","04/29/2024 8:57:31am","04/29/2024 3:06:44pm","20","0.00","Koutsos","Georgia","8901965" +"229","","200","","04/29/2024","04/29/2024 4:58:26pm","04/29/2024 10:44:53pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","04/29/2024","04/29/2024 10:04:13am","04/29/2024 2:42:13pm","20","0.00","Quintero","Daniela","8901965" +"147856#380","","200","","04/29/2024","04/29/2024 12:02:24pm","04/29/2024 5:59:38pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/29/2024","04/29/2024 6:29:25pm","04/29/2024 8:14:57pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/29/2024","04/29/2024 9:00:11am","04/29/2024 2:17:51pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#370","","300","","04/29/2024","04/29/2024 2:44:06pm","04/29/2024 5:14:02pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","04/30/2024","04/30/2024 8:57:22am","04/30/2024 3:13:19pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/30/2024","04/30/2024 5:08:27pm","04/30/2024 10:30:11pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","04/30/2024","04/30/2024 12:02:14pm","04/30/2024 6:13:09pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/30/2024","04/30/2024 6:40:40pm","04/30/2024 8:29:18pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/30/2024","04/30/2024 4:57:33pm","04/30/2024 10:30:41pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#346","","300","","04/30/2024","04/30/2024 8:57:07am","04/30/2024 1:33:46pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/30/2024","04/30/2024 2:04:09pm","04/30/2024 6:12:08pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/30/2024","04/30/2024 10:01:40am","04/30/2024 2:41:26pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/30/2024","04/30/2024 4:59:11pm","04/30/2024 10:29:52pm","20","0.00","Philips","Evan","8901965" +"147856#421","","300","","05/01/2024","05/01/2024 5:07:30pm","05/01/2024 10:42:35pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/01/2024","05/01/2024 9:05:14am","05/01/2024 2:39:04pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/01/2024","05/01/2024 3:11:02pm","05/01/2024 4:12:01pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/01/2024","05/01/2024 8:57:06am","05/01/2024 2:58:20pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/01/2024","05/01/2024 9:07:41am","05/01/2024 1:41:57pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/01/2024","05/01/2024 2:10:44pm","05/01/2024 7:22:01pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","05/01/2024","05/01/2024 4:57:37pm","05/01/2024 10:27:36pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","05/01/2024","05/01/2024 10:10:34am","05/01/2024 2:53:00pm","20","0.00","Quintero","Daniela","8901965" +"147856#380","","200","","05/01/2024","05/01/2024 12:01:23pm","05/01/2024 7:10:45pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","05/01/2024","05/01/2024 7:40:13pm","05/01/2024 8:07:17pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/01/2024","05/01/2024 5:02:40pm","05/01/2024 10:42:14pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","05/02/2024","05/02/2024 5:15:00pm","05/02/2024 11:00:03pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","05/02/2024","05/02/2024 12:10:15pm","05/02/2024 6:06:14pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/02/2024","05/02/2024 6:35:54pm","05/02/2024 9:06:25pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/02/2024","05/02/2024 8:57:07am","05/02/2024 3:06:55pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/02/2024","05/02/2024 9:04:22am","05/02/2024 1:45:26pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/02/2024","05/02/2024 2:15:28pm","05/02/2024 6:30:05pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","05/02/2024","05/02/2024 10:03:25am","05/02/2024 3:15:39pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","05/02/2024","05/02/2024 4:58:21pm","05/02/2024 10:59:30pm","20","0.00","Philips","Evan","8901965" +"147856#370","","300","","05/02/2024","05/02/2024 5:22:34pm","05/02/2024 11:00:12pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","05/03/2024","05/03/2024 10:57:42am","05/03/2024 2:37:18pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/03/2024","05/03/2024 3:05:19pm","05/03/2024 11:00:35pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","05/03/2024","05/03/2024 11:10:00am","05/03/2024 7:29:36pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#413","","200","","05/03/2024","05/03/2024 4:05:59pm","05/03/2024 7:40:04pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#413","","200","","05/03/2024","05/03/2024 8:11:16pm","05/03/2024 10:28:02pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","05/03/2024","05/03/2024 7:57:13am","05/03/2024 2:03:22pm","20","0.00","Koutsos","Georgia","8901965" +"147856#416","","200","","05/03/2024","05/03/2024 4:57:16pm","05/03/2024 10:28:09pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","05/03/2024","05/03/2024 8:32:14am","05/03/2024 1:56:07pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/03/2024","05/03/2024 2:27:02pm","05/03/2024 7:52:25pm","22","0.00","Matzar","Maycol","8901965" +"147856#482","","200","","05/03/2024","05/03/2024 10:04:57am","05/03/2024 2:32:25pm","20","0.00","Quintero","Daniela","8901965" +"147856#380","","200","","05/03/2024","05/03/2024 9:31:44am","05/03/2024 3:05:52pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/03/2024","05/03/2024 5:06:30pm","05/03/2024 11:00:15pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","05/04/2024","05/04/2024 1:57:32pm","05/04/2024 5:41:19pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/04/2024","05/04/2024 6:07:26pm","05/04/2024 10:21:14pm","20","0.00","Castro","Francisco","8901965" +"147856#301","","300","","05/04/2024","05/04/2024 7:57:08am","05/04/2024 2:47:31pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/04/2024","05/04/2024 9:03:04am","05/04/2024 2:30:14pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/04/2024","05/04/2024 3:00:44pm","05/04/2024 6:17:50pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","05/04/2024","05/04/2024 4:57:45pm","05/04/2024 10:14:38pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","05/04/2024","05/04/2024 11:02:57am","05/04/2024 5:58:37pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","05/04/2024","05/04/2024 6:28:06pm","05/04/2024 8:35:23pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/04/2024","05/04/2024 5:03:40pm","05/04/2024 10:21:03pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/04/2024","05/04/2024 10:01:23am","05/04/2024 2:17:07pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","05/05/2024","05/05/2024 10:57:02am","05/05/2024 3:19:01pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/05/2024","05/05/2024 3:48:44pm","05/05/2024 10:55:06pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","05/05/2024","05/05/2024 10:07:40am","05/05/2024 2:20:11pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/05/2024","05/05/2024 2:48:07pm","05/05/2024 4:45:06pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#416","","200","","05/05/2024","05/05/2024 4:57:04pm","05/05/2024 10:21:26pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","05/05/2024","05/05/2024 8:59:03am","05/05/2024 2:38:55pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/05/2024","05/05/2024 3:12:30pm","05/05/2024 6:56:52pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","05/05/2024","05/05/2024 4:01:43pm","05/05/2024 10:21:38pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/05/2024","05/05/2024 5:07:58pm","05/05/2024 10:55:20pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/05/2024","05/05/2024 9:59:04am","05/05/2024 3:06:05pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","05/06/2024","05/06/2024 5:08:01pm","05/06/2024 10:28:51pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","05/06/2024","05/06/2024 5:07:51pm","05/06/2024 10:28:32pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/06/2024","05/06/2024 12:05:05pm","05/06/2024 5:56:08pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/06/2024","05/06/2024 6:26:44pm","05/06/2024 8:39:21pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/06/2024","05/06/2024 8:57:15am","05/06/2024 3:25:26pm","20","0.00","Koutsos","Georgia","8901965" +"147856#380","","200","","05/06/2024","05/06/2024 9:31:44am","05/06/2024 3:24:22pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/06/2024","05/06/2024 9:05:14am","05/06/2024 2:50:36pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#370","","300","","05/06/2024","05/06/2024 3:15:32pm","05/06/2024 5:33:49pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/06/2024","05/06/2024 5:00:35pm","05/06/2024 10:24:19pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","05/07/2024","05/07/2024 11:10:28am","05/07/2024 2:25:09pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/07/2024","05/07/2024 2:55:02pm","05/07/2024 10:26:29pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","05/07/2024","05/07/2024 5:10:31pm","05/07/2024 10:25:54pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/07/2024","05/07/2024 11:47:36am","05/07/2024 6:02:05pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/07/2024","05/07/2024 6:28:05pm","05/07/2024 8:26:25pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#346","","300","","05/07/2024","05/07/2024 9:02:08am","05/07/2024 1:54:36pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/07/2024","05/07/2024 2:21:59pm","05/07/2024 5:53:16pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","05/07/2024","05/07/2024 4:59:26pm","05/07/2024 10:41:05pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","05/07/2024","05/07/2024 10:00:50am","05/07/2024 3:35:09pm","20","0.00","Quintero","Daniela","8901965" +"147856#421","","300","","05/08/2024","05/08/2024 4:58:22pm","05/08/2024 10:47:55pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/08/2024","05/08/2024 9:06:53am","05/08/2024 3:28:09pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/08/2024","05/08/2024 8:58:12am","05/08/2024 2:49:18pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/08/2024","05/08/2024 9:05:07am","05/08/2024 1:54:34pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/08/2024","05/08/2024 2:27:23pm","05/08/2024 6:18:14pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","05/08/2024","05/08/2024 12:00:59pm","05/08/2024 2:48:23pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","05/08/2024","05/08/2024 3:17:57pm","05/08/2024 8:16:48pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/08/2024","05/08/2024 4:57:26pm","05/08/2024 10:47:34pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/08/2024","05/08/2024 4:57:04pm","05/08/2024 10:30:58pm","20","0.00","Thandi","Raj","8901965" diff --git a/dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240509.csv new file mode 100644 index 00000000..dbea69e6 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/Elk Grove_20240509.csv @@ -0,0 +1,219 @@ +"147856#470","","300","","04/19/2024","04/19/2024 10:58:56am","04/19/2024 2:26:38pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/19/2024","04/19/2024 2:54:59pm","04/19/2024 4:02:37pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#413","","200","","04/19/2024","04/19/2024 3:59:07pm","04/19/2024 9:06:56pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#413","","200","","04/19/2024","04/19/2024 9:22:10pm","04/19/2024 10:20:07pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","04/19/2024","04/19/2024 7:57:14am","04/19/2024 1:55:24pm","20","0.00","Koutsos","Georgia","8901965" +"147856#416","","200","","04/19/2024","04/19/2024 4:57:43pm","04/19/2024 10:19:58pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","04/19/2024","04/19/2024 9:02:25am","04/19/2024 1:36:39pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/19/2024","04/19/2024 2:08:58pm","04/19/2024 8:25:34pm","22","0.00","Matzar","Maycol","8901965" +"147856#465","","300","","04/19/2024","04/19/2024 5:03:54pm","04/19/2024 11:24:49pm","20","0.00","Mendoza","Dania","8901965" +"147856#477","","200","","04/19/2024","04/19/2024 11:34:49am","04/19/2024 4:02:45pm","20","0.00","Morgan","Wayne","8901965" +"147856#380","","200","","04/19/2024","04/19/2024 10:03:58am","04/19/2024 2:59:31pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/19/2024","04/19/2024 5:11:37pm","04/19/2024 11:24:34pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#470","","300","","04/20/2024","04/20/2024 11:01:44am","04/20/2024 4:06:26pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#413","","200","","04/20/2024","04/20/2024 4:28:26pm","04/20/2024 10:10:30pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","04/20/2024","04/20/2024 7:57:11am","04/20/2024 2:20:57pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/20/2024","04/20/2024 8:58:22am","04/20/2024 2:22:20pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/20/2024","04/20/2024 2:56:18pm","04/20/2024 7:03:28pm","22","0.00","Matzar","Maycol","8901965" +"147856#465","","300","","04/20/2024","04/20/2024 4:57:55pm","04/20/2024 10:41:07pm","20","0.00","Mendoza","Dania","8901965" +"147856#477","","200","","04/20/2024","04/20/2024 5:03:18pm","04/20/2024 10:10:17pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/20/2024","04/20/2024 9:57:31am","04/20/2024 3:09:22pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","04/20/2024","04/20/2024 11:32:03am","04/20/2024 5:14:57pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/20/2024","04/20/2024 5:08:09pm","04/20/2024 10:40:57pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/20/2024","04/20/2024 9:57:23am","04/20/2024 2:00:17pm","20","0.00","Thandi","Raj","8901965" +"147856#398","","200","","04/21/2024","04/21/2024 9:56:04am","04/21/2024 4:28:06pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/21/2024","04/21/2024 9:00:00am","04/21/2024 2:47:00pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/21/2024","04/21/2024 3:18:00pm","04/21/2024 4:15:00pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#346","","300","","04/21/2024","04/21/2024 9:01:30am","04/21/2024 2:08:12pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/21/2024","04/21/2024 2:39:53pm","04/21/2024 7:30:18pm","22","0.00","Matzar","Maycol","8901965" +"147856#465","","300","","04/21/2024","04/21/2024 4:57:42pm","04/21/2024 10:24:33pm","20","0.00","Mendoza","Dania","8901965" +"147856#477","","200","","04/21/2024","04/21/2024 10:03:24am","04/21/2024 3:11:51pm","20","0.00","Morgan","Wayne","8901965" +"147856#380","","200","","04/21/2024","04/21/2024 4:00:18pm","04/21/2024 7:33:28pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/21/2024","04/21/2024 8:03:12pm","04/21/2024 10:10:31pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/21/2024","04/21/2024 5:03:44pm","04/21/2024 10:24:25pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/21/2024","04/21/2024 4:57:27pm","04/21/2024 10:10:43pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/22/2024","04/22/2024 5:00:00pm","04/22/2024 10:22:00pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/22/2024","04/22/2024 5:00:45pm","04/22/2024 10:22:07pm","20","0.00","Castro","Jose","8901965" +"147856#467","","300","","04/22/2024","04/22/2024 4:23:06pm","04/22/2024 10:22:24pm","20","0.00","Espindola","Lisandro","8901965" +"147856#470","","300","","04/22/2024","04/22/2024 9:09:46am","04/22/2024 1:39:42pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/22/2024","04/22/2024 2:02:48pm","04/22/2024 5:14:11pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#301","","300","","04/22/2024","04/22/2024 8:57:33am","04/22/2024 2:55:21pm","20","0.00","Koutsos","Georgia","8901965" +"229","","200","","04/22/2024","04/22/2024 4:27:49pm","04/22/2024 10:29:31pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","04/22/2024","04/22/2024 10:58:29am","04/22/2024 5:45:46pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/22/2024","04/22/2024 6:15:18pm","04/22/2024 7:45:05pm","20","0.00","Sandhu","Neha","8901965" +"147856#478","","200","","04/22/2024","04/22/2024 9:57:33am","04/22/2024 4:13:11pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/23/2024","04/23/2024 5:00:00pm","04/23/2024 10:04:00pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/23/2024","04/23/2024 5:04:32pm","04/23/2024 10:04:33pm","20","0.00","Castro","Jose","8901965" +"147856#467","","300","","04/23/2024","04/23/2024 4:58:14pm","04/23/2024 10:04:55pm","20","0.00","Espindola","Lisandro","8901965" +"147856#398","","200","","04/23/2024","04/23/2024 12:02:13pm","04/23/2024 6:51:27pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/23/2024","04/23/2024 7:23:35pm","04/23/2024 8:27:21pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/23/2024","04/23/2024 9:26:22am","04/23/2024 2:05:08pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/23/2024","04/23/2024 2:34:24pm","04/23/2024 3:29:38pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#346","","300","","04/23/2024","04/23/2024 8:57:49am","04/23/2024 1:21:56pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/23/2024","04/23/2024 1:54:19pm","04/23/2024 5:59:50pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/23/2024","04/23/2024 10:00:00am","04/23/2024 2:40:00pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/23/2024","04/23/2024 5:00:39pm","04/23/2024 10:30:03pm","20","0.00","Philips","Evan","8901965" +"147856#483","","300","","04/24/2024","04/24/2024 5:00:00pm","04/24/2024 10:05:00pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/24/2024","04/24/2024 5:07:29pm","04/24/2024 10:06:55pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","04/24/2024","04/24/2024 8:57:48am","04/24/2024 3:21:29pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","04/24/2024","04/24/2024 9:00:31am","04/24/2024 2:55:43pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/24/2024","04/24/2024 9:04:31am","04/24/2024 1:35:08pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/24/2024","04/24/2024 2:06:01pm","04/24/2024 6:03:36pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","04/24/2024","04/24/2024 4:59:04pm","04/24/2024 10:33:49pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","04/24/2024","04/24/2024 12:01:57pm","04/24/2024 5:49:08pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/24/2024","04/24/2024 6:18:31pm","04/24/2024 8:23:44pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/24/2024","04/24/2024 5:18:32pm","04/24/2024 10:05:25pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#398","","200","","04/25/2024","04/25/2024 12:01:04pm","04/25/2024 6:17:04pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/25/2024","04/25/2024 6:47:02pm","04/25/2024 8:19:13pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/25/2024","04/25/2024 4:05:30pm","04/25/2024 5:45:12pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/25/2024","04/25/2024 6:15:12pm","04/25/2024 10:22:47pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#301","","300","","04/25/2024","04/25/2024 7:57:08am","04/25/2024 2:00:39pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/25/2024","04/25/2024 9:00:00am","04/25/2024 1:27:00pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/25/2024","04/25/2024 1:57:00pm","04/25/2024 7:00:00pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/25/2024","04/25/2024 10:01:35am","04/25/2024 2:39:43pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/25/2024","04/25/2024 4:57:31pm","04/25/2024 10:17:50pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","04/25/2024","04/25/2024 12:06:22pm","04/25/2024 3:47:12pm","20","0.00","Quintero","Daniela","8901965" +"147856#370","","300","","04/25/2024","04/25/2024 5:13:13pm","04/25/2024 10:22:40pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","04/26/2024","04/26/2024 5:00:00pm","04/26/2024 11:02:00pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","04/26/2024","04/26/2024 4:01:09pm","04/26/2024 7:40:05pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/26/2024","04/26/2024 8:07:12pm","04/26/2024 10:21:47pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/26/2024","04/26/2024 10:58:37am","04/26/2024 2:20:10pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/26/2024","04/26/2024 2:48:00pm","04/26/2024 4:14:46pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#301","","300","","04/26/2024","04/26/2024 7:57:08am","04/26/2024 1:51:21pm","20","0.00","Koutsos","Georgia","8901965" +"147856#416","","200","","04/26/2024","04/26/2024 4:59:07pm","04/26/2024 10:21:35pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","04/26/2024","04/26/2024 9:00:31am","04/26/2024 1:11:14pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/26/2024","04/26/2024 1:44:04pm","04/26/2024 6:54:24pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/26/2024","04/26/2024 11:03:08am","04/26/2024 4:05:27pm","20","0.00","Morgan","Wayne","8901965" +"147856#370","","300","","04/26/2024","04/26/2024 5:30:30pm","04/26/2024 11:01:18pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/26/2024","04/26/2024 10:01:17am","04/26/2024 2:46:20pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/27/2024","04/27/2024 5:00:00pm","04/27/2024 11:01:00pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","04/27/2024","04/27/2024 5:06:10pm","04/27/2024 10:21:36pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/27/2024","04/27/2024 11:04:13am","04/27/2024 2:25:45pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/27/2024","04/27/2024 2:55:05pm","04/27/2024 4:06:03pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#413","","200","","04/27/2024","04/27/2024 3:57:04pm","04/27/2024 6:36:32pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#413","","200","","04/27/2024","04/27/2024 7:07:12pm","04/27/2024 10:20:55pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","04/27/2024","04/27/2024 7:57:18am","04/27/2024 2:01:34pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","04/27/2024","04/27/2024 9:00:42am","04/27/2024 12:38:47pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/27/2024","04/27/2024 1:10:22pm","04/27/2024 6:10:46pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","04/27/2024","04/27/2024 11:02:44am","04/27/2024 4:18:35pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/27/2024","04/27/2024 5:08:43pm","04/27/2024 11:01:12pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/27/2024","04/27/2024 9:59:20am","04/27/2024 3:12:34pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/28/2024","04/28/2024 4:57:55pm","04/28/2024 10:56:39pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","04/28/2024","04/28/2024 9:59:52am","04/28/2024 2:32:34pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/28/2024","04/28/2024 3:02:18pm","04/28/2024 4:21:00pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/28/2024","04/28/2024 9:05:08am","04/28/2024 1:24:51pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#470","","300","","04/28/2024","04/28/2024 1:54:02pm","04/28/2024 4:22:15pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#416","","200","","04/28/2024","04/28/2024 3:59:18pm","04/28/2024 7:09:25pm","20","0.00","Matsuda","Haley","8901965" +"147856#416","","200","","04/28/2024","04/28/2024 7:38:03pm","04/28/2024 10:18:08pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","04/28/2024","04/28/2024 8:57:33am","04/28/2024 2:39:10pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/28/2024","04/28/2024 3:11:44pm","04/28/2024 7:05:29pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","04/28/2024","04/28/2024 4:59:29pm","04/28/2024 10:19:16pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/28/2024","04/28/2024 4:57:41pm","04/28/2024 10:55:47pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","04/28/2024","04/28/2024 9:57:56am","04/28/2024 3:32:13pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","04/29/2024","04/29/2024 5:04:17pm","04/29/2024 10:36:12pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/29/2024","04/29/2024 5:04:01pm","04/29/2024 10:36:00pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","04/29/2024","04/29/2024 9:59:24am","04/29/2024 4:02:05pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","04/29/2024","04/29/2024 8:57:31am","04/29/2024 3:06:44pm","20","0.00","Koutsos","Georgia","8901965" +"229","","200","","04/29/2024","04/29/2024 4:58:26pm","04/29/2024 10:44:53pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","04/29/2024","04/29/2024 10:04:13am","04/29/2024 2:42:13pm","20","0.00","Quintero","Daniela","8901965" +"147856#380","","200","","04/29/2024","04/29/2024 12:02:24pm","04/29/2024 5:59:38pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","04/29/2024","04/29/2024 6:29:25pm","04/29/2024 8:14:57pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","04/29/2024","04/29/2024 9:00:11am","04/29/2024 2:17:51pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#370","","300","","04/29/2024","04/29/2024 2:44:06pm","04/29/2024 5:14:02pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","04/30/2024","04/30/2024 8:57:22am","04/30/2024 3:13:19pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","04/30/2024","04/30/2024 5:08:27pm","04/30/2024 10:30:11pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","04/30/2024","04/30/2024 12:02:14pm","04/30/2024 6:13:09pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","04/30/2024","04/30/2024 6:40:40pm","04/30/2024 8:29:18pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#470","","300","","04/30/2024","04/30/2024 4:57:33pm","04/30/2024 10:30:41pm","20","0.00","Guinac Alvarez","Gerson","8901965" +"147856#346","","300","","04/30/2024","04/30/2024 8:57:07am","04/30/2024 1:33:46pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","04/30/2024","04/30/2024 2:04:09pm","04/30/2024 6:12:08pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","04/30/2024","04/30/2024 10:01:40am","04/30/2024 2:41:26pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","04/30/2024","04/30/2024 4:59:11pm","04/30/2024 10:29:52pm","20","0.00","Philips","Evan","8901965" +"147856#421","","300","","05/01/2024","05/01/2024 5:07:30pm","05/01/2024 10:42:35pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/01/2024","05/01/2024 9:05:14am","05/01/2024 2:39:04pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/01/2024","05/01/2024 3:11:02pm","05/01/2024 4:12:01pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/01/2024","05/01/2024 8:57:06am","05/01/2024 2:58:20pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/01/2024","05/01/2024 9:07:41am","05/01/2024 1:41:57pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/01/2024","05/01/2024 2:10:44pm","05/01/2024 7:22:01pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","05/01/2024","05/01/2024 4:57:37pm","05/01/2024 10:27:36pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","05/01/2024","05/01/2024 10:10:34am","05/01/2024 2:53:00pm","20","0.00","Quintero","Daniela","8901965" +"147856#380","","200","","05/01/2024","05/01/2024 12:01:23pm","05/01/2024 7:10:45pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","05/01/2024","05/01/2024 7:40:13pm","05/01/2024 8:07:17pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/01/2024","05/01/2024 5:02:40pm","05/01/2024 10:42:14pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","05/02/2024","05/02/2024 5:15:00pm","05/02/2024 11:00:03pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","05/02/2024","05/02/2024 12:10:15pm","05/02/2024 6:06:14pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/02/2024","05/02/2024 6:35:54pm","05/02/2024 9:06:25pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/02/2024","05/02/2024 8:57:07am","05/02/2024 3:06:55pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/02/2024","05/02/2024 9:04:22am","05/02/2024 1:45:26pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/02/2024","05/02/2024 2:15:28pm","05/02/2024 6:30:05pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","05/02/2024","05/02/2024 10:03:25am","05/02/2024 3:15:39pm","20","0.00","Morgan","Wayne","8901965" +"229","","200","","05/02/2024","05/02/2024 4:58:21pm","05/02/2024 10:59:30pm","20","0.00","Philips","Evan","8901965" +"147856#370","","300","","05/02/2024","05/02/2024 5:22:34pm","05/02/2024 11:00:12pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","05/03/2024","05/03/2024 10:57:42am","05/03/2024 2:37:18pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/03/2024","05/03/2024 3:05:19pm","05/03/2024 11:00:35pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","05/03/2024","05/03/2024 11:10:00am","05/03/2024 7:29:36pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#413","","200","","05/03/2024","05/03/2024 4:05:59pm","05/03/2024 7:40:04pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#413","","200","","05/03/2024","05/03/2024 8:11:16pm","05/03/2024 10:28:02pm","20","0.00","Kehagias","Giorgia","8901965" +"147856#301","","300","","05/03/2024","05/03/2024 7:57:13am","05/03/2024 2:03:22pm","20","0.00","Koutsos","Georgia","8901965" +"147856#416","","200","","05/03/2024","05/03/2024 4:57:16pm","05/03/2024 10:28:09pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","05/03/2024","05/03/2024 8:32:14am","05/03/2024 1:56:07pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/03/2024","05/03/2024 2:27:02pm","05/03/2024 7:52:25pm","22","0.00","Matzar","Maycol","8901965" +"147856#482","","200","","05/03/2024","05/03/2024 10:04:57am","05/03/2024 2:32:25pm","20","0.00","Quintero","Daniela","8901965" +"147856#380","","200","","05/03/2024","05/03/2024 9:31:44am","05/03/2024 3:05:52pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/03/2024","05/03/2024 5:06:30pm","05/03/2024 11:00:15pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#483","","300","","05/04/2024","05/04/2024 1:57:32pm","05/04/2024 5:41:19pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/04/2024","05/04/2024 6:07:26pm","05/04/2024 10:21:14pm","20","0.00","Castro","Francisco","8901965" +"147856#301","","300","","05/04/2024","05/04/2024 7:57:08am","05/04/2024 2:47:31pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/04/2024","05/04/2024 9:03:04am","05/04/2024 2:30:14pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/04/2024","05/04/2024 3:00:44pm","05/04/2024 6:17:50pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","05/04/2024","05/04/2024 4:57:45pm","05/04/2024 10:14:38pm","20","0.00","Philips","Evan","8901965" +"147856#380","","200","","05/04/2024","05/04/2024 11:02:57am","05/04/2024 5:58:37pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","05/04/2024","05/04/2024 6:28:06pm","05/04/2024 8:35:23pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/04/2024","05/04/2024 5:03:40pm","05/04/2024 10:21:03pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/04/2024","05/04/2024 10:01:23am","05/04/2024 2:17:07pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","05/05/2024","05/05/2024 10:57:02am","05/05/2024 3:19:01pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/05/2024","05/05/2024 3:48:44pm","05/05/2024 10:55:06pm","20","0.00","Castro","Francisco","8901965" +"147856#398","","200","","05/05/2024","05/05/2024 10:07:40am","05/05/2024 2:20:11pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/05/2024","05/05/2024 2:48:07pm","05/05/2024 4:45:06pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#416","","200","","05/05/2024","05/05/2024 4:57:04pm","05/05/2024 10:21:26pm","20","0.00","Matsuda","Haley","8901965" +"147856#346","","300","","05/05/2024","05/05/2024 8:59:03am","05/05/2024 2:38:55pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/05/2024","05/05/2024 3:12:30pm","05/05/2024 6:56:52pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","05/05/2024","05/05/2024 4:01:43pm","05/05/2024 10:21:38pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/05/2024","05/05/2024 5:07:58pm","05/05/2024 10:55:20pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/05/2024","05/05/2024 9:59:04am","05/05/2024 3:06:05pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","05/06/2024","05/06/2024 5:08:01pm","05/06/2024 10:28:51pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","05/06/2024","05/06/2024 5:07:51pm","05/06/2024 10:28:32pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/06/2024","05/06/2024 12:05:05pm","05/06/2024 5:56:08pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/06/2024","05/06/2024 6:26:44pm","05/06/2024 8:39:21pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/06/2024","05/06/2024 8:57:15am","05/06/2024 3:25:26pm","20","0.00","Koutsos","Georgia","8901965" +"147856#380","","200","","05/06/2024","05/06/2024 9:31:44am","05/06/2024 3:24:22pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/06/2024","05/06/2024 9:05:14am","05/06/2024 2:50:36pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#370","","300","","05/06/2024","05/06/2024 3:15:32pm","05/06/2024 5:33:49pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/06/2024","05/06/2024 5:00:35pm","05/06/2024 10:24:19pm","20","0.00","Thandi","Raj","8901965" +"147856#483","","300","","05/07/2024","05/07/2024 11:10:28am","05/07/2024 2:25:09pm","20","0.00","Castro","Francisco","8901965" +"147856#483","","300","","05/07/2024","05/07/2024 2:55:02pm","05/07/2024 10:26:29pm","20","0.00","Castro","Francisco","8901965" +"147856#421","","300","","05/07/2024","05/07/2024 5:10:31pm","05/07/2024 10:25:54pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/07/2024","05/07/2024 11:47:36am","05/07/2024 6:02:05pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#398","","200","","05/07/2024","05/07/2024 6:28:05pm","05/07/2024 8:26:25pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#346","","300","","05/07/2024","05/07/2024 9:02:08am","05/07/2024 1:54:36pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/07/2024","05/07/2024 2:21:59pm","05/07/2024 5:53:16pm","22","0.00","Matzar","Maycol","8901965" +"229","","200","","05/07/2024","05/07/2024 4:59:26pm","05/07/2024 10:41:05pm","20","0.00","Philips","Evan","8901965" +"147856#482","","200","","05/07/2024","05/07/2024 10:00:50am","05/07/2024 3:35:09pm","20","0.00","Quintero","Daniela","8901965" +"147856#421","","300","","05/08/2024","05/08/2024 4:58:22pm","05/08/2024 10:47:55pm","20","0.00","Castro","Jose","8901965" +"147856#398","","200","","05/08/2024","05/08/2024 9:06:53am","05/08/2024 3:28:09pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/08/2024","05/08/2024 8:58:12am","05/08/2024 2:49:18pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/08/2024","05/08/2024 9:05:07am","05/08/2024 1:54:34pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/08/2024","05/08/2024 2:27:23pm","05/08/2024 6:18:14pm","22","0.00","Matzar","Maycol","8901965" +"147856#380","","200","","05/08/2024","05/08/2024 12:00:59pm","05/08/2024 2:48:23pm","20","0.00","Sandhu","Neha","8901965" +"147856#380","","200","","05/08/2024","05/08/2024 3:17:57pm","05/08/2024 8:16:48pm","20","0.00","Sandhu","Neha","8901965" +"147856#370","","300","","05/08/2024","05/08/2024 4:57:26pm","05/08/2024 10:47:34pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/08/2024","05/08/2024 4:57:04pm","05/08/2024 10:30:58pm","20","0.00","Thandi","Raj","8901965" +"147856#398","","200","","05/09/2024","05/09/2024 10:56:18am","05/09/2024 5:18:07pm","22","0.00","Gonzalez","Cassie","8901965" +"147856#301","","300","","05/09/2024","05/09/2024 8:57:16am","05/09/2024 2:56:23pm","20","0.00","Koutsos","Georgia","8901965" +"147856#346","","300","","05/09/2024","05/09/2024 9:07:37am","05/09/2024 1:36:57pm","22","0.00","Matzar","Maycol","8901965" +"147856#346","","300","","05/09/2024","05/09/2024 2:06:30pm","05/09/2024 6:24:40pm","22","0.00","Matzar","Maycol","8901965" +"147856#477","","200","","05/09/2024","05/09/2024 4:39:30pm","05/09/2024 5:52:27pm","20","0.00","Morgan","Wayne","8901965" +"147856#477","","200","","05/09/2024","05/09/2024 6:26:50pm","05/09/2024 11:13:08pm","20","0.00","Morgan","Wayne","8901965" +"147856#482","","200","","05/09/2024","05/09/2024 10:02:33am","05/09/2024 3:00:38pm","20","0.00","Quintero","Daniela","8901965" +"147856#370","","300","","05/09/2024","05/09/2024 5:34:43pm","05/09/2024 11:26:17pm","20","0.00","Sierra Vazquez","Jose","8901965" +"147856#478","","200","","05/09/2024","05/09/2024 4:58:45pm","05/09/2024 9:01:25pm","20","0.00","Thandi","Raj","8901965" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240508.csv new file mode 100644 index 00000000..1da613fe --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240508.csv @@ -0,0 +1,317 @@ +"182656#460","","200","","04/18/2024","04/18/2024 5:02:25pm","04/18/2024 10:09:22pm","20","0.00","Abdulale","Aya","14116961" +"182656#313","","300","","04/18/2024","04/18/2024 9:04:51am","04/18/2024 2:44:31pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/18/2024","04/18/2024 3:22:25pm","04/18/2024 8:09:39pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/18/2024","04/18/2024 9:08:17am","04/18/2024 1:56:02pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/18/2024","04/18/2024 2:26:04pm","04/18/2024 4:44:06pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/18/2024","04/18/2024 9:27:37am","04/18/2024 3:00:21pm","20","0.00","Cazares","Rosa","14116961" +"182656#459","","200","","04/18/2024","04/18/2024 12:08:47pm","04/18/2024 2:39:50pm","20","0.00","Hall","Jeremy","14116961" +"182656#459","","200","","04/18/2024","04/18/2024 3:10:01pm","04/18/2024 6:27:03pm","20","0.00","Hall","Jeremy","14116961" +"182656#473","","300","","04/18/2024","04/18/2024 4:30:44pm","04/18/2024 10:38:32pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/18/2024","04/18/2024 9:57:09am","04/18/2024 2:06:58pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/18/2024","04/18/2024 2:37:33pm","04/18/2024 5:08:48pm","20","0.00","Holmes","Michael","14116961" +"182656#457","","200","","04/18/2024","04/18/2024 10:45:16am","04/18/2024 2:30:04pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#369","","300","","04/18/2024","04/18/2024 4:05:52pm","04/18/2024 6:33:42pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/18/2024","04/18/2024 7:04:32pm","04/18/2024 10:39:22pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/18/2024","04/18/2024 5:09:15pm","04/18/2024 10:40:50pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#458","","200","","04/18/2024","04/18/2024 6:00:12pm","04/18/2024 10:09:09pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","04/19/2024","04/19/2024 4:59:30pm","04/19/2024 10:10:38pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/19/2024","04/19/2024 8:59:58am","04/19/2024 2:27:02pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/19/2024","04/19/2024 2:59:27pm","04/19/2024 8:06:17pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","04/19/2024","04/19/2024 12:10:50pm","04/19/2024 2:50:07pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","04/19/2024","04/19/2024 3:20:17pm","04/19/2024 8:02:20pm","20","0.00","Carrillo","Ana","14116961" +"182656#420","","300","","04/19/2024","04/19/2024 9:11:32am","04/19/2024 1:16:05pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/19/2024","04/19/2024 1:46:29pm","04/19/2024 4:34:32pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/19/2024","04/19/2024 9:30:10am","04/19/2024 3:31:45pm","20","0.00","Cazares","Rosa","14116961" +"182656#459","","200","","04/19/2024","04/19/2024 5:05:43pm","04/19/2024 10:08:35pm","20","0.00","Hall","Jeremy","14116961" +"182656#473","","300","","04/19/2024","04/19/2024 4:30:31pm","04/19/2024 10:44:34pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/19/2024","04/19/2024 10:57:15am","04/19/2024 2:11:35pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/19/2024","04/19/2024 2:41:39pm","04/19/2024 5:03:31pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","04/19/2024","04/19/2024 3:59:30pm","04/19/2024 6:55:25pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/19/2024","04/19/2024 7:25:14pm","04/19/2024 10:44:45pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/19/2024","04/19/2024 5:11:00pm","04/19/2024 10:45:00pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#471","","300","","04/19/2024","04/19/2024 9:57:48am","04/19/2024 1:52:43pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/19/2024","04/19/2024 2:22:38pm","04/19/2024 3:33:05pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","04/19/2024","04/19/2024 9:59:33am","04/19/2024 2:38:25pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","04/20/2024","04/20/2024 4:58:51pm","04/20/2024 10:26:56pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/20/2024","04/20/2024 8:58:47am","04/20/2024 3:05:20pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/20/2024","04/20/2024 3:37:00pm","04/20/2024 8:00:40pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","04/20/2024","04/20/2024 5:37:24pm","04/20/2024 10:26:09pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","04/20/2024","04/20/2024 9:29:22am","04/20/2024 3:10:25pm","20","0.00","Cazares","Rosa","14116961" +"182656#448","","300","","04/20/2024","04/20/2024 3:41:09pm","04/20/2024 4:30:21pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/20/2024","04/20/2024 4:57:14pm","04/20/2024 10:46:12pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#398","","200","","04/20/2024","04/20/2024 12:03:20pm","04/20/2024 7:27:04pm","20","0.00","Gonzalez","Cassie","14116961" +"182656#473","","300","","04/20/2024","04/20/2024 4:33:45pm","04/20/2024 10:45:45pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/20/2024","04/20/2024 11:12:14am","04/20/2024 2:05:05pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/20/2024","04/20/2024 2:35:35pm","04/20/2024 4:45:05pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","04/20/2024","04/20/2024 9:59:01am","04/20/2024 2:46:12pm","20","0.00","Jarvis","Ruth","14116961" +"182656#369","","300","","04/20/2024","04/20/2024 3:57:49pm","04/20/2024 7:30:12pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/20/2024","04/20/2024 8:01:42pm","04/20/2024 10:46:00pm","20","0.00","Poz","Henry","14116961" +"182656#351","","300","","04/20/2024","04/20/2024 9:06:19am","04/20/2024 1:33:46pm","20","0.00","Santiago","Luis","14116961" +"182656#351","","300","","04/20/2024","04/20/2024 2:03:45pm","04/20/2024 4:06:37pm","20","0.00","Santiago","Luis","14116961" +"182656#471","","300","","04/20/2024","04/20/2024 9:58:00am","04/20/2024 2:15:00pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/20/2024","04/20/2024 2:47:00pm","04/20/2024 4:00:00pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#460","","200","","04/21/2024","04/21/2024 5:30:28pm","04/21/2024 10:14:35pm","20","0.00","Abdulale","Aya","14116961" +"182656#455","","200","","04/21/2024","04/21/2024 9:59:44am","04/21/2024 2:16:31pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/21/2024","04/21/2024 2:47:05pm","04/21/2024 5:04:23pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/21/2024","04/21/2024 8:57:58am","04/21/2024 2:34:34pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/21/2024","04/21/2024 3:04:22pm","04/21/2024 6:01:03pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","04/21/2024","04/21/2024 12:04:58pm","04/21/2024 2:53:47pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","04/21/2024","04/21/2024 3:25:13pm","04/21/2024 5:58:27pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","04/21/2024","04/21/2024 8:58:39am","04/21/2024 11:31:42am","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/21/2024","04/21/2024 3:57:48pm","04/21/2024 7:43:03pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/21/2024","04/21/2024 8:13:58pm","04/21/2024 10:42:54pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#454","","200","","04/21/2024","04/21/2024 10:00:47am","04/21/2024 2:36:11pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","04/21/2024","04/21/2024 3:57:56pm","04/21/2024 8:43:20pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/21/2024","04/21/2024 9:16:24pm","04/21/2024 10:42:41pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/21/2024","04/21/2024 5:00:19pm","04/21/2024 10:43:43pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#351","","300","","04/21/2024","04/21/2024 9:34:35am","04/21/2024 1:54:52pm","20","0.00","Santiago","Luis","14116961" +"182656#351","","300","","04/21/2024","04/21/2024 2:28:58pm","04/21/2024 4:12:28pm","20","0.00","Santiago","Luis","14116961" +"182656#471","","300","","04/21/2024","04/21/2024 9:32:57am","04/21/2024 3:14:19pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","04/21/2024","04/21/2024 4:58:28pm","04/21/2024 10:15:26pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","04/22/2024","04/22/2024 4:59:55pm","04/22/2024 10:11:15pm","20","0.00","Beals","Gabriel","14116961" +"182656#420","","300","","04/22/2024","04/22/2024 9:07:20am","04/22/2024 2:16:42pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/22/2024","04/22/2024 2:47:10pm","04/22/2024 4:02:29pm","20","0.00","Castro","Jose","14116961" +"182656#474","","300","","04/22/2024","04/22/2024 3:58:15pm","04/22/2024 7:14:50pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/22/2024","04/22/2024 7:45:27pm","04/22/2024 10:42:07pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/22/2024","04/22/2024 4:30:47pm","04/22/2024 10:40:56pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/22/2024","04/22/2024 11:02:31am","04/22/2024 2:23:28pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/22/2024","04/22/2024 2:55:45pm","04/22/2024 5:06:37pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","04/22/2024","04/22/2024 5:00:00pm","04/22/2024 10:09:00pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/22/2024","04/22/2024 3:57:18pm","04/22/2024 8:13:30pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/22/2024","04/22/2024 8:44:49pm","04/22/2024 10:43:11pm","20","0.00","Poz","Henry","14116961" +"182656#351","","300","","04/22/2024","04/22/2024 9:13:07am","04/22/2024 2:49:57pm","20","0.00","Santiago","Luis","14116961" +"182656#351","","300","","04/22/2024","04/22/2024 3:22:25pm","04/22/2024 4:08:37pm","20","0.00","Santiago","Luis","14116961" +"182656#471","","300","","04/22/2024","04/22/2024 9:31:35am","04/22/2024 1:42:29pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/22/2024","04/22/2024 2:16:02pm","04/22/2024 3:01:22pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","04/22/2024","04/22/2024 10:02:05am","04/22/2024 3:11:46pm","20","0.00","Trelles","Ally","14116961" +"182656#313","","300","","04/23/2024","04/23/2024 9:04:51am","04/23/2024 2:12:06pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/23/2024","04/23/2024 2:49:19pm","04/23/2024 7:35:06pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/23/2024","04/23/2024 9:07:20am","04/23/2024 1:31:35pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/23/2024","04/23/2024 2:01:46pm","04/23/2024 3:56:46pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/23/2024","04/23/2024 9:28:48am","04/23/2024 2:21:57pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/23/2024","04/23/2024 4:05:35pm","04/23/2024 6:27:59pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/23/2024","04/23/2024 6:59:12pm","04/23/2024 10:37:49pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/23/2024","04/23/2024 5:23:30pm","04/23/2024 10:42:17pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/23/2024","04/23/2024 9:58:56am","04/23/2024 3:53:32pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","04/23/2024","04/23/2024 4:57:39pm","04/23/2024 10:08:37pm","20","0.00","Jarvis","Ruth","14116961" +"182656#469","","300","","04/23/2024","04/23/2024 5:05:12pm","04/23/2024 10:38:03pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/23/2024","04/23/2024 10:59:07am","04/23/2024 3:03:58pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","04/23/2024","04/23/2024 3:30:37pm","04/23/2024 6:09:00pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#458","","200","","04/23/2024","04/23/2024 6:01:44pm","04/23/2024 10:10:13pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","04/24/2024","04/24/2024 9:29:04am","04/24/2024 1:38:42pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/24/2024","04/24/2024 2:07:39pm","04/24/2024 3:34:18pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/24/2024","04/24/2024 9:07:53am","04/24/2024 2:21:46pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/24/2024","04/24/2024 2:57:13pm","04/24/2024 7:27:06pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/24/2024","04/24/2024 9:08:04am","04/24/2024 1:24:25pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/24/2024","04/24/2024 1:54:38pm","04/24/2024 4:02:53pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/24/2024","04/24/2024 9:45:16am","04/24/2024 2:36:43pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/24/2024","04/24/2024 5:01:58pm","04/24/2024 10:46:20pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#459","","200","","04/24/2024","04/24/2024 11:06:45am","04/24/2024 2:18:24pm","20","0.00","Hall","Jeremy","14116961" +"182656#459","","200","","04/24/2024","04/24/2024 2:49:19pm","04/24/2024 5:31:34pm","20","0.00","Hall","Jeremy","14116961" +"182656#473","","300","","04/24/2024","04/24/2024 4:32:05pm","04/24/2024 10:48:09pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","04/24/2024","04/24/2024 4:57:27pm","04/24/2024 10:20:35pm","20","0.00","Jarvis","Ruth","14116961" +"182656#369","","300","","04/24/2024","04/24/2024 3:57:12pm","04/24/2024 6:15:05pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/24/2024","04/24/2024 6:45:06pm","04/24/2024 10:46:12pm","20","0.00","Poz","Henry","14116961" +"182656#462","","200","","04/24/2024","04/24/2024 5:00:24pm","04/24/2024 10:20:46pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#460","","200","","04/25/2024","04/25/2024 5:00:09pm","04/25/2024 10:02:58pm","20","0.00","Abdulale","Aya","14116961" +"182656#313","","300","","04/25/2024","04/25/2024 9:13:52am","04/25/2024 2:14:12pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/25/2024","04/25/2024 2:48:23pm","04/25/2024 7:03:11pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/25/2024","04/25/2024 9:16:04am","04/25/2024 1:39:42pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/25/2024","04/25/2024 2:09:46pm","04/25/2024 4:26:57pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/25/2024","04/25/2024 9:31:50am","04/25/2024 2:42:23pm","20","0.00","Cazares","Rosa","14116961" +"182656#459","","200","","04/25/2024","04/25/2024 6:04:09pm","04/25/2024 10:02:51pm","20","0.00","Hall","Jeremy","14116961" +"182656#473","","300","","04/25/2024","04/25/2024 4:00:25pm","04/25/2024 5:51:04pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","04/25/2024","04/25/2024 6:21:19pm","04/25/2024 10:18:43pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/25/2024","04/25/2024 10:05:19am","04/25/2024 3:02:00pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","04/25/2024","04/25/2024 5:27:06pm","04/25/2024 10:18:32pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/25/2024","04/25/2024 5:10:57pm","04/25/2024 10:18:53pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/25/2024","04/25/2024 10:59:01am","04/25/2024 2:32:17pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","04/25/2024","04/25/2024 3:01:44pm","04/25/2024 5:23:03pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#455","","200","","04/26/2024","04/26/2024 4:59:20pm","04/26/2024 10:25:20pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/26/2024","04/26/2024 9:09:24am","04/26/2024 2:12:37pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/26/2024","04/26/2024 2:46:07pm","04/26/2024 8:13:23pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/26/2024","04/26/2024 9:05:47am","04/26/2024 1:21:38pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/26/2024","04/26/2024 1:51:47pm","04/26/2024 4:05:43pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/26/2024","04/26/2024 9:34:37am","04/26/2024 2:53:54pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","04/26/2024","04/26/2024 4:00:18pm","04/26/2024 7:04:55pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","04/26/2024","04/26/2024 7:35:12pm","04/26/2024 10:38:36pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/26/2024","04/26/2024 10:14:56am","04/26/2024 3:09:56pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","04/26/2024","04/26/2024 5:15:01pm","04/26/2024 10:25:11pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/26/2024","04/26/2024 4:00:11pm","04/26/2024 7:31:14pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/26/2024","04/26/2024 8:02:24pm","04/26/2024 10:38:45pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/26/2024","04/26/2024 5:00:00pm","04/26/2024 10:30:00pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/26/2024","04/26/2024 11:00:03am","04/26/2024 4:06:26pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","04/26/2024","04/26/2024 4:37:04pm","04/26/2024 7:30:40pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#460","","200","","04/27/2024","04/27/2024 11:01:04am","04/27/2024 3:17:59pm","20","0.00","Abdulale","Aya","14116961" +"182656#460","","200","","04/27/2024","04/27/2024 3:48:25pm","04/27/2024 7:35:28pm","20","0.00","Abdulale","Aya","14116961" +"182656#455","","200","","04/27/2024","04/27/2024 5:00:14pm","04/27/2024 10:19:18pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/27/2024","04/27/2024 8:59:27am","04/27/2024 3:36:23pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/27/2024","04/27/2024 4:10:12pm","04/27/2024 8:04:54pm","25","0.00","Benitez","Lenin","14116961" +"182656#448","","300","","04/27/2024","04/27/2024 8:59:34am","04/27/2024 3:30:21pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/27/2024","04/27/2024 4:57:24pm","04/27/2024 10:39:22pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/27/2024","04/27/2024 4:27:05pm","04/27/2024 7:19:35pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","04/27/2024","04/27/2024 7:36:34pm","04/27/2024 10:40:35pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","04/27/2024","04/27/2024 9:58:13am","04/27/2024 2:18:55pm","20","0.00","Jarvis","Ruth","14116961" +"182656#456","","200","","04/27/2024","04/27/2024 2:49:33pm","04/27/2024 4:23:52pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","04/27/2024","04/27/2024 5:04:14pm","04/27/2024 10:19:30pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/27/2024","04/27/2024 3:58:03pm","04/27/2024 7:43:54pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/27/2024","04/27/2024 8:15:58pm","04/27/2024 10:39:38pm","20","0.00","Poz","Henry","14116961" +"182656#471","","300","","04/27/2024","04/27/2024 9:57:35am","04/27/2024 1:30:36pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/27/2024","04/27/2024 2:02:10pm","04/27/2024 4:26:04pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","04/28/2024","04/28/2024 10:00:30am","04/28/2024 3:17:25pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/28/2024","04/28/2024 3:48:05pm","04/28/2024 5:18:13pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/28/2024","04/28/2024 9:15:40am","04/28/2024 3:18:12pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/28/2024","04/28/2024 3:51:57pm","04/28/2024 5:15:09pm","25","0.00","Benitez","Lenin","14116961" +"182656#448","","300","","04/28/2024","04/28/2024 9:15:59am","04/28/2024 3:23:01pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/28/2024","04/28/2024 3:58:19pm","04/28/2024 7:16:19pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/28/2024","04/28/2024 7:45:33pm","04/28/2024 10:38:51pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#454","","200","","04/28/2024","04/28/2024 9:57:15am","04/28/2024 2:43:09pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/28/2024","04/28/2024 3:13:59pm","04/28/2024 4:13:12pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","04/28/2024","04/28/2024 5:14:13pm","04/28/2024 10:13:29pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/28/2024","04/28/2024 3:58:31pm","04/28/2024 8:21:31pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/28/2024","04/28/2024 8:51:35pm","04/28/2024 10:38:30pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/28/2024","04/28/2024 5:01:21pm","04/28/2024 10:38:43pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/28/2024","04/28/2024 4:59:59pm","04/28/2024 10:13:20pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#471","","300","","04/28/2024","04/28/2024 9:30:13am","04/28/2024 2:43:00pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/28/2024","04/28/2024 2:56:11pm","04/28/2024 4:05:13pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","04/29/2024","04/29/2024 5:00:24pm","04/29/2024 10:24:05pm","20","0.00","Beals","Gabriel","14116961" +"182656#291","","300","","04/29/2024","04/29/2024 10:15:00am","04/29/2024 12:00:00pm","20","0.00","Castro","Francisco","14116961" +"182656#291","","300","","04/29/2024","04/29/2024 12:30:00pm","04/29/2024 4:00:00pm","20","0.00","Castro","Francisco","14116961" +"182656#420","","300","","04/29/2024","04/29/2024 8:59:35am","04/29/2024 2:56:58pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/29/2024","04/29/2024 3:27:10pm","04/29/2024 4:08:57pm","20","0.00","Castro","Jose","14116961" +"182656#474","","300","","04/29/2024","04/29/2024 4:01:08pm","04/29/2024 6:54:55pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/29/2024","04/29/2024 7:26:02pm","04/29/2024 10:41:13pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/29/2024","04/29/2024 4:27:34pm","04/29/2024 10:41:50pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/29/2024","04/29/2024 10:02:06am","04/29/2024 3:34:14pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","04/29/2024","04/29/2024 10:59:29am","04/29/2024 2:36:13pm","20","0.00","Jarvis","Ruth","14116961" +"182656#456","","200","","04/29/2024","04/29/2024 3:06:41pm","04/29/2024 5:14:43pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","04/29/2024","04/29/2024 5:00:40pm","04/29/2024 10:24:16pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/29/2024","04/29/2024 3:57:45pm","04/29/2024 8:03:23pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/29/2024","04/29/2024 8:33:39pm","04/29/2024 10:40:32pm","20","0.00","Poz","Henry","14116961" +"182656#471","","300","","04/29/2024","04/29/2024 9:29:14am","04/29/2024 2:59:32pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","04/30/2024","04/30/2024 10:59:55am","04/30/2024 2:15:48pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/30/2024","04/30/2024 2:44:43pm","04/30/2024 6:02:50pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/30/2024","04/30/2024 9:14:51am","04/30/2024 2:35:13pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/30/2024","04/30/2024 3:08:11pm","04/30/2024 10:25:55pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/30/2024","04/30/2024 9:05:48am","04/30/2024 1:38:25pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/30/2024","04/30/2024 2:08:37pm","04/30/2024 4:10:00pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/30/2024","04/30/2024 9:31:13am","04/30/2024 3:00:04pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/30/2024","04/30/2024 4:08:20pm","04/30/2024 7:20:09pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/30/2024","04/30/2024 7:51:26pm","04/30/2024 10:25:09pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/30/2024","04/30/2024 4:57:08pm","04/30/2024 10:24:47pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","04/30/2024","04/30/2024 5:01:56pm","04/30/2024 10:12:48pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","04/30/2024","04/30/2024 10:00:12am","04/30/2024 3:30:21pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#458","","200","","04/30/2024","04/30/2024 6:01:28pm","04/30/2024 10:12:56pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","05/01/2024","05/01/2024 9:30:02am","05/01/2024 1:44:35pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","05/01/2024","05/01/2024 2:13:23pm","05/01/2024 5:04:27pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/01/2024","05/01/2024 9:04:41am","05/01/2024 2:09:05pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/01/2024","05/01/2024 2:42:29pm","05/01/2024 5:48:07pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/01/2024","05/01/2024 9:07:40am","05/01/2024 1:34:42pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/01/2024","05/01/2024 2:05:01pm","05/01/2024 4:07:38pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/01/2024","05/01/2024 9:27:27am","05/01/2024 2:40:07pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","05/01/2024","05/01/2024 4:59:01pm","05/01/2024 10:26:11pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","05/01/2024","05/01/2024 4:06:37pm","05/01/2024 6:43:59pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","05/01/2024","05/01/2024 7:15:04pm","05/01/2024 10:25:27pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/01/2024","05/01/2024 5:13:49pm","05/01/2024 10:08:40pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","05/01/2024","05/01/2024 11:00:12am","05/01/2024 3:29:23pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#369","","300","","05/01/2024","05/01/2024 3:59:23pm","05/01/2024 8:27:48pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/01/2024","05/01/2024 8:58:07pm","05/01/2024 10:25:45pm","20","0.00","Poz","Henry","14116961" +"182656#462","","200","","05/01/2024","05/01/2024 5:01:05pm","05/01/2024 9:02:39pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#460","","200","","05/02/2024","05/02/2024 5:58:07pm","05/02/2024 10:18:33pm","20","0.00","Abdulale","Aya","14116961" +"182656#455","","200","","05/02/2024","05/02/2024 4:59:38pm","05/02/2024 6:09:15pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/02/2024","05/02/2024 9:08:47am","05/02/2024 2:25:10pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/02/2024","05/02/2024 2:58:21pm","05/02/2024 7:13:34pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/02/2024","05/02/2024 9:13:54am","05/02/2024 1:46:10pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/02/2024","05/02/2024 2:16:20pm","05/02/2024 4:14:29pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/02/2024","05/02/2024 9:27:31am","05/02/2024 2:33:28pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/02/2024","05/02/2024 4:05:43pm","05/02/2024 6:32:14pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","05/02/2024","05/02/2024 7:03:28pm","05/02/2024 10:36:54pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","05/02/2024","05/02/2024 10:07:14am","05/02/2024 3:46:15pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","05/02/2024","05/02/2024 5:04:54pm","05/02/2024 10:37:08pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","05/02/2024","05/02/2024 5:58:33pm","05/02/2024 10:38:06pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","05/02/2024","05/02/2024 12:07:20pm","05/02/2024 2:32:53pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","05/02/2024","05/02/2024 3:03:10pm","05/02/2024 6:27:17pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#446","","100","","05/02/2024","05/02/2024 6:31:00pm","05/02/2024 7:13:00pm","22","0.00","Washington","Lex","14116961" +"182656#313","","300","","05/03/2024","05/03/2024 9:06:47am","05/03/2024 2:45:45pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/03/2024","05/03/2024 3:17:36pm","05/03/2024 8:08:47pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/03/2024","05/03/2024 9:05:31am","05/03/2024 2:03:36pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/03/2024","05/03/2024 2:33:41pm","05/03/2024 4:45:44pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/03/2024","05/03/2024 9:27:28am","05/03/2024 3:26:04pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/03/2024","05/03/2024 4:21:48pm","05/03/2024 10:40:33pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","05/03/2024","05/03/2024 10:00:41am","05/03/2024 3:44:47pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","05/03/2024","05/03/2024 5:03:29pm","05/03/2024 10:29:51pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/03/2024","05/03/2024 3:58:17pm","05/03/2024 7:33:14pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/03/2024","05/03/2024 8:03:02pm","05/03/2024 10:40:05pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","05/03/2024","05/03/2024 5:35:28pm","05/03/2024 10:41:48pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","05/03/2024","05/03/2024 5:00:59pm","05/03/2024 10:25:47pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#458","","200","","05/03/2024","05/03/2024 10:58:34am","05/03/2024 2:34:57pm","20","0.00","Trelles","Ally","14116961" +"182656#458","","200","","05/03/2024","05/03/2024 3:05:06pm","05/03/2024 7:17:23pm","20","0.00","Trelles","Ally","14116961" +"182656#313","","300","","05/04/2024","05/04/2024 9:13:37am","05/04/2024 2:48:49pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/04/2024","05/04/2024 3:19:31pm","05/04/2024 7:09:44pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","05/04/2024","05/04/2024 11:11:18am","05/04/2024 1:43:36pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","05/04/2024","05/04/2024 2:14:05pm","05/04/2024 5:31:57pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","05/04/2024","05/04/2024 9:14:37am","05/04/2024 3:06:41pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","05/04/2024","05/04/2024 4:57:12pm","05/04/2024 10:40:31pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","05/04/2024","05/04/2024 4:30:48pm","05/04/2024 10:40:19pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/04/2024","05/04/2024 5:00:41pm","05/04/2024 10:07:44pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","05/04/2024","05/04/2024 5:04:51pm","05/04/2024 10:08:10pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/04/2024","05/04/2024 3:57:53pm","05/04/2024 8:18:36pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/04/2024","05/04/2024 8:49:37pm","05/04/2024 10:40:09pm","20","0.00","Poz","Henry","14116961" +"182656#471","","300","","05/04/2024","05/04/2024 10:02:35am","05/04/2024 1:58:55pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","05/04/2024","05/04/2024 2:28:44pm","05/04/2024 4:02:54pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","05/04/2024","05/04/2024 10:00:31am","05/04/2024 2:56:32pm","20","0.00","Trelles","Ally","14116961" +"182656#460","","200","","05/05/2024","05/05/2024 5:00:49pm","05/05/2024 10:11:39pm","20","0.00","Abdulale","Aya","14116961" +"182656#313","","300","","05/05/2024","05/05/2024 9:13:35am","05/05/2024 3:14:34pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/05/2024","05/05/2024 3:46:11pm","05/05/2024 5:19:26pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","05/05/2024","05/05/2024 10:07:51am","05/05/2024 3:06:16pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","05/05/2024","05/05/2024 3:38:36pm","05/05/2024 5:09:04pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","05/05/2024","05/05/2024 9:13:23am","05/05/2024 3:18:38pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","05/05/2024","05/05/2024 3:57:34pm","05/05/2024 7:59:49pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","05/05/2024","05/05/2024 8:30:53pm","05/05/2024 10:33:27pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#454","","200","","05/05/2024","05/05/2024 10:08:34am","05/05/2024 2:17:55pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","05/05/2024","05/05/2024 2:47:36pm","05/05/2024 4:14:33pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","05/05/2024","05/05/2024 5:03:54pm","05/05/2024 10:11:51pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/05/2024","05/05/2024 3:57:27pm","05/05/2024 8:51:01pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/05/2024","05/05/2024 9:21:59pm","05/05/2024 10:34:06pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","05/05/2024","05/05/2024 4:59:47pm","05/05/2024 10:34:18pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#471","","300","","05/05/2024","05/05/2024 9:28:53am","05/05/2024 2:26:52pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","05/05/2024","05/05/2024 2:59:17pm","05/05/2024 4:00:23pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","05/06/2024","05/06/2024 4:59:00pm","05/06/2024 10:15:00pm","20","0.00","Beals","Gabriel","14116961" +"182656#291","","300","","05/06/2024","05/06/2024 9:07:11am","05/06/2024 2:19:47pm","20","0.00","Castro","Francisco","14116961" +"182656#291","","300","","05/06/2024","05/06/2024 2:48:43pm","05/06/2024 4:05:00pm","20","0.00","Castro","Francisco","14116961" +"182656#420","","300","","05/06/2024","05/06/2024 9:06:56am","05/06/2024 3:16:11pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/06/2024","05/06/2024 3:49:10pm","05/06/2024 4:04:45pm","20","0.00","Castro","Jose","14116961" +"182656#474","","300","","05/06/2024","05/06/2024 4:10:58pm","05/06/2024 7:10:00pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","05/06/2024","05/06/2024 7:33:33pm","05/06/2024 10:30:22pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","05/06/2024","05/06/2024 4:39:50pm","05/06/2024 10:30:14pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","05/06/2024","05/06/2024 9:57:50am","05/06/2024 3:20:51pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","05/06/2024","05/06/2024 11:00:59am","05/06/2024 2:32:46pm","20","0.00","Jarvis","Ruth","14116961" +"182656#456","","200","","05/06/2024","05/06/2024 2:59:58pm","05/06/2024 5:07:31pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","05/06/2024","05/06/2024 5:01:16pm","05/06/2024 8:59:27pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/06/2024","05/06/2024 3:59:18pm","05/06/2024 8:12:06pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/06/2024","05/06/2024 8:43:19pm","05/06/2024 10:30:06pm","20","0.00","Poz","Henry","14116961" +"182656#455","","200","","05/07/2024","05/07/2024 10:58:36am","05/07/2024 2:08:52pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","05/07/2024","05/07/2024 2:37:58pm","05/07/2024 6:16:54pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/07/2024","05/07/2024 9:11:34am","05/07/2024 2:10:24pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/07/2024","05/07/2024 2:41:55pm","05/07/2024 8:11:02pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/07/2024","05/07/2024 9:09:05am","05/07/2024 1:17:17pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/07/2024","05/07/2024 1:47:21pm","05/07/2024 4:03:15pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/07/2024","05/07/2024 9:32:47am","05/07/2024 2:35:15pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/07/2024","05/07/2024 5:00:28pm","05/07/2024 10:26:04pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/07/2024","05/07/2024 6:16:00pm","05/07/2024 10:12:00pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","05/07/2024","05/07/2024 10:00:12am","05/07/2024 3:23:20pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#469","","300","","05/07/2024","05/07/2024 5:55:34pm","05/07/2024 10:26:53pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","05/07/2024","05/07/2024 5:00:18pm","05/07/2024 10:12:07pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#455","","200","","05/08/2024","05/08/2024 9:31:33am","05/08/2024 1:53:27pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","05/08/2024","05/08/2024 2:22:44pm","05/08/2024 5:10:24pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/08/2024","05/08/2024 9:04:52am","05/08/2024 4:05:40pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/08/2024","05/08/2024 4:40:34pm","05/08/2024 7:22:40pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/08/2024","05/08/2024 9:11:03am","05/08/2024 4:58:12pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/08/2024","05/08/2024 10:49:57am","05/08/2024 3:00:21pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/08/2024","05/08/2024 4:10:54pm","05/08/2024 6:54:04pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","05/08/2024","05/08/2024 7:23:56pm","05/08/2024 10:47:01pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/08/2024","05/08/2024 4:59:27pm","05/08/2024 10:08:25pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","05/08/2024","05/08/2024 10:49:38am","05/08/2024 2:24:36pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#477","","200","","05/08/2024","05/08/2024 5:01:00pm","05/08/2024 10:08:40pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/08/2024","05/08/2024 3:58:22pm","05/08/2024 7:37:27pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/08/2024","05/08/2024 8:07:29pm","05/08/2024 10:47:09pm","20","0.00","Poz","Henry","14116961" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240509.csv new file mode 100644 index 00000000..a89c0bdc --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Fair Oaks_20240509.csv @@ -0,0 +1,316 @@ +"182656#455","","200","","04/19/2024","04/19/2024 4:59:30pm","04/19/2024 10:10:38pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/19/2024","04/19/2024 8:59:58am","04/19/2024 2:27:02pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/19/2024","04/19/2024 2:59:27pm","04/19/2024 8:06:17pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","04/19/2024","04/19/2024 12:10:50pm","04/19/2024 2:50:07pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","04/19/2024","04/19/2024 3:20:17pm","04/19/2024 8:02:20pm","20","0.00","Carrillo","Ana","14116961" +"182656#420","","300","","04/19/2024","04/19/2024 9:11:32am","04/19/2024 1:16:05pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/19/2024","04/19/2024 1:46:29pm","04/19/2024 4:34:32pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/19/2024","04/19/2024 9:30:10am","04/19/2024 3:31:45pm","20","0.00","Cazares","Rosa","14116961" +"182656#459","","200","","04/19/2024","04/19/2024 5:05:43pm","04/19/2024 10:08:35pm","20","0.00","Hall","Jeremy","14116961" +"182656#473","","300","","04/19/2024","04/19/2024 4:30:31pm","04/19/2024 10:44:34pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/19/2024","04/19/2024 10:57:15am","04/19/2024 2:11:35pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/19/2024","04/19/2024 2:41:39pm","04/19/2024 5:03:31pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","04/19/2024","04/19/2024 3:59:30pm","04/19/2024 6:55:25pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/19/2024","04/19/2024 7:25:14pm","04/19/2024 10:44:45pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/19/2024","04/19/2024 5:11:00pm","04/19/2024 10:45:00pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#471","","300","","04/19/2024","04/19/2024 9:57:48am","04/19/2024 1:52:43pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/19/2024","04/19/2024 2:22:38pm","04/19/2024 3:33:05pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","04/19/2024","04/19/2024 9:59:33am","04/19/2024 2:38:25pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","04/20/2024","04/20/2024 4:58:51pm","04/20/2024 10:26:56pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/20/2024","04/20/2024 8:58:47am","04/20/2024 3:05:20pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/20/2024","04/20/2024 3:37:00pm","04/20/2024 8:00:40pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","04/20/2024","04/20/2024 5:37:24pm","04/20/2024 10:26:09pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","04/20/2024","04/20/2024 9:29:22am","04/20/2024 3:10:25pm","20","0.00","Cazares","Rosa","14116961" +"182656#448","","300","","04/20/2024","04/20/2024 3:41:09pm","04/20/2024 4:30:21pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/20/2024","04/20/2024 4:57:14pm","04/20/2024 10:46:12pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#398","","200","","04/20/2024","04/20/2024 12:03:20pm","04/20/2024 7:27:04pm","20","0.00","Gonzalez","Cassie","14116961" +"182656#473","","300","","04/20/2024","04/20/2024 4:33:45pm","04/20/2024 10:45:45pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/20/2024","04/20/2024 11:12:14am","04/20/2024 2:05:05pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/20/2024","04/20/2024 2:35:35pm","04/20/2024 4:45:05pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","04/20/2024","04/20/2024 9:59:01am","04/20/2024 2:46:12pm","20","0.00","Jarvis","Ruth","14116961" +"182656#369","","300","","04/20/2024","04/20/2024 3:57:49pm","04/20/2024 7:30:12pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/20/2024","04/20/2024 8:01:42pm","04/20/2024 10:46:00pm","20","0.00","Poz","Henry","14116961" +"182656#351","","300","","04/20/2024","04/20/2024 9:06:19am","04/20/2024 1:33:46pm","20","0.00","Santiago","Luis","14116961" +"182656#351","","300","","04/20/2024","04/20/2024 2:03:45pm","04/20/2024 4:06:37pm","20","0.00","Santiago","Luis","14116961" +"182656#471","","300","","04/20/2024","04/20/2024 9:58:00am","04/20/2024 2:15:00pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/20/2024","04/20/2024 2:47:00pm","04/20/2024 4:00:00pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#460","","200","","04/21/2024","04/21/2024 5:30:28pm","04/21/2024 10:14:35pm","20","0.00","Abdulale","Aya","14116961" +"182656#455","","200","","04/21/2024","04/21/2024 9:59:44am","04/21/2024 2:16:31pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/21/2024","04/21/2024 2:47:05pm","04/21/2024 5:04:23pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/21/2024","04/21/2024 8:57:58am","04/21/2024 2:34:34pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/21/2024","04/21/2024 3:04:22pm","04/21/2024 6:01:03pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","04/21/2024","04/21/2024 12:04:58pm","04/21/2024 2:53:47pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","04/21/2024","04/21/2024 3:25:13pm","04/21/2024 5:58:27pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","04/21/2024","04/21/2024 8:58:39am","04/21/2024 11:31:42am","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/21/2024","04/21/2024 3:57:48pm","04/21/2024 7:43:03pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/21/2024","04/21/2024 8:13:58pm","04/21/2024 10:42:54pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#454","","200","","04/21/2024","04/21/2024 10:00:47am","04/21/2024 2:36:11pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","04/21/2024","04/21/2024 3:57:56pm","04/21/2024 8:43:20pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/21/2024","04/21/2024 9:16:24pm","04/21/2024 10:42:41pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/21/2024","04/21/2024 5:00:19pm","04/21/2024 10:43:43pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#351","","300","","04/21/2024","04/21/2024 9:34:35am","04/21/2024 1:54:52pm","20","0.00","Santiago","Luis","14116961" +"182656#351","","300","","04/21/2024","04/21/2024 2:28:58pm","04/21/2024 4:12:28pm","20","0.00","Santiago","Luis","14116961" +"182656#471","","300","","04/21/2024","04/21/2024 9:32:57am","04/21/2024 3:14:19pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","04/21/2024","04/21/2024 4:58:28pm","04/21/2024 10:15:26pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","04/22/2024","04/22/2024 4:59:55pm","04/22/2024 10:11:15pm","20","0.00","Beals","Gabriel","14116961" +"182656#420","","300","","04/22/2024","04/22/2024 9:07:20am","04/22/2024 2:16:42pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/22/2024","04/22/2024 2:47:10pm","04/22/2024 4:02:29pm","20","0.00","Castro","Jose","14116961" +"182656#474","","300","","04/22/2024","04/22/2024 3:58:15pm","04/22/2024 7:14:50pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/22/2024","04/22/2024 7:45:27pm","04/22/2024 10:42:07pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/22/2024","04/22/2024 4:30:47pm","04/22/2024 10:40:56pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/22/2024","04/22/2024 11:02:31am","04/22/2024 2:23:28pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/22/2024","04/22/2024 2:55:45pm","04/22/2024 5:06:37pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","04/22/2024","04/22/2024 5:00:00pm","04/22/2024 10:09:00pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/22/2024","04/22/2024 3:57:18pm","04/22/2024 8:13:30pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/22/2024","04/22/2024 8:44:49pm","04/22/2024 10:43:11pm","20","0.00","Poz","Henry","14116961" +"182656#351","","300","","04/22/2024","04/22/2024 9:13:07am","04/22/2024 2:49:57pm","20","0.00","Santiago","Luis","14116961" +"182656#351","","300","","04/22/2024","04/22/2024 3:22:25pm","04/22/2024 4:08:37pm","20","0.00","Santiago","Luis","14116961" +"182656#471","","300","","04/22/2024","04/22/2024 9:31:35am","04/22/2024 1:42:29pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/22/2024","04/22/2024 2:16:02pm","04/22/2024 3:01:22pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","04/22/2024","04/22/2024 10:02:05am","04/22/2024 3:11:46pm","20","0.00","Trelles","Ally","14116961" +"182656#313","","300","","04/23/2024","04/23/2024 9:04:51am","04/23/2024 2:12:06pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/23/2024","04/23/2024 2:49:19pm","04/23/2024 7:35:06pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/23/2024","04/23/2024 9:07:20am","04/23/2024 1:31:35pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/23/2024","04/23/2024 2:01:46pm","04/23/2024 3:56:46pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/23/2024","04/23/2024 9:28:48am","04/23/2024 2:21:57pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/23/2024","04/23/2024 4:05:35pm","04/23/2024 6:27:59pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/23/2024","04/23/2024 6:59:12pm","04/23/2024 10:37:49pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/23/2024","04/23/2024 5:23:30pm","04/23/2024 10:42:17pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/23/2024","04/23/2024 9:58:56am","04/23/2024 3:53:32pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","04/23/2024","04/23/2024 4:57:39pm","04/23/2024 10:08:37pm","20","0.00","Jarvis","Ruth","14116961" +"182656#469","","300","","04/23/2024","04/23/2024 5:05:12pm","04/23/2024 10:38:03pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/23/2024","04/23/2024 10:59:07am","04/23/2024 3:03:58pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","04/23/2024","04/23/2024 3:30:37pm","04/23/2024 6:09:00pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#458","","200","","04/23/2024","04/23/2024 6:01:44pm","04/23/2024 10:10:13pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","04/24/2024","04/24/2024 9:29:04am","04/24/2024 1:38:42pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/24/2024","04/24/2024 2:07:39pm","04/24/2024 3:34:18pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/24/2024","04/24/2024 9:07:53am","04/24/2024 2:21:46pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/24/2024","04/24/2024 2:57:13pm","04/24/2024 7:27:06pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/24/2024","04/24/2024 9:08:04am","04/24/2024 1:24:25pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/24/2024","04/24/2024 1:54:38pm","04/24/2024 4:02:53pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/24/2024","04/24/2024 9:45:16am","04/24/2024 2:36:43pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/24/2024","04/24/2024 5:01:58pm","04/24/2024 10:46:20pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#459","","200","","04/24/2024","04/24/2024 11:06:45am","04/24/2024 2:18:24pm","20","0.00","Hall","Jeremy","14116961" +"182656#459","","200","","04/24/2024","04/24/2024 2:49:19pm","04/24/2024 5:31:34pm","20","0.00","Hall","Jeremy","14116961" +"182656#473","","300","","04/24/2024","04/24/2024 4:32:05pm","04/24/2024 10:48:09pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","04/24/2024","04/24/2024 4:57:27pm","04/24/2024 10:20:35pm","20","0.00","Jarvis","Ruth","14116961" +"182656#369","","300","","04/24/2024","04/24/2024 3:57:12pm","04/24/2024 6:15:05pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/24/2024","04/24/2024 6:45:06pm","04/24/2024 10:46:12pm","20","0.00","Poz","Henry","14116961" +"182656#462","","200","","04/24/2024","04/24/2024 5:00:24pm","04/24/2024 10:20:46pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#460","","200","","04/25/2024","04/25/2024 5:00:09pm","04/25/2024 10:02:58pm","20","0.00","Abdulale","Aya","14116961" +"182656#313","","300","","04/25/2024","04/25/2024 9:13:52am","04/25/2024 2:14:12pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/25/2024","04/25/2024 2:48:23pm","04/25/2024 7:03:11pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/25/2024","04/25/2024 9:16:04am","04/25/2024 1:39:42pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/25/2024","04/25/2024 2:09:46pm","04/25/2024 4:26:57pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/25/2024","04/25/2024 9:31:50am","04/25/2024 2:42:23pm","20","0.00","Cazares","Rosa","14116961" +"182656#459","","200","","04/25/2024","04/25/2024 6:04:09pm","04/25/2024 10:02:51pm","20","0.00","Hall","Jeremy","14116961" +"182656#473","","300","","04/25/2024","04/25/2024 4:00:25pm","04/25/2024 5:51:04pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","04/25/2024","04/25/2024 6:21:19pm","04/25/2024 10:18:43pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/25/2024","04/25/2024 10:05:19am","04/25/2024 3:02:00pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","04/25/2024","04/25/2024 5:27:06pm","04/25/2024 10:18:32pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/25/2024","04/25/2024 5:10:57pm","04/25/2024 10:18:53pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/25/2024","04/25/2024 10:59:01am","04/25/2024 2:32:17pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","04/25/2024","04/25/2024 3:01:44pm","04/25/2024 5:23:03pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#455","","200","","04/26/2024","04/26/2024 4:59:20pm","04/26/2024 10:25:20pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/26/2024","04/26/2024 9:09:24am","04/26/2024 2:12:37pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/26/2024","04/26/2024 2:46:07pm","04/26/2024 8:13:23pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/26/2024","04/26/2024 9:05:47am","04/26/2024 1:21:38pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/26/2024","04/26/2024 1:51:47pm","04/26/2024 4:05:43pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/26/2024","04/26/2024 9:34:37am","04/26/2024 2:53:54pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","04/26/2024","04/26/2024 4:00:18pm","04/26/2024 7:04:55pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","04/26/2024","04/26/2024 7:35:12pm","04/26/2024 10:38:36pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/26/2024","04/26/2024 10:14:56am","04/26/2024 3:09:56pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","04/26/2024","04/26/2024 5:15:01pm","04/26/2024 10:25:11pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/26/2024","04/26/2024 4:00:11pm","04/26/2024 7:31:14pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/26/2024","04/26/2024 8:02:24pm","04/26/2024 10:38:45pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/26/2024","04/26/2024 5:00:00pm","04/26/2024 10:30:00pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/26/2024","04/26/2024 11:00:03am","04/26/2024 4:06:26pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","04/26/2024","04/26/2024 4:37:04pm","04/26/2024 7:30:40pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#460","","200","","04/27/2024","04/27/2024 11:01:04am","04/27/2024 3:17:59pm","20","0.00","Abdulale","Aya","14116961" +"182656#460","","200","","04/27/2024","04/27/2024 3:48:25pm","04/27/2024 7:35:28pm","20","0.00","Abdulale","Aya","14116961" +"182656#455","","200","","04/27/2024","04/27/2024 5:00:14pm","04/27/2024 10:19:18pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/27/2024","04/27/2024 8:59:27am","04/27/2024 3:36:23pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/27/2024","04/27/2024 4:10:12pm","04/27/2024 8:04:54pm","25","0.00","Benitez","Lenin","14116961" +"182656#448","","300","","04/27/2024","04/27/2024 8:59:34am","04/27/2024 3:30:21pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/27/2024","04/27/2024 4:57:24pm","04/27/2024 10:39:22pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/27/2024","04/27/2024 4:27:05pm","04/27/2024 7:19:35pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","04/27/2024","04/27/2024 7:36:34pm","04/27/2024 10:40:35pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","04/27/2024","04/27/2024 9:58:13am","04/27/2024 2:18:55pm","20","0.00","Jarvis","Ruth","14116961" +"182656#456","","200","","04/27/2024","04/27/2024 2:49:33pm","04/27/2024 4:23:52pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","04/27/2024","04/27/2024 5:04:14pm","04/27/2024 10:19:30pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/27/2024","04/27/2024 3:58:03pm","04/27/2024 7:43:54pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/27/2024","04/27/2024 8:15:58pm","04/27/2024 10:39:38pm","20","0.00","Poz","Henry","14116961" +"182656#471","","300","","04/27/2024","04/27/2024 9:57:35am","04/27/2024 1:30:36pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/27/2024","04/27/2024 2:02:10pm","04/27/2024 4:26:04pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","04/28/2024","04/28/2024 10:00:30am","04/28/2024 3:17:25pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/28/2024","04/28/2024 3:48:05pm","04/28/2024 5:18:13pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/28/2024","04/28/2024 9:15:40am","04/28/2024 3:18:12pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/28/2024","04/28/2024 3:51:57pm","04/28/2024 5:15:09pm","25","0.00","Benitez","Lenin","14116961" +"182656#448","","300","","04/28/2024","04/28/2024 9:15:59am","04/28/2024 3:23:01pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/28/2024","04/28/2024 3:58:19pm","04/28/2024 7:16:19pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/28/2024","04/28/2024 7:45:33pm","04/28/2024 10:38:51pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#454","","200","","04/28/2024","04/28/2024 9:57:15am","04/28/2024 2:43:09pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","04/28/2024","04/28/2024 3:13:59pm","04/28/2024 4:13:12pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","04/28/2024","04/28/2024 5:14:13pm","04/28/2024 10:13:29pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/28/2024","04/28/2024 3:58:31pm","04/28/2024 8:21:31pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/28/2024","04/28/2024 8:51:35pm","04/28/2024 10:38:30pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","04/28/2024","04/28/2024 5:01:21pm","04/28/2024 10:38:43pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","04/28/2024","04/28/2024 4:59:59pm","04/28/2024 10:13:20pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#471","","300","","04/28/2024","04/28/2024 9:30:13am","04/28/2024 2:43:00pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","04/28/2024","04/28/2024 2:56:11pm","04/28/2024 4:05:13pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","04/29/2024","04/29/2024 5:00:24pm","04/29/2024 10:24:05pm","20","0.00","Beals","Gabriel","14116961" +"182656#291","","300","","04/29/2024","04/29/2024 10:15:00am","04/29/2024 12:00:00pm","20","0.00","Castro","Francisco","14116961" +"182656#291","","300","","04/29/2024","04/29/2024 12:30:00pm","04/29/2024 4:00:00pm","20","0.00","Castro","Francisco","14116961" +"182656#420","","300","","04/29/2024","04/29/2024 8:59:35am","04/29/2024 2:56:58pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/29/2024","04/29/2024 3:27:10pm","04/29/2024 4:08:57pm","20","0.00","Castro","Jose","14116961" +"182656#474","","300","","04/29/2024","04/29/2024 4:01:08pm","04/29/2024 6:54:55pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/29/2024","04/29/2024 7:26:02pm","04/29/2024 10:41:13pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/29/2024","04/29/2024 4:27:34pm","04/29/2024 10:41:50pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","04/29/2024","04/29/2024 10:02:06am","04/29/2024 3:34:14pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","04/29/2024","04/29/2024 10:59:29am","04/29/2024 2:36:13pm","20","0.00","Jarvis","Ruth","14116961" +"182656#456","","200","","04/29/2024","04/29/2024 3:06:41pm","04/29/2024 5:14:43pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","04/29/2024","04/29/2024 5:00:40pm","04/29/2024 10:24:16pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","04/29/2024","04/29/2024 3:57:45pm","04/29/2024 8:03:23pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","04/29/2024","04/29/2024 8:33:39pm","04/29/2024 10:40:32pm","20","0.00","Poz","Henry","14116961" +"182656#471","","300","","04/29/2024","04/29/2024 9:29:14am","04/29/2024 2:59:32pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","04/30/2024","04/30/2024 10:59:55am","04/30/2024 2:15:48pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","04/30/2024","04/30/2024 2:44:43pm","04/30/2024 6:02:50pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","04/30/2024","04/30/2024 9:14:51am","04/30/2024 2:35:13pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","04/30/2024","04/30/2024 3:08:11pm","04/30/2024 10:25:55pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","04/30/2024","04/30/2024 9:05:48am","04/30/2024 1:38:25pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","04/30/2024","04/30/2024 2:08:37pm","04/30/2024 4:10:00pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","04/30/2024","04/30/2024 9:31:13am","04/30/2024 3:00:04pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","04/30/2024","04/30/2024 4:08:20pm","04/30/2024 7:20:09pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","04/30/2024","04/30/2024 7:51:26pm","04/30/2024 10:25:09pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","04/30/2024","04/30/2024 4:57:08pm","04/30/2024 10:24:47pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","04/30/2024","04/30/2024 5:01:56pm","04/30/2024 10:12:48pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","04/30/2024","04/30/2024 10:00:12am","04/30/2024 3:30:21pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#458","","200","","04/30/2024","04/30/2024 6:01:28pm","04/30/2024 10:12:56pm","20","0.00","Trelles","Ally","14116961" +"182656#455","","200","","05/01/2024","05/01/2024 9:30:02am","05/01/2024 1:44:35pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","05/01/2024","05/01/2024 2:13:23pm","05/01/2024 5:04:27pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/01/2024","05/01/2024 9:04:41am","05/01/2024 2:09:05pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/01/2024","05/01/2024 2:42:29pm","05/01/2024 5:48:07pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/01/2024","05/01/2024 9:07:40am","05/01/2024 1:34:42pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/01/2024","05/01/2024 2:05:01pm","05/01/2024 4:07:38pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/01/2024","05/01/2024 9:27:27am","05/01/2024 2:40:07pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","05/01/2024","05/01/2024 4:59:01pm","05/01/2024 10:26:11pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","05/01/2024","05/01/2024 4:06:37pm","05/01/2024 6:43:59pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","05/01/2024","05/01/2024 7:15:04pm","05/01/2024 10:25:27pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/01/2024","05/01/2024 5:13:49pm","05/01/2024 10:08:40pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","05/01/2024","05/01/2024 11:00:12am","05/01/2024 3:29:23pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#369","","300","","05/01/2024","05/01/2024 3:59:23pm","05/01/2024 8:27:48pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/01/2024","05/01/2024 8:58:07pm","05/01/2024 10:25:45pm","20","0.00","Poz","Henry","14116961" +"182656#462","","200","","05/01/2024","05/01/2024 5:01:05pm","05/01/2024 9:02:39pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#460","","200","","05/02/2024","05/02/2024 5:58:07pm","05/02/2024 10:18:33pm","20","0.00","Abdulale","Aya","14116961" +"182656#455","","200","","05/02/2024","05/02/2024 4:59:38pm","05/02/2024 6:09:15pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/02/2024","05/02/2024 9:08:47am","05/02/2024 2:25:10pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/02/2024","05/02/2024 2:58:21pm","05/02/2024 7:13:34pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/02/2024","05/02/2024 9:13:54am","05/02/2024 1:46:10pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/02/2024","05/02/2024 2:16:20pm","05/02/2024 4:14:29pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/02/2024","05/02/2024 9:27:31am","05/02/2024 2:33:28pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/02/2024","05/02/2024 4:05:43pm","05/02/2024 6:32:14pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","05/02/2024","05/02/2024 7:03:28pm","05/02/2024 10:36:54pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","05/02/2024","05/02/2024 10:07:14am","05/02/2024 3:46:15pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","05/02/2024","05/02/2024 5:04:54pm","05/02/2024 10:37:08pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","05/02/2024","05/02/2024 5:58:33pm","05/02/2024 10:38:06pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","05/02/2024","05/02/2024 12:07:20pm","05/02/2024 2:32:53pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#462","","200","","05/02/2024","05/02/2024 3:03:10pm","05/02/2024 6:27:17pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#446","","100","","05/02/2024","05/02/2024 6:31:00pm","05/02/2024 7:13:00pm","22","0.00","Washington","Lex","14116961" +"182656#313","","300","","05/03/2024","05/03/2024 9:06:47am","05/03/2024 2:45:45pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/03/2024","05/03/2024 3:17:36pm","05/03/2024 8:08:47pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/03/2024","05/03/2024 9:05:31am","05/03/2024 2:03:36pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/03/2024","05/03/2024 2:33:41pm","05/03/2024 4:45:44pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/03/2024","05/03/2024 9:27:28am","05/03/2024 3:26:04pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/03/2024","05/03/2024 4:21:48pm","05/03/2024 10:40:33pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","05/03/2024","05/03/2024 10:00:41am","05/03/2024 3:44:47pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","05/03/2024","05/03/2024 5:03:29pm","05/03/2024 10:29:51pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/03/2024","05/03/2024 3:58:17pm","05/03/2024 7:33:14pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/03/2024","05/03/2024 8:03:02pm","05/03/2024 10:40:05pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","05/03/2024","05/03/2024 5:35:28pm","05/03/2024 10:41:48pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","05/03/2024","05/03/2024 5:00:59pm","05/03/2024 10:25:47pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#458","","200","","05/03/2024","05/03/2024 10:58:34am","05/03/2024 2:34:57pm","20","0.00","Trelles","Ally","14116961" +"182656#458","","200","","05/03/2024","05/03/2024 3:05:06pm","05/03/2024 7:17:23pm","20","0.00","Trelles","Ally","14116961" +"182656#313","","300","","05/04/2024","05/04/2024 9:13:37am","05/04/2024 2:48:49pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/04/2024","05/04/2024 3:19:31pm","05/04/2024 7:09:44pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","05/04/2024","05/04/2024 11:11:18am","05/04/2024 1:43:36pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","05/04/2024","05/04/2024 2:14:05pm","05/04/2024 5:31:57pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","05/04/2024","05/04/2024 9:14:37am","05/04/2024 3:06:41pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","05/04/2024","05/04/2024 4:57:12pm","05/04/2024 10:40:31pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","05/04/2024","05/04/2024 4:30:48pm","05/04/2024 10:40:19pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/04/2024","05/04/2024 5:00:41pm","05/04/2024 10:07:44pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","05/04/2024","05/04/2024 5:04:51pm","05/04/2024 10:08:10pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/04/2024","05/04/2024 3:57:53pm","05/04/2024 8:18:36pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/04/2024","05/04/2024 8:49:37pm","05/04/2024 10:40:09pm","20","0.00","Poz","Henry","14116961" +"182656#471","","300","","05/04/2024","05/04/2024 10:02:35am","05/04/2024 1:58:55pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","05/04/2024","05/04/2024 2:28:44pm","05/04/2024 4:02:54pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#458","","200","","05/04/2024","05/04/2024 10:00:31am","05/04/2024 2:56:32pm","20","0.00","Trelles","Ally","14116961" +"182656#460","","200","","05/05/2024","05/05/2024 5:00:49pm","05/05/2024 10:11:39pm","20","0.00","Abdulale","Aya","14116961" +"182656#313","","300","","05/05/2024","05/05/2024 9:13:35am","05/05/2024 3:14:34pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/05/2024","05/05/2024 3:46:11pm","05/05/2024 5:19:26pm","25","0.00","Benitez","Lenin","14116961" +"182656#46","","200","","05/05/2024","05/05/2024 10:07:51am","05/05/2024 3:06:16pm","20","0.00","Carrillo","Ana","14116961" +"182656#46","","200","","05/05/2024","05/05/2024 3:38:36pm","05/05/2024 5:09:04pm","20","0.00","Carrillo","Ana","14116961" +"182656#448","","300","","05/05/2024","05/05/2024 9:13:23am","05/05/2024 3:18:38pm","20","0.00","Cazares","Rosa","14116961" +"182656#474","","300","","05/05/2024","05/05/2024 3:57:34pm","05/05/2024 7:59:49pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","05/05/2024","05/05/2024 8:30:53pm","05/05/2024 10:33:27pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#454","","200","","05/05/2024","05/05/2024 10:08:34am","05/05/2024 2:17:55pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","05/05/2024","05/05/2024 2:47:36pm","05/05/2024 4:14:33pm","20","0.00","Holmes","Michael","14116961" +"182656#477","","200","","05/05/2024","05/05/2024 5:03:54pm","05/05/2024 10:11:51pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/05/2024","05/05/2024 3:57:27pm","05/05/2024 8:51:01pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/05/2024","05/05/2024 9:21:59pm","05/05/2024 10:34:06pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","05/05/2024","05/05/2024 4:59:47pm","05/05/2024 10:34:18pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#471","","300","","05/05/2024","05/05/2024 9:28:53am","05/05/2024 2:26:52pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#471","","300","","05/05/2024","05/05/2024 2:59:17pm","05/05/2024 4:00:23pm","20","0.00","Toc Lapoyeu","Mario","14116961" +"182656#455","","200","","05/06/2024","05/06/2024 4:59:00pm","05/06/2024 10:15:00pm","20","0.00","Beals","Gabriel","14116961" +"182656#291","","300","","05/06/2024","05/06/2024 9:07:11am","05/06/2024 2:19:47pm","20","0.00","Castro","Francisco","14116961" +"182656#291","","300","","05/06/2024","05/06/2024 2:48:43pm","05/06/2024 4:05:00pm","20","0.00","Castro","Francisco","14116961" +"182656#420","","300","","05/06/2024","05/06/2024 9:06:56am","05/06/2024 3:16:11pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/06/2024","05/06/2024 3:49:10pm","05/06/2024 4:04:45pm","20","0.00","Castro","Jose","14116961" +"182656#474","","300","","05/06/2024","05/06/2024 4:10:58pm","05/06/2024 7:10:00pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#474","","300","","05/06/2024","05/06/2024 7:33:33pm","05/06/2024 10:30:22pm","20","0.00","Chavajay Mendoza","Jose","14116961" +"182656#473","","300","","05/06/2024","05/06/2024 4:39:50pm","05/06/2024 10:30:14pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","05/06/2024","05/06/2024 9:57:50am","05/06/2024 3:20:51pm","20","0.00","Holmes","Michael","14116961" +"182656#456","","200","","05/06/2024","05/06/2024 11:00:59am","05/06/2024 2:32:46pm","20","0.00","Jarvis","Ruth","14116961" +"182656#456","","200","","05/06/2024","05/06/2024 2:59:58pm","05/06/2024 5:07:31pm","20","0.00","Jarvis","Ruth","14116961" +"182656#477","","200","","05/06/2024","05/06/2024 5:01:16pm","05/06/2024 8:59:27pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/06/2024","05/06/2024 3:59:18pm","05/06/2024 8:12:06pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/06/2024","05/06/2024 8:43:19pm","05/06/2024 10:30:06pm","20","0.00","Poz","Henry","14116961" +"182656#455","","200","","05/07/2024","05/07/2024 10:58:36am","05/07/2024 2:08:52pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","05/07/2024","05/07/2024 2:37:58pm","05/07/2024 6:16:54pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/07/2024","05/07/2024 9:11:34am","05/07/2024 2:10:24pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/07/2024","05/07/2024 2:41:55pm","05/07/2024 8:11:02pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/07/2024","05/07/2024 9:09:05am","05/07/2024 1:17:17pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/07/2024","05/07/2024 1:47:21pm","05/07/2024 4:03:15pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/07/2024","05/07/2024 9:32:47am","05/07/2024 2:35:15pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/07/2024","05/07/2024 5:00:28pm","05/07/2024 10:26:04pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/07/2024","05/07/2024 6:16:00pm","05/07/2024 10:12:00pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","05/07/2024","05/07/2024 10:00:12am","05/07/2024 3:23:20pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#469","","300","","05/07/2024","05/07/2024 5:55:34pm","05/07/2024 10:26:53pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#462","","200","","05/07/2024","05/07/2024 5:00:18pm","05/07/2024 10:12:07pm","20","0.00","Tiquia","Katelynn","14116961" +"182656#455","","200","","05/08/2024","05/08/2024 9:31:33am","05/08/2024 1:53:27pm","20","0.00","Beals","Gabriel","14116961" +"182656#455","","200","","05/08/2024","05/08/2024 2:22:44pm","05/08/2024 5:10:24pm","20","0.00","Beals","Gabriel","14116961" +"182656#313","","300","","05/08/2024","05/08/2024 9:04:52am","05/08/2024 4:05:40pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/08/2024","05/08/2024 4:40:34pm","05/08/2024 7:22:40pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/08/2024","05/08/2024 9:11:03am","05/08/2024 4:58:12pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/08/2024","05/08/2024 10:49:57am","05/08/2024 3:00:21pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/08/2024","05/08/2024 4:10:54pm","05/08/2024 6:54:04pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","05/08/2024","05/08/2024 7:23:56pm","05/08/2024 10:47:01pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#456","","200","","05/08/2024","05/08/2024 4:59:27pm","05/08/2024 10:08:25pm","20","0.00","Jarvis","Ruth","14116961" +"182656#457","","200","","05/08/2024","05/08/2024 10:49:38am","05/08/2024 2:24:36pm","20","0.00","Lindenfeld","Makenzi","14116961" +"182656#477","","200","","05/08/2024","05/08/2024 5:01:00pm","05/08/2024 10:08:40pm","20","0.00","Morgan","Wayne","14116961" +"182656#369","","300","","05/08/2024","05/08/2024 3:58:22pm","05/08/2024 7:37:27pm","20","0.00","Poz","Henry","14116961" +"182656#369","","300","","05/08/2024","05/08/2024 8:07:29pm","05/08/2024 10:47:09pm","20","0.00","Poz","Henry","14116961" +"182656#460","","200","","05/09/2024","05/09/2024 4:59:30pm","05/09/2024 10:15:44pm","20","0.00","Abdulale","Aya","14116961" +"182656#313","","300","","05/09/2024","05/09/2024 9:08:13am","05/09/2024 2:47:22pm","25","0.00","Benitez","Lenin","14116961" +"182656#313","","300","","05/09/2024","05/09/2024 3:17:04pm","05/09/2024 6:21:03pm","25","0.00","Benitez","Lenin","14116961" +"182656#420","","300","","05/09/2024","05/09/2024 9:04:49am","05/09/2024 2:10:40pm","20","0.00","Castro","Jose","14116961" +"182656#420","","300","","05/09/2024","05/09/2024 2:40:57pm","05/09/2024 4:30:15pm","20","0.00","Castro","Jose","14116961" +"182656#448","","300","","05/09/2024","05/09/2024 9:27:36am","05/09/2024 3:00:18pm","20","0.00","Cazares","Rosa","14116961" +"182656#473","","300","","05/09/2024","05/09/2024 4:00:13pm","05/09/2024 7:00:42pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#473","","300","","05/09/2024","05/09/2024 7:31:30pm","05/09/2024 10:28:13pm","20","0.00","Hernandez Garcia","Angel","14116961" +"182656#454","","200","","05/09/2024","05/09/2024 10:10:36am","05/09/2024 2:21:33pm","20","0.00","Holmes","Michael","14116961" +"182656#454","","200","","05/09/2024","05/09/2024 3:01:22pm","05/09/2024 3:38:32pm","20","0.00","Holmes","Michael","14116961" +"182656#369","","300","","05/09/2024","05/09/2024 5:00:23pm","05/09/2024 10:28:03pm","20","0.00","Poz","Henry","14116961" +"182656#469","","300","","05/09/2024","05/09/2024 5:41:07pm","05/09/2024 10:29:00pm","20","0.00","Rodriguez","Marcos","14116961" +"182656#458","","200","","05/09/2024","05/09/2024 6:01:11pm","05/09/2024 10:15:52pm","20","0.00","Trelles","Ally","14116961" +"182656#446","","200","","05/09/2024","05/09/2024 11:02:02am","05/09/2024 5:36:42pm","22","0.00","Washington","Lex","14116961" +"182656#446","","200","","05/09/2024","05/09/2024 6:04:55pm","05/09/2024 6:35:01pm","22","0.00","Washington","Lex","14116961" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240508.csv new file mode 100644 index 00000000..ec76addf --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240508.csv @@ -0,0 +1,193 @@ +"147855#214","","200","","04/18/2024","04/18/2024 5:07:04pm","04/18/2024 9:30:13pm","20","0.00","Aguilar","Marvin","10084791" +"147855#426","","100","","04/18/2024","04/18/2024 5:09:24pm","04/18/2024 9:32:29pm","20","0.00","Beddingfield","Megan","10084791" +"147855#376","","100","","04/18/2024","04/18/2024 11:53:33am","04/18/2024 1:44:03pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/18/2024","04/18/2024 2:15:08pm","04/18/2024 7:52:46pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/18/2024","04/18/2024 9:02:15am","04/18/2024 2:05:18pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/18/2024","04/18/2024 2:37:23pm","04/18/2024 5:08:06pm","24","0.00","Gomez","Carlos","10084791" +"147855#358","","200","","04/18/2024","04/18/2024 4:57:07pm","04/18/2024 9:30:24pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/18/2024","04/18/2024 9:29:21am","04/18/2024 3:00:06pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/18/2024","04/18/2024 10:00:31am","04/18/2024 2:20:30pm","20","0.00","Wallace","Isaiah","10084791" +"147855#214","","200","","04/19/2024","04/19/2024 5:08:33pm","04/19/2024 9:34:03pm","20","0.00","Aguilar","Marvin","10084791" +"147855#426","","100","","04/19/2024","04/19/2024 5:01:34pm","04/19/2024 9:51:57pm","20","0.00","Beddingfield","Megan","10084791" +"147855#480","","100","","04/19/2024","04/19/2024 9:58:32am","04/19/2024 3:06:32pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/19/2024","04/19/2024 9:54:12am","04/19/2024 3:07:03pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/19/2024","04/19/2024 9:07:30am","04/19/2024 2:36:18pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/19/2024","04/19/2024 3:06:15pm","04/19/2024 5:35:23pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","04/19/2024","04/19/2024 12:01:02pm","04/19/2024 2:03:54pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","04/19/2024","04/19/2024 2:33:31pm","04/19/2024 7:49:35pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","04/19/2024","04/19/2024 4:57:25pm","04/19/2024 9:34:11pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/19/2024","04/19/2024 9:29:14am","04/19/2024 3:06:53pm","21","0.00","Santillan","Maide","10084791" +"147855#214","","200","","04/20/2024","04/20/2024 10:03:36am","04/20/2024 4:03:50pm","20","0.00","Aguilar","Marvin","10084791" +"147855#218","","200","","04/20/2024","04/20/2024 5:02:00pm","04/20/2024 9:36:37pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/20/2024","04/20/2024 5:02:09pm","04/20/2024 9:43:38pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","04/20/2024","04/20/2024 9:05:14am","04/20/2024 2:26:20pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/20/2024","04/20/2024 2:58:09pm","04/20/2024 5:34:26pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/20/2024","04/20/2024 3:57:19pm","04/20/2024 8:50:14pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#358","","200","","04/20/2024","04/20/2024 4:57:06pm","04/20/2024 9:36:23pm","20","0.00","Robles","Yener","10084791" +"147855#348","","100","","04/20/2024","04/20/2024 11:59:42am","04/20/2024 4:03:42pm","20","0.00","Stupak","Dmirti","10084791" +"147855#383","","100","","04/20/2024","04/20/2024 9:59:55am","04/20/2024 3:25:13pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/21/2024","04/21/2024 5:04:34pm","04/21/2024 9:54:35pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/21/2024","04/21/2024 4:02:15pm","04/21/2024 8:10:28pm","20","0.00","Beddingfield","Megan","10084791" +"147855#480","","100","","04/21/2024","04/21/2024 9:59:01am","04/21/2024 3:07:20pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/21/2024","04/21/2024 10:04:00am","04/21/2024 2:32:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/21/2024","04/21/2024 2:42:00pm","04/21/2024 4:10:54pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/21/2024","04/21/2024 9:00:40am","04/21/2024 3:06:59pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/21/2024","04/21/2024 4:57:03pm","04/21/2024 10:01:03pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#358","","200","","04/21/2024","04/21/2024 4:57:36pm","04/21/2024 9:54:23pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/21/2024","04/21/2024 9:58:52am","04/21/2024 2:27:11pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/21/2024","04/21/2024 3:00:13pm","04/21/2024 5:37:14pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/21/2024","04/21/2024 10:01:41am","04/21/2024 2:57:16pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","04/22/2024","04/22/2024 10:56:43am","04/22/2024 2:00:50pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/22/2024","04/22/2024 2:31:55pm","04/22/2024 7:31:02pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#436","","100","","04/22/2024","04/22/2024 5:30:55pm","04/22/2024 9:14:33pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","04/22/2024","04/22/2024 9:02:09am","04/22/2024 2:37:36pm","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","04/22/2024","04/22/2024 4:57:04pm","04/22/2024 9:34:05pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/22/2024","04/22/2024 11:57:16am","04/22/2024 5:00:47pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/22/2024","04/22/2024 5:30:41pm","04/22/2024 8:07:43pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/22/2024","04/22/2024 9:58:46am","04/22/2024 2:45:56pm","20","0.00","Wallace","Isaiah","10084791" +"147855#214","","200","","04/23/2024","04/23/2024 5:04:36pm","04/23/2024 5:11:58pm","20","0.00","Aguilar","Marvin","10084791" +"147855#376","","100","","04/23/2024","04/23/2024 12:09:56pm","04/23/2024 1:40:25pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/23/2024","04/23/2024 2:10:33pm","04/23/2024 7:39:22pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/23/2024","04/23/2024 9:04:25am","04/23/2024 2:35:49pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/23/2024","04/23/2024 3:05:07pm","04/23/2024 5:00:41pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/23/2024","04/23/2024 9:58:06am","04/23/2024 2:26:05pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#334","","100","","04/23/2024","04/23/2024 5:32:29pm","04/23/2024 9:20:09pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#369","","200","","04/23/2024","04/23/2024 12:05:24pm","04/23/2024 3:18:17pm","20","0.00","Poz","Henry","10084791" +"147855#369","","200","","04/23/2024","04/23/2024 3:50:52pm","04/23/2024 8:01:11pm","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","04/23/2024","04/23/2024 5:50:00pm","04/23/2024 9:40:00pm","20","0.00","Robles","Yener","10084791" +"147855#218","","200","","04/24/2024","04/24/2024 5:05:48pm","04/24/2024 9:52:33pm","20","0.00","Araus","Kleyber","10084791" +"147855#376","","100","","04/24/2024","04/24/2024 10:00:32am","04/24/2024 1:57:40pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/24/2024","04/24/2024 2:27:35pm","04/24/2024 6:53:40pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/24/2024","04/24/2024 9:05:41am","04/24/2024 2:32:59pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/24/2024","04/24/2024 3:02:39pm","04/24/2024 5:29:22pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","04/24/2024","04/24/2024 5:29:50pm","04/24/2024 9:25:37pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#36","","200","","04/24/2024","04/24/2024 11:58:31am","04/24/2024 4:27:04pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/24/2024","04/24/2024 4:56:52pm","04/24/2024 8:01:52pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/24/2024","04/24/2024 10:00:57am","04/24/2024 2:33:35pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","04/25/2024","04/25/2024 12:01:00pm","04/25/2024 1:25:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/25/2024","04/25/2024 1:55:00pm","04/25/2024 7:46:13pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/25/2024","04/25/2024 9:02:39am","04/25/2024 3:00:18pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/25/2024","04/25/2024 3:31:04pm","04/25/2024 5:29:01pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/25/2024","04/25/2024 10:00:04am","04/25/2024 2:46:04pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#334","","100","","04/25/2024","04/25/2024 5:29:31pm","04/25/2024 9:20:00pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#358","","200","","04/25/2024","04/25/2024 4:59:31pm","04/25/2024 9:34:47pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/25/2024","04/25/2024 11:57:32am","04/25/2024 4:34:49pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/25/2024","04/25/2024 5:06:05pm","04/25/2024 8:06:28pm","21","0.00","Santillan","Maide","10084791" +"147855#218","","200","","04/26/2024","04/26/2024 5:09:08pm","04/26/2024 9:45:43pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/26/2024","04/26/2024 5:32:12pm","04/26/2024 9:44:42pm","20","0.00","Beddingfield","Megan","10084791" +"147855#376","","100","","04/26/2024","04/26/2024 9:03:04am","04/26/2024 1:32:02pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/26/2024","04/26/2024 2:03:40pm","04/26/2024 5:03:19pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/26/2024","04/26/2024 8:07:02am","04/26/2024 1:35:09pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/26/2024","04/26/2024 2:05:05pm","04/26/2024 5:24:14pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","04/26/2024","04/26/2024 5:00:27pm","04/26/2024 8:22:57pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","04/26/2024","04/26/2024 4:59:13pm","04/26/2024 9:07:52pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/26/2024","04/26/2024 8:58:07am","04/26/2024 2:06:26pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/26/2024","04/26/2024 10:30:59am","04/26/2024 2:19:41pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/27/2024","04/27/2024 11:58:16am","04/27/2024 5:55:42pm","20","0.00","Araus","Kleyber","10084791" +"147855#218","","200","","04/27/2024","04/27/2024 6:27:36pm","04/27/2024 8:34:02pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/27/2024","04/27/2024 5:02:59pm","04/27/2024 9:45:09pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","04/27/2024","04/27/2024 8:57:50am","04/27/2024 2:28:05pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","04/27/2024","04/27/2024 12:00:10pm","04/27/2024 1:51:29pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","04/27/2024","04/27/2024 2:21:52pm","04/27/2024 7:50:31pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","04/27/2024","04/27/2024 4:57:52pm","04/27/2024 9:40:07pm","20","0.00","Robles","Yener","10084791" +"147855#383","","100","","04/27/2024","04/27/2024 10:00:00am","04/27/2024 2:55:00pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/28/2024","04/28/2024 5:57:55pm","04/28/2024 10:19:34pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/28/2024","04/28/2024 5:27:54pm","04/28/2024 10:40:25pm","20","0.00","Beddingfield","Megan","10084791" +"147855#376","","100","","04/28/2024","04/28/2024 10:16:00am","04/28/2024 4:06:32pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#436","","100","","04/28/2024","04/28/2024 4:00:52pm","04/28/2024 8:25:08pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","04/28/2024","04/28/2024 9:00:12am","04/28/2024 3:10:00pm","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","04/28/2024","04/28/2024 11:58:30am","04/28/2024 6:05:09pm","20","0.00","Robles","Yener","10084791" +"147855#358","","200","","04/28/2024","04/28/2024 6:34:46pm","04/28/2024 8:28:38pm","20","0.00","Robles","Yener","10084791" +"147855#383","","100","","04/28/2024","04/28/2024 10:00:25am","04/28/2024 11:49:39am","20","0.00","Wallace","Isaiah","10084791" +"147855#383","","100","","04/28/2024","04/28/2024 12:19:18pm","04/28/2024 3:54:29pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/29/2024","04/29/2024 5:08:01pm","04/29/2024 9:56:23pm","20","0.00","Araus","Kleyber","10084791" +"147855#480","","100","","04/29/2024","04/29/2024 5:29:10pm","04/29/2024 9:15:29pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/29/2024","04/29/2024 9:00:00am","04/29/2024 3:00:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/29/2024","04/29/2024 3:30:00pm","04/29/2024 5:45:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#436","","100","","04/29/2024","04/29/2024 5:30:24pm","04/29/2024 9:15:36pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","04/29/2024","04/29/2024 8:00:00am","04/29/2024 2:35:49pm","20","0.00","Poz","Henry","10084791" +"147855#36","","200","","04/29/2024","04/29/2024 10:57:06am","04/29/2024 5:20:57pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/29/2024","04/29/2024 5:52:12pm","04/29/2024 8:25:24pm","21","0.00","Santillan","Maide","10084791" +"147855#218","","200","","04/30/2024","04/30/2024 5:06:32pm","04/30/2024 10:18:29pm","20","0.00","Araus","Kleyber","10084791" +"147855#480","","100","","04/30/2024","04/30/2024 9:58:01am","04/30/2024 2:02:07pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/30/2024","04/30/2024 11:01:11am","04/30/2024 5:10:29pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/30/2024","04/30/2024 9:03:24am","04/30/2024 1:50:38pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/30/2024","04/30/2024 2:23:29pm","04/30/2024 5:51:44pm","24","0.00","Gomez","Carlos","10084791" +"147855#477","","100","","04/30/2024","04/30/2024 5:06:24pm","04/30/2024 10:04:26pm","20","0.00","Morgan","Wayne","10084791" +"147855#369","","200","","04/30/2024","04/30/2024 11:57:51am","04/30/2024 2:55:46pm","20","0.00","Poz","Henry","10084791" +"147855#369","","200","","04/30/2024","04/30/2024 3:24:45pm","04/30/2024 8:38:41pm","20","0.00","Poz","Henry","10084791" +"147855#218","","200","","05/01/2024","05/01/2024 5:12:35pm","05/01/2024 9:36:24pm","20","0.00","Araus","Kleyber","10084791" +"147855#376","","100","","05/01/2024","05/01/2024 8:02:00am","05/01/2024 1:38:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/01/2024","05/01/2024 2:08:00pm","05/01/2024 4:34:47pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/01/2024","05/01/2024 6:58:01am","05/01/2024 1:49:11pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/01/2024","05/01/2024 2:21:27pm","05/01/2024 5:13:42pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","05/01/2024","05/01/2024 4:30:31pm","05/01/2024 9:25:12pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#369","","200","","05/01/2024","05/01/2024 5:58:34am","05/01/2024 9:57:09am","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","05/01/2024","05/01/2024 4:57:18pm","05/01/2024 9:36:51pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/01/2024","05/01/2024 7:00:00am","05/01/2024 2:29:40pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/01/2024","05/01/2024 3:00:46pm","05/01/2024 3:00:59pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","05/01/2024","05/01/2024 10:30:08am","05/01/2024 2:23:48pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","05/02/2024","05/02/2024 11:31:32am","05/02/2024 1:03:53pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/02/2024","05/02/2024 1:35:12pm","05/02/2024 7:02:50pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/02/2024","05/02/2024 9:00:00am","05/02/2024 2:05:00pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/02/2024","05/02/2024 2:35:00pm","05/02/2024 5:00:12pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","05/02/2024","05/02/2024 4:59:54pm","05/02/2024 9:13:53pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#358","","200","","05/02/2024","05/02/2024 4:57:33pm","05/02/2024 9:41:12pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/02/2024","05/02/2024 11:58:38am","05/02/2024 4:02:05pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/02/2024","05/02/2024 4:35:57pm","05/02/2024 7:59:40pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","05/02/2024","05/02/2024 10:01:23am","05/02/2024 1:50:28pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","05/03/2024","05/03/2024 9:59:00am","05/03/2024 1:54:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/03/2024","05/03/2024 2:04:00pm","05/03/2024 2:35:48pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/03/2024","05/03/2024 9:10:56am","05/03/2024 2:27:04pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/03/2024","05/03/2024 3:01:03pm","05/03/2024 5:03:44pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","05/03/2024","05/03/2024 12:00:21pm","05/03/2024 2:00:30pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","05/03/2024","05/03/2024 2:30:26pm","05/03/2024 8:01:01pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","05/03/2024","05/03/2024 4:57:46pm","05/03/2024 9:49:52pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/03/2024","05/03/2024 11:59:14am","05/03/2024 4:35:28pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/03/2024","05/03/2024 5:09:18pm","05/03/2024 8:15:49pm","21","0.00","Santillan","Maide","10084791" +"147855#348","","100","","05/03/2024","05/03/2024 4:59:00pm","05/03/2024 9:19:00pm","20","0.00","Stupak","Dmirti","10084791" +"147855#218","","200","","05/04/2024","05/04/2024 12:27:11pm","05/04/2024 5:55:12pm","20","0.00","Araus","Kleyber","10084791" +"147855#218","","200","","05/04/2024","05/04/2024 6:25:42pm","05/04/2024 8:40:12pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","05/04/2024","05/04/2024 12:01:24pm","05/04/2024 1:50:34pm","20","0.00","Beddingfield","Megan","10084791" +"147855#426","","100","","05/04/2024","05/04/2024 2:24:45pm","05/04/2024 8:43:06pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","05/04/2024","05/04/2024 9:11:51am","05/04/2024 2:58:46pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/04/2024","05/04/2024 3:30:03pm","05/04/2024 5:09:51pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","05/04/2024","05/04/2024 5:01:45pm","05/04/2024 9:47:03pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#358","","200","","05/04/2024","05/04/2024 4:57:07pm","05/04/2024 9:36:16pm","20","0.00","Robles","Yener","10084791" +"147855#383","","100","","05/04/2024","05/04/2024 10:00:56am","05/04/2024 1:11:01pm","20","0.00","Wallace","Isaiah","10084791" +"147855#383","","100","","05/04/2024","05/04/2024 1:40:46pm","05/04/2024 2:28:14pm","20","0.00","Wallace","Isaiah","10084791" +"147855#426","","100","","05/05/2024","05/05/2024 5:02:41pm","05/05/2024 9:30:24pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","05/05/2024","05/05/2024 9:20:07am","05/05/2024 2:48:51pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","05/05/2024","05/05/2024 12:00:02pm","05/05/2024 2:09:07pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","05/05/2024","05/05/2024 2:39:23pm","05/05/2024 6:48:28pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","05/05/2024","05/05/2024 4:57:58pm","05/05/2024 9:36:56pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/05/2024","05/05/2024 11:58:12am","05/05/2024 5:15:42pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/05/2024","05/05/2024 5:47:01pm","05/05/2024 7:59:32pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","05/05/2024","05/05/2024 9:28:58am","05/05/2024 12:17:18pm","20","0.00","Wallace","Isaiah","10084791" +"147855#383","","100","","05/05/2024","05/05/2024 12:47:24pm","05/05/2024 3:59:32pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","05/06/2024","05/06/2024 5:08:24pm","05/06/2024 9:55:59pm","20","0.00","Araus","Kleyber","10084791" +"147855#436","","100","","05/06/2024","05/06/2024 5:30:55pm","05/06/2024 9:23:54pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","05/06/2024","05/06/2024 9:01:13am","05/06/2024 2:38:43pm","20","0.00","Poz","Henry","10084791" +"147855#36","","200","","05/06/2024","05/06/2024 12:00:32pm","05/06/2024 5:24:58pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/06/2024","05/06/2024 6:00:52pm","05/06/2024 8:00:43pm","21","0.00","Santillan","Maide","10084791" +"147855#348","","100","","05/06/2024","05/06/2024 11:30:34am","05/06/2024 12:54:38pm","20","0.00","Stupak","Dmirti","10084791" +"147855#348","","100","","05/06/2024","05/06/2024 1:25:42pm","05/06/2024 7:17:33pm","20","0.00","Stupak","Dmirti","10084791" +"147855#383","","100","","05/06/2024","05/06/2024 10:00:37am","05/06/2024 1:49:08pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","05/07/2024","05/07/2024 5:07:15pm","05/07/2024 10:10:16pm","20","0.00","Araus","Kleyber","10084791" +"147855#376","","100","","05/07/2024","05/07/2024 10:48:18am","05/07/2024 1:26:23pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/07/2024","05/07/2024 1:57:08pm","05/07/2024 7:11:11pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/07/2024","05/07/2024 9:01:25am","05/07/2024 2:10:37pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/07/2024","05/07/2024 2:40:40pm","05/07/2024 5:28:12pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","05/07/2024","05/07/2024 10:27:54am","05/07/2024 2:15:08pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#334","","100","","05/07/2024","05/07/2024 5:30:22pm","05/07/2024 9:21:25pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#369","","200","","05/07/2024","05/07/2024 12:02:06pm","05/07/2024 4:32:43pm","20","0.00","Poz","Henry","10084791" +"147855#369","","200","","05/07/2024","05/07/2024 5:03:40pm","05/07/2024 8:50:50pm","20","0.00","Poz","Henry","10084791" +"147855#218","","200","","05/08/2024","05/08/2024 5:11:58pm","05/08/2024 9:59:51pm","20","0.00","Araus","Kleyber","10084791" +"147855#480","","100","","05/08/2024","05/08/2024 10:00:31am","05/08/2024 2:05:01pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","05/08/2024","05/08/2024 10:00:46am","05/08/2024 1:24:08pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/08/2024","05/08/2024 1:54:40pm","05/08/2024 6:44:23pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/08/2024","05/08/2024 9:03:31am","05/08/2024 2:39:44pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/08/2024","05/08/2024 3:10:31pm","05/08/2024 5:03:40pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","05/08/2024","05/08/2024 5:28:20pm","05/08/2024 9:21:45pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#36","","200","","05/08/2024","05/08/2024 11:58:24am","05/08/2024 4:20:47pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/08/2024","05/08/2024 4:51:48pm","05/08/2024 8:13:13pm","21","0.00","Santillan","Maide","10084791" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240509.csv new file mode 100644 index 00000000..ab10a3fb --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Fountains_20240509.csv @@ -0,0 +1,193 @@ +"147855#214","","200","","04/19/2024","04/19/2024 5:08:33pm","04/19/2024 9:34:03pm","20","0.00","Aguilar","Marvin","10084791" +"147855#426","","100","","04/19/2024","04/19/2024 5:01:34pm","04/19/2024 9:51:57pm","20","0.00","Beddingfield","Megan","10084791" +"147855#480","","100","","04/19/2024","04/19/2024 9:58:32am","04/19/2024 3:06:32pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/19/2024","04/19/2024 9:54:12am","04/19/2024 3:07:03pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/19/2024","04/19/2024 9:07:30am","04/19/2024 2:36:18pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/19/2024","04/19/2024 3:06:15pm","04/19/2024 5:35:23pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","04/19/2024","04/19/2024 12:01:02pm","04/19/2024 2:03:54pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","04/19/2024","04/19/2024 2:33:31pm","04/19/2024 7:49:35pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","04/19/2024","04/19/2024 4:57:25pm","04/19/2024 9:34:11pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/19/2024","04/19/2024 9:29:14am","04/19/2024 3:06:53pm","21","0.00","Santillan","Maide","10084791" +"147855#214","","200","","04/20/2024","04/20/2024 10:03:36am","04/20/2024 4:03:50pm","20","0.00","Aguilar","Marvin","10084791" +"147855#218","","200","","04/20/2024","04/20/2024 5:02:00pm","04/20/2024 9:36:37pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/20/2024","04/20/2024 5:02:09pm","04/20/2024 9:43:38pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","04/20/2024","04/20/2024 9:05:14am","04/20/2024 2:26:20pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/20/2024","04/20/2024 2:58:09pm","04/20/2024 5:34:26pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/20/2024","04/20/2024 3:57:19pm","04/20/2024 8:50:14pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#358","","200","","04/20/2024","04/20/2024 4:57:06pm","04/20/2024 9:36:23pm","20","0.00","Robles","Yener","10084791" +"147855#348","","100","","04/20/2024","04/20/2024 11:59:42am","04/20/2024 4:03:42pm","20","0.00","Stupak","Dmirti","10084791" +"147855#383","","100","","04/20/2024","04/20/2024 9:59:55am","04/20/2024 3:25:13pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/21/2024","04/21/2024 5:04:34pm","04/21/2024 9:54:35pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/21/2024","04/21/2024 4:02:15pm","04/21/2024 8:10:28pm","20","0.00","Beddingfield","Megan","10084791" +"147855#480","","100","","04/21/2024","04/21/2024 9:59:01am","04/21/2024 3:07:20pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/21/2024","04/21/2024 10:04:00am","04/21/2024 2:32:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/21/2024","04/21/2024 2:42:00pm","04/21/2024 4:10:54pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/21/2024","04/21/2024 9:00:40am","04/21/2024 3:06:59pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/21/2024","04/21/2024 4:57:03pm","04/21/2024 10:01:03pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#358","","200","","04/21/2024","04/21/2024 4:57:36pm","04/21/2024 9:54:23pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/21/2024","04/21/2024 9:58:52am","04/21/2024 2:27:11pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/21/2024","04/21/2024 3:00:13pm","04/21/2024 5:37:14pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/21/2024","04/21/2024 10:01:41am","04/21/2024 2:57:16pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","04/22/2024","04/22/2024 10:56:43am","04/22/2024 2:00:50pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/22/2024","04/22/2024 2:31:55pm","04/22/2024 7:31:02pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#436","","100","","04/22/2024","04/22/2024 5:30:55pm","04/22/2024 9:14:33pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","04/22/2024","04/22/2024 9:02:09am","04/22/2024 2:37:36pm","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","04/22/2024","04/22/2024 4:57:04pm","04/22/2024 9:34:05pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/22/2024","04/22/2024 11:57:16am","04/22/2024 5:00:47pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/22/2024","04/22/2024 5:30:41pm","04/22/2024 8:07:43pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/22/2024","04/22/2024 9:58:46am","04/22/2024 2:45:56pm","20","0.00","Wallace","Isaiah","10084791" +"147855#214","","200","","04/23/2024","04/23/2024 5:04:36pm","04/23/2024 5:11:58pm","20","0.00","Aguilar","Marvin","10084791" +"147855#376","","100","","04/23/2024","04/23/2024 12:09:56pm","04/23/2024 1:40:25pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/23/2024","04/23/2024 2:10:33pm","04/23/2024 7:39:22pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/23/2024","04/23/2024 9:04:25am","04/23/2024 2:35:49pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/23/2024","04/23/2024 3:05:07pm","04/23/2024 5:00:41pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/23/2024","04/23/2024 9:58:06am","04/23/2024 2:26:05pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#334","","100","","04/23/2024","04/23/2024 5:32:29pm","04/23/2024 9:20:09pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#369","","200","","04/23/2024","04/23/2024 12:05:24pm","04/23/2024 3:18:17pm","20","0.00","Poz","Henry","10084791" +"147855#369","","200","","04/23/2024","04/23/2024 3:50:52pm","04/23/2024 8:01:11pm","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","04/23/2024","04/23/2024 5:50:00pm","04/23/2024 9:40:00pm","20","0.00","Robles","Yener","10084791" +"147855#218","","200","","04/24/2024","04/24/2024 5:05:48pm","04/24/2024 9:52:33pm","20","0.00","Araus","Kleyber","10084791" +"147855#376","","100","","04/24/2024","04/24/2024 10:00:32am","04/24/2024 1:57:40pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/24/2024","04/24/2024 2:27:35pm","04/24/2024 6:53:40pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/24/2024","04/24/2024 9:05:41am","04/24/2024 2:32:59pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/24/2024","04/24/2024 3:02:39pm","04/24/2024 5:29:22pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","04/24/2024","04/24/2024 5:29:50pm","04/24/2024 9:25:37pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#36","","200","","04/24/2024","04/24/2024 11:58:31am","04/24/2024 4:27:04pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/24/2024","04/24/2024 4:56:52pm","04/24/2024 8:01:52pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/24/2024","04/24/2024 10:00:57am","04/24/2024 2:33:35pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","04/25/2024","04/25/2024 12:01:00pm","04/25/2024 1:25:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/25/2024","04/25/2024 1:55:00pm","04/25/2024 7:46:13pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/25/2024","04/25/2024 9:02:39am","04/25/2024 3:00:18pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/25/2024","04/25/2024 3:31:04pm","04/25/2024 5:29:01pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","04/25/2024","04/25/2024 10:00:04am","04/25/2024 2:46:04pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#334","","100","","04/25/2024","04/25/2024 5:29:31pm","04/25/2024 9:20:00pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#358","","200","","04/25/2024","04/25/2024 4:59:31pm","04/25/2024 9:34:47pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/25/2024","04/25/2024 11:57:32am","04/25/2024 4:34:49pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/25/2024","04/25/2024 5:06:05pm","04/25/2024 8:06:28pm","21","0.00","Santillan","Maide","10084791" +"147855#218","","200","","04/26/2024","04/26/2024 5:09:08pm","04/26/2024 9:45:43pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/26/2024","04/26/2024 5:32:12pm","04/26/2024 9:44:42pm","20","0.00","Beddingfield","Megan","10084791" +"147855#376","","100","","04/26/2024","04/26/2024 9:03:04am","04/26/2024 1:32:02pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/26/2024","04/26/2024 2:03:40pm","04/26/2024 5:03:19pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/26/2024","04/26/2024 8:07:02am","04/26/2024 1:35:09pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/26/2024","04/26/2024 2:05:05pm","04/26/2024 5:24:14pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","04/26/2024","04/26/2024 5:00:27pm","04/26/2024 8:22:57pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","04/26/2024","04/26/2024 4:59:13pm","04/26/2024 9:07:52pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","04/26/2024","04/26/2024 8:58:07am","04/26/2024 2:06:26pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","04/26/2024","04/26/2024 10:30:59am","04/26/2024 2:19:41pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/27/2024","04/27/2024 11:58:16am","04/27/2024 5:55:42pm","20","0.00","Araus","Kleyber","10084791" +"147855#218","","200","","04/27/2024","04/27/2024 6:27:36pm","04/27/2024 8:34:02pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/27/2024","04/27/2024 5:02:59pm","04/27/2024 9:45:09pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","04/27/2024","04/27/2024 8:57:50am","04/27/2024 2:28:05pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","04/27/2024","04/27/2024 12:00:10pm","04/27/2024 1:51:29pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","04/27/2024","04/27/2024 2:21:52pm","04/27/2024 7:50:31pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","04/27/2024","04/27/2024 4:57:52pm","04/27/2024 9:40:07pm","20","0.00","Robles","Yener","10084791" +"147855#383","","100","","04/27/2024","04/27/2024 10:00:00am","04/27/2024 2:55:00pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/28/2024","04/28/2024 5:57:55pm","04/28/2024 10:19:34pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","04/28/2024","04/28/2024 5:27:54pm","04/28/2024 10:40:25pm","20","0.00","Beddingfield","Megan","10084791" +"147855#376","","100","","04/28/2024","04/28/2024 10:16:00am","04/28/2024 4:06:32pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#436","","100","","04/28/2024","04/28/2024 4:00:52pm","04/28/2024 8:25:08pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","04/28/2024","04/28/2024 9:00:12am","04/28/2024 3:10:00pm","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","04/28/2024","04/28/2024 11:58:30am","04/28/2024 6:05:09pm","20","0.00","Robles","Yener","10084791" +"147855#358","","200","","04/28/2024","04/28/2024 6:34:46pm","04/28/2024 8:28:38pm","20","0.00","Robles","Yener","10084791" +"147855#383","","100","","04/28/2024","04/28/2024 10:00:25am","04/28/2024 11:49:39am","20","0.00","Wallace","Isaiah","10084791" +"147855#383","","100","","04/28/2024","04/28/2024 12:19:18pm","04/28/2024 3:54:29pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","04/29/2024","04/29/2024 5:08:01pm","04/29/2024 9:56:23pm","20","0.00","Araus","Kleyber","10084791" +"147855#480","","100","","04/29/2024","04/29/2024 5:29:10pm","04/29/2024 9:15:29pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/29/2024","04/29/2024 9:00:00am","04/29/2024 3:00:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","04/29/2024","04/29/2024 3:30:00pm","04/29/2024 5:45:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#436","","100","","04/29/2024","04/29/2024 5:30:24pm","04/29/2024 9:15:36pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","04/29/2024","04/29/2024 8:00:00am","04/29/2024 2:35:49pm","20","0.00","Poz","Henry","10084791" +"147855#36","","200","","04/29/2024","04/29/2024 10:57:06am","04/29/2024 5:20:57pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","04/29/2024","04/29/2024 5:52:12pm","04/29/2024 8:25:24pm","21","0.00","Santillan","Maide","10084791" +"147855#218","","200","","04/30/2024","04/30/2024 5:06:32pm","04/30/2024 10:18:29pm","20","0.00","Araus","Kleyber","10084791" +"147855#480","","100","","04/30/2024","04/30/2024 9:58:01am","04/30/2024 2:02:07pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","04/30/2024","04/30/2024 11:01:11am","04/30/2024 5:10:29pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","04/30/2024","04/30/2024 9:03:24am","04/30/2024 1:50:38pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","04/30/2024","04/30/2024 2:23:29pm","04/30/2024 5:51:44pm","24","0.00","Gomez","Carlos","10084791" +"147855#477","","100","","04/30/2024","04/30/2024 5:06:24pm","04/30/2024 10:04:26pm","20","0.00","Morgan","Wayne","10084791" +"147855#369","","200","","04/30/2024","04/30/2024 11:57:51am","04/30/2024 2:55:46pm","20","0.00","Poz","Henry","10084791" +"147855#369","","200","","04/30/2024","04/30/2024 3:24:45pm","04/30/2024 8:38:41pm","20","0.00","Poz","Henry","10084791" +"147855#218","","200","","05/01/2024","05/01/2024 5:12:35pm","05/01/2024 9:36:24pm","20","0.00","Araus","Kleyber","10084791" +"147855#376","","100","","05/01/2024","05/01/2024 8:02:00am","05/01/2024 1:38:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/01/2024","05/01/2024 2:08:00pm","05/01/2024 4:34:47pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/01/2024","05/01/2024 6:58:01am","05/01/2024 1:49:11pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/01/2024","05/01/2024 2:21:27pm","05/01/2024 5:13:42pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","05/01/2024","05/01/2024 4:30:31pm","05/01/2024 9:25:12pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#369","","200","","05/01/2024","05/01/2024 5:58:34am","05/01/2024 9:57:09am","20","0.00","Poz","Henry","10084791" +"147855#358","","200","","05/01/2024","05/01/2024 4:57:18pm","05/01/2024 9:36:51pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/01/2024","05/01/2024 7:00:00am","05/01/2024 2:29:40pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/01/2024","05/01/2024 3:00:46pm","05/01/2024 3:00:59pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","05/01/2024","05/01/2024 10:30:08am","05/01/2024 2:23:48pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","05/02/2024","05/02/2024 11:31:32am","05/02/2024 1:03:53pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/02/2024","05/02/2024 1:35:12pm","05/02/2024 7:02:50pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/02/2024","05/02/2024 9:00:00am","05/02/2024 2:05:00pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/02/2024","05/02/2024 2:35:00pm","05/02/2024 5:00:12pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","05/02/2024","05/02/2024 4:59:54pm","05/02/2024 9:13:53pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#358","","200","","05/02/2024","05/02/2024 4:57:33pm","05/02/2024 9:41:12pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/02/2024","05/02/2024 11:58:38am","05/02/2024 4:02:05pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/02/2024","05/02/2024 4:35:57pm","05/02/2024 7:59:40pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","05/02/2024","05/02/2024 10:01:23am","05/02/2024 1:50:28pm","20","0.00","Wallace","Isaiah","10084791" +"147855#376","","100","","05/03/2024","05/03/2024 9:59:00am","05/03/2024 1:54:00pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/03/2024","05/03/2024 2:04:00pm","05/03/2024 2:35:48pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/03/2024","05/03/2024 9:10:56am","05/03/2024 2:27:04pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/03/2024","05/03/2024 3:01:03pm","05/03/2024 5:03:44pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","05/03/2024","05/03/2024 12:00:21pm","05/03/2024 2:00:30pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","05/03/2024","05/03/2024 2:30:26pm","05/03/2024 8:01:01pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","05/03/2024","05/03/2024 4:57:46pm","05/03/2024 9:49:52pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/03/2024","05/03/2024 11:59:14am","05/03/2024 4:35:28pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/03/2024","05/03/2024 5:09:18pm","05/03/2024 8:15:49pm","21","0.00","Santillan","Maide","10084791" +"147855#348","","100","","05/03/2024","05/03/2024 4:59:00pm","05/03/2024 9:19:00pm","20","0.00","Stupak","Dmirti","10084791" +"147855#218","","200","","05/04/2024","05/04/2024 12:27:11pm","05/04/2024 5:55:12pm","20","0.00","Araus","Kleyber","10084791" +"147855#218","","200","","05/04/2024","05/04/2024 6:25:42pm","05/04/2024 8:40:12pm","20","0.00","Araus","Kleyber","10084791" +"147855#426","","100","","05/04/2024","05/04/2024 12:01:24pm","05/04/2024 1:50:34pm","20","0.00","Beddingfield","Megan","10084791" +"147855#426","","100","","05/04/2024","05/04/2024 2:24:45pm","05/04/2024 8:43:06pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","05/04/2024","05/04/2024 9:11:51am","05/04/2024 2:58:46pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/04/2024","05/04/2024 3:30:03pm","05/04/2024 5:09:51pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","05/04/2024","05/04/2024 5:01:45pm","05/04/2024 9:47:03pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#358","","200","","05/04/2024","05/04/2024 4:57:07pm","05/04/2024 9:36:16pm","20","0.00","Robles","Yener","10084791" +"147855#383","","100","","05/04/2024","05/04/2024 10:00:56am","05/04/2024 1:11:01pm","20","0.00","Wallace","Isaiah","10084791" +"147855#383","","100","","05/04/2024","05/04/2024 1:40:46pm","05/04/2024 2:28:14pm","20","0.00","Wallace","Isaiah","10084791" +"147855#426","","100","","05/05/2024","05/05/2024 5:02:41pm","05/05/2024 9:30:24pm","20","0.00","Beddingfield","Megan","10084791" +"147855#31","","200","","05/05/2024","05/05/2024 9:20:07am","05/05/2024 2:48:51pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","05/05/2024","05/05/2024 12:00:02pm","05/05/2024 2:09:07pm","20","0.00","Mojica","Emma","10084791" +"147855#436","","100","","05/05/2024","05/05/2024 2:39:23pm","05/05/2024 6:48:28pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","05/05/2024","05/05/2024 4:57:58pm","05/05/2024 9:36:56pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/05/2024","05/05/2024 11:58:12am","05/05/2024 5:15:42pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/05/2024","05/05/2024 5:47:01pm","05/05/2024 7:59:32pm","21","0.00","Santillan","Maide","10084791" +"147855#383","","100","","05/05/2024","05/05/2024 9:28:58am","05/05/2024 12:17:18pm","20","0.00","Wallace","Isaiah","10084791" +"147855#383","","100","","05/05/2024","05/05/2024 12:47:24pm","05/05/2024 3:59:32pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","05/06/2024","05/06/2024 5:08:24pm","05/06/2024 9:55:59pm","20","0.00","Araus","Kleyber","10084791" +"147855#436","","100","","05/06/2024","05/06/2024 5:30:55pm","05/06/2024 9:23:54pm","20","0.00","Mojica","Emma","10084791" +"147855#369","","200","","05/06/2024","05/06/2024 9:01:13am","05/06/2024 2:38:43pm","20","0.00","Poz","Henry","10084791" +"147855#36","","200","","05/06/2024","05/06/2024 12:00:32pm","05/06/2024 5:24:58pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/06/2024","05/06/2024 6:00:52pm","05/06/2024 8:00:43pm","21","0.00","Santillan","Maide","10084791" +"147855#348","","100","","05/06/2024","05/06/2024 11:30:34am","05/06/2024 12:54:38pm","20","0.00","Stupak","Dmirti","10084791" +"147855#348","","100","","05/06/2024","05/06/2024 1:25:42pm","05/06/2024 7:17:33pm","20","0.00","Stupak","Dmirti","10084791" +"147855#383","","100","","05/06/2024","05/06/2024 10:00:37am","05/06/2024 1:49:08pm","20","0.00","Wallace","Isaiah","10084791" +"147855#218","","200","","05/07/2024","05/07/2024 5:07:15pm","05/07/2024 10:10:16pm","20","0.00","Araus","Kleyber","10084791" +"147855#376","","100","","05/07/2024","05/07/2024 10:48:18am","05/07/2024 1:26:23pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/07/2024","05/07/2024 1:57:08pm","05/07/2024 7:11:11pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/07/2024","05/07/2024 9:01:25am","05/07/2024 2:10:37pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/07/2024","05/07/2024 2:40:40pm","05/07/2024 5:28:12pm","24","0.00","Gomez","Carlos","10084791" +"147855#451","","100","","05/07/2024","05/07/2024 10:27:54am","05/07/2024 2:15:08pm","20","0.00","Mckenna-Tyron","Jacqueline","10084791" +"147855#334","","100","","05/07/2024","05/07/2024 5:30:22pm","05/07/2024 9:21:25pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#369","","200","","05/07/2024","05/07/2024 12:02:06pm","05/07/2024 4:32:43pm","20","0.00","Poz","Henry","10084791" +"147855#369","","200","","05/07/2024","05/07/2024 5:03:40pm","05/07/2024 8:50:50pm","20","0.00","Poz","Henry","10084791" +"147855#218","","200","","05/08/2024","05/08/2024 5:11:58pm","05/08/2024 9:59:51pm","20","0.00","Araus","Kleyber","10084791" +"147855#480","","100","","05/08/2024","05/08/2024 10:00:31am","05/08/2024 2:05:01pm","20","0.00","Diaz","Wendi","10084791" +"147855#376","","100","","05/08/2024","05/08/2024 10:00:46am","05/08/2024 1:24:08pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/08/2024","05/08/2024 1:54:40pm","05/08/2024 6:44:23pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/08/2024","05/08/2024 9:03:31am","05/08/2024 2:39:44pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/08/2024","05/08/2024 3:10:31pm","05/08/2024 5:03:40pm","24","0.00","Gomez","Carlos","10084791" +"147855#334","","100","","05/08/2024","05/08/2024 5:28:20pm","05/08/2024 9:21:45pm","20","0.00","Ostapovsky","Allan","10084791" +"147855#36","","200","","05/08/2024","05/08/2024 11:58:24am","05/08/2024 4:20:47pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/08/2024","05/08/2024 4:51:48pm","05/08/2024 8:13:13pm","21","0.00","Santillan","Maide","10084791" +"147855#426","","100","","05/09/2024","05/09/2024 10:02:01am","05/09/2024 3:16:14pm","20","0.00","Beddingfield","Megan","10084791" +"147855#376","","100","","05/09/2024","05/09/2024 12:04:45pm","05/09/2024 2:37:40pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#376","","100","","05/09/2024","05/09/2024 3:07:51pm","05/09/2024 8:01:14pm","23","0.00","Elie Jaivenslou","Benita","10084791" +"147855#31","","200","","05/09/2024","05/09/2024 8:59:51am","05/09/2024 2:50:07pm","24","0.00","Gomez","Carlos","10084791" +"147855#31","","200","","05/09/2024","05/09/2024 3:22:58pm","05/09/2024 5:07:50pm","24","0.00","Gomez","Carlos","10084791" +"147855#436","","100","","05/09/2024","05/09/2024 5:30:56pm","05/09/2024 9:33:39pm","20","0.00","Mojica","Emma","10084791" +"147855#358","","200","","05/09/2024","05/09/2024 4:59:20pm","05/09/2024 9:58:06pm","20","0.00","Robles","Yener","10084791" +"147855#36","","200","","05/09/2024","05/09/2024 11:59:10am","05/09/2024 4:52:12pm","21","0.00","Santillan","Maide","10084791" +"147855#36","","200","","05/09/2024","05/09/2024 5:25:43pm","05/09/2024 9:01:24pm","21","0.00","Santillan","Maide","10084791" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240508.csv new file mode 100644 index 00000000..53533834 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240508.csv @@ -0,0 +1,317 @@ +"146904#8770","","300","","04/18/2024","04/18/2024 5:30:25pm","04/18/2024 10:36:27pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/18/2024","04/18/2024 4:57:00pm","04/18/2024 9:02:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/18/2024","04/18/2024 4:58:48pm","04/18/2024 9:34:24pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/18/2024","04/18/2024 10:30:00am","04/18/2024 3:14:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/18/2024","04/18/2024 3:45:00pm","04/18/2024 5:48:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/18/2024","04/18/2024 8:30:37am","04/18/2024 2:11:09pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/18/2024","04/18/2024 2:41:17pm","04/18/2024 2:41:26pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/18/2024","04/18/2024 6:04:32pm","04/18/2024 10:22:04pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","04/18/2024","04/18/2024 10:30:00am","04/18/2024 1:56:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/18/2024","04/18/2024 2:26:00pm","04/18/2024 5:48:54pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/18/2024","04/18/2024 10:02:46am","04/18/2024 3:10:45pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","04/18/2024","04/18/2024 3:57:56pm","04/18/2024 7:03:21pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","04/18/2024","04/18/2024 7:33:05pm","04/18/2024 10:36:39pm","20","0.00","Meneses","Araceli","7098659" +"146904#8760","","300","","04/18/2024","04/18/2024 9:28:52am","04/18/2024 2:07:44pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/18/2024","04/18/2024 2:38:18pm","04/18/2024 4:01:20pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/18/2024","04/18/2024 10:00:00am","04/18/2024 3:08:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/19/2024","04/19/2024 4:01:00pm","04/19/2024 8:25:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/19/2024","04/19/2024 8:55:00pm","04/19/2024 10:33:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/19/2024","04/19/2024 4:58:00pm","04/19/2024 7:50:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/19/2024","04/19/2024 8:20:00pm","04/19/2024 10:35:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","04/19/2024","04/19/2024 10:00:00am","04/19/2024 2:10:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/19/2024","04/19/2024 2:40:00pm","04/19/2024 5:54:18pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/19/2024","04/19/2024 9:05:36am","04/19/2024 2:14:54pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/19/2024","04/19/2024 5:00:11pm","04/19/2024 9:48:47pm","20","0.00","Gonzales","Ericka","7098659" +"146904#1667","","200","","04/19/2024","04/19/2024 5:58:00pm","04/19/2024 10:13:00pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","04/19/2024","04/19/2024 11:01:00am","04/19/2024 2:48:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/19/2024","04/19/2024 3:18:00pm","04/19/2024 5:18:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/19/2024","04/19/2024 9:59:57am","04/19/2024 1:49:52pm","20","0.00","Martinez","Juliana","7098659" +"146904#8785","","200","","04/19/2024","04/19/2024 2:19:32pm","04/19/2024 4:01:35pm","20","0.00","Martinez","Juliana","7098659" +"146904#1666","","300","","04/19/2024","04/19/2024 5:30:21pm","04/19/2024 10:34:01pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8760","","300","","04/19/2024","04/19/2024 9:28:50am","04/19/2024 1:22:36pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/19/2024","04/19/2024 1:53:13pm","04/19/2024 3:02:41pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/19/2024","04/19/2024 9:28:00am","04/19/2024 2:23:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/20/2024","04/20/2024 5:59:14pm","04/20/2024 10:31:10pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/20/2024","04/20/2024 4:59:45pm","04/20/2024 7:38:10pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/20/2024","04/20/2024 8:08:46pm","04/20/2024 10:31:24pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/20/2024","04/20/2024 10:29:29am","04/20/2024 2:30:02pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","04/20/2024","04/20/2024 9:29:06am","04/20/2024 2:36:11pm","20","0.00","Gomez","Jairo","7098659" +"146904#1667","","200","","04/20/2024","04/20/2024 4:59:27pm","04/20/2024 6:45:57pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/20/2024","04/20/2024 7:16:45pm","04/20/2024 10:09:51pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8791","","300","","04/20/2024","04/20/2024 10:59:49am","04/20/2024 4:16:58pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","04/20/2024","04/20/2024 3:57:31pm","04/20/2024 9:11:34pm","20","0.00","Meneses","Araceli","7098659" +"146904#8767","","200","","04/20/2024","04/20/2024 12:13:00pm","04/20/2024 6:03:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8767","","200","","04/20/2024","04/20/2024 6:33:00pm","04/20/2024 8:35:25pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8760","","300","","04/20/2024","04/20/2024 10:00:00am","04/20/2024 3:02:00pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/20/2024","04/20/2024 10:57:00am","04/20/2024 3:04:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/21/2024","04/21/2024 3:58:00pm","04/21/2024 7:36:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/21/2024","04/21/2024 8:06:00pm","04/21/2024 10:39:14pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/21/2024","04/21/2024 4:57:00pm","04/21/2024 8:24:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/21/2024","04/21/2024 8:54:00pm","04/21/2024 10:38:51pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/21/2024","04/21/2024 4:58:02pm","04/21/2024 8:17:42pm","20","0.00","Fernandez","fredy","7098659" +"146904#8790","","200","","04/21/2024","04/21/2024 8:47:27pm","04/21/2024 10:27:28pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","04/21/2024","04/21/2024 9:27:41am","04/21/2024 2:38:09pm","20","0.00","Gomez","Jairo","7098659" +"146904#1667","","200","","04/21/2024","04/21/2024 3:59:02pm","04/21/2024 7:07:01pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/21/2024","04/21/2024 7:38:44pm","04/21/2024 10:07:22pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","04/21/2024","04/21/2024 10:00:00am","04/21/2024 5:00:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/21/2024","04/21/2024 10:32:00am","04/21/2024 3:11:44pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/21/2024","04/21/2024 10:32:09am","04/21/2024 3:09:40pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/21/2024","04/21/2024 4:40:00pm","04/21/2024 10:36:02pm","20","0.00","Martinez","Nancy","7098659" +"146904#8760","","300","","04/21/2024","04/21/2024 9:57:22am","04/21/2024 1:26:50pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/21/2024","04/21/2024 1:57:15pm","04/21/2024 4:05:18pm","20","0.00","Santos","Yesenia","7098659" +"146904#8770","","300","","04/22/2024","04/22/2024 5:59:01pm","04/22/2024 10:50:32pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/22/2024","04/22/2024 9:39:18am","04/22/2024 2:01:28pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/22/2024","04/22/2024 2:31:27pm","04/22/2024 3:25:12pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/22/2024","04/22/2024 6:03:17pm","04/22/2024 10:16:42pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/22/2024","04/22/2024 9:52:00am","04/22/2024 2:37:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/22/2024","04/22/2024 3:08:00pm","04/22/2024 5:50:00pm","23","0.00","Flores","Milton","7098659" +"146904#8764","","200","","04/22/2024","04/22/2024 4:57:06pm","04/22/2024 9:32:18pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/22/2024","04/22/2024 9:30:00am","04/22/2024 2:02:29pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/22/2024","04/22/2024 2:33:45pm","04/22/2024 5:42:52pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/22/2024","04/22/2024 10:01:17am","04/22/2024 2:40:39pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/22/2024","04/22/2024 3:59:00pm","04/22/2024 9:04:21pm","20","0.00","Martinez","Monica","7098659" +"146904#7745","","300","","04/22/2024","04/22/2024 9:32:07am","04/22/2024 2:36:11pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","04/22/2024","04/22/2024 4:59:49pm","04/22/2024 7:50:37pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","04/22/2024","04/22/2024 8:20:36pm","04/22/2024 10:52:49pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8794","","300","","04/22/2024","04/22/2024 9:57:00am","04/22/2024 2:33:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8773","","300","","04/23/2024","04/23/2024 3:57:57pm","04/23/2024 7:33:26pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/23/2024","04/23/2024 8:03:22pm","04/23/2024 10:47:42pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/23/2024","04/23/2024 5:59:19pm","04/23/2024 10:18:37pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/23/2024","04/23/2024 7:57:46am","04/23/2024 5:30:09pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/23/2024","04/23/2024 7:57:40am","04/23/2024 2:10:15pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/23/2024","04/23/2024 2:45:54pm","04/23/2024 3:42:08pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/23/2024","04/23/2024 4:57:54pm","04/23/2024 9:48:27pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","04/23/2024","04/23/2024 8:27:00am","04/23/2024 2:04:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/23/2024","04/23/2024 2:34:00pm","04/23/2024 6:23:30pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/23/2024","04/23/2024 10:03:22am","04/23/2024 2:56:28pm","20","0.00","Martinez","Juliana","7098659" +"146904#8791","","300","","04/23/2024","04/23/2024 5:00:07pm","04/23/2024 9:02:17pm","20","0.00","Martinez","Nancy","7098659" +"146904#1666","","300","","04/23/2024","04/23/2024 6:01:44pm","04/23/2024 10:47:54pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8760","","300","","04/23/2024","04/23/2024 8:59:15am","04/23/2024 1:23:26pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/23/2024","04/23/2024 1:53:43pm","04/23/2024 3:41:10pm","20","0.00","Santos","Yesenia","7098659" +"146904#124","","100","","04/24/2024","04/24/2024 10:00:00am","04/24/2024 7:17:57pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/24/2024","04/24/2024 8:58:00am","04/24/2024 2:22:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/24/2024","04/24/2024 2:52:00pm","04/24/2024 2:52:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/24/2024","04/24/2024 5:58:06pm","04/24/2024 10:21:18pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8764","","200","","04/24/2024","04/24/2024 4:59:23pm","04/24/2024 9:33:14pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/24/2024","04/24/2024 9:00:00am","04/24/2024 5:45:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/24/2024","04/24/2024 10:05:46am","04/24/2024 3:15:03pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/24/2024","04/24/2024 9:31:27am","04/24/2024 2:34:42pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/24/2024","04/24/2024 6:01:56pm","04/24/2024 10:33:36pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","04/24/2024","04/24/2024 4:57:00pm","04/24/2024 6:58:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","04/24/2024","04/24/2024 7:28:00pm","04/24/2024 10:33:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","04/24/2024","04/24/2024 3:59:00pm","04/24/2024 6:29:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","04/24/2024","04/24/2024 6:59:00pm","04/24/2024 9:31:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8794","","300","","04/24/2024","04/24/2024 9:27:00am","04/24/2024 1:19:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/24/2024","04/24/2024 1:49:00pm","04/24/2024 4:08:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/25/2024","04/25/2024 5:30:40pm","04/25/2024 10:35:12pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/25/2024","04/25/2024 5:01:09pm","04/25/2024 9:07:44pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/25/2024","04/25/2024 5:09:57pm","04/25/2024 9:30:28pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/25/2024","04/25/2024 10:00:00am","04/25/2024 3:00:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/25/2024","04/25/2024 3:30:00pm","04/25/2024 5:30:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/25/2024","04/25/2024 8:28:00am","04/25/2024 1:46:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/25/2024","04/25/2024 2:17:00pm","04/25/2024 2:33:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","04/25/2024","04/25/2024 5:57:26pm","04/25/2024 10:14:12pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/25/2024","04/25/2024 10:52:00am","04/25/2024 2:25:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/25/2024","04/25/2024 2:55:00pm","04/25/2024 6:05:40pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/25/2024","04/25/2024 10:01:48am","04/25/2024 3:17:17pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","04/25/2024","04/25/2024 3:57:00pm","04/25/2024 7:03:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","04/25/2024","04/25/2024 7:33:00pm","04/25/2024 10:37:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#8760","","300","","04/25/2024","04/25/2024 9:28:34am","04/25/2024 1:26:23pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/25/2024","04/25/2024 1:57:27pm","04/25/2024 3:17:40pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/25/2024","04/25/2024 10:01:39am","04/25/2024 2:48:58pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/26/2024","04/26/2024 3:59:00pm","04/26/2024 7:42:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/26/2024","04/26/2024 8:12:00pm","04/26/2024 10:36:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/26/2024","04/26/2024 4:58:00pm","04/26/2024 8:18:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/26/2024","04/26/2024 8:48:00pm","04/26/2024 10:36:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","04/26/2024","04/26/2024 9:45:00am","04/26/2024 2:23:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/26/2024","04/26/2024 2:56:00pm","04/26/2024 6:48:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/26/2024","04/26/2024 8:00:00am","04/26/2024 1:12:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/26/2024","04/26/2024 1:45:00pm","04/26/2024 2:35:49pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","04/26/2024","04/26/2024 5:27:45pm","04/26/2024 10:09:45pm","20","0.00","Hernandez","Clara","7098659" +"146904#1667","","200","","04/26/2024","04/26/2024 5:04:33pm","04/26/2024 7:13:14pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/26/2024","04/26/2024 7:45:37pm","04/26/2024 9:38:59pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","04/26/2024","04/26/2024 10:58:00am","04/26/2024 6:09:36pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/26/2024","04/26/2024 10:05:01am","04/26/2024 3:03:15pm","20","0.00","Martinez","Juliana","7098659" +"146904#1666","","300","","04/26/2024","04/26/2024 5:32:00pm","04/26/2024 10:36:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8760","","300","","04/26/2024","04/26/2024 9:29:59am","04/26/2024 1:10:54pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/26/2024","04/26/2024 1:40:50pm","04/26/2024 2:23:33pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/26/2024","04/26/2024 9:30:00am","04/26/2024 2:00:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/26/2024","04/26/2024 2:30:00pm","04/26/2024 4:06:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/27/2024","04/27/2024 6:01:25pm","04/27/2024 10:41:24pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/27/2024","04/27/2024 5:01:30pm","04/27/2024 7:58:53pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/27/2024","04/27/2024 8:28:55pm","04/27/2024 10:38:29pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/27/2024","04/27/2024 10:59:09am","04/27/2024 1:20:42pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/27/2024","04/27/2024 11:04:00am","04/27/2024 2:01:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/27/2024","04/27/2024 2:31:00pm","04/27/2024 6:17:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/27/2024","04/27/2024 10:00:00am","04/27/2024 3:06:33pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/27/2024","04/27/2024 3:58:29pm","04/27/2024 6:42:39pm","20","0.00","Gonzales","Ericka","7098659" +"146904#6893","","200","","04/27/2024","04/27/2024 7:15:48pm","04/27/2024 9:35:39pm","20","0.00","Gonzales","Ericka","7098659" +"146904#1667","","200","","04/27/2024","04/27/2024 4:57:41pm","04/27/2024 7:23:06pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/27/2024","04/27/2024 7:54:35pm","04/27/2024 10:01:02pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#7745","","300","","04/27/2024","04/27/2024 3:58:23pm","04/27/2024 9:12:21pm","20","0.00","Meneses","Araceli","7098659" +"146904#8767","","200","","04/27/2024","04/27/2024 10:29:00am","04/27/2024 2:00:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8767","","200","","04/27/2024","04/27/2024 2:30:00pm","04/27/2024 4:03:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8760","","300","","04/27/2024","04/27/2024 9:30:00am","04/27/2024 2:33:28pm","20","0.00","Santos","Yesenia","7098659" +"146904#8770","","300","","04/28/2024","04/28/2024 3:58:00pm","04/28/2024 8:39:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/28/2024","04/28/2024 9:07:00pm","04/28/2024 10:35:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/28/2024","04/28/2024 5:00:00pm","04/28/2024 8:37:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/28/2024","04/28/2024 9:07:00pm","04/28/2024 10:32:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/28/2024","04/28/2024 3:58:00pm","04/28/2024 6:00:00pm","20","0.00","Fernandez","fredy","7098659" +"146904#8790","","200","","04/28/2024","04/28/2024 6:30:00pm","04/28/2024 9:47:00pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","04/28/2024","04/28/2024 9:32:29am","04/28/2024 2:49:24pm","20","0.00","Gomez","Jairo","7098659" +"146904#8745","","100","","04/28/2024","04/28/2024 10:00:00am","04/28/2024 3:12:39pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/28/2024","04/28/2024 10:31:57am","04/28/2024 1:46:29pm","20","0.00","Martinez","Juliana","7098659" +"146904#8785","","200","","04/28/2024","04/28/2024 2:17:24pm","04/28/2024 4:08:27pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/28/2024","04/28/2024 10:32:32am","04/28/2024 3:32:32pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/28/2024","04/28/2024 5:32:24pm","04/28/2024 10:33:33pm","20","0.00","Martinez","Nancy","7098659" +"146904#8767","","200","","04/28/2024","04/28/2024 5:00:46pm","04/28/2024 10:08:16pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","04/28/2024","04/28/2024 9:45:00am","04/28/2024 1:09:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/28/2024","04/28/2024 1:39:00pm","04/28/2024 4:05:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/29/2024","04/29/2024 6:00:02pm","04/29/2024 10:40:04pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/29/2024","04/29/2024 9:27:21am","04/29/2024 1:23:52pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/29/2024","04/29/2024 1:55:26pm","04/29/2024 4:16:26pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","04/29/2024","04/29/2024 9:53:32am","04/29/2024 6:16:49pm","23","0.00","Flores","Milton","7098659" +"146904#8764","","200","","04/29/2024","04/29/2024 5:00:52pm","04/29/2024 9:00:39pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/29/2024","04/29/2024 9:15:00am","04/29/2024 1:48:13pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/29/2024","04/29/2024 2:18:32pm","04/29/2024 6:09:08pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/29/2024","04/29/2024 9:57:49am","04/29/2024 2:34:32pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","04/29/2024","04/29/2024 9:30:00am","04/29/2024 2:33:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","04/29/2024","04/29/2024 3:03:00pm","04/29/2024 4:16:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","04/29/2024","04/29/2024 5:01:00pm","04/29/2024 7:29:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","04/29/2024","04/29/2024 8:01:00pm","04/29/2024 10:40:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8767","","200","","04/29/2024","04/29/2024 6:01:00pm","04/29/2024 10:10:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","04/29/2024","04/29/2024 2:55:00pm","04/29/2024 6:04:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/29/2024","04/29/2024 6:34:00pm","04/29/2024 9:02:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8773","","300","","04/30/2024","04/30/2024 3:59:44pm","04/30/2024 7:31:57pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/30/2024","04/30/2024 8:02:31pm","04/30/2024 10:53:10pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/30/2024","04/30/2024 5:59:51pm","04/30/2024 10:16:33pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/30/2024","04/30/2024 10:02:00am","04/30/2024 2:30:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/30/2024","04/30/2024 3:00:00pm","04/30/2024 5:29:45pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/30/2024","04/30/2024 8:57:00am","04/30/2024 2:00:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/30/2024","04/30/2024 2:30:00pm","04/30/2024 2:30:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/30/2024","04/30/2024 4:57:31pm","04/30/2024 10:05:07pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","04/30/2024","04/30/2024 10:47:00am","04/30/2024 2:35:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/30/2024","04/30/2024 3:05:00pm","04/30/2024 6:00:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/30/2024","04/30/2024 10:02:43am","04/30/2024 3:18:44pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/30/2024","04/30/2024 9:32:33am","04/30/2024 1:49:05pm","20","0.00","Martinez","Monica","7098659" +"146904#8792","","300","","04/30/2024","04/30/2024 2:19:09pm","04/30/2024 3:31:37pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/30/2024","04/30/2024 4:59:39pm","04/30/2024 9:04:39pm","20","0.00","Martinez","Nancy","7098659" +"146904#1666","","300","","04/30/2024","04/30/2024 6:01:01pm","04/30/2024 10:53:17pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","04/30/2024","04/30/2024 10:00:00am","04/30/2024 3:22:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#124","","100","","05/01/2024","05/01/2024 8:00:00am","05/01/2024 4:21:11pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/01/2024","05/01/2024 8:57:35am","05/01/2024 2:15:27pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/01/2024","05/01/2024 3:58:19pm","05/01/2024 7:01:57pm","20","0.00","Gonzales","Ericka","7098659" +"146904#6893","","200","","05/01/2024","05/01/2024 7:33:09pm","05/01/2024 9:34:17pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8764","","200","","05/01/2024","05/01/2024 5:27:10pm","05/01/2024 10:18:36pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","05/01/2024","05/01/2024 9:27:00am","05/01/2024 2:30:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/01/2024","05/01/2024 3:00:00pm","05/01/2024 4:01:53pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/01/2024","05/01/2024 10:01:52am","05/01/2024 3:09:55pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","05/01/2024","05/01/2024 9:29:00am","05/01/2024 2:04:00pm","20","0.00","Martinez","Monica","7098659" +"146904#8792","","300","","05/01/2024","05/01/2024 2:34:00pm","05/01/2024 3:30:00pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","05/01/2024","05/01/2024 5:59:46pm","05/01/2024 10:37:27pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","05/01/2024","05/01/2024 4:57:00pm","05/01/2024 7:12:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","05/01/2024","05/01/2024 7:42:00pm","05/01/2024 10:37:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","05/01/2024","05/01/2024 4:02:16pm","05/01/2024 9:06:23pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/01/2024","05/01/2024 9:30:00am","05/01/2024 2:38:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8795","","300","","05/01/2024","05/01/2024 3:08:00pm","05/01/2024 3:49:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8770","","300","","05/02/2024","05/02/2024 5:31:28pm","05/02/2024 10:42:46pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/02/2024","05/02/2024 4:58:00pm","05/02/2024 9:06:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/02/2024","05/02/2024 4:59:57pm","05/02/2024 9:38:11pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","05/02/2024","05/02/2024 10:33:09am","05/02/2024 2:52:29pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/02/2024","05/02/2024 3:24:20pm","05/02/2024 5:29:23pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/02/2024","05/02/2024 7:49:00am","05/02/2024 2:00:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/02/2024","05/02/2024 2:30:00pm","05/02/2024 2:31:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","05/02/2024","05/02/2024 6:00:05pm","05/02/2024 10:20:34pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","05/02/2024","05/02/2024 11:00:26am","05/02/2024 5:41:48pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/02/2024","05/02/2024 10:01:37am","05/02/2024 3:16:35pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","05/02/2024","05/02/2024 3:57:42pm","05/02/2024 6:53:30pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","05/02/2024","05/02/2024 7:26:18pm","05/02/2024 10:43:24pm","20","0.00","Meneses","Araceli","7098659" +"146904#8795","","300","","05/02/2024","05/02/2024 9:30:06am","05/02/2024 2:44:28pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8794","","300","","05/02/2024","05/02/2024 9:27:00am","05/02/2024 1:30:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","05/02/2024","05/02/2024 2:00:00pm","05/02/2024 4:02:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/03/2024","05/03/2024 4:03:00pm","05/03/2024 7:47:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","05/03/2024","05/03/2024 8:17:00pm","05/03/2024 10:34:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/03/2024","05/03/2024 5:00:10pm","05/03/2024 8:29:21pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/03/2024","05/03/2024 9:01:02pm","05/03/2024 10:32:41pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","05/03/2024","05/03/2024 10:27:06am","05/03/2024 2:46:38pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/03/2024","05/03/2024 3:17:45pm","05/03/2024 6:27:05pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/03/2024","05/03/2024 9:01:34am","05/03/2024 1:29:27pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/03/2024","05/03/2024 2:00:11pm","05/03/2024 3:06:45pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","05/03/2024","05/03/2024 5:00:37pm","05/03/2024 10:00:24pm","20","0.00","Hernandez","Clara","7098659" +"146904#1667","","200","","05/03/2024","05/03/2024 5:40:00pm","05/03/2024 10:07:33pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","05/03/2024","05/03/2024 11:02:00am","05/03/2024 2:53:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/03/2024","05/03/2024 3:23:00pm","05/03/2024 6:16:33pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/03/2024","05/03/2024 10:11:22am","05/03/2024 3:29:53pm","20","0.00","Martinez","Juliana","7098659" +"146904#1666","","300","","05/03/2024","05/03/2024 5:00:00pm","05/03/2024 9:01:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","05/03/2024","05/03/2024 9:31:00pm","05/03/2024 10:32:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/03/2024","05/03/2024 9:29:30am","05/03/2024 2:46:17pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8794","","300","","05/03/2024","05/03/2024 9:27:00am","05/03/2024 2:00:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","05/03/2024","05/03/2024 2:30:00pm","05/03/2024 3:46:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/04/2024","05/04/2024 6:00:38pm","05/04/2024 10:38:04pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/04/2024","05/04/2024 4:59:36pm","05/04/2024 7:43:54pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/04/2024","05/04/2024 8:13:30pm","05/04/2024 10:38:12pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/04/2024","05/04/2024 10:28:18am","05/04/2024 2:31:20pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","05/04/2024","05/04/2024 9:00:00am","05/04/2024 3:00:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/04/2024","05/04/2024 3:30:00pm","05/04/2024 5:35:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/04/2024","05/04/2024 9:32:27am","05/04/2024 2:53:37pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/04/2024","05/04/2024 4:01:07pm","05/04/2024 7:00:11pm","20","0.00","Gonzales","Ericka","7098659" +"146904#6893","","200","","05/04/2024","05/04/2024 7:32:22pm","05/04/2024 9:35:46pm","20","0.00","Gonzales","Ericka","7098659" +"146904#1667","","200","","05/04/2024","05/04/2024 5:30:30pm","05/04/2024 10:12:15pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8792","","300","","05/04/2024","05/04/2024 3:58:18pm","05/04/2024 9:10:55pm","20","0.00","Martinez","Monica","7098659" +"146904#8767","","200","","05/04/2024","05/04/2024 10:57:50am","05/04/2024 4:03:33pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","05/04/2024","05/04/2024 10:01:27am","05/04/2024 3:08:02pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/05/2024","05/05/2024 3:59:49pm","05/05/2024 8:11:27pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","05/05/2024","05/05/2024 8:41:05pm","05/05/2024 10:41:10pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/05/2024","05/05/2024 5:01:42pm","05/05/2024 7:12:50pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/05/2024","05/05/2024 7:47:02pm","05/05/2024 10:41:19pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/05/2024","05/05/2024 5:11:52pm","05/05/2024 7:01:43pm","20","0.00","Fernandez","fredy","7098659" +"146904#8790","","200","","05/05/2024","05/05/2024 7:33:43pm","05/05/2024 10:20:58pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","05/05/2024","05/05/2024 9:34:50am","05/05/2024 2:32:24pm","20","0.00","Gomez","Jairo","7098659" +"146904#1667","","200","","05/05/2024","05/05/2024 3:58:37pm","05/05/2024 6:15:07pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","05/05/2024","05/05/2024 6:46:02pm","05/05/2024 9:42:33pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","05/05/2024","05/05/2024 10:00:00am","05/05/2024 2:03:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/05/2024","05/05/2024 2:33:00pm","05/05/2024 4:23:10pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/05/2024","05/05/2024 10:32:35am","05/05/2024 2:40:47pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","05/05/2024","05/05/2024 10:02:23am","05/05/2024 3:00:15pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","05/05/2024","05/05/2024 5:34:39pm","05/05/2024 10:36:57pm","20","0.00","Martinez","Nancy","7098659" +"146904#8794","","300","","05/05/2024","05/05/2024 10:59:00am","05/05/2024 4:07:29pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/06/2024","05/06/2024 6:00:14pm","05/06/2024 10:29:12pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/06/2024","05/06/2024 8:58:44am","05/06/2024 2:22:43pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","05/06/2024","05/06/2024 10:47:15am","05/06/2024 1:41:50pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/06/2024","05/06/2024 2:12:02pm","05/06/2024 5:44:52pm","23","0.00","Flores","Milton","7098659" +"146904#8764","","200","","05/06/2024","05/06/2024 4:57:13pm","05/06/2024 9:03:08pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","05/06/2024","05/06/2024 9:00:00am","05/06/2024 2:16:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/06/2024","05/06/2024 2:46:00pm","05/06/2024 6:55:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/06/2024","05/06/2024 9:59:29am","05/06/2024 3:04:41pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","05/06/2024","05/06/2024 9:59:37am","05/06/2024 3:08:48pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","05/06/2024","05/06/2024 5:31:24pm","05/06/2024 10:27:13pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8767","","200","","05/06/2024","05/06/2024 6:01:42pm","05/06/2024 10:03:45pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","05/06/2024","05/06/2024 4:00:00pm","05/06/2024 9:00:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8773","","300","","05/07/2024","05/07/2024 4:02:50pm","05/07/2024 7:18:16pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/07/2024","05/07/2024 7:50:29pm","05/07/2024 10:51:43pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/07/2024","05/07/2024 6:05:00pm","05/07/2024 10:28:00pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","05/07/2024","05/07/2024 9:56:20am","05/07/2024 3:43:17pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/07/2024","05/07/2024 4:14:46pm","05/07/2024 7:03:58pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/07/2024","05/07/2024 9:03:03am","05/07/2024 3:01:56pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/07/2024","05/07/2024 3:33:10pm","05/07/2024 4:06:04pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/07/2024","05/07/2024 4:58:20pm","05/07/2024 9:44:50pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","05/07/2024","05/07/2024 10:00:00am","05/07/2024 2:17:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/07/2024","05/07/2024 2:47:00pm","05/07/2024 6:24:43pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/07/2024","05/07/2024 10:19:31am","05/07/2024 2:51:35pm","20","0.00","Martinez","Juliana","7098659" +"146904#8791","","300","","05/07/2024","05/07/2024 5:29:37pm","05/07/2024 9:30:05pm","20","0.00","Martinez","Nancy","7098659" +"146904#1666","","300","","05/07/2024","05/07/2024 6:01:41pm","05/07/2024 10:50:26pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/07/2024","05/07/2024 10:06:00am","05/07/2024 3:09:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#124","","100","","05/08/2024","05/08/2024 10:43:07am","05/08/2024 2:15:38pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/08/2024","05/08/2024 2:49:34pm","05/08/2024 5:35:10pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/08/2024","05/08/2024 9:00:00am","05/08/2024 2:23:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/08/2024","05/08/2024 2:53:00pm","05/08/2024 2:53:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/08/2024","05/08/2024 4:58:08pm","05/08/2024 10:08:44pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","05/08/2024","05/08/2024 9:30:00am","05/08/2024 7:36:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/08/2024","05/08/2024 8:06:00pm","05/08/2024 9:34:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/08/2024","05/08/2024 10:01:25am","05/08/2024 2:42:19pm","20","0.00","Martinez","Juliana","7098659" +"146904#8791","","300","","05/08/2024","05/08/2024 5:58:00pm","05/08/2024 10:36:13pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","05/08/2024","05/08/2024 5:28:16pm","05/08/2024 10:36:28pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","05/08/2024","05/08/2024 3:59:59pm","05/08/2024 8:59:46pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/08/2024","05/08/2024 9:59:00am","05/08/2024 2:09:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8795","","300","","05/08/2024","05/08/2024 2:39:00pm","05/08/2024 4:00:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8794","","300","","05/08/2024","05/08/2024 9:57:00am","05/08/2024 3:08:00pm","20","0.00","Vega Parra","Liz","7098659" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240509.csv new file mode 100644 index 00000000..be0da95c --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Fremont_20240509.csv @@ -0,0 +1,314 @@ +"146904#8770","","300","","04/19/2024","04/19/2024 4:01:00pm","04/19/2024 8:25:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/19/2024","04/19/2024 8:55:00pm","04/19/2024 10:33:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/19/2024","04/19/2024 4:58:00pm","04/19/2024 7:50:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/19/2024","04/19/2024 8:20:00pm","04/19/2024 10:35:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","04/19/2024","04/19/2024 10:00:00am","04/19/2024 2:10:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/19/2024","04/19/2024 2:40:00pm","04/19/2024 5:54:18pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/19/2024","04/19/2024 9:05:36am","04/19/2024 2:14:54pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/19/2024","04/19/2024 5:00:11pm","04/19/2024 9:48:47pm","20","0.00","Gonzales","Ericka","7098659" +"146904#1667","","200","","04/19/2024","04/19/2024 5:58:00pm","04/19/2024 10:13:00pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","04/19/2024","04/19/2024 11:01:00am","04/19/2024 2:48:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/19/2024","04/19/2024 3:18:00pm","04/19/2024 5:18:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/19/2024","04/19/2024 9:59:57am","04/19/2024 1:49:52pm","20","0.00","Martinez","Juliana","7098659" +"146904#8785","","200","","04/19/2024","04/19/2024 2:19:32pm","04/19/2024 4:01:35pm","20","0.00","Martinez","Juliana","7098659" +"146904#1666","","300","","04/19/2024","04/19/2024 5:30:21pm","04/19/2024 10:34:01pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8760","","300","","04/19/2024","04/19/2024 9:28:50am","04/19/2024 1:22:36pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/19/2024","04/19/2024 1:53:13pm","04/19/2024 3:02:41pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/19/2024","04/19/2024 9:28:00am","04/19/2024 2:23:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/20/2024","04/20/2024 5:59:14pm","04/20/2024 10:31:10pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/20/2024","04/20/2024 4:59:45pm","04/20/2024 7:38:10pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/20/2024","04/20/2024 8:08:46pm","04/20/2024 10:31:24pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/20/2024","04/20/2024 10:29:29am","04/20/2024 2:30:02pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","04/20/2024","04/20/2024 9:29:06am","04/20/2024 2:36:11pm","20","0.00","Gomez","Jairo","7098659" +"146904#1667","","200","","04/20/2024","04/20/2024 4:59:27pm","04/20/2024 6:45:57pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/20/2024","04/20/2024 7:16:45pm","04/20/2024 10:09:51pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8791","","300","","04/20/2024","04/20/2024 10:59:49am","04/20/2024 4:16:58pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","04/20/2024","04/20/2024 3:57:31pm","04/20/2024 9:11:34pm","20","0.00","Meneses","Araceli","7098659" +"146904#8767","","200","","04/20/2024","04/20/2024 12:13:00pm","04/20/2024 6:03:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8767","","200","","04/20/2024","04/20/2024 6:33:00pm","04/20/2024 8:35:25pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8760","","300","","04/20/2024","04/20/2024 10:00:00am","04/20/2024 3:02:00pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/20/2024","04/20/2024 10:57:00am","04/20/2024 3:04:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/21/2024","04/21/2024 3:58:00pm","04/21/2024 7:36:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/21/2024","04/21/2024 8:06:00pm","04/21/2024 10:39:14pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/21/2024","04/21/2024 4:57:00pm","04/21/2024 8:24:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/21/2024","04/21/2024 8:54:00pm","04/21/2024 10:38:51pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/21/2024","04/21/2024 4:58:02pm","04/21/2024 8:17:42pm","20","0.00","Fernandez","fredy","7098659" +"146904#8790","","200","","04/21/2024","04/21/2024 8:47:27pm","04/21/2024 10:27:28pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","04/21/2024","04/21/2024 9:27:41am","04/21/2024 2:38:09pm","20","0.00","Gomez","Jairo","7098659" +"146904#1667","","200","","04/21/2024","04/21/2024 3:59:02pm","04/21/2024 7:07:01pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/21/2024","04/21/2024 7:38:44pm","04/21/2024 10:07:22pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","04/21/2024","04/21/2024 10:00:00am","04/21/2024 5:00:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/21/2024","04/21/2024 10:32:00am","04/21/2024 3:11:44pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/21/2024","04/21/2024 10:32:09am","04/21/2024 3:09:40pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/21/2024","04/21/2024 4:40:00pm","04/21/2024 10:36:02pm","20","0.00","Martinez","Nancy","7098659" +"146904#8760","","300","","04/21/2024","04/21/2024 9:57:22am","04/21/2024 1:26:50pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/21/2024","04/21/2024 1:57:15pm","04/21/2024 4:05:18pm","20","0.00","Santos","Yesenia","7098659" +"146904#8770","","300","","04/22/2024","04/22/2024 5:59:01pm","04/22/2024 10:50:32pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/22/2024","04/22/2024 9:39:18am","04/22/2024 2:01:28pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/22/2024","04/22/2024 2:31:27pm","04/22/2024 3:25:12pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/22/2024","04/22/2024 6:03:17pm","04/22/2024 10:16:42pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/22/2024","04/22/2024 9:52:00am","04/22/2024 2:37:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/22/2024","04/22/2024 3:08:00pm","04/22/2024 5:50:00pm","23","0.00","Flores","Milton","7098659" +"146904#8764","","200","","04/22/2024","04/22/2024 4:57:06pm","04/22/2024 9:32:18pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/22/2024","04/22/2024 9:30:00am","04/22/2024 2:02:29pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/22/2024","04/22/2024 2:33:45pm","04/22/2024 5:42:52pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/22/2024","04/22/2024 10:01:17am","04/22/2024 2:40:39pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/22/2024","04/22/2024 3:59:00pm","04/22/2024 9:04:21pm","20","0.00","Martinez","Monica","7098659" +"146904#7745","","300","","04/22/2024","04/22/2024 9:32:07am","04/22/2024 2:36:11pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","04/22/2024","04/22/2024 4:59:49pm","04/22/2024 7:50:37pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","04/22/2024","04/22/2024 8:20:36pm","04/22/2024 10:52:49pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8794","","300","","04/22/2024","04/22/2024 9:57:00am","04/22/2024 2:33:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8773","","300","","04/23/2024","04/23/2024 3:57:57pm","04/23/2024 7:33:26pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/23/2024","04/23/2024 8:03:22pm","04/23/2024 10:47:42pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/23/2024","04/23/2024 5:59:19pm","04/23/2024 10:18:37pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/23/2024","04/23/2024 7:57:46am","04/23/2024 5:30:09pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/23/2024","04/23/2024 7:57:40am","04/23/2024 2:10:15pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/23/2024","04/23/2024 2:45:54pm","04/23/2024 3:42:08pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/23/2024","04/23/2024 4:57:54pm","04/23/2024 9:48:27pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","04/23/2024","04/23/2024 8:27:00am","04/23/2024 2:04:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/23/2024","04/23/2024 2:34:00pm","04/23/2024 6:23:30pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/23/2024","04/23/2024 10:03:22am","04/23/2024 2:56:28pm","20","0.00","Martinez","Juliana","7098659" +"146904#8791","","300","","04/23/2024","04/23/2024 5:00:07pm","04/23/2024 9:02:17pm","20","0.00","Martinez","Nancy","7098659" +"146904#1666","","300","","04/23/2024","04/23/2024 6:01:44pm","04/23/2024 10:47:54pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8760","","300","","04/23/2024","04/23/2024 8:59:15am","04/23/2024 1:23:26pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/23/2024","04/23/2024 1:53:43pm","04/23/2024 3:41:10pm","20","0.00","Santos","Yesenia","7098659" +"146904#124","","100","","04/24/2024","04/24/2024 10:00:00am","04/24/2024 7:17:57pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/24/2024","04/24/2024 8:58:00am","04/24/2024 2:22:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/24/2024","04/24/2024 2:52:00pm","04/24/2024 2:52:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/24/2024","04/24/2024 5:58:06pm","04/24/2024 10:21:18pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8764","","200","","04/24/2024","04/24/2024 4:59:23pm","04/24/2024 9:33:14pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/24/2024","04/24/2024 9:00:00am","04/24/2024 5:45:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/24/2024","04/24/2024 10:05:46am","04/24/2024 3:15:03pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/24/2024","04/24/2024 9:31:27am","04/24/2024 2:34:42pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/24/2024","04/24/2024 6:01:56pm","04/24/2024 10:33:36pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","04/24/2024","04/24/2024 4:57:00pm","04/24/2024 6:58:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","04/24/2024","04/24/2024 7:28:00pm","04/24/2024 10:33:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","04/24/2024","04/24/2024 3:59:00pm","04/24/2024 6:29:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","04/24/2024","04/24/2024 6:59:00pm","04/24/2024 9:31:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8794","","300","","04/24/2024","04/24/2024 9:27:00am","04/24/2024 1:19:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/24/2024","04/24/2024 1:49:00pm","04/24/2024 4:08:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/25/2024","04/25/2024 5:30:40pm","04/25/2024 10:35:12pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/25/2024","04/25/2024 5:01:09pm","04/25/2024 9:07:44pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/25/2024","04/25/2024 5:09:57pm","04/25/2024 9:30:28pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/25/2024","04/25/2024 10:00:00am","04/25/2024 3:00:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/25/2024","04/25/2024 3:30:00pm","04/25/2024 5:30:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/25/2024","04/25/2024 8:28:00am","04/25/2024 1:46:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/25/2024","04/25/2024 2:17:00pm","04/25/2024 2:33:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","04/25/2024","04/25/2024 5:57:26pm","04/25/2024 10:14:12pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/25/2024","04/25/2024 10:52:00am","04/25/2024 2:25:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/25/2024","04/25/2024 2:55:00pm","04/25/2024 6:05:40pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/25/2024","04/25/2024 10:01:48am","04/25/2024 3:17:17pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","04/25/2024","04/25/2024 3:57:00pm","04/25/2024 7:03:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","04/25/2024","04/25/2024 7:33:00pm","04/25/2024 10:37:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#8760","","300","","04/25/2024","04/25/2024 9:28:34am","04/25/2024 1:26:23pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/25/2024","04/25/2024 1:57:27pm","04/25/2024 3:17:40pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/25/2024","04/25/2024 10:01:39am","04/25/2024 2:48:58pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/26/2024","04/26/2024 3:59:00pm","04/26/2024 7:42:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/26/2024","04/26/2024 8:12:00pm","04/26/2024 10:36:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/26/2024","04/26/2024 4:58:00pm","04/26/2024 8:18:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/26/2024","04/26/2024 8:48:00pm","04/26/2024 10:36:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","04/26/2024","04/26/2024 9:45:00am","04/26/2024 2:23:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/26/2024","04/26/2024 2:56:00pm","04/26/2024 6:48:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/26/2024","04/26/2024 8:00:00am","04/26/2024 1:12:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/26/2024","04/26/2024 1:45:00pm","04/26/2024 2:35:49pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","04/26/2024","04/26/2024 5:27:45pm","04/26/2024 10:09:45pm","20","0.00","Hernandez","Clara","7098659" +"146904#1667","","200","","04/26/2024","04/26/2024 5:04:33pm","04/26/2024 7:13:14pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/26/2024","04/26/2024 7:45:37pm","04/26/2024 9:38:59pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","04/26/2024","04/26/2024 10:58:00am","04/26/2024 6:09:36pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/26/2024","04/26/2024 10:05:01am","04/26/2024 3:03:15pm","20","0.00","Martinez","Juliana","7098659" +"146904#1666","","300","","04/26/2024","04/26/2024 5:32:00pm","04/26/2024 10:36:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8760","","300","","04/26/2024","04/26/2024 9:29:59am","04/26/2024 1:10:54pm","20","0.00","Santos","Yesenia","7098659" +"146904#8760","","300","","04/26/2024","04/26/2024 1:40:50pm","04/26/2024 2:23:33pm","20","0.00","Santos","Yesenia","7098659" +"146904#8794","","300","","04/26/2024","04/26/2024 9:30:00am","04/26/2024 2:00:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/26/2024","04/26/2024 2:30:00pm","04/26/2024 4:06:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/27/2024","04/27/2024 6:01:25pm","04/27/2024 10:41:24pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/27/2024","04/27/2024 5:01:30pm","04/27/2024 7:58:53pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/27/2024","04/27/2024 8:28:55pm","04/27/2024 10:38:29pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/27/2024","04/27/2024 10:59:09am","04/27/2024 1:20:42pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/27/2024","04/27/2024 11:04:00am","04/27/2024 2:01:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/27/2024","04/27/2024 2:31:00pm","04/27/2024 6:17:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/27/2024","04/27/2024 10:00:00am","04/27/2024 3:06:33pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/27/2024","04/27/2024 3:58:29pm","04/27/2024 6:42:39pm","20","0.00","Gonzales","Ericka","7098659" +"146904#6893","","200","","04/27/2024","04/27/2024 7:15:48pm","04/27/2024 9:35:39pm","20","0.00","Gonzales","Ericka","7098659" +"146904#1667","","200","","04/27/2024","04/27/2024 4:57:41pm","04/27/2024 7:23:06pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","04/27/2024","04/27/2024 7:54:35pm","04/27/2024 10:01:02pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#7745","","300","","04/27/2024","04/27/2024 3:58:23pm","04/27/2024 9:12:21pm","20","0.00","Meneses","Araceli","7098659" +"146904#8767","","200","","04/27/2024","04/27/2024 10:29:00am","04/27/2024 2:00:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8767","","200","","04/27/2024","04/27/2024 2:30:00pm","04/27/2024 4:03:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8760","","300","","04/27/2024","04/27/2024 9:30:00am","04/27/2024 2:33:28pm","20","0.00","Santos","Yesenia","7098659" +"146904#8770","","300","","04/28/2024","04/28/2024 3:58:00pm","04/28/2024 8:39:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","04/28/2024","04/28/2024 9:07:00pm","04/28/2024 10:35:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/28/2024","04/28/2024 5:00:00pm","04/28/2024 8:37:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/28/2024","04/28/2024 9:07:00pm","04/28/2024 10:32:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/28/2024","04/28/2024 3:58:00pm","04/28/2024 6:00:00pm","20","0.00","Fernandez","fredy","7098659" +"146904#8790","","200","","04/28/2024","04/28/2024 6:30:00pm","04/28/2024 9:47:00pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","04/28/2024","04/28/2024 9:32:29am","04/28/2024 2:49:24pm","20","0.00","Gomez","Jairo","7098659" +"146904#8745","","100","","04/28/2024","04/28/2024 10:00:00am","04/28/2024 3:12:39pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/28/2024","04/28/2024 10:31:57am","04/28/2024 1:46:29pm","20","0.00","Martinez","Juliana","7098659" +"146904#8785","","200","","04/28/2024","04/28/2024 2:17:24pm","04/28/2024 4:08:27pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/28/2024","04/28/2024 10:32:32am","04/28/2024 3:32:32pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/28/2024","04/28/2024 5:32:24pm","04/28/2024 10:33:33pm","20","0.00","Martinez","Nancy","7098659" +"146904#8767","","200","","04/28/2024","04/28/2024 5:00:46pm","04/28/2024 10:08:16pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","04/28/2024","04/28/2024 9:45:00am","04/28/2024 1:09:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/28/2024","04/28/2024 1:39:00pm","04/28/2024 4:05:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","04/29/2024","04/29/2024 6:00:02pm","04/29/2024 10:40:04pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","04/29/2024","04/29/2024 9:27:21am","04/29/2024 1:23:52pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/29/2024","04/29/2024 1:55:26pm","04/29/2024 4:16:26pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","04/29/2024","04/29/2024 9:53:32am","04/29/2024 6:16:49pm","23","0.00","Flores","Milton","7098659" +"146904#8764","","200","","04/29/2024","04/29/2024 5:00:52pm","04/29/2024 9:00:39pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","04/29/2024","04/29/2024 9:15:00am","04/29/2024 1:48:13pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/29/2024","04/29/2024 2:18:32pm","04/29/2024 6:09:08pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/29/2024","04/29/2024 9:57:49am","04/29/2024 2:34:32pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","04/29/2024","04/29/2024 9:30:00am","04/29/2024 2:33:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","04/29/2024","04/29/2024 3:03:00pm","04/29/2024 4:16:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","04/29/2024","04/29/2024 5:01:00pm","04/29/2024 7:29:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","04/29/2024","04/29/2024 8:01:00pm","04/29/2024 10:40:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8767","","200","","04/29/2024","04/29/2024 6:01:00pm","04/29/2024 10:10:00pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","04/29/2024","04/29/2024 2:55:00pm","04/29/2024 6:04:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","04/29/2024","04/29/2024 6:34:00pm","04/29/2024 9:02:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8773","","300","","04/30/2024","04/30/2024 3:59:44pm","04/30/2024 7:31:57pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","04/30/2024","04/30/2024 8:02:31pm","04/30/2024 10:53:10pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","04/30/2024","04/30/2024 5:59:51pm","04/30/2024 10:16:33pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","04/30/2024","04/30/2024 10:02:00am","04/30/2024 2:30:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","04/30/2024","04/30/2024 3:00:00pm","04/30/2024 5:29:45pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","04/30/2024","04/30/2024 8:57:00am","04/30/2024 2:00:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","04/30/2024","04/30/2024 2:30:00pm","04/30/2024 2:30:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","04/30/2024","04/30/2024 4:57:31pm","04/30/2024 10:05:07pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","04/30/2024","04/30/2024 10:47:00am","04/30/2024 2:35:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","04/30/2024","04/30/2024 3:05:00pm","04/30/2024 6:00:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","04/30/2024","04/30/2024 10:02:43am","04/30/2024 3:18:44pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","04/30/2024","04/30/2024 9:32:33am","04/30/2024 1:49:05pm","20","0.00","Martinez","Monica","7098659" +"146904#8792","","300","","04/30/2024","04/30/2024 2:19:09pm","04/30/2024 3:31:37pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","04/30/2024","04/30/2024 4:59:39pm","04/30/2024 9:04:39pm","20","0.00","Martinez","Nancy","7098659" +"146904#1666","","300","","04/30/2024","04/30/2024 6:01:01pm","04/30/2024 10:53:17pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","04/30/2024","04/30/2024 10:00:00am","04/30/2024 3:22:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#124","","100","","05/01/2024","05/01/2024 8:00:00am","05/01/2024 4:21:11pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/01/2024","05/01/2024 8:57:35am","05/01/2024 2:15:27pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/01/2024","05/01/2024 3:58:19pm","05/01/2024 7:01:57pm","20","0.00","Gonzales","Ericka","7098659" +"146904#6893","","200","","05/01/2024","05/01/2024 7:33:09pm","05/01/2024 9:34:17pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8764","","200","","05/01/2024","05/01/2024 5:27:10pm","05/01/2024 10:18:36pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","05/01/2024","05/01/2024 9:27:00am","05/01/2024 2:30:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/01/2024","05/01/2024 3:00:00pm","05/01/2024 4:01:53pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/01/2024","05/01/2024 10:01:52am","05/01/2024 3:09:55pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","05/01/2024","05/01/2024 9:29:00am","05/01/2024 2:04:00pm","20","0.00","Martinez","Monica","7098659" +"146904#8792","","300","","05/01/2024","05/01/2024 2:34:00pm","05/01/2024 3:30:00pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","05/01/2024","05/01/2024 5:59:46pm","05/01/2024 10:37:27pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","05/01/2024","05/01/2024 4:57:00pm","05/01/2024 7:12:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","05/01/2024","05/01/2024 7:42:00pm","05/01/2024 10:37:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","05/01/2024","05/01/2024 4:02:16pm","05/01/2024 9:06:23pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/01/2024","05/01/2024 9:30:00am","05/01/2024 2:38:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8795","","300","","05/01/2024","05/01/2024 3:08:00pm","05/01/2024 3:49:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8770","","300","","05/02/2024","05/02/2024 5:31:28pm","05/02/2024 10:42:46pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/02/2024","05/02/2024 4:58:00pm","05/02/2024 9:06:00pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/02/2024","05/02/2024 4:59:57pm","05/02/2024 9:38:11pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","05/02/2024","05/02/2024 10:33:09am","05/02/2024 2:52:29pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/02/2024","05/02/2024 3:24:20pm","05/02/2024 5:29:23pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/02/2024","05/02/2024 7:49:00am","05/02/2024 2:00:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/02/2024","05/02/2024 2:30:00pm","05/02/2024 2:31:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","05/02/2024","05/02/2024 6:00:05pm","05/02/2024 10:20:34pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","05/02/2024","05/02/2024 11:00:26am","05/02/2024 5:41:48pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/02/2024","05/02/2024 10:01:37am","05/02/2024 3:16:35pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","05/02/2024","05/02/2024 3:57:42pm","05/02/2024 6:53:30pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","05/02/2024","05/02/2024 7:26:18pm","05/02/2024 10:43:24pm","20","0.00","Meneses","Araceli","7098659" +"146904#8795","","300","","05/02/2024","05/02/2024 9:30:06am","05/02/2024 2:44:28pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8794","","300","","05/02/2024","05/02/2024 9:27:00am","05/02/2024 1:30:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","05/02/2024","05/02/2024 2:00:00pm","05/02/2024 4:02:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/03/2024","05/03/2024 4:03:00pm","05/03/2024 7:47:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","05/03/2024","05/03/2024 8:17:00pm","05/03/2024 10:34:00pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/03/2024","05/03/2024 5:00:10pm","05/03/2024 8:29:21pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/03/2024","05/03/2024 9:01:02pm","05/03/2024 10:32:41pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","05/03/2024","05/03/2024 10:27:06am","05/03/2024 2:46:38pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/03/2024","05/03/2024 3:17:45pm","05/03/2024 6:27:05pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/03/2024","05/03/2024 9:01:34am","05/03/2024 1:29:27pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/03/2024","05/03/2024 2:00:11pm","05/03/2024 3:06:45pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","05/03/2024","05/03/2024 5:00:37pm","05/03/2024 10:00:24pm","20","0.00","Hernandez","Clara","7098659" +"146904#1667","","200","","05/03/2024","05/03/2024 5:40:00pm","05/03/2024 10:07:33pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","05/03/2024","05/03/2024 11:02:00am","05/03/2024 2:53:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/03/2024","05/03/2024 3:23:00pm","05/03/2024 6:16:33pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/03/2024","05/03/2024 10:11:22am","05/03/2024 3:29:53pm","20","0.00","Martinez","Juliana","7098659" +"146904#1666","","300","","05/03/2024","05/03/2024 5:00:00pm","05/03/2024 9:01:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#1666","","300","","05/03/2024","05/03/2024 9:31:00pm","05/03/2024 10:32:00pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/03/2024","05/03/2024 9:29:30am","05/03/2024 2:46:17pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8794","","300","","05/03/2024","05/03/2024 9:27:00am","05/03/2024 2:00:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8794","","300","","05/03/2024","05/03/2024 2:30:00pm","05/03/2024 3:46:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/04/2024","05/04/2024 6:00:38pm","05/04/2024 10:38:04pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/04/2024","05/04/2024 4:59:36pm","05/04/2024 7:43:54pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/04/2024","05/04/2024 8:13:30pm","05/04/2024 10:38:12pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/04/2024","05/04/2024 10:28:18am","05/04/2024 2:31:20pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","05/04/2024","05/04/2024 9:00:00am","05/04/2024 3:00:00pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/04/2024","05/04/2024 3:30:00pm","05/04/2024 5:35:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/04/2024","05/04/2024 9:32:27am","05/04/2024 2:53:37pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/04/2024","05/04/2024 4:01:07pm","05/04/2024 7:00:11pm","20","0.00","Gonzales","Ericka","7098659" +"146904#6893","","200","","05/04/2024","05/04/2024 7:32:22pm","05/04/2024 9:35:46pm","20","0.00","Gonzales","Ericka","7098659" +"146904#1667","","200","","05/04/2024","05/04/2024 5:30:30pm","05/04/2024 10:12:15pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8792","","300","","05/04/2024","05/04/2024 3:58:18pm","05/04/2024 9:10:55pm","20","0.00","Martinez","Monica","7098659" +"146904#8767","","200","","05/04/2024","05/04/2024 10:57:50am","05/04/2024 4:03:33pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","05/04/2024","05/04/2024 10:01:27am","05/04/2024 3:08:02pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/05/2024","05/05/2024 3:59:49pm","05/05/2024 8:11:27pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8770","","300","","05/05/2024","05/05/2024 8:41:05pm","05/05/2024 10:41:10pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/05/2024","05/05/2024 5:01:42pm","05/05/2024 7:12:50pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/05/2024","05/05/2024 7:47:02pm","05/05/2024 10:41:19pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/05/2024","05/05/2024 5:11:52pm","05/05/2024 7:01:43pm","20","0.00","Fernandez","fredy","7098659" +"146904#8790","","200","","05/05/2024","05/05/2024 7:33:43pm","05/05/2024 10:20:58pm","20","0.00","Fernandez","fredy","7098659" +"146904#8748","","300","","05/05/2024","05/05/2024 9:34:50am","05/05/2024 2:32:24pm","20","0.00","Gomez","Jairo","7098659" +"146904#1667","","200","","05/05/2024","05/05/2024 3:58:37pm","05/05/2024 6:15:07pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#1667","","200","","05/05/2024","05/05/2024 6:46:02pm","05/05/2024 9:42:33pm","20","0.00","Kuttivelil","Harishankar","7098659" +"146904#8745","","100","","05/05/2024","05/05/2024 10:00:00am","05/05/2024 2:03:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/05/2024","05/05/2024 2:33:00pm","05/05/2024 4:23:10pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/05/2024","05/05/2024 10:32:35am","05/05/2024 2:40:47pm","20","0.00","Martinez","Juliana","7098659" +"146904#8792","","300","","05/05/2024","05/05/2024 10:02:23am","05/05/2024 3:00:15pm","20","0.00","Martinez","Monica","7098659" +"146904#8791","","300","","05/05/2024","05/05/2024 5:34:39pm","05/05/2024 10:36:57pm","20","0.00","Martinez","Nancy","7098659" +"146904#8794","","300","","05/05/2024","05/05/2024 10:59:00am","05/05/2024 4:07:29pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/06/2024","05/06/2024 6:00:14pm","05/06/2024 10:29:12pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/06/2024","05/06/2024 8:58:44am","05/06/2024 2:22:43pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#124","","100","","05/06/2024","05/06/2024 10:47:15am","05/06/2024 1:41:50pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/06/2024","05/06/2024 2:12:02pm","05/06/2024 5:44:52pm","23","0.00","Flores","Milton","7098659" +"146904#8764","","200","","05/06/2024","05/06/2024 4:57:13pm","05/06/2024 9:03:08pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","05/06/2024","05/06/2024 9:00:00am","05/06/2024 2:16:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/06/2024","05/06/2024 2:46:00pm","05/06/2024 6:55:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/06/2024","05/06/2024 9:59:29am","05/06/2024 3:04:41pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","05/06/2024","05/06/2024 9:59:37am","05/06/2024 3:08:48pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","05/06/2024","05/06/2024 5:31:24pm","05/06/2024 10:27:13pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8767","","200","","05/06/2024","05/06/2024 6:01:42pm","05/06/2024 10:03:45pm","20","0.00","Sanchez","Gabriel","7098659" +"146904#8794","","300","","05/06/2024","05/06/2024 4:00:00pm","05/06/2024 9:00:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8773","","300","","05/07/2024","05/07/2024 4:02:50pm","05/07/2024 7:18:16pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8773","","300","","05/07/2024","05/07/2024 7:50:29pm","05/07/2024 10:51:43pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/07/2024","05/07/2024 6:05:00pm","05/07/2024 10:28:00pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","05/07/2024","05/07/2024 9:56:20am","05/07/2024 3:43:17pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/07/2024","05/07/2024 4:14:46pm","05/07/2024 7:03:58pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/07/2024","05/07/2024 9:03:03am","05/07/2024 3:01:56pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/07/2024","05/07/2024 3:33:10pm","05/07/2024 4:06:04pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/07/2024","05/07/2024 4:58:20pm","05/07/2024 9:44:50pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","05/07/2024","05/07/2024 10:00:00am","05/07/2024 2:17:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/07/2024","05/07/2024 2:47:00pm","05/07/2024 6:24:43pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/07/2024","05/07/2024 10:19:31am","05/07/2024 2:51:35pm","20","0.00","Martinez","Juliana","7098659" +"146904#8791","","300","","05/07/2024","05/07/2024 5:29:37pm","05/07/2024 9:30:05pm","20","0.00","Martinez","Nancy","7098659" +"146904#1666","","300","","05/07/2024","05/07/2024 6:01:41pm","05/07/2024 10:50:26pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/07/2024","05/07/2024 10:06:00am","05/07/2024 3:09:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#124","","100","","05/08/2024","05/08/2024 10:43:07am","05/08/2024 2:15:38pm","23","0.00","Flores","Milton","7098659" +"146904#124","","100","","05/08/2024","05/08/2024 2:49:34pm","05/08/2024 5:35:10pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/08/2024","05/08/2024 9:00:00am","05/08/2024 2:23:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/08/2024","05/08/2024 2:53:00pm","05/08/2024 2:53:00pm","20","0.00","Gomez","Jairo","7098659" +"146904#6893","","200","","05/08/2024","05/08/2024 4:58:08pm","05/08/2024 10:08:44pm","20","0.00","Gonzales","Ericka","7098659" +"146904#8745","","100","","05/08/2024","05/08/2024 9:30:00am","05/08/2024 7:36:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/08/2024","05/08/2024 8:06:00pm","05/08/2024 9:34:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/08/2024","05/08/2024 10:01:25am","05/08/2024 2:42:19pm","20","0.00","Martinez","Juliana","7098659" +"146904#8791","","300","","05/08/2024","05/08/2024 5:58:00pm","05/08/2024 10:36:13pm","20","0.00","Martinez","Nancy","7098659" +"146904#7745","","300","","05/08/2024","05/08/2024 5:28:16pm","05/08/2024 10:36:28pm","20","0.00","Meneses","Araceli","7098659" +"146904#1666","","300","","05/08/2024","05/08/2024 3:59:59pm","05/08/2024 8:59:46pm","20","0.00","Molina Dominguez","Sabino","7098659" +"146904#8795","","300","","05/08/2024","05/08/2024 9:59:00am","05/08/2024 2:09:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8795","","300","","05/08/2024","05/08/2024 2:39:00pm","05/08/2024 4:00:00pm","20","0.00","Parra Buenrrostro","Cecilio","7098659" +"146904#8794","","300","","05/08/2024","05/08/2024 9:57:00am","05/08/2024 3:08:00pm","20","0.00","Vega Parra","Liz","7098659" +"146904#8770","","300","","05/09/2024","05/09/2024 5:59:40pm","05/09/2024 10:37:26pm","20","0.00","Cruz Cortes","Carlos","7098659" +"146904#8773","","300","","05/09/2024","05/09/2024 4:59:07pm","05/09/2024 9:12:10pm","20","0.00","Espinosa Cifuentes","Sandra","7098659" +"146904#8790","","200","","05/09/2024","05/09/2024 4:59:51pm","05/09/2024 9:53:34pm","20","0.00","Fernandez","fredy","7098659" +"146904#124","","100","","05/09/2024","05/09/2024 9:00:00am","05/09/2024 5:30:00pm","23","0.00","Flores","Milton","7098659" +"146904#8748","","300","","05/09/2024","05/09/2024 8:30:09am","05/09/2024 1:43:08pm","20","0.00","Gomez","Jairo","7098659" +"146904#8748","","300","","05/09/2024","05/09/2024 2:13:30pm","05/09/2024 2:51:12pm","20","0.00","Gomez","Jairo","7098659" +"146904#8764","","200","","05/09/2024","05/09/2024 5:29:04pm","05/09/2024 10:16:37pm","20","0.00","Hernandez","Clara","7098659" +"146904#8745","","100","","05/09/2024","05/09/2024 10:50:00am","05/09/2024 2:03:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8745","","100","","05/09/2024","05/09/2024 2:33:00pm","05/09/2024 6:26:00pm","22","0.00","Lopez Orellana","Glorybel","7098659" +"146904#8785","","200","","05/09/2024","05/09/2024 10:04:51am","05/09/2024 2:43:08pm","20","0.00","Martinez","Juliana","7098659" +"146904#7745","","300","","05/09/2024","05/09/2024 3:57:00pm","05/09/2024 7:23:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#7745","","300","","05/09/2024","05/09/2024 7:53:00pm","05/09/2024 10:38:00pm","20","0.00","Meneses","Araceli","7098659" +"146904#8794","","300","","05/09/2024","05/09/2024 10:05:00am","05/09/2024 3:09:00pm","20","0.00","Vega Parra","Liz","7098659" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240508.csv new file mode 100644 index 00000000..4f647d92 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240508.csv @@ -0,0 +1,186 @@ +"146905#43","","200","","04/18/2024","04/18/2024 4:59:32pm","04/18/2024 9:30:15pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/18/2024","04/18/2024 9:01:43am","04/18/2024 2:29:26pm","20","0.00","Arauz","Kevin","7358987" +"146905#355","","300","","04/18/2024","04/18/2024 3:08:14pm","04/18/2024 4:23:19pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","04/18/2024","04/18/2024 12:15:36pm","04/18/2024 1:56:13pm","20","0.00","Carrillo","Ana","7358987" +"146905#46","","200","","04/18/2024","04/18/2024 2:27:05pm","04/18/2024 8:04:53pm","20","0.00","Carrillo","Ana","7358987" +"146905#410","","300","","04/18/2024","04/18/2024 4:58:39pm","04/18/2024 9:46:06pm","20","0.00","Garcia","Gerber","7358987" +"146905#369","","300","","04/18/2024","04/18/2024 9:30:02am","04/18/2024 3:31:55pm","20","0.00","Poz","Henry","7358987" +"146905#394","","300","","04/18/2024","04/18/2024 4:30:00pm","04/18/2024 9:45:00pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#359","","200","","04/18/2024","04/18/2024 10:03:40am","04/18/2024 2:36:04pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","04/19/2024","04/19/2024 12:13:10pm","04/19/2024 2:29:37pm","20","0.00","Ancira","Marcus","7358987" +"146905#43","","200","","04/19/2024","04/19/2024 3:00:17pm","04/19/2024 8:58:41pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/19/2024","04/19/2024 9:29:01am","04/19/2024 3:37:33pm","20","0.00","Arauz","Kevin","7358987" +"146905#426","","200","","04/19/2024","04/19/2024 10:00:53am","04/19/2024 3:55:16pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","04/19/2024","04/19/2024 9:01:15am","04/19/2024 8:37:40pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","04/19/2024","04/19/2024 4:00:39pm","04/19/2024 7:48:43pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/19/2024","04/19/2024 8:05:10pm","04/19/2024 10:18:57pm","20","0.00","Guzman","Nick","7358987" +"146905#394","","300","","04/19/2024","04/19/2024 5:05:10pm","04/19/2024 10:51:47pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/19/2024","04/19/2024 5:04:36pm","04/19/2024 10:51:22pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","04/20/2024","04/20/2024 4:10:27pm","04/20/2024 9:04:15pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/20/2024","04/20/2024 9:01:01am","04/20/2024 3:09:55pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/20/2024","04/20/2024 9:01:20am","04/20/2024 7:31:12pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","04/20/2024","04/20/2024 9:57:58am","04/20/2024 2:03:50pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/20/2024","04/20/2024 2:28:12pm","04/20/2024 4:14:05pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/20/2024","04/20/2024 11:43:41am","04/20/2024 3:02:35pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","04/20/2024","04/20/2024 5:12:40pm","04/20/2024 10:54:43pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/20/2024","04/20/2024 5:12:30pm","04/20/2024 10:54:28pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/20/2024","04/20/2024 5:02:35pm","04/20/2024 10:17:41pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","04/21/2024","04/21/2024 4:07:56pm","04/21/2024 9:15:10pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/21/2024","04/21/2024 9:57:08am","04/21/2024 4:06:03pm","20","0.00","Arauz","Kevin","7358987" +"146905#440","","200","","04/21/2024","04/21/2024 9:57:51am","04/21/2024 1:56:08pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/21/2024","04/21/2024 2:28:17pm","04/21/2024 4:12:54pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/21/2024","04/21/2024 10:05:08am","04/21/2024 2:41:55pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#369","","300","","04/21/2024","04/21/2024 9:04:37am","04/21/2024 3:01:30pm","20","0.00","Poz","Henry","7358987" +"146905#394","","300","","04/21/2024","04/21/2024 4:05:00pm","04/21/2024 9:52:00pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/21/2024","04/21/2024 5:04:09pm","04/21/2024 9:52:30pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/21/2024","04/21/2024 5:01:25pm","04/21/2024 9:15:18pm","20","0.00","Velez","Jack","7358987" +"146905#355","","300","","04/22/2024","04/22/2024 10:05:53am","04/22/2024 3:09:24pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/22/2024","04/22/2024 8:59:54am","04/22/2024 6:25:51pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/22/2024","04/22/2024 4:59:11pm","04/22/2024 9:15:43pm","20","0.00","Craig","Devan","7358987" +"146905#410","","300","","04/22/2024","04/22/2024 5:48:11pm","04/22/2024 9:36:50pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","04/22/2024","04/22/2024 11:58:57am","04/22/2024 2:04:25pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","04/22/2024","04/22/2024 2:33:46pm","04/22/2024 8:04:16pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#477","","200","","04/22/2024","04/22/2024 10:05:10am","04/22/2024 2:07:34pm","20","0.00","Morgan","Wayne","7358987" +"146905#394","","300","","04/22/2024","04/22/2024 5:00:40pm","04/22/2024 9:31:10pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#355","","300","","04/23/2024","04/23/2024 9:51:26am","04/23/2024 3:06:52pm","20","0.00","Arauz","Kevin","7358987" +"146905#426","","200","","04/23/2024","04/23/2024 12:01:02pm","04/23/2024 4:02:54pm","20","0.00","Beddingfield","Megan","7358987" +"146905#46","","200","","04/23/2024","04/23/2024 10:17:31am","04/23/2024 2:05:32pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","04/23/2024","04/23/2024 9:07:21am","04/23/2024 5:22:36pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","04/23/2024","04/23/2024 5:43:10pm","04/23/2024 6:07:46pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/23/2024","04/23/2024 4:59:12pm","04/23/2024 9:11:40pm","20","0.00","Craig","Devan","7358987" +"146905#480","","200","","04/23/2024","04/23/2024 3:57:14pm","04/23/2024 6:33:40pm","20","0.00","Diaz","Wendi","7358987" +"146905#480","","200","","04/23/2024","04/23/2024 7:04:26pm","04/23/2024 9:18:48pm","20","0.00","Diaz","Wendi","7358987" +"146905#394","","300","","04/23/2024","04/23/2024 4:59:28pm","04/23/2024 9:26:15pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/23/2024","04/23/2024 5:38:56pm","04/23/2024 9:26:06pm","20","0.00","Robles","Angel","7358987" +"146905#426","","200","","04/24/2024","04/24/2024 12:01:46pm","04/24/2024 3:44:04pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","04/24/2024","04/24/2024 9:06:55am","04/24/2024 6:31:52pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/24/2024","04/24/2024 4:58:38pm","04/24/2024 7:20:01pm","20","0.00","Craig","Devan","7358987" +"146905#480","","200","","04/24/2024","04/24/2024 4:58:51pm","04/24/2024 9:32:19pm","20","0.00","Diaz","Wendi","7358987" +"146905#451","","200","","04/24/2024","04/24/2024 10:27:03am","04/24/2024 2:07:23pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","04/24/2024","04/24/2024 9:28:40am","04/24/2024 3:04:15pm","20","0.00","Poz","Henry","7358987" +"146905#394","","300","","04/24/2024","04/24/2024 5:00:00pm","04/24/2024 9:30:00pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/24/2024","04/24/2024 5:36:27pm","04/24/2024 9:33:14pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","04/25/2024","04/25/2024 5:04:56pm","04/25/2024 9:23:14pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/25/2024","04/25/2024 9:01:00am","04/25/2024 3:36:00pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","04/25/2024","04/25/2024 12:07:21pm","04/25/2024 1:22:26pm","20","0.00","Carrillo","Ana","7358987" +"146905#46","","200","","04/25/2024","04/25/2024 1:55:45pm","04/25/2024 7:13:46pm","20","0.00","Carrillo","Ana","7358987" +"146905#410","","300","","04/25/2024","04/25/2024 4:43:22pm","04/25/2024 9:28:11pm","20","0.00","Garcia","Gerber","7358987" +"146905#369","","300","","04/25/2024","04/25/2024 9:28:18am","04/25/2024 3:04:03pm","20","0.00","Poz","Henry","7358987" +"146905#369","","300","","04/25/2024","04/25/2024 3:34:45pm","04/25/2024 4:44:09pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","04/25/2024","04/25/2024 5:08:18pm","04/25/2024 9:28:32pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/25/2024","04/25/2024 10:02:25am","04/25/2024 2:06:28pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","04/26/2024","04/26/2024 12:06:18pm","04/26/2024 1:41:00pm","20","0.00","Ancira","Marcus","7358987" +"146905#43","","200","","04/26/2024","04/26/2024 2:09:54pm","04/26/2024 8:18:33pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/26/2024","04/26/2024 9:34:06am","04/26/2024 3:14:31pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","04/26/2024","04/26/2024 10:10:44am","04/26/2024 2:23:53pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","04/26/2024","04/26/2024 9:02:16am","04/26/2024 6:54:29pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","04/26/2024","04/26/2024 7:26:21pm","04/26/2024 7:26:21pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#410","","300","","04/26/2024","04/26/2024 5:09:52pm","04/26/2024 10:30:12pm","20","0.00","Garcia","Gerber","7358987" +"146905#216","","300","","04/26/2024","04/26/2024 5:02:00pm","04/26/2024 10:31:00pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/26/2024","04/26/2024 3:59:17pm","04/26/2024 6:59:30pm","20","0.00","Velez","Jack","7358987" +"146905#359","","200","","04/26/2024","04/26/2024 7:31:32pm","04/26/2024 10:09:06pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","04/27/2024","04/27/2024 4:06:07pm","04/27/2024 9:04:01pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/27/2024","04/27/2024 9:00:48am","04/27/2024 3:17:40pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","04/27/2024","04/27/2024 4:59:09pm","04/27/2024 10:27:16pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","04/27/2024","04/27/2024 9:00:40am","04/27/2024 6:52:36pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","04/27/2024","04/27/2024 9:58:53am","04/27/2024 1:15:39pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/27/2024","04/27/2024 1:32:56pm","04/27/2024 4:13:38pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/27/2024","04/27/2024 11:43:33am","04/27/2024 2:50:43pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","04/27/2024","04/27/2024 5:03:00pm","04/27/2024 10:30:00pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/27/2024","04/27/2024 5:10:12pm","04/27/2024 10:28:07pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","04/28/2024","04/28/2024 4:05:19pm","04/28/2024 9:16:26pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/28/2024","04/28/2024 10:12:32am","04/28/2024 3:59:43pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/28/2024","04/28/2024 9:00:00am","04/28/2024 4:11:12pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#480","","200","","04/28/2024","04/28/2024 4:59:46pm","04/28/2024 9:17:06pm","20","0.00","Diaz","Wendi","7358987" +"146905#440","","200","","04/28/2024","04/28/2024 9:59:47am","04/28/2024 2:05:06pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/28/2024","04/28/2024 2:25:02pm","04/28/2024 4:36:04pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/28/2024","04/28/2024 10:31:26am","04/28/2024 2:52:47pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","04/28/2024","04/28/2024 4:00:39pm","04/28/2024 9:33:13pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/28/2024","04/28/2024 5:02:45pm","04/28/2024 9:32:45pm","20","0.00","Robles","Angel","7358987" +"146905#355","","300","","04/29/2024","04/29/2024 9:30:15am","04/29/2024 2:35:08pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/29/2024","04/29/2024 9:06:16am","04/29/2024 6:59:56pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#410","","300","","04/29/2024","04/29/2024 5:28:32pm","04/29/2024 9:39:55pm","20","0.00","Garcia","Gerber","7358987" +"146905#440","","200","","04/29/2024","04/29/2024 4:59:33pm","04/29/2024 9:32:28pm","20","0.00","Guzman","Nick","7358987" +"146905#451","","200","","04/29/2024","04/29/2024 11:59:17am","04/29/2024 1:22:19pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","04/29/2024","04/29/2024 1:54:14pm","04/29/2024 7:31:13pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#477","","200","","04/29/2024","04/29/2024 10:07:27am","04/29/2024 2:12:49pm","20","0.00","Morgan","Wayne","7358987" +"146905#394","","300","","04/29/2024","04/29/2024 5:03:01pm","04/29/2024 9:30:55pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#426","","200","","04/30/2024","04/30/2024 12:00:23pm","04/30/2024 12:59:53pm","20","0.00","Beddingfield","Megan","7358987" +"146905#426","","200","","04/30/2024","04/30/2024 1:31:22pm","04/30/2024 8:32:59pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","04/30/2024","04/30/2024 9:00:00am","04/30/2024 12:00:00pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","04/30/2024","04/30/2024 12:30:00pm","04/30/2024 6:52:00pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/30/2024","04/30/2024 4:58:41pm","04/30/2024 9:10:37pm","20","0.00","Craig","Devan","7358987" +"146905#410","","300","","04/30/2024","04/30/2024 9:30:08am","04/30/2024 2:49:06pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","04/30/2024","04/30/2024 9:59:58am","04/30/2024 2:00:03pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#394","","300","","04/30/2024","04/30/2024 4:59:52pm","04/30/2024 9:34:03pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/30/2024","04/30/2024 5:38:41pm","04/30/2024 9:33:30pm","20","0.00","Robles","Angel","7358987" +"146905#426","","200","","05/01/2024","05/01/2024 11:59:29am","05/01/2024 12:52:21pm","20","0.00","Beddingfield","Megan","7358987" +"146905#426","","200","","05/01/2024","05/01/2024 1:32:18pm","05/01/2024 7:34:17pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","05/01/2024","05/01/2024 9:04:50am","05/01/2024 5:24:03pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/01/2024","05/01/2024 5:52:06pm","05/01/2024 6:07:52pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#410","","300","","05/01/2024","05/01/2024 5:04:07pm","05/01/2024 9:34:47pm","20","0.00","Garcia","Gerber","7358987" +"146905#440","","200","","05/01/2024","05/01/2024 4:58:41pm","05/01/2024 9:37:17pm","20","0.00","Guzman","Nick","7358987" +"146905#451","","200","","05/01/2024","05/01/2024 10:01:18am","05/01/2024 2:00:42pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","05/01/2024","05/01/2024 10:12:18am","05/01/2024 2:57:10pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","05/01/2024","05/01/2024 5:35:28pm","05/01/2024 9:35:04pm","20","0.00","Robles","Angel","7358987" +"146905#355","","300","","05/02/2024","05/02/2024 9:03:39am","05/02/2024 3:11:28pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/02/2024","05/02/2024 12:05:39pm","05/02/2024 1:14:29pm","20","0.00","Carrillo","Ana","7358987" +"146905#46","","200","","05/02/2024","05/02/2024 1:44:56pm","05/02/2024 7:52:50pm","20","0.00","Carrillo","Ana","7358987" +"146905#480","","200","","05/02/2024","05/02/2024 10:00:18am","05/02/2024 2:33:43pm","20","0.00","Diaz","Wendi","7358987" +"146905#410","","300","","05/02/2024","05/02/2024 4:14:36pm","05/02/2024 9:39:17pm","20","0.00","Garcia","Gerber","7358987" +"146905#440","","200","","05/02/2024","05/02/2024 5:00:00pm","05/02/2024 9:26:59pm","20","0.00","Guzman","Nick","7358987" +"146905#369","","300","","05/02/2024","05/02/2024 9:27:45am","05/02/2024 2:20:08pm","20","0.00","Poz","Henry","7358987" +"146905#369","","300","","05/02/2024","05/02/2024 2:50:22pm","05/02/2024 4:31:38pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","05/02/2024","05/02/2024 5:07:25pm","05/02/2024 9:38:57pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","05/03/2024","05/03/2024 12:04:40pm","05/03/2024 1:53:54pm","20","0.00","Ancira","Marcus","7358987" +"146905#43","","200","","05/03/2024","05/03/2024 2:25:13pm","05/03/2024 8:45:47pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","05/03/2024","05/03/2024 9:30:22am","05/03/2024 3:07:38pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/03/2024","05/03/2024 10:10:00am","05/03/2024 2:51:06pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","05/03/2024","05/03/2024 9:06:14am","05/03/2024 6:31:36pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/03/2024","05/03/2024 6:59:25pm","05/03/2024 6:59:25pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#394","","300","","05/03/2024","05/03/2024 5:01:11pm","05/03/2024 10:41:14pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/03/2024","05/03/2024 5:09:04pm","05/03/2024 10:41:23pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","05/03/2024","05/03/2024 4:31:05pm","05/03/2024 10:20:55pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","05/04/2024","05/04/2024 4:02:28pm","05/04/2024 9:05:54pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","05/04/2024","05/04/2024 9:01:41am","05/04/2024 2:37:24pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","05/04/2024","05/04/2024 9:01:49am","05/04/2024 1:49:01pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/04/2024","05/04/2024 2:23:37pm","05/04/2024 6:11:58pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","05/04/2024","05/04/2024 10:00:45am","05/04/2024 1:30:36pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","05/04/2024","05/04/2024 2:02:47pm","05/04/2024 4:04:27pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","05/04/2024","05/04/2024 11:39:57am","05/04/2024 2:10:38pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","05/04/2024","05/04/2024 5:03:24pm","05/04/2024 10:29:28pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/04/2024","05/04/2024 5:03:32pm","05/04/2024 10:28:51pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","05/04/2024","05/04/2024 5:00:38pm","05/04/2024 10:10:26pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","05/05/2024","05/05/2024 4:06:00pm","05/05/2024 9:13:00pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","05/05/2024","05/05/2024 10:03:48am","05/05/2024 4:05:52pm","20","0.00","Arauz","Kevin","7358987" +"146905#480","","200","","05/05/2024","05/05/2024 5:29:47pm","05/05/2024 9:13:38pm","20","0.00","Diaz","Wendi","7358987" +"146905#8","","200","","05/05/2024","05/05/2024 10:05:23am","05/05/2024 2:18:04pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#451","","200","","05/05/2024","05/05/2024 10:05:31am","05/05/2024 12:48:25pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","05/05/2024","05/05/2024 1:18:32pm","05/05/2024 4:07:26pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","05/05/2024","05/05/2024 9:30:09am","05/05/2024 3:10:10pm","20","0.00","Poz","Henry","7358987" +"146905#394","","300","","05/05/2024","05/05/2024 4:02:39pm","05/05/2024 9:39:46pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/05/2024","05/05/2024 4:59:02pm","05/05/2024 9:39:38pm","20","0.00","Robles","Angel","7358987" +"146905#355","","300","","05/06/2024","05/06/2024 10:01:11am","05/06/2024 2:31:45pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/06/2024","05/06/2024 5:05:22pm","05/06/2024 9:22:51pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","05/06/2024","05/06/2024 9:01:12am","05/06/2024 6:09:37pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#480","","200","","05/06/2024","05/06/2024 9:57:48am","05/06/2024 2:31:55pm","20","0.00","Diaz","Wendi","7358987" +"146905#410","","300","","05/06/2024","05/06/2024 5:42:16pm","05/06/2024 9:44:57pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","05/06/2024","05/06/2024 12:00:14pm","05/06/2024 1:42:04pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","05/06/2024","05/06/2024 2:14:16pm","05/06/2024 7:03:04pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#394","","300","","05/06/2024","05/06/2024 5:00:25pm","05/06/2024 9:30:59pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#355","","300","","05/07/2024","05/07/2024 9:58:08am","05/07/2024 2:32:34pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/07/2024","05/07/2024 10:32:56am","05/07/2024 7:03:21pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","05/07/2024","05/07/2024 9:00:48am","05/07/2024 5:45:14pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/07/2024","05/07/2024 6:12:03pm","05/07/2024 6:12:03pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","05/07/2024","05/07/2024 4:29:08pm","05/07/2024 9:13:50pm","20","0.00","Craig","Devan","7358987" +"146905#394","","300","","05/07/2024","05/07/2024 5:00:42pm","05/07/2024 9:31:12pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/07/2024","05/07/2024 5:38:54pm","05/07/2024 9:36:23pm","20","0.00","Robles","Angel","7358987" +"146905#426","","200","","05/08/2024","05/08/2024 11:58:20am","05/08/2024 1:23:14pm","20","0.00","Beddingfield","Megan","7358987" +"146905#426","","200","","05/08/2024","05/08/2024 1:54:52pm","05/09/2024 4:00:00am","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","05/08/2024","05/08/2024 9:05:01am","05/08/2024 5:31:18pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/08/2024","05/08/2024 5:59:23pm","05/08/2024 6:30:14pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","05/08/2024","05/08/2024 4:59:00pm","05/08/2024 9:21:13pm","20","0.00","Craig","Devan","7358987" +"146905#410","","300","","05/08/2024","05/08/2024 5:08:17pm","05/08/2024 9:34:09pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","05/08/2024","05/08/2024 10:46:48am","05/08/2024 2:03:05pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","05/08/2024","05/08/2024 9:57:09am","05/08/2024 2:46:02pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","05/08/2024","05/08/2024 5:36:15pm","05/08/2024 9:32:20pm","20","0.00","Robles","Angel","7358987" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240509.csv new file mode 100644 index 00000000..2251fa39 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - Roseville_20240509.csv @@ -0,0 +1,185 @@ +"146905#43","","200","","04/19/2024","04/19/2024 12:13:10pm","04/19/2024 2:29:37pm","20","0.00","Ancira","Marcus","7358987" +"146905#43","","200","","04/19/2024","04/19/2024 3:00:17pm","04/19/2024 8:58:41pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/19/2024","04/19/2024 9:29:01am","04/19/2024 3:37:33pm","20","0.00","Arauz","Kevin","7358987" +"146905#426","","200","","04/19/2024","04/19/2024 10:00:53am","04/19/2024 3:55:16pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","04/19/2024","04/19/2024 9:01:15am","04/19/2024 8:37:40pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","04/19/2024","04/19/2024 4:00:39pm","04/19/2024 7:48:43pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/19/2024","04/19/2024 8:05:10pm","04/19/2024 10:18:57pm","20","0.00","Guzman","Nick","7358987" +"146905#394","","300","","04/19/2024","04/19/2024 5:05:10pm","04/19/2024 10:51:47pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/19/2024","04/19/2024 5:04:36pm","04/19/2024 10:51:22pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","04/20/2024","04/20/2024 4:10:27pm","04/20/2024 9:04:15pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/20/2024","04/20/2024 9:01:01am","04/20/2024 3:09:55pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/20/2024","04/20/2024 9:01:20am","04/20/2024 7:31:12pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","04/20/2024","04/20/2024 9:57:58am","04/20/2024 2:03:50pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/20/2024","04/20/2024 2:28:12pm","04/20/2024 4:14:05pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/20/2024","04/20/2024 11:43:41am","04/20/2024 3:02:35pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","04/20/2024","04/20/2024 5:12:40pm","04/20/2024 10:54:43pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/20/2024","04/20/2024 5:12:30pm","04/20/2024 10:54:28pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/20/2024","04/20/2024 5:02:35pm","04/20/2024 10:17:41pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","04/21/2024","04/21/2024 4:07:56pm","04/21/2024 9:15:10pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/21/2024","04/21/2024 9:57:08am","04/21/2024 4:06:03pm","20","0.00","Arauz","Kevin","7358987" +"146905#440","","200","","04/21/2024","04/21/2024 9:57:51am","04/21/2024 1:56:08pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/21/2024","04/21/2024 2:28:17pm","04/21/2024 4:12:54pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/21/2024","04/21/2024 10:05:08am","04/21/2024 2:41:55pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#369","","300","","04/21/2024","04/21/2024 9:04:37am","04/21/2024 3:01:30pm","20","0.00","Poz","Henry","7358987" +"146905#394","","300","","04/21/2024","04/21/2024 4:05:00pm","04/21/2024 9:52:00pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/21/2024","04/21/2024 5:04:09pm","04/21/2024 9:52:30pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/21/2024","04/21/2024 5:01:25pm","04/21/2024 9:15:18pm","20","0.00","Velez","Jack","7358987" +"146905#355","","300","","04/22/2024","04/22/2024 10:05:53am","04/22/2024 3:09:24pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/22/2024","04/22/2024 8:59:54am","04/22/2024 6:25:51pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/22/2024","04/22/2024 4:59:11pm","04/22/2024 9:15:43pm","20","0.00","Craig","Devan","7358987" +"146905#410","","300","","04/22/2024","04/22/2024 5:48:11pm","04/22/2024 9:36:50pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","04/22/2024","04/22/2024 11:58:57am","04/22/2024 2:04:25pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","04/22/2024","04/22/2024 2:33:46pm","04/22/2024 8:04:16pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#477","","200","","04/22/2024","04/22/2024 10:05:10am","04/22/2024 2:07:34pm","20","0.00","Morgan","Wayne","7358987" +"146905#394","","300","","04/22/2024","04/22/2024 5:00:40pm","04/22/2024 9:31:10pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#355","","300","","04/23/2024","04/23/2024 9:51:26am","04/23/2024 3:06:52pm","20","0.00","Arauz","Kevin","7358987" +"146905#426","","200","","04/23/2024","04/23/2024 12:01:02pm","04/23/2024 4:02:54pm","20","0.00","Beddingfield","Megan","7358987" +"146905#46","","200","","04/23/2024","04/23/2024 10:17:31am","04/23/2024 2:05:32pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","04/23/2024","04/23/2024 9:07:21am","04/23/2024 5:22:36pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","04/23/2024","04/23/2024 5:43:10pm","04/23/2024 6:07:46pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/23/2024","04/23/2024 4:59:12pm","04/23/2024 9:11:40pm","20","0.00","Craig","Devan","7358987" +"146905#480","","200","","04/23/2024","04/23/2024 3:57:14pm","04/23/2024 6:33:40pm","20","0.00","Diaz","Wendi","7358987" +"146905#480","","200","","04/23/2024","04/23/2024 7:04:26pm","04/23/2024 9:18:48pm","20","0.00","Diaz","Wendi","7358987" +"146905#394","","300","","04/23/2024","04/23/2024 4:59:28pm","04/23/2024 9:26:15pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/23/2024","04/23/2024 5:38:56pm","04/23/2024 9:26:06pm","20","0.00","Robles","Angel","7358987" +"146905#426","","200","","04/24/2024","04/24/2024 12:01:46pm","04/24/2024 3:44:04pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","04/24/2024","04/24/2024 9:06:55am","04/24/2024 6:31:52pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/24/2024","04/24/2024 4:58:38pm","04/24/2024 7:20:01pm","20","0.00","Craig","Devan","7358987" +"146905#480","","200","","04/24/2024","04/24/2024 4:58:51pm","04/24/2024 9:32:19pm","20","0.00","Diaz","Wendi","7358987" +"146905#451","","200","","04/24/2024","04/24/2024 10:27:03am","04/24/2024 2:07:23pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","04/24/2024","04/24/2024 9:28:40am","04/24/2024 3:04:15pm","20","0.00","Poz","Henry","7358987" +"146905#394","","300","","04/24/2024","04/24/2024 5:00:00pm","04/24/2024 9:30:00pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/24/2024","04/24/2024 5:36:27pm","04/24/2024 9:33:14pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","04/25/2024","04/25/2024 5:04:56pm","04/25/2024 9:23:14pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/25/2024","04/25/2024 9:01:00am","04/25/2024 3:36:00pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","04/25/2024","04/25/2024 12:07:21pm","04/25/2024 1:22:26pm","20","0.00","Carrillo","Ana","7358987" +"146905#46","","200","","04/25/2024","04/25/2024 1:55:45pm","04/25/2024 7:13:46pm","20","0.00","Carrillo","Ana","7358987" +"146905#410","","300","","04/25/2024","04/25/2024 4:43:22pm","04/25/2024 9:28:11pm","20","0.00","Garcia","Gerber","7358987" +"146905#369","","300","","04/25/2024","04/25/2024 9:28:18am","04/25/2024 3:04:03pm","20","0.00","Poz","Henry","7358987" +"146905#369","","300","","04/25/2024","04/25/2024 3:34:45pm","04/25/2024 4:44:09pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","04/25/2024","04/25/2024 5:08:18pm","04/25/2024 9:28:32pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/25/2024","04/25/2024 10:02:25am","04/25/2024 2:06:28pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","04/26/2024","04/26/2024 12:06:18pm","04/26/2024 1:41:00pm","20","0.00","Ancira","Marcus","7358987" +"146905#43","","200","","04/26/2024","04/26/2024 2:09:54pm","04/26/2024 8:18:33pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/26/2024","04/26/2024 9:34:06am","04/26/2024 3:14:31pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","04/26/2024","04/26/2024 10:10:44am","04/26/2024 2:23:53pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","04/26/2024","04/26/2024 9:02:16am","04/26/2024 6:54:29pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","04/26/2024","04/26/2024 7:26:21pm","04/26/2024 7:26:21pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#410","","300","","04/26/2024","04/26/2024 5:09:52pm","04/26/2024 10:30:12pm","20","0.00","Garcia","Gerber","7358987" +"146905#216","","300","","04/26/2024","04/26/2024 5:02:00pm","04/26/2024 10:31:00pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","04/26/2024","04/26/2024 3:59:17pm","04/26/2024 6:59:30pm","20","0.00","Velez","Jack","7358987" +"146905#359","","200","","04/26/2024","04/26/2024 7:31:32pm","04/26/2024 10:09:06pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","04/27/2024","04/27/2024 4:06:07pm","04/27/2024 9:04:01pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/27/2024","04/27/2024 9:00:48am","04/27/2024 3:17:40pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","04/27/2024","04/27/2024 4:59:09pm","04/27/2024 10:27:16pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","04/27/2024","04/27/2024 9:00:40am","04/27/2024 6:52:36pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","04/27/2024","04/27/2024 9:58:53am","04/27/2024 1:15:39pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/27/2024","04/27/2024 1:32:56pm","04/27/2024 4:13:38pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/27/2024","04/27/2024 11:43:33am","04/27/2024 2:50:43pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","04/27/2024","04/27/2024 5:03:00pm","04/27/2024 10:30:00pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/27/2024","04/27/2024 5:10:12pm","04/27/2024 10:28:07pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","04/28/2024","04/28/2024 4:05:19pm","04/28/2024 9:16:26pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","04/28/2024","04/28/2024 10:12:32am","04/28/2024 3:59:43pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/28/2024","04/28/2024 9:00:00am","04/28/2024 4:11:12pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#480","","200","","04/28/2024","04/28/2024 4:59:46pm","04/28/2024 9:17:06pm","20","0.00","Diaz","Wendi","7358987" +"146905#440","","200","","04/28/2024","04/28/2024 9:59:47am","04/28/2024 2:05:06pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","04/28/2024","04/28/2024 2:25:02pm","04/28/2024 4:36:04pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","04/28/2024","04/28/2024 10:31:26am","04/28/2024 2:52:47pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","04/28/2024","04/28/2024 4:00:39pm","04/28/2024 9:33:13pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/28/2024","04/28/2024 5:02:45pm","04/28/2024 9:32:45pm","20","0.00","Robles","Angel","7358987" +"146905#355","","300","","04/29/2024","04/29/2024 9:30:15am","04/29/2024 2:35:08pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","04/29/2024","04/29/2024 9:06:16am","04/29/2024 6:59:56pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#410","","300","","04/29/2024","04/29/2024 5:28:32pm","04/29/2024 9:39:55pm","20","0.00","Garcia","Gerber","7358987" +"146905#440","","200","","04/29/2024","04/29/2024 4:59:33pm","04/29/2024 9:32:28pm","20","0.00","Guzman","Nick","7358987" +"146905#451","","200","","04/29/2024","04/29/2024 11:59:17am","04/29/2024 1:22:19pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","04/29/2024","04/29/2024 1:54:14pm","04/29/2024 7:31:13pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#477","","200","","04/29/2024","04/29/2024 10:07:27am","04/29/2024 2:12:49pm","20","0.00","Morgan","Wayne","7358987" +"146905#394","","300","","04/29/2024","04/29/2024 5:03:01pm","04/29/2024 9:30:55pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#426","","200","","04/30/2024","04/30/2024 12:00:23pm","04/30/2024 12:59:53pm","20","0.00","Beddingfield","Megan","7358987" +"146905#426","","200","","04/30/2024","04/30/2024 1:31:22pm","04/30/2024 8:32:59pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","04/30/2024","04/30/2024 9:00:00am","04/30/2024 12:00:00pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","04/30/2024","04/30/2024 12:30:00pm","04/30/2024 6:52:00pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","04/30/2024","04/30/2024 4:58:41pm","04/30/2024 9:10:37pm","20","0.00","Craig","Devan","7358987" +"146905#410","","300","","04/30/2024","04/30/2024 9:30:08am","04/30/2024 2:49:06pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","04/30/2024","04/30/2024 9:59:58am","04/30/2024 2:00:03pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#394","","300","","04/30/2024","04/30/2024 4:59:52pm","04/30/2024 9:34:03pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","04/30/2024","04/30/2024 5:38:41pm","04/30/2024 9:33:30pm","20","0.00","Robles","Angel","7358987" +"146905#426","","200","","05/01/2024","05/01/2024 11:59:29am","05/01/2024 12:52:21pm","20","0.00","Beddingfield","Megan","7358987" +"146905#426","","200","","05/01/2024","05/01/2024 1:32:18pm","05/01/2024 7:34:17pm","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","05/01/2024","05/01/2024 9:04:50am","05/01/2024 5:24:03pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/01/2024","05/01/2024 5:52:06pm","05/01/2024 6:07:52pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#410","","300","","05/01/2024","05/01/2024 5:04:07pm","05/01/2024 9:34:47pm","20","0.00","Garcia","Gerber","7358987" +"146905#440","","200","","05/01/2024","05/01/2024 4:58:41pm","05/01/2024 9:37:17pm","20","0.00","Guzman","Nick","7358987" +"146905#451","","200","","05/01/2024","05/01/2024 10:01:18am","05/01/2024 2:00:42pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","05/01/2024","05/01/2024 10:12:18am","05/01/2024 2:57:10pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","05/01/2024","05/01/2024 5:35:28pm","05/01/2024 9:35:04pm","20","0.00","Robles","Angel","7358987" +"146905#355","","300","","05/02/2024","05/02/2024 9:03:39am","05/02/2024 3:11:28pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/02/2024","05/02/2024 12:05:39pm","05/02/2024 1:14:29pm","20","0.00","Carrillo","Ana","7358987" +"146905#46","","200","","05/02/2024","05/02/2024 1:44:56pm","05/02/2024 7:52:50pm","20","0.00","Carrillo","Ana","7358987" +"146905#480","","200","","05/02/2024","05/02/2024 10:00:18am","05/02/2024 2:33:43pm","20","0.00","Diaz","Wendi","7358987" +"146905#410","","300","","05/02/2024","05/02/2024 4:14:36pm","05/02/2024 9:39:17pm","20","0.00","Garcia","Gerber","7358987" +"146905#440","","200","","05/02/2024","05/02/2024 5:00:00pm","05/02/2024 9:26:59pm","20","0.00","Guzman","Nick","7358987" +"146905#369","","300","","05/02/2024","05/02/2024 9:27:45am","05/02/2024 2:20:08pm","20","0.00","Poz","Henry","7358987" +"146905#369","","300","","05/02/2024","05/02/2024 2:50:22pm","05/02/2024 4:31:38pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","05/02/2024","05/02/2024 5:07:25pm","05/02/2024 9:38:57pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","05/03/2024","05/03/2024 12:04:40pm","05/03/2024 1:53:54pm","20","0.00","Ancira","Marcus","7358987" +"146905#43","","200","","05/03/2024","05/03/2024 2:25:13pm","05/03/2024 8:45:47pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","05/03/2024","05/03/2024 9:30:22am","05/03/2024 3:07:38pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/03/2024","05/03/2024 10:10:00am","05/03/2024 2:51:06pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","05/03/2024","05/03/2024 9:06:14am","05/03/2024 6:31:36pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/03/2024","05/03/2024 6:59:25pm","05/03/2024 6:59:25pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#394","","300","","05/03/2024","05/03/2024 5:01:11pm","05/03/2024 10:41:14pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/03/2024","05/03/2024 5:09:04pm","05/03/2024 10:41:23pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","05/03/2024","05/03/2024 4:31:05pm","05/03/2024 10:20:55pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","05/04/2024","05/04/2024 4:02:28pm","05/04/2024 9:05:54pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","05/04/2024","05/04/2024 9:01:41am","05/04/2024 2:37:24pm","20","0.00","Arauz","Kevin","7358987" +"146905#213","","300","","05/04/2024","05/04/2024 9:01:49am","05/04/2024 1:49:01pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/04/2024","05/04/2024 2:23:37pm","05/04/2024 6:11:58pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#440","","200","","05/04/2024","05/04/2024 10:00:45am","05/04/2024 1:30:36pm","20","0.00","Guzman","Nick","7358987" +"146905#440","","200","","05/04/2024","05/04/2024 2:02:47pm","05/04/2024 4:04:27pm","20","0.00","Guzman","Nick","7358987" +"146905#8","","200","","05/04/2024","05/04/2024 11:39:57am","05/04/2024 2:10:38pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#394","","300","","05/04/2024","05/04/2024 5:03:24pm","05/04/2024 10:29:28pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/04/2024","05/04/2024 5:03:32pm","05/04/2024 10:28:51pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","05/04/2024","05/04/2024 5:00:38pm","05/04/2024 10:10:26pm","20","0.00","Velez","Jack","7358987" +"146905#43","","200","","05/05/2024","05/05/2024 4:06:00pm","05/05/2024 9:13:00pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","05/05/2024","05/05/2024 10:03:48am","05/05/2024 4:05:52pm","20","0.00","Arauz","Kevin","7358987" +"146905#480","","200","","05/05/2024","05/05/2024 5:29:47pm","05/05/2024 9:13:38pm","20","0.00","Diaz","Wendi","7358987" +"146905#8","","200","","05/05/2024","05/05/2024 10:05:23am","05/05/2024 2:18:04pm","20.5","0.00","Hoang","Jennifer","7358987" +"146905#451","","200","","05/05/2024","05/05/2024 10:05:31am","05/05/2024 12:48:25pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","05/05/2024","05/05/2024 1:18:32pm","05/05/2024 4:07:26pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","05/05/2024","05/05/2024 9:30:09am","05/05/2024 3:10:10pm","20","0.00","Poz","Henry","7358987" +"146905#394","","300","","05/05/2024","05/05/2024 4:02:39pm","05/05/2024 9:39:46pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/05/2024","05/05/2024 4:59:02pm","05/05/2024 9:39:38pm","20","0.00","Robles","Angel","7358987" +"146905#355","","300","","05/06/2024","05/06/2024 10:01:11am","05/06/2024 2:31:45pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/06/2024","05/06/2024 5:05:22pm","05/06/2024 9:22:51pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","05/06/2024","05/06/2024 9:01:12am","05/06/2024 6:09:37pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#480","","200","","05/06/2024","05/06/2024 9:57:48am","05/06/2024 2:31:55pm","20","0.00","Diaz","Wendi","7358987" +"146905#410","","300","","05/06/2024","05/06/2024 5:42:16pm","05/06/2024 9:44:57pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","05/06/2024","05/06/2024 12:00:14pm","05/06/2024 1:42:04pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","05/06/2024","05/06/2024 2:14:16pm","05/06/2024 7:03:04pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#394","","300","","05/06/2024","05/06/2024 5:00:25pm","05/06/2024 9:30:59pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#355","","300","","05/07/2024","05/07/2024 9:58:08am","05/07/2024 2:32:34pm","20","0.00","Arauz","Kevin","7358987" +"146905#46","","200","","05/07/2024","05/07/2024 10:32:56am","05/07/2024 7:03:21pm","20","0.00","Carrillo","Ana","7358987" +"146905#213","","300","","05/07/2024","05/07/2024 9:00:48am","05/07/2024 5:45:14pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/07/2024","05/07/2024 6:12:03pm","05/07/2024 6:12:03pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","05/07/2024","05/07/2024 4:29:08pm","05/07/2024 9:13:50pm","20","0.00","Craig","Devan","7358987" +"146905#394","","300","","05/07/2024","05/07/2024 5:00:42pm","05/07/2024 9:31:12pm","20","0.00","Ramirez Garcia","Juan","7358987" +"146905#216","","300","","05/07/2024","05/07/2024 5:38:54pm","05/07/2024 9:36:23pm","20","0.00","Robles","Angel","7358987" +"146905#426","","200","","05/08/2024","05/08/2024 11:58:20am","05/08/2024 1:23:14pm","20","0.00","Beddingfield","Megan","7358987" +"146905#426","","200","","05/08/2024","05/08/2024 1:54:52pm","05/09/2024 4:00:00am","20","0.00","Beddingfield","Megan","7358987" +"146905#213","","300","","05/08/2024","05/08/2024 9:05:01am","05/08/2024 5:31:18pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#213","","300","","05/08/2024","05/08/2024 5:59:23pm","05/08/2024 6:30:14pm","23","0.00","Chanchavac","Rogelio","7358987" +"146905#405","","200","","05/08/2024","05/08/2024 4:59:00pm","05/08/2024 9:21:13pm","20","0.00","Craig","Devan","7358987" +"146905#410","","300","","05/08/2024","05/08/2024 5:08:17pm","05/08/2024 9:34:09pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","05/08/2024","05/08/2024 10:46:48am","05/08/2024 2:03:05pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","05/08/2024","05/08/2024 9:57:09am","05/08/2024 2:46:02pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","05/08/2024","05/08/2024 5:36:15pm","05/08/2024 9:32:20pm","20","0.00","Robles","Angel","7358987" +"146905#43","","200","","05/09/2024","05/09/2024 4:59:54pm","05/09/2024 9:37:00pm","20","0.00","Ancira","Marcus","7358987" +"146905#355","","300","","05/09/2024","05/09/2024 8:58:57am","05/09/2024 3:00:16pm","20","0.00","Arauz","Kevin","7358987" +"146905#410","","300","","05/09/2024","05/09/2024 4:11:26pm","05/09/2024 9:43:30pm","20","0.00","Garcia","Gerber","7358987" +"146905#451","","200","","05/09/2024","05/09/2024 11:59:00am","05/09/2024 1:33:05pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#451","","200","","05/09/2024","05/09/2024 2:06:16pm","05/09/2024 7:37:06pm","20","0.00","Mckenna-Tyron","Jacqueline","7358987" +"146905#369","","300","","05/09/2024","05/09/2024 9:57:21am","05/09/2024 4:11:47pm","20","0.00","Poz","Henry","7358987" +"146905#216","","300","","05/09/2024","05/09/2024 5:12:34pm","05/09/2024 9:49:18pm","20","0.00","Robles","Angel","7358987" +"146905#359","","200","","05/09/2024","05/09/2024 9:58:10am","05/09/2024 2:07:46pm","20","0.00","Velez","Jack","7358987" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240508.csv new file mode 100644 index 00000000..29ffcea2 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240508.csv @@ -0,0 +1,186 @@ +"355","","100","","04/18/2024","04/18/2024 10:00:00am","04/18/2024 5:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/18/2024","04/18/2024 5:30:00pm","04/18/2024 7:45:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","04/18/2024","04/18/2024 5:05:01pm","04/18/2024 10:03:42pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/18/2024","04/18/2024 10:39:54am","04/18/2024 2:06:38pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/18/2024","04/18/2024 8:30:00am","04/18/2024 2:30:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#10","","300","","04/18/2024","04/18/2024 8:30:00am","04/18/2024 2:45:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/18/2024","04/18/2024 3:15:00pm","04/18/2024 4:31:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/18/2024","04/18/2024 4:12:57pm","04/18/2024 10:03:53pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/18/2024","04/18/2024 5:14:47pm","04/18/2024 9:31:46pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8782","","300","","04/19/2024","04/19/2024 4:58:05pm","04/19/2024 9:51:21pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/19/2024","04/19/2024 10:33:29am","04/19/2024 2:05:34pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/19/2024","04/19/2024 8:58:48am","04/19/2024 2:31:31pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","04/19/2024","04/19/2024 2:58:00pm","04/19/2024 3:30:00pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8793","","300","","04/19/2024","04/19/2024 4:00:00pm","04/19/2024 9:50:00pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/19/2024","04/19/2024 12:01:00pm","04/19/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","04/19/2024","04/19/2024 5:30:00pm","04/19/2024 7:30:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/19/2024","04/19/2024 8:55:32am","04/19/2024 3:00:46pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/19/2024","04/19/2024 4:59:18pm","04/19/2024 10:06:35pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/20/2024","04/20/2024 10:15:00am","04/20/2024 1:30:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/20/2024","04/20/2024 2:00:00pm","04/20/2024 3:30:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/20/2024","04/20/2024 4:00:41pm","04/20/2024 9:33:21pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/20/2024","04/20/2024 8:57:00am","04/20/2024 2:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8774","","300","","04/20/2024","04/20/2024 3:00:00pm","04/20/2024 4:01:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8793","","300","","04/20/2024","04/20/2024 4:58:22pm","04/20/2024 9:35:21pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/20/2024","04/20/2024 12:00:00pm","04/20/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","04/20/2024","04/20/2024 5:30:00pm","04/20/2024 7:31:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/20/2024","04/20/2024 9:00:00am","04/20/2024 3:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8775","","200","","04/20/2024","04/20/2024 3:37:40pm","04/20/2024 9:27:45pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8783","","300","","04/21/2024","04/21/2024 3:34:25pm","04/21/2024 9:32:47pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/21/2024","04/21/2024 9:30:00am","04/21/2024 3:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/21/2024","04/21/2024 4:59:53pm","04/21/2024 9:29:47pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/21/2024","04/21/2024 10:46:22am","04/21/2024 2:32:52pm","20","0.00","Lopez","Michell","7920585" +"147273#8793","","300","","04/21/2024","04/21/2024 8:56:56am","04/21/2024 2:37:30pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8775","","200","","04/21/2024","04/21/2024 5:00:04pm","04/21/2024 9:21:24pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8771","","200","","04/21/2024","04/21/2024 11:57:33am","04/21/2024 5:57:06pm","20","0.00","Stahler","Raine","7920585" +"147273#8771","","200","","04/21/2024","04/21/2024 6:33:06pm","04/21/2024 7:35:12pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/22/2024","04/22/2024 9:30:00am","04/22/2024 11:30:00am","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/22/2024","04/22/2024 12:30:00pm","04/22/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/22/2024","04/22/2024 4:24:00pm","04/22/2024 9:15:00pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/22/2024","04/22/2024 8:30:00am","04/22/2024 2:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/22/2024","04/22/2024 4:54:12pm","04/22/2024 9:37:17pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/22/2024","04/22/2024 10:30:54am","04/22/2024 2:09:59pm","20","0.00","Lopez","Michell","7920585" +"147273#8788","","200","","04/22/2024","04/22/2024 3:00:38pm","04/22/2024 7:31:13pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/22/2024","04/22/2024 7:59:00am","04/22/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/22/2024","04/22/2024 2:30:00pm","04/22/2024 4:44:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/22/2024","04/22/2024 5:02:32pm","04/22/2024 9:41:52pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/23/2024","04/23/2024 10:05:00am","04/23/2024 5:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/23/2024","04/23/2024 5:30:00pm","04/23/2024 11:00:00am","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/23/2024","04/23/2024 12:00:00pm","04/23/2024 6:30:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/23/2024","04/23/2024 4:13:45pm","04/23/2024 9:46:03pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8769","","200","","04/23/2024","04/23/2024 10:29:25am","04/23/2024 2:09:10pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/23/2024","04/23/2024 9:01:15am","04/23/2024 2:31:06pm","21","0.00","Lopez","Miguel","7920585" +"147273#10","","300","","04/23/2024","04/23/2024 8:58:00am","04/23/2024 2:45:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/23/2024","04/23/2024 3:15:00pm","04/23/2024 4:15:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/23/2024","04/23/2024 5:01:22pm","04/23/2024 10:08:27pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/23/2024","04/23/2024 5:01:30pm","04/23/2024 9:24:00pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/24/2024","04/24/2024 9:45:00am","04/24/2024 5:45:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","04/24/2024","04/24/2024 4:58:56pm","04/24/2024 9:46:11pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#23","","300","","04/24/2024","04/24/2024 8:58:26am","04/24/2024 2:30:14pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","04/24/2024","04/24/2024 3:56:42pm","04/24/2024 7:03:05pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/24/2024","04/24/2024 8:54:00am","04/24/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/24/2024","04/24/2024 2:30:00pm","04/24/2024 4:15:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/24/2024","04/24/2024 4:15:26pm","04/24/2024 9:53:55pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/24/2024","04/24/2024 4:59:42pm","04/24/2024 9:25:40pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/25/2024","04/25/2024 10:30:00am","04/25/2024 7:15:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","04/25/2024","04/25/2024 3:57:30pm","04/25/2024 9:53:40pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/25/2024","04/25/2024 10:24:13am","04/25/2024 2:07:14pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/25/2024","04/25/2024 9:00:52am","04/25/2024 2:35:41pm","21","0.00","Lopez","Miguel","7920585" +"147273#10","","300","","04/25/2024","04/25/2024 8:30:00am","04/25/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/25/2024","04/25/2024 2:30:00pm","04/25/2024 4:14:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/25/2024","04/25/2024 4:56:02pm","04/25/2024 10:05:26pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/25/2024","04/25/2024 5:01:22pm","04/25/2024 9:27:08pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/26/2024","04/26/2024 8:30:00am","04/26/2024 11:15:00am","23","0.00","Flores A","Daniel","7920585" +"147273#8774","","300","","04/26/2024","04/26/2024 8:52:34am","04/26/2024 1:51:58pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/26/2024","04/26/2024 4:59:29pm","04/26/2024 9:32:14pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/26/2024","04/26/2024 10:35:26am","04/26/2024 2:07:16pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/26/2024","04/26/2024 8:10:50am","04/26/2024 2:10:45pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","04/26/2024","04/26/2024 3:59:39pm","04/26/2024 9:31:32pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/26/2024","04/26/2024 12:00:00pm","04/26/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","04/26/2024","04/26/2024 5:30:00pm","04/26/2024 7:32:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/26/2024","04/26/2024 7:00:00am","04/26/2024 3:30:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/26/2024","04/26/2024 4:00:00pm","04/26/2024 4:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/26/2024","04/26/2024 4:59:46pm","04/26/2024 9:39:25pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/27/2024","04/27/2024 10:15:00am","04/27/2024 2:30:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/27/2024","04/27/2024 3:00:00pm","04/27/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/27/2024","04/27/2024 3:50:18pm","04/27/2024 9:31:12pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/27/2024","04/27/2024 9:13:00am","04/27/2024 2:00:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8774","","300","","04/27/2024","04/27/2024 2:30:00pm","04/27/2024 3:51:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8793","","300","","04/27/2024","04/27/2024 4:57:55pm","04/27/2024 9:33:36pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/27/2024","04/27/2024 3:01:55pm","04/27/2024 6:59:44pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/27/2024","04/27/2024 9:01:09am","04/27/2024 2:30:10pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8775","","200","","04/27/2024","04/27/2024 4:00:00pm","04/27/2024 9:19:36pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/28/2024","04/28/2024 12:15:00pm","04/28/2024 1:45:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/28/2024","04/28/2024 3:30:05pm","04/28/2024 9:31:08pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/28/2024","04/28/2024 9:36:32am","04/28/2024 3:34:43pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/28/2024","04/28/2024 4:57:19pm","04/28/2024 9:34:21pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/28/2024","04/28/2024 10:39:32am","04/28/2024 2:34:18pm","20","0.00","Lopez","Michell","7920585" +"147273#8793","","300","","04/28/2024","04/28/2024 8:57:24am","04/28/2024 2:35:04pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8775","","200","","04/28/2024","04/28/2024 4:58:32pm","04/28/2024 9:15:31pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8771","","200","","04/28/2024","04/28/2024 2:01:40pm","04/28/2024 7:03:17pm","20","0.00","Stahler","Raine","7920585" +"147273#8783","","300","","04/29/2024","04/29/2024 4:14:27pm","04/29/2024 9:30:40pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8782","","300","","04/29/2024","04/29/2024 4:58:48pm","04/29/2024 9:30:20pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/29/2024","04/29/2024 10:00:17am","04/29/2024 2:00:30pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/29/2024","04/29/2024 8:58:21am","04/29/2024 2:34:58pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","04/29/2024","04/29/2024 1:58:01pm","04/29/2024 6:30:34pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/29/2024","04/29/2024 8:56:00am","04/29/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/29/2024","04/29/2024 2:30:00pm","04/29/2024 4:17:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/29/2024","04/29/2024 5:00:52pm","04/29/2024 9:32:21pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/30/2024","04/30/2024 10:20:00am","04/30/2024 11:15:00am","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/30/2024","04/30/2024 12:30:00pm","04/30/2024 7:17:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/30/2024","04/30/2024 4:14:53pm","04/30/2024 9:42:07pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8769","","200","","04/30/2024","04/30/2024 10:11:27am","04/30/2024 1:56:16pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/30/2024","04/30/2024 9:06:49am","04/30/2024 2:37:52pm","21","0.00","Lopez","Miguel","7920585" +"147273#10","","300","","04/30/2024","04/30/2024 9:06:00am","04/30/2024 3:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/30/2024","04/30/2024 3:30:00pm","04/30/2024 4:15:41pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/30/2024","04/30/2024 4:58:01pm","04/30/2024 9:56:52pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/30/2024","04/30/2024 5:00:26pm","04/30/2024 9:24:24pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/01/2024","05/01/2024 8:50:00am","05/01/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","05/01/2024","05/01/2024 4:00:00pm","05/01/2024 5:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","05/01/2024","05/01/2024 4:57:11pm","05/01/2024 9:53:46pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#23","","300","","05/01/2024","05/01/2024 8:59:19am","05/01/2024 2:40:54pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/01/2024","05/01/2024 2:58:39pm","05/01/2024 7:02:34pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/01/2024","05/01/2024 8:58:00am","05/01/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/01/2024","05/01/2024 2:30:00pm","05/01/2024 4:18:49pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","05/01/2024","05/01/2024 4:15:00pm","05/01/2024 9:45:00pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","05/01/2024","05/01/2024 5:00:59pm","05/01/2024 9:25:59pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/02/2024","05/02/2024 10:10:00am","05/02/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","05/02/2024","05/02/2024 4:00:00pm","05/02/2024 6:30:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","05/02/2024","05/02/2024 5:04:46pm","05/02/2024 10:06:31pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/02/2024","05/02/2024 9:59:17am","05/02/2024 2:00:57pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/02/2024","05/02/2024 7:59:00am","05/02/2024 2:00:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#23","","300","","05/02/2024","05/02/2024 2:30:00pm","05/02/2024 3:00:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/02/2024","05/02/2024 3:00:55pm","05/02/2024 7:05:09pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/02/2024","05/02/2024 7:29:00am","05/02/2024 2:30:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/02/2024","05/02/2024 3:00:00pm","05/02/2024 4:18:59pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","05/02/2024","05/02/2024 4:12:59pm","05/02/2024 10:07:08pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","05/02/2024","05/02/2024 5:00:37pm","05/02/2024 9:21:55pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/03/2024","05/03/2024 9:45:00am","05/03/2024 12:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8774","","300","","05/03/2024","05/03/2024 9:40:54am","05/03/2024 2:10:31pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","05/03/2024","05/03/2024 5:05:21pm","05/03/2024 9:35:12pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/03/2024","05/03/2024 10:09:59am","05/03/2024 1:55:30pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/03/2024","05/03/2024 8:05:56am","05/03/2024 2:06:06pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","05/03/2024","05/03/2024 3:55:30pm","05/03/2024 9:36:30pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","05/03/2024","05/03/2024 11:59:00am","05/03/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","05/03/2024","05/03/2024 5:30:00pm","05/03/2024 8:03:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/03/2024","05/03/2024 8:00:00am","05/03/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/03/2024","05/03/2024 2:30:00pm","05/03/2024 4:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","05/03/2024","05/03/2024 5:00:42pm","05/03/2024 9:34:57pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","05/04/2024","05/04/2024 10:25:00am","05/04/2024 4:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","05/04/2024","05/04/2024 3:50:23pm","05/04/2024 9:29:43pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","05/04/2024","05/04/2024 9:01:00am","05/04/2024 12:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8774","","300","","05/04/2024","05/04/2024 1:00:00pm","05/04/2024 3:53:30pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8793","","300","","05/04/2024","05/04/2024 4:50:01pm","05/04/2024 9:32:46pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#10","","300","","05/04/2024","05/04/2024 8:57:04am","05/04/2024 1:06:19pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8775","","200","","05/04/2024","05/04/2024 4:00:29pm","05/04/2024 9:21:01pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8783","","300","","05/05/2024","05/05/2024 3:30:30pm","05/05/2024 9:26:52pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","05/05/2024","05/05/2024 9:30:00am","05/05/2024 3:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","05/05/2024","05/05/2024 5:00:18pm","05/05/2024 9:23:13pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/05/2024","05/05/2024 10:41:44am","05/05/2024 2:31:36pm","20","0.00","Lopez","Michell","7920585" +"147273#8793","","300","","05/05/2024","05/05/2024 8:56:15am","05/05/2024 2:35:02pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8775","","200","","05/05/2024","05/05/2024 4:59:44pm","05/05/2024 9:15:07pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8771","","200","","05/05/2024","05/05/2024 2:30:22pm","05/05/2024 7:07:28pm","20","0.00","Stahler","Raine","7920585" +"147273#8783","","300","","05/06/2024","05/06/2024 4:15:06pm","05/06/2024 9:24:44pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8782","","300","","05/06/2024","05/06/2024 5:05:32pm","05/06/2024 9:25:41pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/06/2024","05/06/2024 10:06:54am","05/06/2024 2:04:26pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/06/2024","05/06/2024 9:00:00am","05/06/2024 2:30:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/06/2024","05/06/2024 1:59:36pm","05/06/2024 7:00:42pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/06/2024","05/06/2024 8:57:00am","05/06/2024 1:30:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/06/2024","05/06/2024 2:00:00pm","05/06/2024 4:21:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","05/06/2024","05/06/2024 4:58:27pm","05/06/2024 9:24:05pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","05/07/2024","05/07/2024 2:00:00pm","05/07/2024 7:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","05/07/2024","05/07/2024 7:30:00pm","05/07/2024 10:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8769","","200","","05/07/2024","05/07/2024 10:04:51am","05/07/2024 2:04:56pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/07/2024","05/07/2024 8:59:12am","05/07/2024 2:33:33pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/07/2024","05/07/2024 4:05:03pm","05/07/2024 7:00:22pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/07/2024","05/07/2024 8:54:00am","05/07/2024 3:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/07/2024","05/07/2024 3:30:00pm","05/07/2024 4:14:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","05/07/2024","05/07/2024 5:20:22pm","05/07/2024 10:04:12pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","05/07/2024","05/07/2024 5:00:28pm","05/07/2024 9:19:15pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/08/2024","05/08/2024 9:45:00am","05/09/2024 4:00:00am","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","05/08/2024","05/08/2024 4:55:45pm","05/08/2024 9:35:56pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/08/2024","05/08/2024 10:09:08am","05/08/2024 12:38:23pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/08/2024","05/08/2024 8:49:01am","05/08/2024 3:12:51pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","05/08/2024","05/08/2024 3:59:20pm","05/08/2024 9:36:12pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","05/08/2024","05/08/2024 3:30:52pm","05/08/2024 9:29:20pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/08/2024","05/08/2024 7:57:43am","05/08/2024 4:17:44pm","22","0.00","Ortega Rubio","Julio","7920585" diff --git a/dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240509.csv new file mode 100644 index 00000000..d0e9b4a6 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/NTG - San Carlos_20240509.csv @@ -0,0 +1,186 @@ +"147273#8782","","300","","04/19/2024","04/19/2024 4:58:05pm","04/19/2024 9:51:21pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/19/2024","04/19/2024 10:33:29am","04/19/2024 2:05:34pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/19/2024","04/19/2024 8:58:48am","04/19/2024 2:31:31pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","04/19/2024","04/19/2024 2:58:00pm","04/19/2024 3:30:00pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8793","","300","","04/19/2024","04/19/2024 4:00:00pm","04/19/2024 9:50:00pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/19/2024","04/19/2024 12:01:00pm","04/19/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","04/19/2024","04/19/2024 5:30:00pm","04/19/2024 7:30:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/19/2024","04/19/2024 8:55:32am","04/19/2024 3:00:46pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/19/2024","04/19/2024 4:59:18pm","04/19/2024 10:06:35pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/20/2024","04/20/2024 10:15:00am","04/20/2024 1:30:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/20/2024","04/20/2024 2:00:00pm","04/20/2024 3:30:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/20/2024","04/20/2024 4:00:41pm","04/20/2024 9:33:21pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/20/2024","04/20/2024 8:57:00am","04/20/2024 2:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8774","","300","","04/20/2024","04/20/2024 3:00:00pm","04/20/2024 4:01:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8793","","300","","04/20/2024","04/20/2024 4:58:22pm","04/20/2024 9:35:21pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/20/2024","04/20/2024 12:00:00pm","04/20/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","04/20/2024","04/20/2024 5:30:00pm","04/20/2024 7:31:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/20/2024","04/20/2024 9:00:00am","04/20/2024 3:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8775","","200","","04/20/2024","04/20/2024 3:37:40pm","04/20/2024 9:27:45pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8783","","300","","04/21/2024","04/21/2024 3:34:25pm","04/21/2024 9:32:47pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/21/2024","04/21/2024 9:30:00am","04/21/2024 3:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/21/2024","04/21/2024 4:59:53pm","04/21/2024 9:29:47pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/21/2024","04/21/2024 10:46:22am","04/21/2024 2:32:52pm","20","0.00","Lopez","Michell","7920585" +"147273#8793","","300","","04/21/2024","04/21/2024 8:56:56am","04/21/2024 2:37:30pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8775","","200","","04/21/2024","04/21/2024 5:00:04pm","04/21/2024 9:21:24pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8771","","200","","04/21/2024","04/21/2024 11:57:33am","04/21/2024 5:57:06pm","20","0.00","Stahler","Raine","7920585" +"147273#8771","","200","","04/21/2024","04/21/2024 6:33:06pm","04/21/2024 7:35:12pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/22/2024","04/22/2024 9:30:00am","04/22/2024 11:30:00am","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/22/2024","04/22/2024 12:30:00pm","04/22/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/22/2024","04/22/2024 4:24:00pm","04/22/2024 9:15:00pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/22/2024","04/22/2024 8:30:00am","04/22/2024 2:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/22/2024","04/22/2024 4:54:12pm","04/22/2024 9:37:17pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/22/2024","04/22/2024 10:30:54am","04/22/2024 2:09:59pm","20","0.00","Lopez","Michell","7920585" +"147273#8788","","200","","04/22/2024","04/22/2024 3:00:38pm","04/22/2024 7:31:13pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/22/2024","04/22/2024 7:59:00am","04/22/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/22/2024","04/22/2024 2:30:00pm","04/22/2024 4:44:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/22/2024","04/22/2024 5:02:32pm","04/22/2024 9:41:52pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/23/2024","04/23/2024 10:05:00am","04/23/2024 5:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/23/2024","04/23/2024 5:30:00pm","04/23/2024 11:00:00am","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/23/2024","04/23/2024 12:00:00pm","04/23/2024 6:30:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/23/2024","04/23/2024 4:13:45pm","04/23/2024 9:46:03pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8769","","200","","04/23/2024","04/23/2024 10:29:25am","04/23/2024 2:09:10pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/23/2024","04/23/2024 9:01:15am","04/23/2024 2:31:06pm","21","0.00","Lopez","Miguel","7920585" +"147273#10","","300","","04/23/2024","04/23/2024 8:58:00am","04/23/2024 2:45:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/23/2024","04/23/2024 3:15:00pm","04/23/2024 4:15:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/23/2024","04/23/2024 5:01:22pm","04/23/2024 10:08:27pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/23/2024","04/23/2024 5:01:30pm","04/23/2024 9:24:00pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/24/2024","04/24/2024 9:45:00am","04/24/2024 5:45:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","04/24/2024","04/24/2024 4:58:56pm","04/24/2024 9:46:11pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#23","","300","","04/24/2024","04/24/2024 8:58:26am","04/24/2024 2:30:14pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","04/24/2024","04/24/2024 3:56:42pm","04/24/2024 7:03:05pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/24/2024","04/24/2024 8:54:00am","04/24/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/24/2024","04/24/2024 2:30:00pm","04/24/2024 4:15:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/24/2024","04/24/2024 4:15:26pm","04/24/2024 9:53:55pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/24/2024","04/24/2024 4:59:42pm","04/24/2024 9:25:40pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/25/2024","04/25/2024 10:30:00am","04/25/2024 7:15:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","04/25/2024","04/25/2024 3:57:30pm","04/25/2024 9:53:40pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/25/2024","04/25/2024 10:24:13am","04/25/2024 2:07:14pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/25/2024","04/25/2024 9:00:52am","04/25/2024 2:35:41pm","21","0.00","Lopez","Miguel","7920585" +"147273#10","","300","","04/25/2024","04/25/2024 8:30:00am","04/25/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/25/2024","04/25/2024 2:30:00pm","04/25/2024 4:14:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/25/2024","04/25/2024 4:56:02pm","04/25/2024 10:05:26pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/25/2024","04/25/2024 5:01:22pm","04/25/2024 9:27:08pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/26/2024","04/26/2024 8:30:00am","04/26/2024 11:15:00am","23","0.00","Flores A","Daniel","7920585" +"147273#8774","","300","","04/26/2024","04/26/2024 8:52:34am","04/26/2024 1:51:58pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/26/2024","04/26/2024 4:59:29pm","04/26/2024 9:32:14pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/26/2024","04/26/2024 10:35:26am","04/26/2024 2:07:16pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/26/2024","04/26/2024 8:10:50am","04/26/2024 2:10:45pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","04/26/2024","04/26/2024 3:59:39pm","04/26/2024 9:31:32pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/26/2024","04/26/2024 12:00:00pm","04/26/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","04/26/2024","04/26/2024 5:30:00pm","04/26/2024 7:32:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/26/2024","04/26/2024 7:00:00am","04/26/2024 3:30:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/26/2024","04/26/2024 4:00:00pm","04/26/2024 4:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/26/2024","04/26/2024 4:59:46pm","04/26/2024 9:39:25pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/27/2024","04/27/2024 10:15:00am","04/27/2024 2:30:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/27/2024","04/27/2024 3:00:00pm","04/27/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/27/2024","04/27/2024 3:50:18pm","04/27/2024 9:31:12pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/27/2024","04/27/2024 9:13:00am","04/27/2024 2:00:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8774","","300","","04/27/2024","04/27/2024 2:30:00pm","04/27/2024 3:51:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8793","","300","","04/27/2024","04/27/2024 4:57:55pm","04/27/2024 9:33:36pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","04/27/2024","04/27/2024 3:01:55pm","04/27/2024 6:59:44pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/27/2024","04/27/2024 9:01:09am","04/27/2024 2:30:10pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8775","","200","","04/27/2024","04/27/2024 4:00:00pm","04/27/2024 9:19:36pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","04/28/2024","04/28/2024 12:15:00pm","04/28/2024 1:45:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/28/2024","04/28/2024 3:30:05pm","04/28/2024 9:31:08pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","04/28/2024","04/28/2024 9:36:32am","04/28/2024 3:34:43pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","04/28/2024","04/28/2024 4:57:19pm","04/28/2024 9:34:21pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/28/2024","04/28/2024 10:39:32am","04/28/2024 2:34:18pm","20","0.00","Lopez","Michell","7920585" +"147273#8793","","300","","04/28/2024","04/28/2024 8:57:24am","04/28/2024 2:35:04pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8775","","200","","04/28/2024","04/28/2024 4:58:32pm","04/28/2024 9:15:31pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8771","","200","","04/28/2024","04/28/2024 2:01:40pm","04/28/2024 7:03:17pm","20","0.00","Stahler","Raine","7920585" +"147273#8783","","300","","04/29/2024","04/29/2024 4:14:27pm","04/29/2024 9:30:40pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8782","","300","","04/29/2024","04/29/2024 4:58:48pm","04/29/2024 9:30:20pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","04/29/2024","04/29/2024 10:00:17am","04/29/2024 2:00:30pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/29/2024","04/29/2024 8:58:21am","04/29/2024 2:34:58pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","04/29/2024","04/29/2024 1:58:01pm","04/29/2024 6:30:34pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","04/29/2024","04/29/2024 8:56:00am","04/29/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/29/2024","04/29/2024 2:30:00pm","04/29/2024 4:17:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","04/29/2024","04/29/2024 5:00:52pm","04/29/2024 9:32:21pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","04/30/2024","04/30/2024 10:20:00am","04/30/2024 11:15:00am","23","0.00","Flores A","Daniel","7920585" +"355","","100","","04/30/2024","04/30/2024 12:30:00pm","04/30/2024 7:17:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","04/30/2024","04/30/2024 4:14:53pm","04/30/2024 9:42:07pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8769","","200","","04/30/2024","04/30/2024 10:11:27am","04/30/2024 1:56:16pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","04/30/2024","04/30/2024 9:06:49am","04/30/2024 2:37:52pm","21","0.00","Lopez","Miguel","7920585" +"147273#10","","300","","04/30/2024","04/30/2024 9:06:00am","04/30/2024 3:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","04/30/2024","04/30/2024 3:30:00pm","04/30/2024 4:15:41pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","04/30/2024","04/30/2024 4:58:01pm","04/30/2024 9:56:52pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","04/30/2024","04/30/2024 5:00:26pm","04/30/2024 9:24:24pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/01/2024","05/01/2024 8:50:00am","05/01/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","05/01/2024","05/01/2024 4:00:00pm","05/01/2024 5:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","05/01/2024","05/01/2024 4:57:11pm","05/01/2024 9:53:46pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#23","","300","","05/01/2024","05/01/2024 8:59:19am","05/01/2024 2:40:54pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/01/2024","05/01/2024 2:58:39pm","05/01/2024 7:02:34pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/01/2024","05/01/2024 8:58:00am","05/01/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/01/2024","05/01/2024 2:30:00pm","05/01/2024 4:18:49pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","05/01/2024","05/01/2024 4:15:00pm","05/01/2024 9:45:00pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","05/01/2024","05/01/2024 5:00:59pm","05/01/2024 9:25:59pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/02/2024","05/02/2024 10:10:00am","05/02/2024 3:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","05/02/2024","05/02/2024 4:00:00pm","05/02/2024 6:30:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","05/02/2024","05/02/2024 5:04:46pm","05/02/2024 10:06:31pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/02/2024","05/02/2024 9:59:17am","05/02/2024 2:00:57pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/02/2024","05/02/2024 7:59:00am","05/02/2024 2:00:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#23","","300","","05/02/2024","05/02/2024 2:30:00pm","05/02/2024 3:00:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/02/2024","05/02/2024 3:00:55pm","05/02/2024 7:05:09pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/02/2024","05/02/2024 7:29:00am","05/02/2024 2:30:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/02/2024","05/02/2024 3:00:00pm","05/02/2024 4:18:59pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","05/02/2024","05/02/2024 4:12:59pm","05/02/2024 10:07:08pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","05/02/2024","05/02/2024 5:00:37pm","05/02/2024 9:21:55pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/03/2024","05/03/2024 9:45:00am","05/03/2024 12:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8774","","300","","05/03/2024","05/03/2024 9:40:54am","05/03/2024 2:10:31pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","05/03/2024","05/03/2024 5:05:21pm","05/03/2024 9:35:12pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/03/2024","05/03/2024 10:09:59am","05/03/2024 1:55:30pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/03/2024","05/03/2024 8:05:56am","05/03/2024 2:06:06pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","05/03/2024","05/03/2024 3:55:30pm","05/03/2024 9:36:30pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","05/03/2024","05/03/2024 11:59:00am","05/03/2024 5:00:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#8788","","200","","05/03/2024","05/03/2024 5:30:00pm","05/03/2024 8:03:00pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/03/2024","05/03/2024 8:00:00am","05/03/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/03/2024","05/03/2024 2:30:00pm","05/03/2024 4:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","05/03/2024","05/03/2024 5:00:42pm","05/03/2024 9:34:57pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","05/04/2024","05/04/2024 10:25:00am","05/04/2024 4:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8783","","300","","05/04/2024","05/04/2024 3:50:23pm","05/04/2024 9:29:43pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","05/04/2024","05/04/2024 9:01:00am","05/04/2024 12:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8774","","300","","05/04/2024","05/04/2024 1:00:00pm","05/04/2024 3:53:30pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8793","","300","","05/04/2024","05/04/2024 4:50:01pm","05/04/2024 9:32:46pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#10","","300","","05/04/2024","05/04/2024 8:57:04am","05/04/2024 1:06:19pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8775","","200","","05/04/2024","05/04/2024 4:00:29pm","05/04/2024 9:21:01pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8783","","300","","05/05/2024","05/05/2024 3:30:30pm","05/05/2024 9:26:52pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8774","","300","","05/05/2024","05/05/2024 9:30:00am","05/05/2024 3:30:00pm","20","0.00","Hernandez Hernandez","Antonio","7920585" +"147273#8782","","300","","05/05/2024","05/05/2024 5:00:18pm","05/05/2024 9:23:13pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/05/2024","05/05/2024 10:41:44am","05/05/2024 2:31:36pm","20","0.00","Lopez","Michell","7920585" +"147273#8793","","300","","05/05/2024","05/05/2024 8:56:15am","05/05/2024 2:35:02pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8775","","200","","05/05/2024","05/05/2024 4:59:44pm","05/05/2024 9:15:07pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"147273#8771","","200","","05/05/2024","05/05/2024 2:30:22pm","05/05/2024 7:07:28pm","20","0.00","Stahler","Raine","7920585" +"147273#8783","","300","","05/06/2024","05/06/2024 4:15:06pm","05/06/2024 9:24:44pm","20","0.00","Gonzalez","Cristabel","7920585" +"147273#8782","","300","","05/06/2024","05/06/2024 5:05:32pm","05/06/2024 9:25:41pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/06/2024","05/06/2024 10:06:54am","05/06/2024 2:04:26pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/06/2024","05/06/2024 9:00:00am","05/06/2024 2:30:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/06/2024","05/06/2024 1:59:36pm","05/06/2024 7:00:42pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/06/2024","05/06/2024 8:57:00am","05/06/2024 1:30:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/06/2024","05/06/2024 2:00:00pm","05/06/2024 4:21:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8771","","200","","05/06/2024","05/06/2024 4:58:27pm","05/06/2024 9:24:05pm","20","0.00","Stahler","Raine","7920585" +"355","","100","","05/07/2024","05/07/2024 2:00:00pm","05/07/2024 7:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","05/07/2024","05/07/2024 7:30:00pm","05/07/2024 10:00:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8769","","200","","05/07/2024","05/07/2024 10:04:51am","05/07/2024 2:04:56pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/07/2024","05/07/2024 8:59:12am","05/07/2024 2:33:33pm","21","0.00","Lopez","Miguel","7920585" +"147273#8788","","200","","05/07/2024","05/07/2024 4:05:03pm","05/07/2024 7:00:22pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/07/2024","05/07/2024 8:54:00am","05/07/2024 3:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/07/2024","05/07/2024 3:30:00pm","05/07/2024 4:14:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#8789","","300","","05/07/2024","05/07/2024 5:20:22pm","05/07/2024 10:04:12pm","20","0.00","Peralta","Nicole","7920585" +"147273#8775","","200","","05/07/2024","05/07/2024 5:00:28pm","05/07/2024 9:19:15pm","20","0.00","Ramirez Mendoza","Nestor","7920585" +"355","","100","","05/08/2024","05/08/2024 9:45:00am","05/08/2024 4:00:00pm","23","0.00","Flores A","Daniel","7920585" +"355","","100","","05/08/2024","05/08/2024 5:00:00pm","05/08/2024 7:30:00pm","23","0.00","Flores A","Daniel","7920585" +"147273#8782","","300","","05/08/2024","05/08/2024 4:55:45pm","05/08/2024 9:35:56pm","20","0.00","Ixtacuy","Ana","7920585" +"147273#8769","","200","","05/08/2024","05/08/2024 10:09:08am","05/08/2024 12:38:23pm","20","0.00","Lopez","Michell","7920585" +"147273#23","","300","","05/08/2024","05/08/2024 8:30:00am","05/08/2024 2:30:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#23","","300","","05/08/2024","05/08/2024 3:00:00pm","05/08/2024 3:12:00pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","05/08/2024","05/08/2024 3:59:20pm","05/08/2024 9:36:12pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","05/08/2024","05/08/2024 3:30:52pm","05/08/2024 9:29:20pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/08/2024","05/08/2024 7:57:00am","05/08/2024 2:00:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"147273#10","","300","","05/08/2024","05/08/2024 2:30:00pm","05/08/2024 4:17:00pm","22","0.00","Ortega Rubio","Julio","7920585" +"355","","100","","05/09/2024","05/09/2024 9:50:00am","05/10/2024 4:00:00am","23","0.00","Flores A","Daniel","7920585" +"147273#23","","300","","05/09/2024","05/09/2024 9:02:54am","05/09/2024 3:42:14pm","21","0.00","Lopez","Miguel","7920585" +"147273#23","","300","","05/09/2024","05/09/2024 4:12:56pm","05/09/2024 9:34:04pm","21","0.00","Lopez","Miguel","7920585" +"147273#8793","","300","","05/09/2024","05/09/2024 4:10:25pm","05/09/2024 9:31:26pm","20","0.00","Martinez Diaz","Mauricio","7920585" +"147273#8788","","200","","05/09/2024","05/09/2024 3:59:18pm","05/09/2024 9:18:23pm","20","0.00","Munoz","Yesenia","7920585" +"147273#10","","300","","05/09/2024","05/09/2024 8:57:14am","05/09/2024 4:22:33pm","22","0.00","Ortega Rubio","Julio","7920585" diff --git a/dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240508.csv b/dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240508.csv new file mode 100644 index 00000000..ceb8d65f --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240508.csv @@ -0,0 +1,271 @@ +"146901#297","","200","","04/18/2024","04/18/2024 6:06:10am","04/18/2024 12:25:06pm","21.5","0.00","Baquera","Erick","7098660" +"146901#201","","100","","04/18/2024","04/18/2024 6:05:52am","04/18/2024 11:28:06am","20","0.00","conriquez","sergio","7098660" +"146901#368","","100","","04/18/2024","04/18/2024 3:00:26pm","04/18/2024 8:51:48pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","04/18/2024","04/18/2024 1:30:41pm","04/18/2024 7:00:06pm","20","0.00","Gomez","Lee","7098660" +"146901#127","","200","","04/18/2024","04/18/2024 6:00:00am","04/18/2024 9:00:00am","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","04/18/2024","04/18/2024 6:17:45am","04/18/2024 12:33:34pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/18/2024","04/18/2024 10:30:10am","04/18/2024 3:04:27pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","04/18/2024","04/18/2024 3:33:49pm","04/18/2024 5:25:49pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","04/18/2024","04/18/2024 11:56:47am","04/18/2024 4:22:15pm","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","04/18/2024","04/18/2024 4:46:23pm","04/18/2024 8:54:23pm","23","0.00","Magana","Reyes","7098660" +"146901#197","","100","","04/18/2024","04/18/2024 9:09:48am","04/18/2024 1:33:18pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","04/18/2024","04/18/2024 2:05:14pm","04/18/2024 4:03:14pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","04/18/2024","04/18/2024 7:30:48am","04/18/2024 1:36:04pm","20","0.00","Sunga","Shaina","7098660" +"146901#137","","100","","04/18/2024","04/18/2024 8:33:50am","04/18/2024 2:25:10pm","20","0.00","Yang","Zhen","7098660" +"146901#435","","100","","04/19/2024","04/19/2024 3:28:20pm","04/19/2024 8:49:15pm","20","0.00","Beltran","Aneliz","7098660" +"146901#193","","200","","04/19/2024","04/19/2024 6:15:07am","04/19/2024 11:24:05am","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/19/2024","04/19/2024 11:55:34am","04/19/2024 1:35:06pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#335","","200","","04/19/2024","04/19/2024 1:01:11pm","04/19/2024 5:30:09pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/19/2024","04/19/2024 6:00:29pm","04/19/2024 8:49:08pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","04/19/2024","04/19/2024 1:29:16pm","04/19/2024 7:30:06pm","20","0.00","Guerrero","Valeria","7098660" +"146901#364","","100","","04/19/2024","04/19/2024 8:30:40am","04/19/2024 2:21:47pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/19/2024","04/19/2024 6:16:08am","04/19/2024 11:48:06am","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","04/19/2024","04/19/2024 5:48:00am","04/19/2024 11:15:00am","23","0.00","Magana","Reyes","7098660" +"146901#202","","100","","04/19/2024","04/19/2024 10:40:54am","04/19/2024 5:03:53pm","20","0.00","Mercado","Kylene","7098660" +"146901#365","","100","","04/19/2024","04/19/2024 9:01:01am","04/19/2024 1:38:13pm","20","0.00","Sunga","Shaina","7098660" +"146901#365","","100","","04/19/2024","04/19/2024 2:08:38pm","04/19/2024 3:54:09pm","20","0.00","Sunga","Shaina","7098660" +"146901#204","","100","","04/19/2024","04/19/2024 7:30:14am","04/19/2024 1:28:07pm","20","0.00","Terzian","Anna","7098660" +"146901#297","","200","","04/20/2024","04/20/2024 11:30:00am","04/20/2024 2:52:00pm","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/20/2024","04/20/2024 3:22:00pm","04/20/2024 6:30:00pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","04/20/2024","04/20/2024 7:58:23am","04/20/2024 1:04:30pm","20","0.00","Beltran","Aneliz","7098660" +"146901#201","","100","","04/20/2024","04/20/2024 10:04:56am","04/20/2024 3:32:14pm","20","0.00","conriquez","sergio","7098660" +"146901#368","","100","","04/20/2024","04/20/2024 1:00:40pm","04/20/2024 6:29:54pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","04/20/2024","04/20/2024 9:02:19am","04/20/2024 2:05:09pm","20","0.00","Gomez","Lee","7098660" +"146901#438","","100","","04/20/2024","04/20/2024 6:45:06am","04/20/2024 11:45:05am","20","0.00","Guerrero","Valeria","7098660" +"146901#158","","200","","04/20/2024","04/20/2024 5:56:57am","04/20/2024 12:53:53pm","23","0.00","Magana","Reyes","7098660" +"146901#204","","100","","04/20/2024","04/20/2024 11:59:55am","04/20/2024 6:08:47pm","20","0.00","Terzian","Anna","7098660" +"146901#437","","100","","04/20/2024","04/20/2024 6:29:26am","04/20/2024 11:04:49am","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","04/21/2024","04/21/2024 6:36:09am","04/21/2024 12:37:36pm","21.5","0.00","Baquera","Erick","7098660" +"146901#393","","100","","04/21/2024","04/21/2024 6:46:17am","04/21/2024 11:50:17am","20","0.00","Beleno","Vanessa","7098660" +"146901#435","","100","","04/21/2024","04/21/2024 12:58:36pm","04/21/2024 6:44:14pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/21/2024","04/21/2024 6:44:10am","04/21/2024 10:03:19am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#335","","200","","04/21/2024","04/21/2024 12:30:55pm","04/21/2024 6:58:04pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#201","","100","","04/21/2024","04/21/2024 12:06:46pm","04/21/2024 5:54:14pm","20","0.00","conriquez","sergio","7098660" +"146901#220","","100","","04/21/2024","04/21/2024 9:59:44am","04/21/2024 3:30:13pm","20","0.00","Gomez","Lee","7098660" +"146901#353","","100","","04/21/2024","04/21/2024 8:57:08am","04/21/2024 1:59:44pm","20","0.00","Mata","Casey","7098660" +"146901#331","","100","","04/21/2024","04/21/2024 8:02:19am","04/21/2024 1:02:53pm","20","0.00","Moran","Ramiro","7098660" +"146901#393","","100","","04/22/2024","04/22/2024 6:17:37am","04/22/2024 12:34:44pm","20","0.00","Beleno","Vanessa","7098660" +"146901#193","","100","","04/22/2024","04/22/2024 10:34:57am","04/22/2024 3:07:14pm","20","0.00","Chavez","Adrian","7098660" +"146901#193","","100","","04/22/2024","04/22/2024 3:40:08pm","04/22/2024 5:21:02pm","20","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/22/2024","04/22/2024 6:28:23am","04/22/2024 10:37:20am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/22/2024","04/22/2024 11:07:40am","04/22/2024 2:50:13pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","200","","04/22/2024","04/22/2024 12:43:24pm","04/22/2024 4:30:33pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/22/2024","04/22/2024 5:00:12pm","04/22/2024 8:43:37pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#220","","100","","04/22/2024","04/22/2024 8:58:26am","04/22/2024 1:56:57pm","20","0.00","Gomez","Lee","7098660" +"146901#220","","100","","04/22/2024","04/22/2024 2:27:19pm","04/22/2024 3:53:59pm","20","0.00","Gomez","Lee","7098660" +"146901#364","","100","","04/22/2024","04/22/2024 2:58:20pm","04/22/2024 8:42:45pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/22/2024","04/22/2024 5:55:17am","04/22/2024 11:30:07am","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","04/22/2024","04/22/2024 5:51:29am","04/22/2024 11:40:15am","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/22/2024","04/22/2024 1:30:09pm","04/22/2024 6:48:41pm","20","0.00","Mata","Casey","7098660" +"146901#204","","100","","04/22/2024","04/22/2024 7:32:46am","04/22/2024 1:32:23pm","20","0.00","Terzian","Anna","7098660" +"146901#437","","100","","04/22/2024","04/22/2024 8:30:22am","04/22/2024 2:35:24pm","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","04/23/2024","04/23/2024 1:03:31pm","04/23/2024 5:28:07pm","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/23/2024","04/23/2024 5:59:09pm","04/23/2024 9:04:45pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","04/23/2024","04/23/2024 1:28:59pm","04/23/2024 7:32:43pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/23/2024","04/23/2024 6:13:21am","04/23/2024 11:01:16am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#193","","100","","04/23/2024","04/23/2024 6:25:54am","04/23/2024 12:12:10pm","20","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/23/2024","04/23/2024 6:06:41am","04/23/2024 11:29:31am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/23/2024","04/23/2024 12:01:48pm","04/23/2024 1:57:27pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#438","","100","","04/23/2024","04/23/2024 3:01:09pm","04/23/2024 9:00:08pm","20","0.00","Guerrero","Valeria","7098660" +"146901#364","","100","","04/23/2024","04/23/2024 9:04:12am","04/23/2024 1:25:43pm","20","0.00","Le","Kasey","7098660" +"146901#364","","100","","04/23/2024","04/23/2024 1:56:04pm","04/23/2024 4:00:21pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/23/2024","04/23/2024 10:30:00am","04/23/2024 3:33:00pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","04/23/2024","04/23/2024 4:00:00pm","04/23/2024 6:00:00pm","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","04/23/2024","04/23/2024 8:29:18am","04/23/2024 2:07:43pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","04/23/2024","04/23/2024 7:30:58am","04/23/2024 1:34:02pm","20","0.00","Sunga","Shaina","7098660" +"146901#198","","100","","04/24/2024","04/24/2024 6:15:51am","04/24/2024 11:33:37am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#193","","200","","04/24/2024","04/24/2024 6:08:07am","04/24/2024 11:40:12am","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/24/2024","04/24/2024 12:13:37pm","04/24/2024 2:06:35pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/24/2024","04/24/2024 1:23:24pm","04/24/2024 5:20:07pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/24/2024","04/24/2024 5:54:58pm","04/24/2024 9:00:22pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","04/24/2024","04/24/2024 10:54:04am","04/24/2024 2:10:31pm","20","0.00","Codamos","Joseph","7098660" +"146901#335","","100","","04/24/2024","04/24/2024 2:40:05pm","04/24/2024 6:04:14pm","20","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","04/24/2024","04/24/2024 3:00:07pm","04/24/2024 9:00:06pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","200","","04/24/2024","04/24/2024 6:00:00am","04/24/2024 10:00:00am","25","0.00","Hoang","Kelly","7098660" +"146901#96","","100","","04/24/2024","04/24/2024 1:30:01pm","04/24/2024 7:00:09pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","04/24/2024","04/24/2024 6:00:55am","04/24/2024 12:33:22pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/24/2024","04/24/2024 8:35:30am","04/24/2024 2:34:53pm","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","04/24/2024","04/24/2024 9:11:16am","04/24/2024 1:34:05pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","04/24/2024","04/24/2024 2:06:19pm","04/24/2024 4:02:17pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","04/24/2024","04/24/2024 7:31:49am","04/24/2024 1:31:39pm","20","0.00","Sunga","Shaina","7098660" +"146901#185","","200","","04/25/2024","04/25/2024 6:06:16am","04/25/2024 10:47:54am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/25/2024","04/25/2024 11:17:49am","04/25/2024 1:49:56pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#201","","100","","04/25/2024","04/25/2024 6:15:08am","04/25/2024 11:41:02am","20","0.00","conriquez","sergio","7098660" +"146901#368","","100","","04/25/2024","04/25/2024 8:29:55am","04/25/2024 2:35:23pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#364","","100","","04/25/2024","04/25/2024 6:31:33am","04/25/2024 12:27:42pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/25/2024","04/25/2024 10:31:09am","04/25/2024 2:14:36pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","04/25/2024","04/25/2024 2:39:07pm","04/25/2024 5:35:00pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","04/25/2024","04/25/2024 11:58:09am","04/25/2024 3:37:50pm","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","04/25/2024","04/25/2024 4:02:14pm","04/25/2024 8:52:31pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/25/2024","04/25/2024 1:30:41pm","04/25/2024 7:29:02pm","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","04/25/2024","04/25/2024 9:02:58am","04/25/2024 1:00:59pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","04/25/2024","04/25/2024 1:32:40pm","04/25/2024 3:33:44pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","04/25/2024","04/25/2024 7:30:58am","04/25/2024 1:41:05pm","20","0.00","Sunga","Shaina","7098660" +"146901#204","","100","","04/25/2024","04/25/2024 3:06:38pm","04/25/2024 8:52:10pm","20","0.00","Terzian","Anna","7098660" +"146901#193","","200","","04/26/2024","04/26/2024 6:12:04am","04/26/2024 11:12:19am","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/26/2024","04/26/2024 11:43:47am","04/26/2024 2:39:38pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","100","","04/26/2024","04/26/2024 9:19:00am","04/26/2024 2:35:00pm","20","0.00","Chavez","Gilbert","7098660" +"146901#335","","200","","04/26/2024","04/26/2024 1:02:58pm","04/26/2024 4:31:14pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/26/2024","04/26/2024 5:01:27pm","04/26/2024 9:05:37pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#368","","100","","04/26/2024","04/26/2024 3:29:00pm","04/26/2024 9:05:00pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#127","","100","","04/26/2024","04/26/2024 1:34:49pm","04/26/2024 7:42:58pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","04/26/2024","04/26/2024 8:30:00pm","04/27/2024 12:00:00am","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","04/26/2024","04/26/2024 7:33:42am","04/26/2024 1:29:44pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/26/2024","04/26/2024 6:17:33am","04/26/2024 11:45:32am","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","04/26/2024","04/26/2024 5:48:15am","04/26/2024 10:53:30am","23","0.00","Magana","Reyes","7098660" +"146901#197","","100","","04/26/2024","04/26/2024 9:00:17am","04/26/2024 1:55:16pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","04/26/2024","04/26/2024 2:29:28pm","04/26/2024 3:32:23pm","20","0.00","Park","Jiho","7098660" +"146901#437","","100","","04/26/2024","04/26/2024 10:28:00am","04/26/2024 3:26:00pm","20","0.00","Villador","Frances","7098660" +"146901#437","","100","","04/26/2024","04/26/2024 3:56:00pm","04/26/2024 5:35:00pm","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","04/27/2024","04/27/2024 11:48:01am","04/27/2024 3:04:53pm","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/27/2024","04/27/2024 3:32:49pm","04/27/2024 6:29:47pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","04/27/2024","04/27/2024 7:59:40am","04/27/2024 1:02:32pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/27/2024","04/27/2024 6:38:45am","04/27/2024 11:00:16am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#201","","100","","04/27/2024","04/27/2024 6:55:43am","04/27/2024 11:49:07am","20","0.00","conriquez","sergio","7098660" +"146901#368","","100","","04/27/2024","04/27/2024 1:00:19pm","04/27/2024 6:29:33pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#438","","100","","04/27/2024","04/27/2024 10:00:24am","04/27/2024 3:42:55pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","04/27/2024","04/27/2024 9:17:08am","04/27/2024 1:08:52pm","25","0.00","Hoang","Kelly","7098660" +"146901#158","","200","","04/27/2024","04/27/2024 5:52:17am","04/27/2024 12:50:39pm","23","0.00","Magana","Reyes","7098660" +"146901#204","","100","","04/27/2024","04/27/2024 12:01:01pm","04/27/2024 6:04:34pm","20","0.00","Terzian","Anna","7098660" +"146901#297","","200","","04/28/2024","04/28/2024 6:33:54am","04/28/2024 10:33:15am","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/28/2024","04/28/2024 11:04:00am","04/28/2024 12:51:53pm","21.5","0.00","Baquera","Erick","7098660" +"146901#393","","100","","04/28/2024","04/28/2024 6:48:00am","04/28/2024 10:19:13am","20","0.00","Beleno","Vanessa","7098660" +"146901#435","","100","","04/28/2024","04/28/2024 7:58:51am","04/28/2024 1:07:09pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/28/2024","04/28/2024 6:43:47am","04/28/2024 11:24:14am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#335","","200","","04/28/2024","04/28/2024 11:31:38am","04/28/2024 4:32:04pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/28/2024","04/28/2024 5:02:04pm","04/28/2024 6:38:39pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#368","","100","","04/28/2024","04/28/2024 9:00:38am","04/28/2024 1:34:57pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","04/28/2024","04/28/2024 11:58:08am","04/28/2024 6:02:59pm","20","0.00","Gomez","Lee","7098660" +"146901#206","","100","","04/28/2024","04/28/2024 1:12:18pm","04/28/2024 6:34:55pm","20","0.00","Hoang","Denise","7098660" +"146901#127","","100","","04/28/2024","04/28/2024 10:23:32am","04/28/2024 3:32:59pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","04/28/2024","04/28/2024 3:35:00pm","04/28/2024 5:30:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#193","","100","","04/29/2024","04/29/2024 10:36:00am","04/29/2024 5:48:21pm","20","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/29/2024","04/29/2024 6:12:53am","04/29/2024 10:56:07am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/29/2024","04/29/2024 11:23:58am","04/29/2024 3:01:49pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","04/29/2024","04/29/2024 6:20:28am","04/29/2024 12:44:34pm","20","0.00","Codamos","Joseph","7098660" +"146901#220","","100","","04/29/2024","04/29/2024 8:59:59am","04/29/2024 1:21:46pm","20","0.00","Gomez","Lee","7098660" +"146901#220","","100","","04/29/2024","04/29/2024 1:54:52pm","04/29/2024 4:04:24pm","20","0.00","Gomez","Lee","7098660" +"146901#127","","200","","04/29/2024","04/29/2024 1:50:52pm","04/29/2024 9:09:19pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","04/29/2024","04/29/2024 2:57:27pm","04/29/2024 8:49:33pm","20","0.00","Le","Kasey","7098660" +"146901#158","","100","","04/29/2024","04/29/2024 5:53:00am","04/29/2024 11:30:00am","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","04/29/2024","04/29/2024 11:30:00am","04/29/2024 2:00:00pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/29/2024","04/29/2024 1:32:28pm","04/29/2024 7:40:15pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","04/29/2024","04/29/2024 8:31:11am","04/29/2024 2:32:32pm","20","0.00","Sunga","Shaina","7098660" +"146901#204","","100","","04/29/2024","04/29/2024 7:32:52am","04/29/2024 1:36:32pm","20","0.00","Terzian","Anna","7098660" +"146901#435","","100","","04/30/2024","04/30/2024 6:58:53am","04/30/2024 12:45:40pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/30/2024","04/30/2024 6:12:47am","04/30/2024 11:43:21am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#193","","200","","04/30/2024","04/30/2024 1:00:00pm","04/30/2024 5:00:00pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/30/2024","04/30/2024 5:30:00pm","04/30/2024 9:00:00pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/30/2024","04/30/2024 6:11:00am","04/30/2024 11:08:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/30/2024","04/30/2024 11:38:00am","04/30/2024 3:48:00pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#438","","100","","04/30/2024","04/30/2024 2:59:08pm","04/30/2024 9:04:30pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","04/30/2024","04/30/2024 11:58:49am","04/30/2024 7:18:42pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","04/30/2024","04/30/2024 7:20:00pm","04/30/2024 9:20:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","04/30/2024","04/30/2024 9:05:35am","04/30/2024 1:37:34pm","20","0.00","Le","Kasey","7098660" +"146901#364","","100","","04/30/2024","04/30/2024 2:07:41pm","04/30/2024 4:01:42pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/30/2024","04/30/2024 7:23:13am","04/30/2024 1:28:17pm","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","04/30/2024","04/30/2024 8:29:12am","04/30/2024 2:34:44pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","04/30/2024","04/30/2024 1:29:17pm","04/30/2024 7:35:39pm","20","0.00","Sunga","Shaina","7098660" +"146901#193","","200","","05/01/2024","05/01/2024 1:08:06pm","05/01/2024 5:46:17pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","05/01/2024","05/01/2024 6:16:22pm","05/01/2024 9:03:35pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","05/01/2024","05/01/2024 6:21:00am","05/01/2024 11:09:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/01/2024","05/01/2024 11:47:00am","05/01/2024 2:30:00pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","05/01/2024","05/01/2024 10:37:21am","05/01/2024 5:05:22pm","20","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","05/01/2024","05/01/2024 3:00:22pm","05/01/2024 9:01:49pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","05/01/2024","05/01/2024 7:55:37am","05/01/2024 1:44:04pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/01/2024","05/01/2024 6:01:52am","05/01/2024 11:32:17am","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/01/2024","05/01/2024 1:40:29pm","05/01/2024 7:27:17pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","05/01/2024","05/01/2024 6:00:28am","05/01/2024 12:35:28pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","05/01/2024","05/01/2024 8:36:06am","05/01/2024 2:33:46pm","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","05/01/2024","05/01/2024 9:39:41am","05/01/2024 1:04:20pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/01/2024","05/01/2024 1:35:00pm","05/01/2024 4:00:04pm","20","0.00","Park","Jiho","7098660" +"146901#297","","200","","05/02/2024","05/02/2024 5:58:11am","05/02/2024 10:55:42am","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","05/02/2024","05/02/2024 11:24:22am","05/02/2024 12:45:31pm","21.5","0.00","Baquera","Erick","7098660" +"146901#430","","100","","05/02/2024","05/02/2024 1:31:42pm","05/02/2024 7:25:17pm","20","0.00","Caraos","Kristian","7098660" +"146901#368","","100","","05/02/2024","05/02/2024 2:58:27pm","05/02/2024 8:53:36pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","05/02/2024","05/02/2024 5:58:24am","05/02/2024 11:35:54am","20","0.00","Gomez","Lee","7098660" +"146901#364","","100","","05/02/2024","05/02/2024 6:20:08am","05/02/2024 12:38:29pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/02/2024","05/02/2024 10:30:10am","05/02/2024 3:09:56pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","05/02/2024","05/02/2024 3:39:06pm","05/02/2024 5:28:55pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","05/02/2024","05/02/2024 12:00:23pm","05/02/2024 4:13:45pm","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","05/02/2024","05/02/2024 4:41:15pm","05/02/2024 9:08:46pm","23","0.00","Magana","Reyes","7098660" +"146901#197","","100","","05/02/2024","05/02/2024 9:06:02am","05/02/2024 1:40:04pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/02/2024","05/02/2024 2:11:09pm","05/02/2024 3:52:54pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","05/02/2024","05/02/2024 7:31:12am","05/02/2024 1:37:02pm","20","0.00","Sunga","Shaina","7098660" +"146901#137","","100","","05/02/2024","05/02/2024 8:32:06am","05/02/2024 2:34:13pm","20","0.00","Yang","Zhen","7098660" +"146901#430","","100","","05/03/2024","05/03/2024 1:29:51pm","05/03/2024 7:41:34pm","20","0.00","Caraos","Kristian","7098660" +"146901#193","","200","","05/03/2024","05/03/2024 6:10:27am","05/03/2024 1:48:36pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#335","","200","","05/03/2024","05/03/2024 12:59:46pm","05/03/2024 4:31:32pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","05/03/2024","05/03/2024 5:01:57pm","05/03/2024 8:52:21pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#127","","100","","05/03/2024","05/03/2024 8:47:32am","05/03/2024 2:19:28pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","05/03/2024","05/03/2024 2:19:00pm","05/03/2024 2:58:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/03/2024","05/03/2024 7:33:22am","05/03/2024 1:35:05pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/03/2024","05/03/2024 6:23:45am","05/03/2024 11:20:50am","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","05/03/2024","05/03/2024 5:30:27am","05/03/2024 10:58:42am","23","0.00","Magana","Reyes","7098660" +"146901#202","","100","","05/03/2024","05/03/2024 3:36:14pm","05/03/2024 8:52:46pm","20","0.00","Mercado","Kylene","7098660" +"146901#197","","100","","05/03/2024","05/03/2024 9:00:48am","05/03/2024 1:38:38pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/03/2024","05/03/2024 2:10:15pm","05/03/2024 3:39:06pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","05/03/2024","05/03/2024 10:31:11am","05/03/2024 3:03:16pm","20","0.00","Sunga","Shaina","7098660" +"146901#365","","100","","05/03/2024","05/03/2024 3:34:02pm","05/03/2024 5:33:03pm","20","0.00","Sunga","Shaina","7098660" +"146901#297","","200","","05/04/2024","05/04/2024 6:36:38am","05/04/2024 10:29:38am","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","05/04/2024","05/04/2024 11:01:42am","05/04/2024 1:50:28pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","05/04/2024","05/04/2024 7:59:19am","05/04/2024 1:05:12pm","20","0.00","Beltran","Aneliz","7098660" +"146901#185","","100","","05/04/2024","05/04/2024 10:36:20am","05/04/2024 11:29:48am","20","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","05/04/2024","05/04/2024 6:50:22am","05/04/2024 11:13:03am","20","0.00","Codamos","Joseph","7098660" +"146901#201","","100","","05/04/2024","05/04/2024 6:36:30am","05/04/2024 10:45:59am","20","0.00","conriquez","sergio","7098660" +"146901#220","","100","","05/04/2024","05/04/2024 12:58:54pm","05/04/2024 6:29:41pm","20","0.00","Gomez","Lee","7098660" +"146901#438","","100","","05/04/2024","05/04/2024 10:00:37am","05/04/2024 3:31:42pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","200","","05/04/2024","05/04/2024 11:59:00am","05/04/2024 7:00:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","05/04/2024","05/04/2024 7:00:00pm","05/04/2024 8:30:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#437","","100","","05/04/2024","05/04/2024 11:59:46am","05/04/2024 6:04:17pm","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","05/05/2024","05/05/2024 6:33:00am","05/05/2024 12:00:00pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","05/05/2024","05/05/2024 7:58:47am","05/05/2024 1:58:14pm","20","0.00","Beltran","Aneliz","7098660" +"146901#335","","200","","05/05/2024","05/05/2024 11:30:00am","05/05/2024 3:00:00pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","05/05/2024","05/05/2024 3:30:00pm","05/05/2024 6:30:00pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#201","","100","","05/05/2024","05/05/2024 12:09:12pm","05/05/2024 6:01:26pm","20","0.00","conriquez","sergio","7098660" +"146901#220","","100","","05/05/2024","05/05/2024 6:33:46am","05/05/2024 9:04:50am","20","0.00","Gomez","Lee","7098660" +"146901#127","","100","","05/05/2024","05/05/2024 10:46:03am","05/05/2024 2:29:37pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","100","","05/05/2024","05/05/2024 3:00:55pm","05/05/2024 6:31:50pm","25","0.00","Hoang","Kelly","7098660" +"146901#96","","100","","05/05/2024","05/05/2024 6:47:09am","05/05/2024 11:34:16am","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","05/05/2024","05/05/2024 9:00:21am","05/05/2024 3:01:54pm","20","0.00","Mata","Casey","7098660" +"146901#185","","200","","05/06/2024","05/06/2024 6:29:00am","05/06/2024 11:27:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/06/2024","05/06/2024 11:57:00am","05/06/2024 2:30:00pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","200","","05/06/2024","05/06/2024 12:25:30pm","05/06/2024 5:37:15pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","05/06/2024","05/06/2024 6:07:07pm","05/06/2024 8:51:22pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#220","","100","","05/06/2024","05/06/2024 9:01:59am","05/06/2024 1:42:58pm","20","0.00","Gomez","Lee","7098660" +"146901#220","","100","","05/06/2024","05/06/2024 2:12:04pm","05/06/2024 4:05:44pm","20","0.00","Gomez","Lee","7098660" +"146901#127","","100","","05/06/2024","05/06/2024 6:31:47am","05/06/2024 12:30:35pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/06/2024","05/06/2024 2:58:34pm","05/06/2024 8:45:20pm","20","0.00","Le","Kasey","7098660" +"146901#158","","200","","05/06/2024","05/06/2024 5:00:00am","05/06/2024 6:00:00am","23","0.00","Magana","Reyes","7098660" +"146901#158","","100","","05/06/2024","05/06/2024 6:00:00am","05/06/2024 1:00:00pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","05/06/2024","05/06/2024 1:32:13pm","05/06/2024 7:29:21pm","20","0.00","Mata","Casey","7098660" +"146901#204","","100","","05/06/2024","05/06/2024 8:12:47am","05/06/2024 1:41:45pm","20","0.00","Terzian","Anna","7098660" +"146901#437","","100","","05/06/2024","05/06/2024 8:30:01am","05/06/2024 2:32:33pm","20","0.00","Villador","Frances","7098660" +"146901#297","","100","","05/07/2024","05/07/2024 5:59:23am","05/07/2024 9:28:39am","20","0.00","Baquera","Erick","7098660" +"146901#430","","100","","05/07/2024","05/07/2024 1:32:28pm","05/07/2024 7:35:45pm","20","0.00","Caraos","Kristian","7098660" +"146901#193","","200","","05/07/2024","05/07/2024 1:18:51pm","05/07/2024 5:19:36pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","05/07/2024","05/07/2024 5:49:47pm","05/07/2024 9:04:35pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","05/07/2024","05/07/2024 6:10:14am","05/07/2024 11:03:39am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/07/2024","05/07/2024 11:31:11am","05/08/2024 4:00:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#438","","100","","05/07/2024","05/07/2024 3:00:22pm","05/07/2024 9:00:18pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","05/07/2024","05/07/2024 6:30:43am","05/07/2024 12:49:10pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/07/2024","05/07/2024 9:24:25am","05/07/2024 1:35:23pm","20","0.00","Le","Kasey","7098660" +"146901#364","","100","","05/07/2024","05/07/2024 2:06:21pm","05/07/2024 3:57:19pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/07/2024","05/07/2024 10:30:27am","05/07/2024 2:31:35pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","05/07/2024","05/07/2024 3:03:01pm","05/07/2024 6:01:32pm","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","05/07/2024","05/07/2024 8:33:33am","05/07/2024 2:30:38pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","05/07/2024","05/07/2024 7:31:40am","05/07/2024 1:32:17pm","20","0.00","Sunga","Shaina","7098660" +"146901#297","","100","","05/08/2024","05/08/2024 6:01:25am","05/08/2024 11:40:07am","20","0.00","Baquera","Erick","7098660" +"146901#193","","200","","05/08/2024","05/08/2024 1:20:48pm","05/08/2024 5:08:29pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","05/08/2024","05/08/2024 5:39:25pm","05/08/2024 8:57:45pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","05/08/2024","05/08/2024 6:30:05am","05/08/2024 11:03:56am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/08/2024","05/08/2024 11:33:15am","05/08/2024 2:30:14pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","05/08/2024","05/08/2024 10:51:32am","05/08/2024 2:56:58pm","20","0.00","Codamos","Joseph","7098660" +"146901#335","","100","","05/08/2024","05/08/2024 3:27:16pm","05/08/2024 5:51:27pm","20","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","05/08/2024","05/08/2024 3:00:03pm","05/08/2024 8:58:00pm","20","0.00","Guerrero","Valeria","7098660" +"146901#96","","100","","05/08/2024","05/08/2024 1:30:12pm","05/08/2024 7:25:13pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","05/08/2024","05/08/2024 5:48:44am","05/08/2024 12:54:55pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","05/08/2024","05/08/2024 8:30:23am","05/09/2024 4:00:00am","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","05/08/2024","05/08/2024 9:04:11am","05/08/2024 1:56:14pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/08/2024","05/08/2024 2:28:57pm","05/08/2024 4:00:07pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","05/08/2024","05/08/2024 7:30:10am","05/08/2024 1:33:11pm","20","0.00","Sunga","Shaina","7098660" diff --git a/dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240509.csv b/dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240509.csv new file mode 100644 index 00000000..8e96f367 --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/Philz Coffee_20240509.csv @@ -0,0 +1,273 @@ +"146901#435","","100","","04/19/2024","04/19/2024 3:28:20pm","04/19/2024 8:49:15pm","20","0.00","Beltran","Aneliz","7098660" +"146901#193","","200","","04/19/2024","04/19/2024 6:15:07am","04/19/2024 11:24:05am","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/19/2024","04/19/2024 11:55:34am","04/19/2024 1:35:06pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#335","","200","","04/19/2024","04/19/2024 1:01:11pm","04/19/2024 5:30:09pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/19/2024","04/19/2024 6:00:29pm","04/19/2024 8:49:08pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","04/19/2024","04/19/2024 1:29:16pm","04/19/2024 7:30:06pm","20","0.00","Guerrero","Valeria","7098660" +"146901#364","","100","","04/19/2024","04/19/2024 8:30:40am","04/19/2024 2:21:47pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/19/2024","04/19/2024 6:16:08am","04/19/2024 11:48:06am","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","04/19/2024","04/19/2024 5:48:00am","04/19/2024 11:15:00am","23","0.00","Magana","Reyes","7098660" +"146901#202","","100","","04/19/2024","04/19/2024 10:40:54am","04/19/2024 5:03:53pm","20","0.00","Mercado","Kylene","7098660" +"146901#365","","100","","04/19/2024","04/19/2024 9:01:01am","04/19/2024 1:38:13pm","20","0.00","Sunga","Shaina","7098660" +"146901#365","","100","","04/19/2024","04/19/2024 2:08:38pm","04/19/2024 3:54:09pm","20","0.00","Sunga","Shaina","7098660" +"146901#204","","100","","04/19/2024","04/19/2024 7:30:14am","04/19/2024 1:28:07pm","20","0.00","Terzian","Anna","7098660" +"146901#297","","200","","04/20/2024","04/20/2024 11:30:00am","04/20/2024 2:52:00pm","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/20/2024","04/20/2024 3:22:00pm","04/20/2024 6:30:00pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","04/20/2024","04/20/2024 7:58:23am","04/20/2024 1:04:30pm","20","0.00","Beltran","Aneliz","7098660" +"146901#201","","100","","04/20/2024","04/20/2024 10:04:56am","04/20/2024 3:32:14pm","20","0.00","conriquez","sergio","7098660" +"146901#368","","100","","04/20/2024","04/20/2024 1:00:40pm","04/20/2024 6:29:54pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","04/20/2024","04/20/2024 9:02:19am","04/20/2024 2:05:09pm","20","0.00","Gomez","Lee","7098660" +"146901#438","","100","","04/20/2024","04/20/2024 6:45:06am","04/20/2024 11:45:05am","20","0.00","Guerrero","Valeria","7098660" +"146901#158","","200","","04/20/2024","04/20/2024 5:56:57am","04/20/2024 12:53:53pm","23","0.00","Magana","Reyes","7098660" +"146901#204","","100","","04/20/2024","04/20/2024 11:59:55am","04/20/2024 6:08:47pm","20","0.00","Terzian","Anna","7098660" +"146901#437","","100","","04/20/2024","04/20/2024 6:29:26am","04/20/2024 11:04:49am","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","04/21/2024","04/21/2024 6:36:09am","04/21/2024 12:37:36pm","21.5","0.00","Baquera","Erick","7098660" +"146901#393","","100","","04/21/2024","04/21/2024 6:46:17am","04/21/2024 11:50:17am","20","0.00","Beleno","Vanessa","7098660" +"146901#435","","100","","04/21/2024","04/21/2024 12:58:36pm","04/21/2024 6:44:14pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/21/2024","04/21/2024 6:44:10am","04/21/2024 10:03:19am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#335","","200","","04/21/2024","04/21/2024 12:30:55pm","04/21/2024 6:58:04pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#201","","100","","04/21/2024","04/21/2024 12:06:46pm","04/21/2024 5:54:14pm","20","0.00","conriquez","sergio","7098660" +"146901#220","","100","","04/21/2024","04/21/2024 9:59:44am","04/21/2024 3:30:13pm","20","0.00","Gomez","Lee","7098660" +"146901#353","","100","","04/21/2024","04/21/2024 8:57:08am","04/21/2024 1:59:44pm","20","0.00","Mata","Casey","7098660" +"146901#331","","100","","04/21/2024","04/21/2024 8:02:19am","04/21/2024 1:02:53pm","20","0.00","Moran","Ramiro","7098660" +"146901#393","","100","","04/22/2024","04/22/2024 6:17:37am","04/22/2024 12:34:44pm","20","0.00","Beleno","Vanessa","7098660" +"146901#193","","100","","04/22/2024","04/22/2024 10:34:57am","04/22/2024 3:07:14pm","20","0.00","Chavez","Adrian","7098660" +"146901#193","","100","","04/22/2024","04/22/2024 3:40:08pm","04/22/2024 5:21:02pm","20","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/22/2024","04/22/2024 6:28:23am","04/22/2024 10:37:20am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/22/2024","04/22/2024 11:07:40am","04/22/2024 2:50:13pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","200","","04/22/2024","04/22/2024 12:43:24pm","04/22/2024 4:30:33pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/22/2024","04/22/2024 5:00:12pm","04/22/2024 8:43:37pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#220","","100","","04/22/2024","04/22/2024 8:58:26am","04/22/2024 1:56:57pm","20","0.00","Gomez","Lee","7098660" +"146901#220","","100","","04/22/2024","04/22/2024 2:27:19pm","04/22/2024 3:53:59pm","20","0.00","Gomez","Lee","7098660" +"146901#364","","100","","04/22/2024","04/22/2024 2:58:20pm","04/22/2024 8:42:45pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/22/2024","04/22/2024 5:55:17am","04/22/2024 11:30:07am","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","04/22/2024","04/22/2024 5:51:29am","04/22/2024 11:40:15am","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/22/2024","04/22/2024 1:30:09pm","04/22/2024 6:48:41pm","20","0.00","Mata","Casey","7098660" +"146901#204","","100","","04/22/2024","04/22/2024 7:32:46am","04/22/2024 1:32:23pm","20","0.00","Terzian","Anna","7098660" +"146901#437","","100","","04/22/2024","04/22/2024 8:30:22am","04/22/2024 2:35:24pm","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","04/23/2024","04/23/2024 1:03:31pm","04/23/2024 5:28:07pm","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/23/2024","04/23/2024 5:59:09pm","04/23/2024 9:04:45pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","04/23/2024","04/23/2024 1:28:59pm","04/23/2024 7:32:43pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/23/2024","04/23/2024 6:13:21am","04/23/2024 11:01:16am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#193","","100","","04/23/2024","04/23/2024 6:25:54am","04/23/2024 12:12:10pm","20","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/23/2024","04/23/2024 6:06:41am","04/23/2024 11:29:31am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/23/2024","04/23/2024 12:01:48pm","04/23/2024 1:57:27pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#438","","100","","04/23/2024","04/23/2024 3:01:09pm","04/23/2024 9:00:08pm","20","0.00","Guerrero","Valeria","7098660" +"146901#364","","100","","04/23/2024","04/23/2024 9:04:12am","04/23/2024 1:25:43pm","20","0.00","Le","Kasey","7098660" +"146901#364","","100","","04/23/2024","04/23/2024 1:56:04pm","04/23/2024 4:00:21pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/23/2024","04/23/2024 10:30:00am","04/23/2024 3:33:00pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","04/23/2024","04/23/2024 4:00:00pm","04/23/2024 6:00:00pm","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","04/23/2024","04/23/2024 8:29:18am","04/23/2024 2:07:43pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","04/23/2024","04/23/2024 7:30:58am","04/23/2024 1:34:02pm","20","0.00","Sunga","Shaina","7098660" +"146901#198","","100","","04/24/2024","04/24/2024 6:15:51am","04/24/2024 11:33:37am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#193","","200","","04/24/2024","04/24/2024 6:08:07am","04/24/2024 11:40:12am","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/24/2024","04/24/2024 12:13:37pm","04/24/2024 2:06:35pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/24/2024","04/24/2024 1:23:24pm","04/24/2024 5:20:07pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/24/2024","04/24/2024 5:54:58pm","04/24/2024 9:00:22pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","04/24/2024","04/24/2024 10:54:04am","04/24/2024 2:10:31pm","20","0.00","Codamos","Joseph","7098660" +"146901#335","","100","","04/24/2024","04/24/2024 2:40:05pm","04/24/2024 6:04:14pm","20","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","04/24/2024","04/24/2024 3:00:07pm","04/24/2024 9:00:06pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","200","","04/24/2024","04/24/2024 6:00:00am","04/24/2024 10:00:00am","25","0.00","Hoang","Kelly","7098660" +"146901#96","","100","","04/24/2024","04/24/2024 1:30:01pm","04/24/2024 7:00:09pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","04/24/2024","04/24/2024 6:00:55am","04/24/2024 12:33:22pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/24/2024","04/24/2024 8:35:30am","04/24/2024 2:34:53pm","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","04/24/2024","04/24/2024 9:11:16am","04/24/2024 1:34:05pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","04/24/2024","04/24/2024 2:06:19pm","04/24/2024 4:02:17pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","04/24/2024","04/24/2024 7:31:49am","04/24/2024 1:31:39pm","20","0.00","Sunga","Shaina","7098660" +"146901#185","","200","","04/25/2024","04/25/2024 6:06:16am","04/25/2024 10:47:54am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/25/2024","04/25/2024 11:17:49am","04/25/2024 1:49:56pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#201","","100","","04/25/2024","04/25/2024 6:15:08am","04/25/2024 11:41:02am","20","0.00","conriquez","sergio","7098660" +"146901#368","","100","","04/25/2024","04/25/2024 8:29:55am","04/25/2024 2:35:23pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#364","","100","","04/25/2024","04/25/2024 6:31:33am","04/25/2024 12:27:42pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/25/2024","04/25/2024 10:31:09am","04/25/2024 2:14:36pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","04/25/2024","04/25/2024 2:39:07pm","04/25/2024 5:35:00pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","04/25/2024","04/25/2024 11:58:09am","04/25/2024 3:37:50pm","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","04/25/2024","04/25/2024 4:02:14pm","04/25/2024 8:52:31pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/25/2024","04/25/2024 1:30:41pm","04/25/2024 7:29:02pm","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","04/25/2024","04/25/2024 9:02:58am","04/25/2024 1:00:59pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","04/25/2024","04/25/2024 1:32:40pm","04/25/2024 3:33:44pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","04/25/2024","04/25/2024 7:30:58am","04/25/2024 1:41:05pm","20","0.00","Sunga","Shaina","7098660" +"146901#204","","100","","04/25/2024","04/25/2024 3:06:38pm","04/25/2024 8:52:10pm","20","0.00","Terzian","Anna","7098660" +"146901#193","","200","","04/26/2024","04/26/2024 6:12:04am","04/26/2024 11:12:19am","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/26/2024","04/26/2024 11:43:47am","04/26/2024 2:39:38pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","100","","04/26/2024","04/26/2024 9:19:00am","04/26/2024 2:35:00pm","20","0.00","Chavez","Gilbert","7098660" +"146901#335","","200","","04/26/2024","04/26/2024 1:02:58pm","04/26/2024 4:31:14pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/26/2024","04/26/2024 5:01:27pm","04/26/2024 9:05:37pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#368","","100","","04/26/2024","04/26/2024 3:29:00pm","04/26/2024 9:05:00pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#127","","100","","04/26/2024","04/26/2024 1:34:49pm","04/26/2024 7:42:58pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","04/26/2024","04/26/2024 8:30:00pm","04/27/2024 12:00:00am","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","04/26/2024","04/26/2024 7:33:42am","04/26/2024 1:29:44pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/26/2024","04/26/2024 6:17:33am","04/26/2024 11:45:32am","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","04/26/2024","04/26/2024 5:48:15am","04/26/2024 10:53:30am","23","0.00","Magana","Reyes","7098660" +"146901#197","","100","","04/26/2024","04/26/2024 9:00:17am","04/26/2024 1:55:16pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","04/26/2024","04/26/2024 2:29:28pm","04/26/2024 3:32:23pm","20","0.00","Park","Jiho","7098660" +"146901#437","","100","","04/26/2024","04/26/2024 10:28:00am","04/26/2024 3:26:00pm","20","0.00","Villador","Frances","7098660" +"146901#437","","100","","04/26/2024","04/26/2024 3:56:00pm","04/26/2024 5:35:00pm","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","04/27/2024","04/27/2024 11:48:01am","04/27/2024 3:04:53pm","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/27/2024","04/27/2024 3:32:49pm","04/27/2024 6:29:47pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","04/27/2024","04/27/2024 7:59:40am","04/27/2024 1:02:32pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/27/2024","04/27/2024 6:38:45am","04/27/2024 11:00:16am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#201","","100","","04/27/2024","04/27/2024 6:55:43am","04/27/2024 11:49:07am","20","0.00","conriquez","sergio","7098660" +"146901#368","","100","","04/27/2024","04/27/2024 1:00:19pm","04/27/2024 6:29:33pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#438","","100","","04/27/2024","04/27/2024 10:00:24am","04/27/2024 3:42:55pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","04/27/2024","04/27/2024 9:17:08am","04/27/2024 1:08:52pm","25","0.00","Hoang","Kelly","7098660" +"146901#158","","200","","04/27/2024","04/27/2024 5:52:17am","04/27/2024 12:50:39pm","23","0.00","Magana","Reyes","7098660" +"146901#204","","100","","04/27/2024","04/27/2024 12:01:01pm","04/27/2024 6:04:34pm","20","0.00","Terzian","Anna","7098660" +"146901#297","","200","","04/28/2024","04/28/2024 6:33:54am","04/28/2024 10:33:15am","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","04/28/2024","04/28/2024 11:04:00am","04/28/2024 12:51:53pm","21.5","0.00","Baquera","Erick","7098660" +"146901#393","","100","","04/28/2024","04/28/2024 6:48:00am","04/28/2024 10:19:13am","20","0.00","Beleno","Vanessa","7098660" +"146901#435","","100","","04/28/2024","04/28/2024 7:58:51am","04/28/2024 1:07:09pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/28/2024","04/28/2024 6:43:47am","04/28/2024 11:24:14am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#335","","200","","04/28/2024","04/28/2024 11:31:38am","04/28/2024 4:32:04pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","04/28/2024","04/28/2024 5:02:04pm","04/28/2024 6:38:39pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#368","","100","","04/28/2024","04/28/2024 9:00:38am","04/28/2024 1:34:57pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","04/28/2024","04/28/2024 11:58:08am","04/28/2024 6:02:59pm","20","0.00","Gomez","Lee","7098660" +"146901#206","","100","","04/28/2024","04/28/2024 1:12:18pm","04/28/2024 6:34:55pm","20","0.00","Hoang","Denise","7098660" +"146901#127","","100","","04/28/2024","04/28/2024 10:23:32am","04/28/2024 3:32:59pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","04/28/2024","04/28/2024 3:35:00pm","04/28/2024 5:30:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#193","","100","","04/29/2024","04/29/2024 10:36:00am","04/29/2024 5:48:21pm","20","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/29/2024","04/29/2024 6:12:53am","04/29/2024 10:56:07am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/29/2024","04/29/2024 11:23:58am","04/29/2024 3:01:49pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","04/29/2024","04/29/2024 6:20:28am","04/29/2024 12:44:34pm","20","0.00","Codamos","Joseph","7098660" +"146901#220","","100","","04/29/2024","04/29/2024 8:59:59am","04/29/2024 1:21:46pm","20","0.00","Gomez","Lee","7098660" +"146901#220","","100","","04/29/2024","04/29/2024 1:54:52pm","04/29/2024 4:04:24pm","20","0.00","Gomez","Lee","7098660" +"146901#127","","200","","04/29/2024","04/29/2024 1:50:52pm","04/29/2024 9:09:19pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","04/29/2024","04/29/2024 2:57:27pm","04/29/2024 8:49:33pm","20","0.00","Le","Kasey","7098660" +"146901#158","","100","","04/29/2024","04/29/2024 5:53:00am","04/29/2024 11:30:00am","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","04/29/2024","04/29/2024 11:30:00am","04/29/2024 2:00:00pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","04/29/2024","04/29/2024 1:32:28pm","04/29/2024 7:40:15pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","04/29/2024","04/29/2024 8:31:11am","04/29/2024 2:32:32pm","20","0.00","Sunga","Shaina","7098660" +"146901#204","","100","","04/29/2024","04/29/2024 7:32:52am","04/29/2024 1:36:32pm","20","0.00","Terzian","Anna","7098660" +"146901#435","","100","","04/30/2024","04/30/2024 6:58:53am","04/30/2024 12:45:40pm","20","0.00","Beltran","Aneliz","7098660" +"146901#198","","100","","04/30/2024","04/30/2024 6:12:47am","04/30/2024 11:43:21am","20","0.00","Capetillo","Elizabeth","7098660" +"146901#193","","200","","04/30/2024","04/30/2024 1:00:00pm","04/30/2024 5:00:00pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","04/30/2024","04/30/2024 5:30:00pm","04/30/2024 9:00:00pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","04/30/2024","04/30/2024 6:11:00am","04/30/2024 11:08:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","04/30/2024","04/30/2024 11:38:00am","04/30/2024 3:48:00pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#438","","100","","04/30/2024","04/30/2024 2:59:08pm","04/30/2024 9:04:30pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","04/30/2024","04/30/2024 11:58:49am","04/30/2024 7:18:42pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","04/30/2024","04/30/2024 7:20:00pm","04/30/2024 9:20:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","04/30/2024","04/30/2024 9:05:35am","04/30/2024 1:37:34pm","20","0.00","Le","Kasey","7098660" +"146901#364","","100","","04/30/2024","04/30/2024 2:07:41pm","04/30/2024 4:01:42pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","04/30/2024","04/30/2024 7:23:13am","04/30/2024 1:28:17pm","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","04/30/2024","04/30/2024 8:29:12am","04/30/2024 2:34:44pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","04/30/2024","04/30/2024 1:29:17pm","04/30/2024 7:35:39pm","20","0.00","Sunga","Shaina","7098660" +"146901#193","","200","","05/01/2024","05/01/2024 1:08:06pm","05/01/2024 5:46:17pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","05/01/2024","05/01/2024 6:16:22pm","05/01/2024 9:03:35pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","05/01/2024","05/01/2024 6:21:00am","05/01/2024 11:09:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/01/2024","05/01/2024 11:47:00am","05/01/2024 2:30:00pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","05/01/2024","05/01/2024 10:37:21am","05/01/2024 5:05:22pm","20","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","05/01/2024","05/01/2024 3:00:22pm","05/01/2024 9:01:49pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","05/01/2024","05/01/2024 7:55:37am","05/01/2024 1:44:04pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/01/2024","05/01/2024 6:01:52am","05/01/2024 11:32:17am","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/01/2024","05/01/2024 1:40:29pm","05/01/2024 7:27:17pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","05/01/2024","05/01/2024 6:00:28am","05/01/2024 12:35:28pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","05/01/2024","05/01/2024 8:36:06am","05/01/2024 2:33:46pm","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","05/01/2024","05/01/2024 9:39:41am","05/01/2024 1:04:20pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/01/2024","05/01/2024 1:35:00pm","05/01/2024 4:00:04pm","20","0.00","Park","Jiho","7098660" +"146901#297","","200","","05/02/2024","05/02/2024 5:58:11am","05/02/2024 10:55:42am","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","05/02/2024","05/02/2024 11:24:22am","05/02/2024 12:45:31pm","21.5","0.00","Baquera","Erick","7098660" +"146901#430","","100","","05/02/2024","05/02/2024 1:31:42pm","05/02/2024 7:25:17pm","20","0.00","Caraos","Kristian","7098660" +"146901#368","","100","","05/02/2024","05/02/2024 2:58:27pm","05/02/2024 8:53:36pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","05/02/2024","05/02/2024 5:58:24am","05/02/2024 11:35:54am","20","0.00","Gomez","Lee","7098660" +"146901#364","","100","","05/02/2024","05/02/2024 6:20:08am","05/02/2024 12:38:29pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/02/2024","05/02/2024 10:30:10am","05/02/2024 3:09:56pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","05/02/2024","05/02/2024 3:39:06pm","05/02/2024 5:28:55pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","05/02/2024","05/02/2024 12:00:23pm","05/02/2024 4:13:45pm","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","05/02/2024","05/02/2024 4:41:15pm","05/02/2024 9:08:46pm","23","0.00","Magana","Reyes","7098660" +"146901#197","","100","","05/02/2024","05/02/2024 9:06:02am","05/02/2024 1:40:04pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/02/2024","05/02/2024 2:11:09pm","05/02/2024 3:52:54pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","05/02/2024","05/02/2024 7:31:12am","05/02/2024 1:37:02pm","20","0.00","Sunga","Shaina","7098660" +"146901#137","","100","","05/02/2024","05/02/2024 8:32:06am","05/02/2024 2:34:13pm","20","0.00","Yang","Zhen","7098660" +"146901#430","","100","","05/03/2024","05/03/2024 1:29:51pm","05/03/2024 7:41:34pm","20","0.00","Caraos","Kristian","7098660" +"146901#193","","200","","05/03/2024","05/03/2024 6:10:27am","05/03/2024 1:48:36pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#335","","200","","05/03/2024","05/03/2024 12:59:46pm","05/03/2024 4:31:32pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","05/03/2024","05/03/2024 5:01:57pm","05/03/2024 8:52:21pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#127","","100","","05/03/2024","05/03/2024 8:47:32am","05/03/2024 2:19:28pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","05/03/2024","05/03/2024 2:19:00pm","05/03/2024 2:58:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/03/2024","05/03/2024 7:33:22am","05/03/2024 1:35:05pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/03/2024","05/03/2024 6:23:45am","05/03/2024 11:20:50am","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","05/03/2024","05/03/2024 5:30:27am","05/03/2024 10:58:42am","23","0.00","Magana","Reyes","7098660" +"146901#202","","100","","05/03/2024","05/03/2024 3:36:14pm","05/03/2024 8:52:46pm","20","0.00","Mercado","Kylene","7098660" +"146901#197","","100","","05/03/2024","05/03/2024 9:00:48am","05/03/2024 1:38:38pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/03/2024","05/03/2024 2:10:15pm","05/03/2024 3:39:06pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","05/03/2024","05/03/2024 10:31:11am","05/03/2024 3:03:16pm","20","0.00","Sunga","Shaina","7098660" +"146901#365","","100","","05/03/2024","05/03/2024 3:34:02pm","05/03/2024 5:33:03pm","20","0.00","Sunga","Shaina","7098660" +"146901#297","","200","","05/04/2024","05/04/2024 6:36:38am","05/04/2024 10:29:38am","21.5","0.00","Baquera","Erick","7098660" +"146901#297","","200","","05/04/2024","05/04/2024 11:01:42am","05/04/2024 1:50:28pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","05/04/2024","05/04/2024 7:59:19am","05/04/2024 1:05:12pm","20","0.00","Beltran","Aneliz","7098660" +"146901#185","","100","","05/04/2024","05/04/2024 10:36:20am","05/04/2024 11:29:48am","20","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","05/04/2024","05/04/2024 6:50:22am","05/04/2024 11:13:03am","20","0.00","Codamos","Joseph","7098660" +"146901#201","","100","","05/04/2024","05/04/2024 6:36:30am","05/04/2024 10:45:59am","20","0.00","conriquez","sergio","7098660" +"146901#220","","100","","05/04/2024","05/04/2024 12:58:54pm","05/04/2024 6:29:41pm","20","0.00","Gomez","Lee","7098660" +"146901#438","","100","","05/04/2024","05/04/2024 10:00:37am","05/04/2024 3:31:42pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","200","","05/04/2024","05/04/2024 11:59:00am","05/04/2024 7:00:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","05/04/2024","05/04/2024 7:00:00pm","05/04/2024 8:30:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#437","","100","","05/04/2024","05/04/2024 11:59:46am","05/04/2024 6:04:17pm","20","0.00","Villador","Frances","7098660" +"146901#297","","200","","05/05/2024","05/05/2024 6:33:00am","05/05/2024 12:00:00pm","21.5","0.00","Baquera","Erick","7098660" +"146901#435","","100","","05/05/2024","05/05/2024 7:58:47am","05/05/2024 1:58:14pm","20","0.00","Beltran","Aneliz","7098660" +"146901#335","","200","","05/05/2024","05/05/2024 11:30:00am","05/05/2024 3:00:00pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","05/05/2024","05/05/2024 3:30:00pm","05/05/2024 6:30:00pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#201","","100","","05/05/2024","05/05/2024 12:09:12pm","05/05/2024 6:01:26pm","20","0.00","conriquez","sergio","7098660" +"146901#220","","100","","05/05/2024","05/05/2024 6:33:46am","05/05/2024 9:04:50am","20","0.00","Gomez","Lee","7098660" +"146901#127","","100","","05/05/2024","05/05/2024 10:46:03am","05/05/2024 2:29:37pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","100","","05/05/2024","05/05/2024 3:00:55pm","05/05/2024 6:31:50pm","25","0.00","Hoang","Kelly","7098660" +"146901#96","","100","","05/05/2024","05/05/2024 6:47:09am","05/05/2024 11:34:16am","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","05/05/2024","05/05/2024 9:00:21am","05/05/2024 3:01:54pm","20","0.00","Mata","Casey","7098660" +"146901#185","","200","","05/06/2024","05/06/2024 6:29:00am","05/06/2024 11:27:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/06/2024","05/06/2024 11:57:00am","05/06/2024 2:30:00pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","200","","05/06/2024","05/06/2024 12:25:30pm","05/06/2024 5:37:15pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#335","","200","","05/06/2024","05/06/2024 6:07:07pm","05/06/2024 8:51:22pm","21.5","0.00","Codamos","Joseph","7098660" +"146901#220","","100","","05/06/2024","05/06/2024 9:01:59am","05/06/2024 1:42:58pm","20","0.00","Gomez","Lee","7098660" +"146901#220","","100","","05/06/2024","05/06/2024 2:12:04pm","05/06/2024 4:05:44pm","20","0.00","Gomez","Lee","7098660" +"146901#127","","100","","05/06/2024","05/06/2024 6:31:47am","05/06/2024 12:30:35pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/06/2024","05/06/2024 2:58:34pm","05/06/2024 8:45:20pm","20","0.00","Le","Kasey","7098660" +"146901#158","","200","","05/06/2024","05/06/2024 5:00:00am","05/06/2024 6:00:00am","23","0.00","Magana","Reyes","7098660" +"146901#158","","100","","05/06/2024","05/06/2024 6:00:00am","05/06/2024 1:00:00pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","05/06/2024","05/06/2024 1:32:13pm","05/06/2024 7:29:21pm","20","0.00","Mata","Casey","7098660" +"146901#204","","100","","05/06/2024","05/06/2024 8:12:47am","05/06/2024 1:41:45pm","20","0.00","Terzian","Anna","7098660" +"146901#437","","100","","05/06/2024","05/06/2024 8:30:01am","05/06/2024 2:32:33pm","20","0.00","Villador","Frances","7098660" +"146901#297","","100","","05/07/2024","05/07/2024 5:59:23am","05/07/2024 9:28:39am","20","0.00","Baquera","Erick","7098660" +"146901#430","","100","","05/07/2024","05/07/2024 1:32:28pm","05/07/2024 7:35:45pm","20","0.00","Caraos","Kristian","7098660" +"146901#193","","200","","05/07/2024","05/07/2024 1:18:51pm","05/07/2024 5:19:36pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","05/07/2024","05/07/2024 5:49:47pm","05/07/2024 9:04:35pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","05/07/2024","05/07/2024 6:10:00am","05/07/2024 11:03:00am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/07/2024","05/07/2024 11:31:00am","05/07/2024 2:30:00pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#438","","100","","05/07/2024","05/07/2024 3:00:22pm","05/07/2024 9:00:18pm","20","0.00","Guerrero","Valeria","7098660" +"146901#127","","100","","05/07/2024","05/07/2024 6:30:43am","05/07/2024 12:49:10pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/07/2024","05/07/2024 9:24:25am","05/07/2024 1:35:23pm","20","0.00","Le","Kasey","7098660" +"146901#364","","100","","05/07/2024","05/07/2024 2:06:21pm","05/07/2024 3:57:19pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/07/2024","05/07/2024 10:30:27am","05/07/2024 2:31:35pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","05/07/2024","05/07/2024 3:03:01pm","05/07/2024 6:01:32pm","20","0.00","Ly","Brandon","7098660" +"146901#353","","100","","05/07/2024","05/07/2024 8:33:33am","05/07/2024 2:30:38pm","20","0.00","Mata","Casey","7098660" +"146901#365","","100","","05/07/2024","05/07/2024 7:31:40am","05/07/2024 1:32:17pm","20","0.00","Sunga","Shaina","7098660" +"146901#297","","100","","05/08/2024","05/08/2024 6:01:25am","05/08/2024 11:40:07am","20","0.00","Baquera","Erick","7098660" +"146901#193","","200","","05/08/2024","05/08/2024 1:20:48pm","05/08/2024 5:08:29pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","05/08/2024","05/08/2024 5:39:25pm","05/08/2024 8:57:45pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","200","","05/08/2024","05/08/2024 6:30:05am","05/08/2024 11:03:56am","21.5","0.00","Chavez","Gilbert","7098660" +"146901#185","","200","","05/08/2024","05/08/2024 11:33:15am","05/08/2024 2:30:14pm","21.5","0.00","Chavez","Gilbert","7098660" +"146901#335","","100","","05/08/2024","05/08/2024 10:51:32am","05/08/2024 2:56:58pm","20","0.00","Codamos","Joseph","7098660" +"146901#335","","100","","05/08/2024","05/08/2024 3:27:16pm","05/08/2024 5:51:27pm","20","0.00","Codamos","Joseph","7098660" +"146901#438","","100","","05/08/2024","05/08/2024 3:00:03pm","05/08/2024 8:58:00pm","20","0.00","Guerrero","Valeria","7098660" +"146901#96","","100","","05/08/2024","05/08/2024 1:30:12pm","05/08/2024 7:25:13pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","100","","05/08/2024","05/08/2024 5:48:44am","05/08/2024 12:54:55pm","23","0.00","Magana","Reyes","7098660" +"146901#353","","100","","05/08/2024","05/08/2024 8:30:00am","05/08/2024 2:30:00pm","20","0.00","Mata","Casey","7098660" +"146901#197","","100","","05/08/2024","05/08/2024 9:04:11am","05/08/2024 1:56:14pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/08/2024","05/08/2024 2:28:57pm","05/08/2024 4:00:07pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","05/08/2024","05/08/2024 7:30:10am","05/08/2024 1:33:11pm","20","0.00","Sunga","Shaina","7098660" +"146901#430","","100","","05/09/2024","05/09/2024 1:25:22pm","05/09/2024 7:32:27pm","20","0.00","Caraos","Kristian","7098660" +"146901#193","","200","","05/09/2024","05/09/2024 6:09:00am","05/09/2024 10:00:00am","21.5","0.00","Chavez","Adrian","7098660" +"146901#193","","200","","05/09/2024","05/09/2024 10:30:00am","05/09/2024 2:26:00pm","21.5","0.00","Chavez","Adrian","7098660" +"146901#185","","100","","05/09/2024","05/09/2024 8:29:56am","05/09/2024 2:15:42pm","20","0.00","Chavez","Gilbert","7098660" +"146901#368","","100","","05/09/2024","05/09/2024 2:59:23pm","05/09/2024 8:50:51pm","20","0.00","Demarchena","Allyssa","7098660" +"146901#220","","100","","05/09/2024","05/09/2024 6:01:28am","05/09/2024 11:31:56am","20","0.00","Gomez","Lee","7098660" +"146901#127","","200","","05/09/2024","05/09/2024 11:55:00am","05/09/2024 3:30:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#127","","200","","05/09/2024","05/09/2024 6:30:00pm","05/09/2024 10:15:00pm","25","0.00","Hoang","Kelly","7098660" +"146901#364","","100","","05/09/2024","05/09/2024 6:14:02am","05/09/2024 12:27:14pm","20","0.00","Le","Kasey","7098660" +"146901#96","","100","","05/09/2024","05/09/2024 10:31:30am","05/09/2024 2:56:53pm","20","0.00","Ly","Brandon","7098660" +"146901#96","","100","","05/09/2024","05/09/2024 3:28:14pm","05/09/2024 6:01:44pm","20","0.00","Ly","Brandon","7098660" +"146901#158","","200","","05/09/2024","05/09/2024 11:51:41am","05/09/2024 3:53:12pm","23","0.00","Magana","Reyes","7098660" +"146901#158","","200","","05/09/2024","05/09/2024 4:17:59pm","05/09/2024 8:57:16pm","23","0.00","Magana","Reyes","7098660" +"146901#197","","100","","05/09/2024","05/09/2024 9:03:28am","05/09/2024 12:57:12pm","20","0.00","Park","Jiho","7098660" +"146901#197","","100","","05/09/2024","05/09/2024 1:32:54pm","05/09/2024 3:55:44pm","20","0.00","Park","Jiho","7098660" +"146901#365","","100","","05/09/2024","05/09/2024 7:31:34am","05/09/2024 1:34:46pm","20","0.00","Sunga","Shaina","7098660" diff --git a/dev-resources/test-dolce/sftp_server/upload/hello.txt b/dev-resources/test-dolce/sftp_server/upload/hello.txt new file mode 100644 index 00000000..5e1c309d --- /dev/null +++ b/dev-resources/test-dolce/sftp_server/upload/hello.txt @@ -0,0 +1 @@ +Hello World \ No newline at end of file diff --git a/resources/public/output.css b/resources/public/output.css index 53da4b8a..528e1e8d 100644 --- a/resources/public/output.css +++ b/resources/public/output.css @@ -1 +1 @@ -/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mb-8{margin-bottom:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.h-32{height:8rem}.h-\[970px\]{height:970px}.h-\[1200\]{height:1200}.h-\[1200px\]{height:1200px}.h-\[1400px\]{height:1400px}.h-\[1450px\]{height:1450px}.h-\[1460px\]{height:1460px}.h-\[48rem\]{height:48rem}.h-\[50rem\]{height:50rem}.h-\[49rem\]{height:49rem}.h-max{height:-moz-max-content;height:max-content}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-\[900px\]{max-height:900px}.max-h-\[970px\]{max-height:970px}.max-h-screen{max-height:100vh}.max-h-\[48rem\]{max-height:48rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(144 97 249/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(194 120 3/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.p-16{padding:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.duration-1000{transition-duration:1s}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:h-\[750px\]{height:750px}.lg\:h-\[900px\]{height:900px}.lg\:w-96{width:24rem}.lg\:w-\[800px\]{width:800px}.lg\:w-\[000px\]{width:0}.lg\:w-\[900px\]{width:900px}.lg\:w-\[850px\]{width:850px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))} \ No newline at end of file +/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Calibri,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#007dbb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:#0000;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate,[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:#0000;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid #0000;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#007dbb;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#009cea}input[type=range]::-ms-fill-lower{background:#009cea}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#007dbb;border-color:#007dbb}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#009cea80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-2\/4{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[99\]{z-index:99}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.row-span-2{grid-row:span 2/span 2}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-8{margin-right:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[350px\]{height:350px}.h-\[49rem\]{height:49rem}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.max-h-\[700px\]{max-height:700px}.max-h-screen{max-height:100vh}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10em\]{width:10em}.w-\[20em\]{width:20em}.w-\[30em\]{width:30em}.w-\[5em\]{width:5em}.w-\[600px\]{width:600px}.w-\[748px\]{width:748px}.w-\[7em\]{width:7em}.w-\[850px\]{width:850px}.w-\[8em\]{width:8em}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.flex-initial{flex:0 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-1\/2{flex-basis:50%}.border-collapse{border-collapse:collapse}.\!translate-y-0{--tw-translate-y:0px!important}.\!translate-y-0,.\!translate-y-32{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.\!translate-y-32{--tw-translate-y:8rem!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-full{--tw-translate-y:100%}.rotate-180,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes gentleGrow{0%{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:scale(1.1);animation-timing-function:cubic-bezier(0,0,.2,1)}to{transform:scale(1);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-gg{animation:gentleGrow 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%{transform:translateX(0)}12.5%{transform:translateX(-5px)}25%{transform:translateX(0)}37.5%{transform:translateX(5px)}50%{transform:translateX(0)}62.5%{transform:translateX(-5px)}75%{transform:translateX(5px)}87.5%{transform:translateX(5px)}to{transform:translateX(0)}}.animate-shake{animation:shake .5s ease-out 1}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-stretch{justify-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.place-self-end{place-self:end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-b-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-blue-300{--tw-border-opacity:1;border-color:rgb(102 196 242/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(0 125 187/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(0 94 140/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-primary-300{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(97 145 37/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(255 104 104/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(204 235 251/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(153 215 247/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(51 176 238/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(230 245 253/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(148 196 88/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(48 72 18/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(242 248 234/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(246 245 255/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 205 205/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(255 154 154/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(255 3 3/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(253 246 178/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(252 233 106/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-red-800{--tw-bg-opacity:1;background-color:rgb(102 1 1/var(--tw-bg-opacity))}.\!bg-opacity-0{--tw-bg-opacity:0!important}.\!bg-opacity-100{--tw-bg-opacity:1!important}.\!bg-opacity-50{--tw-bg-opacity:0.5!important}.bg-opacity-50{--tw-bg-opacity:0.5}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pr-4{padding-right:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:initial}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-4{line-height:1rem}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(0 62 94/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(97 145 37/var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgb(24 36 9/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(126 58 242/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(204 2 2/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(102 1 1/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(114 59 19/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(99 49 18/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(88 80 236/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-\[cubic-bezier\(\.3\2c 2\.3\2c \.6\2c 1\)\]{transition-timing-function:cubic-bezier(.3,2.3,.6,1)}.htmx-added .fade-in,.htmx-added.fade-in{opacity:0!important}.fade-in{opacity:1}.htmx-settling .fade-in-settle,.htmx-settling.fade-in-settle{opacity:0!important}.fade-in-settle{opacity:1}.htmx-added .swipe-left-swap,.htmx-added.swipe-left-swap{opacity:1!important;--tw-scale-x:1!important;--tw-scale-y:1!important;--tw-translate-x:-50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.swipe-left-swap{opacity:1;--tw-scale-x:1;--tw-scale-y:1;--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-settling.htmx-added .swipe-left-swap,.htmx-settling.htmx-added.swipe-left-swap{opacity:0!important;--tw-scale-x:.75!important;--tw-scale-y:.75!important;--tw-translate-x:50%!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.htmx-settling .slide-up-settle,.htmx-settling.slide-up-settle{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up-settle{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden .slide-up,.htmx-added .slide-up{--tw-translate-y:1.25rem!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.slide-up{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.live-added{animation:pulse-green .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-added{animation:pulse-dark-green .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}.live-removed{animation:pulse-red .3s 2;animation-direction:alternate;animation-timing-function:ease-in-out}.dark .live-removed{animation:pulse-dark-red .3s 2!important;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes pulse-green{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-green{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}}@keyframes pulse-red{0%{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}:is(.dark to){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}@keyframes pulse-dark-red{:is(.dark 0%){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}to{--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inherit!important}.htmx-indicator{display:none}.htmx-request .htmx-indicator-hidden{display:none!important}.htmx-indicator-hidden{display:inherit}.htmx-request .htmx-indicator-invisible{visibility:hidden!important}.htmx-indicator-invisible{display:inherit}.htmx-swapping .fade-out{opacity:0!important}.fade-out{opacity:1}.min-h-content{min-height:calc(100vh - 4em)}.choices{margin-bottom:0!important;border-width:0!important}.choices__inner{display:block!important;width:100%!important;border-radius:.5rem!important;border-width:1px!important;--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:.25rem!important;font-size:.875rem!important;line-height:1.25rem!important;--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error .choices__inner{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(255 230 230/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(51 1 1/var(--tw-text-opacity))!important}.group.has-error .choices__inner::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner::placeholder{--tw-placeholder-opacity:1!important;color:rgb(153 2 2/var(--tw-placeholder-opacity))!important}.group.has-error .choices__inner:focus{--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))!important}:is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}:is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(156 163 175/var(--tw-placeholder-opacity))!important}:is(.dark .choices__inner:focus){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.group.has-error :is(.dark .choices__inner){--tw-border-opacity:1!important;border-color:rgb(255 3 3/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 3 3/var(--tw-text-opacity))!important}.group.has-error :is(.dark .choices__inner)::-moz-placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.group.has-error :is(.dark .choices__inner)::placeholder{--tw-placeholder-opacity:1!important;color:rgb(255 3 3/var(--tw-placeholder-opacity))!important}.choices:focus-within .choices__inner,:is(.dark .choices:focus-within .choices__inner){--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices:focus-within .choices__inner{outline:2px solid #0000!important;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#007dbb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#007dbb}.choices__inner .choices__input{margin:0!important;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}:is(.dark .choices__inner .choices__input){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.choices__inner .choices__item{white-space:nowrap!important;border-radius:.25rem!important;--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;padding:.125rem .5rem!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__inner .choices__item){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices__list--dropdown{border-radius:.5rem!important;--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}:is(.dark .choices__list--dropdown){--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.choices__list--dropdown .choices__item--selectable.is-highlighted{--tw-bg-opacity:1!important;background-color:rgb(175 211 130/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(48 72 18/var(--tw-text-opacity))!important}:is(.dark .choices__list--dropdown .choices__item--selectable.is-highlighted){--tw-bg-opacity:1!important;background-color:rgb(24 36 9/var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgb(175 211 130/var(--tw-text-opacity))!important}.choices[data-type*=select-multiple] .choices__button{--tw-border-opacity:1!important;border-color:rgb(107 114 128/var(--tw-border-opacity))!important}.choices[data-type*=select-multiple] .choices__button:focus{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__inner .choices__item:focus-within{--tw-border-opacity:1!important;border-color:rgb(0 156 234/var(--tw-border-opacity))!important;--tw-bg-opacity:1!important;background-color:rgb(121 181 46/var(--tw-bg-opacity))!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))!important}.choices__list--single .choices__item{display:flex!important;width:auto!important}.choices__list--single{width:auto!important}.choices__list--single button{position:relative!important;margin:0!important;display:block!important;height:auto!important}.choices[data-type*=select-one] .choices__button{right:auto!important}.arrow,.arrow:before{position:absolute;width:24px;height:24px;background:inherit}.arrow{visibility:hidden}.arrow:before{visibility:visible;content:"";transform:rotate(45deg)}.arrow{bottom:-4px}.ct-series-a .ct-bar{stroke:#79b52e;fill:#79b52e}.ct-series-b .ct-bar{stroke:#ff0303;fill:#ff0303}.ct-series-c .ct-bar{stroke:#009cea;fill:#009cea}.ct-series-d .ct-bar{stroke:#f48017;fill:#f48017}.ct-series-e .ct-bar{stroke:#9c27b0;fill:#9c27b0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(175 211 130/var(--tw-border-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(102 196 242/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(0 62 94/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(255 104 104/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(0 156 234/var(--tw-bg-opacity))}.hover\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\:from-red-600:hover{--tw-gradient-from:#cc0202 var(--tw-gradient-from-position);--tw-gradient-to:#cc020200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-red-400:hover{--tw-gradient-to:#ff3535 var(--tw-gradient-to-position)}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(0 125 187/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}.focus\:bg-neutral-100:focus{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgb(73 109 28/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 215 247/var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 196 242/var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(201 225 171/var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(175 211 130/var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 196 88/var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(73 109 28/var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 154 154/var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(104 117 245/var(--tw-ring-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:border-red-500{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(255 230 230/var(--tw-bg-opacity))}.group.has-error .group-\[\.has-error\]\:text-red-900{--tw-text-opacity:1;color:rgb(51 1 1/var(--tw-text-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgb(153 2 2/var(--tw-placeholder-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error .group-\[\.has-error\]\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 3 3/var(--tw-ring-opacity))}.peer:hover~.peer-hover\:block{display:block}.htmx-swapping\:-translate-x-2\/3.htmx-swapping{--tw-translate-x:-66.666667%}.htmx-swapping\:-translate-x-2\/3.htmx-swapping,.htmx-swapping\:translate-x-2\/3.htmx-swapping{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:translate-x-2\/3.htmx-swapping{--tw-translate-x:66.666667%}.htmx-swapping\:scale-0.htmx-swapping{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4.htmx-swapping{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4.htmx-swapping{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75.htmx-swapping{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0.htmx-swapping{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in.htmx-swapping{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-swapping .htmx-swapping\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-swapping .htmx-swapping\:-translate-x-2\/3,.htmx-swapping .htmx-swapping\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-swapping .htmx-swapping\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-swapping .htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:scale-75,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:opacity-0,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:opacity-0{opacity:0}.group\/transition.backward .htmx-swapping .group-\[\.backward\]\/transition\:htmx-swapping\:ease-in,.group\/transition.forward .htmx-swapping .group-\[\.forward\]\/transition\:htmx-swapping\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.htmx-added\:-translate-x-2\/3.htmx-added{--tw-translate-x:-66.666667%}.htmx-added\:-translate-x-2\/3.htmx-added,.htmx-added\:translate-x-2\/3.htmx-added{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:translate-x-2\/3.htmx-added{--tw-translate-x:66.666667%}.htmx-added\:scale-0.htmx-added{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4.htmx-added{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4.htmx-added{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:scale-75.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:scale-75.htmx-added{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:opacity-0.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:opacity-0.htmx-added{opacity:0}.group\/transition.backward .group-\[\.backward\]\/transition\:htmx-added\:ease-out.htmx-added,.group\/transition.forward .group-\[\.forward\]\/transition\:htmx-added\:ease-out.htmx-added{transition-timing-function:cubic-bezier(0,0,.2,1)}.htmx-added .htmx-added\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.htmx-added .htmx-added\:-translate-x-2\/3,.htmx-added .htmx-added\:translate-x-2\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:translate-x-2\/3{--tw-translate-x:66.666667%}.htmx-added .htmx-added\:scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.htmx-added .htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:-translate-x-1\/4{--tw-translate-x:-25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:translate-x-1\/4{--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:scale-75,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:opacity-0,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:opacity-0{opacity:0}.group\/transition.backward .htmx-added .group-\[\.backward\]\/transition\:htmx-added\:ease-out,.group\/transition.forward .htmx-added .group-\[\.forward\]\/transition\:htmx-added\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.dark .dark\:block){display:block}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}:is(.dark .dark\:divide-gray-200)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-400){--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-green-800){--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:border-primary-500){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:#0000}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity:1;background-color:rgb(0 31 47/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-700){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity:1;background-color:rgb(24 36 9/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-700){--tw-bg-opacity:1;background-color:rgb(153 2 2/var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(51 1 1/var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-900){--tw-bg-opacity:1;background-color:rgb(99 49 18/var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity:0.8}:is(.dark .dark\:text-blue-100){--tw-text-opacity:1;color:rgb(204 235 251/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-200){--tw-text-opacity:1;color:rgb(153 215 247/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity:1;color:rgb(102 196 242/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity:1;color:rgb(51 176 238/var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-50){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-green-300){--tw-text-opacity:1;color:rgb(175 211 130/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:text-primary-500){--tw-text-opacity:1;color:rgb(121 181 46/var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity:1;color:rgb(255 104 104/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(255 53 53/var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity:1;color:rgb(250 202 21/var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color:#374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color:#1f2937}:is(.dark .hover\:dark\:border-green-800):hover{--tw-border-opacity:1;border-color:rgb(48 72 18/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity:1;background-color:rgb(0 125 187/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(0 94 140/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity:1;background-color:rgb(97 145 37/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity:1;background-color:rgb(204 2 2/var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-gray-800):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-200:hover){--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-emerald-200:hover){--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:via-red-800:hover){--tw-gradient-to:#66010100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#660101 var(--tw-gradient-via-position),var(--tw-gradient-to)}:is(.dark .dark\:hover\:to-red-700:hover){--tw-gradient-to:#990202 var(--tw-gradient-to-position)}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(0 156 234/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-green-400):hover{--tw-text-opacity:1;color:rgb(148 196 88/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity:1;border-color:rgb(0 156 234/var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity:1;border-color:rgb(121 181 46/var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 156 234/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 125 187/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(0 62 94/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(48 72 18/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(121 181 46/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(97 145 37/var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color:#374151}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:border-red-500){--tw-border-opacity:1;border-color:rgb(255 3 3/var(--tw-border-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:bg-gray-700){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:text-red-500){--tw-text-opacity:1;color:rgb(255 3 3/var(--tw-text-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}.group.has-error :is(.dark .group-\[\.has-error\]\:dark\:placeholder-red-500)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 3 3/var(--tw-placeholder-opacity))}@media (min-width:640px){.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-6{padding:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:ml-2{margin-left:.5rem}.md\:mr-24{margin-right:6rem}.md\:block{display:block}.md\:table-cell{display:table-cell}.md\:h-\[600px\]{height:600px}.md\:w-\[750px\]{width:750px}.md\:w-\[800px\]{width:800px}.md\:w-\[850px\]{width:850px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:h-\[900px\]{height:900px}.lg\:w-96{width:24rem}.lg\:w-\[850px\]{width:850px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-64{padding-left:16rem}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\.active\]\:bg-primary-300.active{--tw-bg-opacity:1;background-color:rgb(175 211 130/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-500.active{--tw-bg-opacity:1;background-color:rgb(121 181 46/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-200.active{--tw-bg-opacity:1;background-color:rgb(201 225 171/var(--tw-bg-opacity))}.\[\&\.active\]\:bg-primary-100.active{--tw-bg-opacity:1;background-color:rgb(228 240 213/var(--tw-bg-opacity))}.\[\&\.active\]\:text-green-800.active{--tw-text-opacity:1;color:rgb(48 72 18/var(--tw-text-opacity))}:is(.dark .\[\&\.active\]\:dark\:bg-primary-700).active{--tw-bg-opacity:1;background-color:rgb(73 109 28/var(--tw-bg-opacity))}:is(.dark .\[\&\.active\]\:dark\:text-green-200).active{--tw-text-opacity:1;color:rgb(201 225 171/var(--tw-text-opacity))} \ No newline at end of file diff --git a/src/clj/auto_ap/import/plaid.fiddle b/src/clj/auto_ap/import/plaid.fiddle index 42d99b15..326938b7 100644 --- a/src/clj/auto_ap/import/plaid.fiddle +++ b/src/clj/auto_ap/import/plaid.fiddle @@ -23,8 +23,58 @@ ;; :type "credit"}) +(dc/q '[:find (pull ?pa [{ :plaid-item/_accounts [*]}]) + :in $ ?ba + :where [?ba :bank-account/plaid-account ?pa]] + (dc/db conn) + [:bank-account/code "VS-BA6149"]) +(auto-ap.datomic/pull-attr (dc/db conn) :db/id [:bank-account/code "VS-BA6149"]) + +(p/get-transactions "access-production-1aee2c7d-0a57-403d-83dc-28a252fb92b4" "jZrAPpjMoLU55oZdpPVVuk8D7XVjXnuv1EJy6" (clj-time.coerce/to-date-time #inst "2024-05-01") (clj-time.coerce/to-date-time #inst "2024-05-15")) (user/init-repl) + +(defn import-plaid-int-2 [] + (let [ + import-batch (t/start-import-batch :import-source/plaid "Automated plaid user") + end (atime/local-now) + start (time/plus end (time/days -30)) + plaid-merchant->vendor-id (build-plaid-merchant->vendor-id)] + (try + (doseq [[bank-account-id client-id external-id access-token] (get-plaid-accounts (dc/db conn)) + :when (= bank-account-id 17592234448533) + + :let [_ (println "TRYING INTEGRATION") + transaction-result (wrap-integration #(p/get-transactions access-token external-id start end) + bank-account-id) + _ (println "FOUND" (count (:transactions transaction-result))) + accounts-by-id (by :account_id (:accounts transaction-result))] + transaction (:transactions transaction-result)] + (when (not (:pending transaction)) + (t/import-transaction! import-batch (doto (assoc (plaid->transaction (assoc transaction + :account + (accounts-by-id (:account_id transaction))) + plaid-merchant->vendor-id) + :transaction/bank-account bank-account-id + :transaction/client client-id) + (#(println (:transaction/date %))))))) + (try + (rebuild-search-index) + (catch Exception e + (alog/error ::cant-index-plaid + :error e) + (println "CANT INDEX"))) + (t/finish! import-batch) + (println "DONE") + (catch Exception e + (println "FAIL") + (t/fail! import-batch e))))) + + (import-plaid-int-2) + +{:transaction/bank-account 17592234448533, :transaction/date #inst "2024-05-14T07:00:00.000-00:00", :transaction/client 17592234448526, :transaction/status "POSTED", :transaction/plaid-merchant {:plaid-merchant/name "Integreat Restau", :db/id "99cb3ac3-1326-4090-8e36-721a0db3a7cf"}, :db/id "89d4fb46-bb17-436f-b1f9-505bfd67e3ec", :transaction/id "0c56701d74584f800b19b1ce6c7b15212b420626a0d0d28761bab4fec4e10ee8", :transaction/description-original "INTEGREAT RESTAU DES:ACH ID:408-340-3111 INDN:PALA UMBERTO CO ID:XXXXX03620 CCD", :transaction/amount -275.0, :transaction/raw-id "drKydaj39qUPPaR0DQyyHVrD4zb8XBIyxe9QJ"} +(auto-ap.datomic/pull-attr (dc/db conn) :db/id [:bank-account/code "NGGG-CB"]) + \ No newline at end of file diff --git a/src/clj/auto_ap/import/transactions.clj b/src/clj/auto_ap/import/transactions.clj index f749869b..6e0591de 100644 --- a/src/clj/auto_ap/import/transactions.clj +++ b/src/clj/auto_ap/import/transactions.clj @@ -85,35 +85,40 @@ (alog/info ::searching-unpaid-invoice :client-id client-id :amount amount) - (let [candidate-invoices-vendor-groups (->> (dc/q {:find ['?vendor-id '?e '?outstanding-balance '?d] - :in ['$ '?client-id] - :where ['[?e :invoice/client ?client-id] - '[?e :invoice/status :invoice-status/unpaid] - '(not [_ :invoice-payment/invoice ?e]) - '[?e :invoice/vendor ?vendor-id] - '[?e :invoice/outstanding-balance ?outstanding-balance] - '[?e :invoice/date ?d]]} - (dc/db conn) client-id) - (sort-by last) ;; sort by scheduled payment date - (group-by first) ;; group by vendors - vals) - considerations (for [candidate-invoices candidate-invoices-vendor-groups - invoice-count (range 1 32) - consideration (partition invoice-count 1 candidate-invoices) - :when (dollars= (reduce (fn [acc [_ _ amount]] - (+ acc amount)) 0.0 consideration) - (- amount))] - consideration)] - (alog/info ::unpaid-invoice-considerations-found - :client-id client-id - :amount amount - :count (count considerations)) - considerations)) + (try + (let [candidate-invoices-vendor-groups (->> (dc/q {:find ['?vendor-id '?e '?outstanding-balance '?d] + :in ['$ '?client-id] + :where ['[?e :invoice/client ?client-id] + '[?e :invoice/status :invoice-status/unpaid] + '(not [_ :invoice-payment/invoice ?e]) + '[?e :invoice/vendor ?vendor-id] + '[?e :invoice/outstanding-balance ?outstanding-balance] + '[?e :invoice/date ?d]]} + (dc/db conn) client-id) + (sort-by last) ;; sort by scheduled payment date + (group-by first) ;; group by vendors + vals) + considerations (for [candidate-invoices candidate-invoices-vendor-groups + invoice-count (range 1 32) + consideration (partition invoice-count 1 candidate-invoices) + :when (dollars= (reduce (fn [acc [_ _ amount]] + (+ acc amount)) 0.0 consideration) + (- amount))] + consideration)] + (alog/info ::unpaid-invoice-considerations-found + :client-id client-id + :amount amount + :count (count considerations)) + considerations) + (catch Exception e + (alog/error ::cant-get-considerations + :error e) + []))) (defn match-transaction-to-single-unfulfilled-autopayments [amount client-id] (let [considerations (match-transaction-to-unfulfilled-autopayments amount client-id)] (if (= 1 (count considerations)) - (first considerations) + (first considerations) () []))) (defn add-new-payment [transaction [[vendor] :as invoice-payments] bank-account-id client-id] diff --git a/src/clj/auto_ap/plaid/core.clj b/src/clj/auto_ap/plaid/core.clj index 9b39a422..3200d2df 100644 --- a/src/clj/auto_ap/plaid/core.clj +++ b/src/clj/auto_ap/plaid/core.clj @@ -90,7 +90,8 @@ "access_token" access-token "start_date" (atime/unparse start atime/iso-date) "end_date" (atime/unparse end atime/iso-date) - "options" {"account_ids" [account-id]}})}) + "options" {"account_ids" [account-id] + "count" 500}})}) :body)) (comment diff --git a/src/clj/auto_ap/yodlee/core2.fiddle b/src/clj/auto_ap/yodlee/core2.fiddle new file mode 100644 index 00000000..f2ce1047 --- /dev/null +++ b/src/clj/auto_ap/yodlee/core2.fiddle @@ -0,0 +1,22 @@ + +(in-ns 'auto-ap.yodlee.core2) + +(map :postDate (get-specific-transactions "NGGG" 17203328)) + +(->> (dc/q '[:find ?ba (count ?ya) + :in $ + :where [?ba :bank-account/yodlee-account ?ya] + ] + (dc/db conn)) + (filter (comp #(> % 1) second))) + +(dc/q '[:find ?ya ?ba ?cd ?ud + :in $ ?cd + :where + [?ba :bank-account/yodlee-account ?y] + [(get-else $ ?ba :bank-account/use-date-instead-of-post-date? false) ?ud] + [?c :client/bank-accounts ?ba] + [?c :client/code ?cd] + [?y :yodlee-account/id ?ya]] + (dc/db conn) + "NGGG") diff --git a/src/clj/user.fiddle b/src/clj/user.fiddle index 076d6a63..7b82fb13 100644 --- a/src/clj/user.fiddle +++ b/src/clj/user.fiddle @@ -448,3 +448,23 @@ ) + +(dc/q '[:find ?ba (pull ?pa [* {:bank-account/_plaid-account [:db/id { :bank-account/integration-status [*]}] + }]) + :in $ ?ba + :where [?ba :bank-account/plaid-account ?pa]] + (dc/db conn) + [:bank-account/code "VS-BA6149"]) + +(init-repl) + +(filter (fn [[_ x]] + (> x 1)) + (dc/q '[:find ?pa (count ?ba) + :where [?ba :bank-account/plaid-account ?pa]] + (dc/db conn))) + + +(dc/pull (dc/db conn) '[* {:bank-account/_plaid-account [:bank-account/code]}] 17592310327452) + + diff --git a/terraform/deploy.tf b/terraform/deploy.tf index 7d2ee51b..ebb63453 100644 --- a/terraform/deploy.tf +++ b/terraform/deploy.tf @@ -315,8 +315,8 @@ module "yodlee2_job" { schedule = "rate(6 hours)" job_name = "yodlee2" execution_role_arn = var.execution_role_arn - memory = 2048 - cpu = 1024 + memory = 4096 + cpu = 2048 } module "intuit_job" { diff --git a/terraform/terraform.tfstate.d/prod/terraform.tfstate b/terraform/terraform.tfstate.d/prod/terraform.tfstate index 8d5f0b87..a216c291 100644 --- a/terraform/terraform.tfstate.d/prod/terraform.tfstate +++ b/terraform/terraform.tfstate.d/prod/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, - "terraform_version": "1.7.5", - "serial": 689, + "terraform_version": "1.8.3", + "serial": 693, "lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51", "outputs": { "aws_access_key_id": { @@ -143,7 +143,14 @@ "validation_method": "DNS", "validation_option": [] }, - "sensitive_attributes": [], + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "private_key" + } + ] + ], "private": "bnVsbA==" } ] @@ -195,7 +202,14 @@ "validation_method": "DNS", "validation_option": [] }, - "sensitive_attributes": [], + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "private_key" + } + ] + ], "private": "bnVsbA==" } ] @@ -281,7 +295,7 @@ ], "tags": {}, "tags_all": {}, - "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:782", + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:789", "timeouts": { "create": null, "delete": null, @@ -371,7 +385,7 @@ ], "tags": {}, "tags_all": {}, - "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:1", + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:2", "timeouts": { "create": null, "delete": null, @@ -513,9 +527,9 @@ "provisioned_throughput_in_mibps": 0, "size_in_bytes": [ { - "value": 699342848, + "value": 757790720, "value_in_ia": 0, - "value_in_standard": 699342848 + "value_in_standard": 757790720 } ], "tags": { @@ -551,7 +565,20 @@ "status": "Active", "user": "integreat-prod" }, - "sensitive_attributes": [], + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "secret" + } + ], + [ + { + "type": "get_attr", + "value": "ses_smtp_password_v4" + } + ] + ], "dependencies": [ "aws_iam_user.app_user" ] @@ -1629,7 +1656,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(1 hour)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -1676,7 +1703,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:3" } @@ -1767,7 +1794,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(60 minutes)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -1814,7 +1841,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:3" } @@ -1905,7 +1932,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(1 hour)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -1952,7 +1979,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:3" } @@ -2043,7 +2070,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -2090,7 +2117,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:2" } @@ -2181,7 +2208,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -2228,7 +2255,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:4" } @@ -2498,7 +2525,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -2545,7 +2572,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:4" } @@ -2636,7 +2663,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(1 hour)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -2683,7 +2710,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:3" } @@ -2815,7 +2842,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(4 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -2862,7 +2889,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:6" } @@ -2953,7 +2980,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(3 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -3000,7 +3027,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:3" } @@ -3091,7 +3118,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(4 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -3138,7 +3165,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:3" } @@ -3270,7 +3297,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -3317,9 +3344,9 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, - "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4" + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:5" } ], "event_bus_name": "default", @@ -3356,17 +3383,17 @@ { "schema_version": 1, "attributes": { - "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4", + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:5", "arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod", "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"systemControls\":[],\"volumesFrom\":[]}]", - "cpu": "1024", + "cpu": "2048", "ephemeral_storage": [], "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", "family": "yodlee2_prod", "id": "yodlee2_prod", "inference_accelerator": [], "ipc_mode": "", - "memory": "2048", + "memory": "4096", "network_mode": "awsvpc", "pid_mode": "", "placement_constraints": [], @@ -3374,10 +3401,10 @@ "requires_compatibilities": [ "FARGATE" ], - "revision": 4, + "revision": 5, "runtime_platform": [], "skip_destroy": false, - "tags": {}, + "tags": null, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] diff --git a/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup b/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup index 6e0c1242..de5789d7 100644 --- a/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup +++ b/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup @@ -1,7 +1,7 @@ { "version": 4, - "terraform_version": "1.7.5", - "serial": 666, + "terraform_version": "1.8.3", + "serial": 689, "lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51", "outputs": { "aws_access_key_id": { @@ -460,7 +460,7 @@ "revision": 2, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [ @@ -472,7 +472,7 @@ "file_system_id": "fs-0dcb350caba648ba3", "root_directory": "/", "transit_encryption": "", - "transit_encryption_port": null + "transit_encryption_port": 0 } ], "fsx_windows_file_server_volume_configuration": [], @@ -1598,7 +1598,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1637,6 +1637,74 @@ } ] }, + { + "module": "module.close_auto_invoices_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:3" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "close-auto-invoices-schedule-prod-close-auto-invoices", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "close-auto-invoices-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "close-auto-invoices" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.close_auto_invoices_job.aws_cloudwatch_event_rule.schedule", + "module.close_auto_invoices_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.close_auto_invoices_job[0]", "mode": "managed", @@ -1668,7 +1736,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1707,6 +1775,74 @@ } ] }, + { + "module": "module.current_balance_cache[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:3" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "current-balance-cache-schedule-prod-current-balance-cache", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "current-balance-cache-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "current-balance-cache" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.current_balance_cache.aws_cloudwatch_event_rule.schedule", + "module.current_balance_cache.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.current_balance_cache[0]", "mode": "managed", @@ -1738,7 +1874,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1777,6 +1913,74 @@ } ] }, + { + "module": "module.import_uploaded_invoices_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:3" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "import-uploaded-invoices-schedule-prod-import-uploaded-invoices", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "import-uploaded-invoices-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "import-uploaded-invoices" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.import_uploaded_invoices_job.aws_cloudwatch_event_rule.schedule", + "module.import_uploaded_invoices_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.import_uploaded_invoices_job[0]", "mode": "managed", @@ -1808,7 +2012,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1827,27 +2031,94 @@ "instances": [ { "index_key": 0, - "status": "tainted", "schema_version": 0, "attributes": { - "arn": null, - "description": null, + "arn": "arn:aws:events:us-east-1:679918342773:rule/insight-outcome-recommendation-schedule-prod", + "description": "", "event_bus_name": "default", "event_pattern": null, "id": "insight-outcome-recommendation-schedule-prod", "is_enabled": true, "name": "insight-outcome-recommendation-schedule-prod", - "name_prefix": null, - "role_arn": null, + "name_prefix": "", + "role_arn": "", "schedule_expression": "rate(6 hours)", "tags": null, - "tags_all": null + "tags_all": {} }, "sensitive_attributes": [], "private": "bnVsbA==" } ] }, + { + "module": "module.insight_outcome_recommendation_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:2" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "insight-outcome-recommendation-schedule-prod-insight-outcome-recommendation", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "insight-outcome-recommendation-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "insight-outcome-recommendation" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.insight_outcome_recommendation_job.aws_cloudwatch_event_rule.schedule", + "module.insight_outcome_recommendation_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.insight_outcome_recommendation_job[0]", "mode": "managed", @@ -1879,7 +2150,7 @@ "revision": 2, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1918,6 +2189,74 @@ } ] }, + { + "module": "module.intuit_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:4" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "intuit-schedule-prod-intuit", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "intuit-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "intuit" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.intuit_job.aws_cloudwatch_event_rule.schedule", + "module.intuit_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.intuit_job[0]", "mode": "managed", @@ -1949,7 +2288,7 @@ "revision": 4, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -1990,7 +2329,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2021,7 +2360,7 @@ "name_prefix": "", "role_arn": "", "schedule_expression": "rate(6 hours)", - "tags": null, + "tags": {}, "tags_all": {} }, "sensitive_attributes": [], @@ -2068,7 +2407,7 @@ "placement_constraint": [], "platform_version": "", "propagate_tags": "TASK_DEFINITION", - "tags": null, + "tags": {}, "task_count": 1, "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/ntg_prod:3" } @@ -2128,7 +2467,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2167,6 +2506,74 @@ } ] }, + { + "module": "module.plaid_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:4" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "plaid-schedule-prod-plaid", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "plaid-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "plaid" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.plaid_job.aws_cloudwatch_event_rule.schedule", + "module.plaid_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.plaid_job[0]", "mode": "managed", @@ -2198,7 +2605,7 @@ "revision": 4, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2237,6 +2644,74 @@ } ] }, + { + "module": "module.reconcile_ledger_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:3" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "reconcile-ledger-schedule-prod-reconcile-ledger", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "reconcile-ledger-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "reconcile-ledger" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.reconcile_ledger_job.aws_cloudwatch_event_rule.schedule", + "module.reconcile_ledger_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.reconcile_ledger_job[0]", "mode": "managed", @@ -2268,7 +2743,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2309,7 +2784,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2348,6 +2823,74 @@ } ] }, + { + "module": "module.square_import_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:6" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "square-import-job-schedule-prod-square-import-job", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "square-import-job-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "square-import-job" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.square_import_job.aws_cloudwatch_event_rule.schedule", + "module.square_import_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.square_import_job[0]", "mode": "managed", @@ -2379,7 +2922,7 @@ "revision": 6, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2418,6 +2961,74 @@ } ] }, + { + "module": "module.sysco_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:3" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "sysco-schedule-prod-sysco", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "sysco-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "sysco" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.sysco_job.aws_cloudwatch_event_rule.schedule", + "module.sysco_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.sysco_job[0]", "mode": "managed", @@ -2449,7 +3060,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2468,7 +3079,6 @@ "instances": [ { "index_key": 0, - "status": "tainted", "schema_version": 0, "attributes": { "arn": "arn:aws:events:us-east-1:679918342773:rule/vendor-usages-schedule-prod", @@ -2482,13 +3092,81 @@ "role_arn": "", "schedule_expression": "rate(4 hours)", "tags": null, - "tags_all": null + "tags_all": {} }, "sensitive_attributes": [], "private": "bnVsbA==" } ] }, + { + "module": "module.vendor_usages_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:3" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "vendor-usages-schedule-prod-vendor-usages", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "vendor-usages-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "vendor-usages" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.vendor_usages_job.aws_cloudwatch_event_rule.schedule", + "module.vendor_usages_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.vendor_usages_job[0]", "mode": "managed", @@ -2520,7 +3198,7 @@ "revision": 3, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2561,7 +3239,7 @@ "revision": 4, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] @@ -2600,6 +3278,74 @@ } ] }, + { + "module": "module.yodlee2_job[0]", + "mode": "managed", + "type": "aws_cloudwatch_event_target", + "name": "job_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "batch_target": [], + "dead_letter_config": [], + "ecs_target": [ + { + "capacity_provider_strategy": [], + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "group": "", + "launch_type": "FARGATE", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraint": [], + "platform_version": "", + "propagate_tags": "TASK_DEFINITION", + "tags": null, + "task_count": 1, + "task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4" + } + ], + "event_bus_name": "default", + "http_target": [], + "id": "yodlee2-schedule-prod-yodlee2", + "input": "", + "input_path": "", + "input_transformer": [], + "kinesis_target": [], + "redshift_target": [], + "retry_policy": [], + "role_arn": "arn:aws:iam::679918342773:role/service-role/Amazon_EventBridge_Invoke_ECS_1758992733", + "rule": "yodlee2-schedule-prod", + "run_command_targets": [], + "sqs_target": [], + "target_id": "yodlee2" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "module.yodlee2_job.aws_cloudwatch_event_rule.schedule", + "module.yodlee2_job.aws_ecs_task_definition.background_taskdef" + ] + } + ] + }, { "module": "module.yodlee2_job[0]", "mode": "managed", @@ -2631,7 +3377,7 @@ "revision": 4, "runtime_platform": [], "skip_destroy": false, - "tags": null, + "tags": {}, "tags_all": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": []