/*
  Collective Tools branding for Grist ("Calc" — calc.collective.tools).

  Loaded via APP_STATIC_INCLUDE_CUSTOM_CSS=true (see grist/env.d/env), mounted into the
  container at /grist/static/custom.css (see grist/grist.container and
  ../README.md for the install step). Based on the upstream reference template at
  https://github.com/gristlabs/grist-core/blob/main/static/custom.css — see that file
  (or run `grist --version`) if Grist adds new theme tokens worth overriding.

  Colors follow the Collective Tools palette (../../docs/front-end-customization.md):
    buttons/accent (teal): #4c8b90 / hover #458084
    background gray:       #EDEDED
    background white:      #fdfdfc
    black text:             #333
    black headlines:        #222
*/
@layer grist-custom {
  /* theme-agnostic overrides — always applied regardless of light/dark/high-contrast theme */
  :root {
    /* small logo in the app's top-left nav corner */
    --icon-GristLogo: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC03NDE3LjI0NTkyOCwtNjIwMCkiPgogICAgICAgIDxnIGlkPSJDVC1Ja29uZXItIiBzZXJpZjppZD0iQ1QgSWtvbmVyICIgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNSwwLDAsMC4xNjY2NjcsNzQxNy4yNDU5MjgsNjIwMCkiPgogICAgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMjAwMCIgaGVpZ2h0PSIzMDAwIiBzdHlsZT0iZmlsbDpub25lOyIvPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg0LjY4NDc1NiwwLDAsMy4yMzU2MjMsLTI5NzMuMzQ1MTIsLTEzMDE4LjE3ODI1NykiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwNDAuMjU2LDQyMTQuMzlMMTA0MC4yNTYsNDc1OS41NzFDMTA0MC4yNTYsNDgzOS40IDEwMTAuNDE0LDQ5MDQuMjExIDk3My42NTcsNDkwNC4yMTFMNzIyLjYzLDQ5MDQuMjExQzY4NS44NzMsNDkwNC4yMTEgNjU2LjAzMSw0ODM5LjQgNjU2LjAzMSw0NzU5LjU3MUw2NTYuMDMxLDQyMTQuMzlDNjU2LjAzMSw0MTM0LjU2MiA2ODUuODczLDQwNjkuNzUxIDcyMi42Myw0MDY5Ljc1MUw5NzMuNjU3LDQwNjkuNzUxQzEwMTAuNDE0LDQwNjkuNzUxIDEwNDAuMjU2LDQxMzQuNTYyIDEwNDAuMjU2LDQyMTQuMzlaTTEwMTguNzM5LDQ1OTQuMzg5TDEwMTguNzM5LDQzODIuNjIyTDkxOS40MzgsNDM4Mi42MjJMOTE5LjQzOCw0NTk0LjM4OUwxMDE4LjczOSw0NTk0LjM4OVpNNjc3LjU0OCw0NjQzLjM0NEw2NzcuNTQ4LDQ3NTkuNTcxQzY3Ny41NDgsNDgxMy42MDkgNjk3Ljc0OCw0ODU3LjQ4MSA3MjIuNjMsNDg1Ny40ODFMNzc2Ljg0OCw0ODU3LjQ4MUw3NzYuODQ4LDQ2NDMuMzQ0TDY3Ny41NDgsNDY0My4zNDRaTTc5OS4zOSw0ODU3LjQ4MUw4OTYuODk3LDQ4NTcuNDgxTDg5Ni44OTcsNDY0My4zNDRMNzk5LjM5LDQ2NDMuMzQ0TDc5OS4zOSw0ODU3LjQ4MVpNODk2Ljg5Nyw0MTE2LjQ4TDc5OS4zOSw0MTE2LjQ4TDc5OS4zOSw0MzMzLjY2N0w4OTYuODk3LDQzMzMuNjY3TDg5Ni44OTcsNDExNi40OFpNOTE5LjQzOCw0ODU3LjQ4MUw5NzMuNjU3LDQ4NTcuNDgxQzk5OC41MzksNDg1Ny40ODEgMTAxOC43MzksNDgxMy42MDkgMTAxOC43MzksNDc1OS41NzFMMTAxOC43MzksNDY0My4zNDRMOTE5LjQzOCw0NjQzLjM0NEw5MTkuNDM4LDQ4NTcuNDgxWk0xMDE4LjczOSw0MzMzLjY2N0wxMDE4LjczOSw0MjE0LjM5QzEwMTguNzM5LDQxNjAuMzUyIDk5OC41MzksNDExNi40OCA5NzMuNjU3LDQxMTYuNDhMOTE5LjQzOCw0MTE2LjQ4TDkxOS40MzgsNDMzMy42NjdMMTAxOC43MzksNDMzMy42NjdaTTc3Ni44NDgsNDExNi40OEw3MjIuNjMsNDExNi40OEM2OTcuNzQ4LDQxMTYuNDggNjc3LjU0OCw0MTYwLjM1MiA2NzcuNTQ4LDQyMTQuMzlMNjc3LjU0OCw0MzMzLjY2N0w3NzYuODQ4LDQzMzMuNjY3TDc3Ni44NDgsNDExNi40OFpNNjc3LjU0OCw0MzgyLjYyMkw2NzcuNTQ4LDQ1OTQuMzg5TDc3Ni44NDgsNDU5NC4zODlMNzc2Ljg0OCw0MzgyLjYyMkw2NzcuNTQ4LDQzODIuNjIyWk04OTYuODk3LDQzODIuNjIyTDc5OS4zOSw0MzgyLjYyMkw3OTkuMzksNDU5NC4zODlMODk2Ljg5Nyw0NTk0LjM4OUw4OTYuODk3LDQzODIuNjIyWiIgc3R5bGU9ImZpbGw6cmdiKDI1LDI1LDI1KTsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");
    --grist-theme-logo-bg: #fdfdfc;
    --grist-theme-logo-size: 22px 22px;
  }

  /* light theme (Grist's default and what we run) — accent color + core palette */
  :root[data-grist-theme="GristLight"] {
    --grist-theme-primary: #4c8b90;
    --grist-theme-primary-muted: #458084;
    --grist-theme-primary-dim: #29515c;
    --grist-theme-primary-emphasis: #8bbfd6;

    --grist-theme-bg-default: #fdfdfc; /* default body bg color */
    --grist-theme-bg-secondary: #EDEDED; /* bg color mostly used on panels */
    --grist-theme-bg-tertiary: #EDEDED; /* transparent bg, mostly used on hover effects */
    --grist-theme-bg-emphasis: #333; /* pronounced bg color, mostly used on selected items */


    --grist-theme-decoration: #dad9d7; /* main decoration color, mostly used on borders */
    --grist-theme-decoration-secondary: #EDEDED; /* less pronounced decoration color */
    --grist-theme-decoration-tertiary: #dad9d7; /* even less pronounced decoration color */

    --grist-theme-body: #333; /* main body text */
    --grist-theme-emphasis: #222;  /* pronounced text */
  }
}

/*
  Loading splash (shown before the app JS bundle takes over — see
  https://github.com/gristlabs/grist-core/blob/main/static/app.html and
  https://github.com/gristlabs/grist-core/blob/main/app/client/logo.css).
  This is plain server-rendered HTML/CSS, not baked into the JS bundle, so it's safe to
  reskin here. Hide the animated green grain-square logo and show the CT icon instead.
*/
#grist-logo-wrapper {
  background-color: #EDEDED !important;
}

.grist-logo {
  background: transparent !important;
  width: 96px;
  height: 96px;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC03NDE3LjI0NTkyOCwtNjIwMCkiPgogICAgICAgIDxnIGlkPSJDVC1Ja29uZXItIiBzZXJpZjppZD0iQ1QgSWtvbmVyICIgdHJhbnNmb3JtPSJtYXRyaXgoMC4yNSwwLDAsMC4xNjY2NjcsNzQxNy4yNDU5MjgsNjIwMCkiPgogICAgICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMjAwMCIgaGVpZ2h0PSIzMDAwIiBzdHlsZT0iZmlsbDpub25lOyIvPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg0LjY4NDc1NiwwLDAsMy4yMzU2MjMsLTI5NzMuMzQ1MTIsLTEzMDE4LjE3ODI1NykiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwNDAuMjU2LDQyMTQuMzlMMTA0MC4yNTYsNDc1OS41NzFDMTA0MC4yNTYsNDgzOS40IDEwMTAuNDE0LDQ5MDQuMjExIDk3My42NTcsNDkwNC4yMTFMNzIyLjYzLDQ5MDQuMjExQzY4NS44NzMsNDkwNC4yMTEgNjU2LjAzMSw0ODM5LjQgNjU2LjAzMSw0NzU5LjU3MUw2NTYuMDMxLDQyMTQuMzlDNjU2LjAzMSw0MTM0LjU2MiA2ODUuODczLDQwNjkuNzUxIDcyMi42Myw0MDY5Ljc1MUw5NzMuNjU3LDQwNjkuNzUxQzEwMTAuNDE0LDQwNjkuNzUxIDEwNDAuMjU2LDQxMzQuNTYyIDEwNDAuMjU2LDQyMTQuMzlaTTEwMTguNzM5LDQ1OTQuMzg5TDEwMTguNzM5LDQzODIuNjIyTDkxOS40MzgsNDM4Mi42MjJMOTE5LjQzOCw0NTk0LjM4OUwxMDE4LjczOSw0NTk0LjM4OVpNNjc3LjU0OCw0NjQzLjM0NEw2NzcuNTQ4LDQ3NTkuNTcxQzY3Ny41NDgsNDgxMy42MDkgNjk3Ljc0OCw0ODU3LjQ4MSA3MjIuNjMsNDg1Ny40ODFMNzc2Ljg0OCw0ODU3LjQ4MUw3NzYuODQ4LDQ2NDMuMzQ0TDY3Ny41NDgsNDY0My4zNDRaTTc5OS4zOSw0ODU3LjQ4MUw4OTYuODk3LDQ4NTcuNDgxTDg5Ni44OTcsNDY0My4zNDRMNzk5LjM5LDQ2NDMuMzQ0TDc5OS4zOSw0ODU3LjQ4MVpNODk2Ljg5Nyw0MTE2LjQ4TDc5OS4zOSw0MTE2LjQ4TDc5OS4zOSw0MzMzLjY2N0w4OTYuODk3LDQzMzMuNjY3TDg5Ni44OTcsNDExNi40OFpNOTE5LjQzOCw0ODU3LjQ4MUw5NzMuNjU3LDQ4NTcuNDgxQzk5OC41MzksNDg1Ny40ODEgMTAxOC43MzksNDgxMy42MDkgMTAxOC43MzksNDc1OS41NzFMMTAxOC43MzksNDY0My4zNDRMOTE5LjQzOCw0NjQzLjM0NEw5MTkuNDM4LDQ4NTcuNDgxWk0xMDE4LjczOSw0MzMzLjY2N0wxMDE4LjczOSw0MjE0LjM5QzEwMTguNzM5LDQxNjAuMzUyIDk5OC41MzksNDExNi40OCA5NzMuNjU3LDQxMTYuNDhMOTE5LjQzOCw0MTE2LjQ4TDkxOS40MzgsNDMzMy42NjdMMTAxOC43MzksNDMzMy42NjdaTTc3Ni44NDgsNDExNi40OEw3MjIuNjMsNDExNi40OEM2OTcuNzQ4LDQxMTYuNDggNjc3LjU0OCw0MTYwLjM1MiA2NzcuNTQ4LDQyMTQuMzlMNjc3LjU0OCw0MzMzLjY2N0w3NzYuODQ4LDQzMzMuNjY3TDc3Ni44NDgsNDExNi40OFpNNjc3LjU0OCw0MzgyLjYyMkw2NzcuNTQ4LDQ1OTQuMzg5TDc3Ni44NDgsNDU5NC4zODlMNzc2Ljg0OCw0MzgyLjYyMkw2NzcuNTQ4LDQzODIuNjIyWk04OTYuODk3LDQzODIuNjIyTDc5OS4zOSw0MzgyLjYyMkw3OTkuMzksNDU5NC4zODlMODk2Ljg5Nyw0NTk0LjM4OUw4OTYuODk3LDQzODIuNjIyWiIgc3R5bGU9ImZpbGw6cmdiKDI1LDI1LDI1KTsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

.grist-logo-grain {
  display: none !important;
}
