:root {
  --qbic-navy: #0b2545;
  --qbic-navy-dark: #081b34;
  --qbic-accent: #2f6fed;
  --qbic-danger: #e5484d;
  --qbic-text: #1a2233;
  --qbic-border: #e4e7ec;
  --qbic-pattern: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiB2aWV3Qm94PSIwIDAgMzAwIDMwMCI+PGcgc3Ryb2tlPSIjNGQ3ZmVkIiBzdHJva2Utd2lkdGg9IjEiIG9wYWNpdHk9IjAuMTYiPjxsaW5lIHgxPSIwIiB5MT0iMC4wIiB4Mj0iNTAiIHkyPSIwLjAiLz48bGluZSB4MT0iMCIgeTE9IjAuMCIgeDI9IjI1LjAiIHkyPSI0My41Ii8+PGxpbmUgeDE9IjUwIiB5MT0iMC4wIiB4Mj0iMTAwIiB5Mj0iMC4wIi8+PGxpbmUgeDE9IjUwIiB5MT0iMC4wIiB4Mj0iMjUuMCIgeTI9IjQzLjUiLz48bGluZSB4MT0iNTAiIHkxPSIwLjAiIHgyPSI3NS4wIiB5Mj0iNDMuNSIvPjxsaW5lIHgxPSIxMDAiIHkxPSIwLjAiIHgyPSIxNTAiIHkyPSIwLjAiLz48bGluZSB4MT0iMTAwIiB5MT0iMC4wIiB4Mj0iNzUuMCIgeTI9IjQzLjUiLz48bGluZSB4MT0iMTAwIiB5MT0iMC4wIiB4Mj0iMTI1LjAiIHkyPSI0My41Ii8+PGxpbmUgeDE9IjE1MCIgeTE9IjAuMCIgeDI9IjIwMCIgeTI9IjAuMCIvPjxsaW5lIHgxPSIxNTAiIHkxPSIwLjAiIHgyPSIxMjUuMCIgeTI9IjQzLjUiLz48bGluZSB4MT0iMTUwIiB5MT0iMC4wIiB4Mj0iMTc1LjAiIHkyPSI0My41Ii8+PGxpbmUgeDE9IjIwMCIgeTE9IjAuMCIgeDI9IjI1MCIgeTI9IjAuMCIvPjxsaW5lIHgxPSIyMDAiIHkxPSIwLjAiIHgyPSIxNzUuMCIgeTI9IjQzLjUiLz48bGluZSB4MT0iMjAwIiB5MT0iMC4wIiB4Mj0iMjI1LjAiIHkyPSI0My41Ii8+PGxpbmUgeDE9IjI1MCIgeTE9IjAuMCIgeDI9IjMwMCIgeTI9IjAuMCIvPjxsaW5lIHgxPSIyNTAiIHkxPSIwLjAiIHgyPSIyMjUuMCIgeTI9IjQzLjUiLz48bGluZSB4MT0iMjUwIiB5MT0iMC4wIiB4Mj0iMjc1LjAiIHkyPSI0My41Ii8+PGxpbmUgeDE9IjMwMCIgeTE9IjAuMCIgeDI9IjI3NS4wIiB5Mj0iNDMuNSIvPjxsaW5lIHgxPSIyNS4wIiB5MT0iNDMuNSIgeDI9Ijc1LjAiIHkyPSI0My41Ii8+PGxpbmUgeDE9IjI1LjAiIHkxPSI0My41IiB4Mj0iMCIgeTI9Ijg3LjAiLz48bGluZSB4MT0iMjUuMCIgeTE9IjQzLjUiIHgyPSI1MCIgeTI9Ijg3LjAiLz48bGluZSB4MT0iNzUuMCIgeTE9IjQzLjUiIHgyPSIxMjUuMCIgeTI9IjQzLjUiLz48bGluZSB4MT0iNzUuMCIgeTE9IjQzLjUiIHgyPSI1MCIgeTI9Ijg3LjAiLz48bGluZSB4MT0iNzUuMCIgeTE9IjQzLjUiIHgyPSIxMDAiIHkyPSI4Ny4wIi8+PGxpbmUgeDE9IjEyNS4wIiB5MT0iNDMuNSIgeDI9IjE3NS4wIiB5Mj0iNDMuNSIvPjxsaW5lIHgxPSIxMjUuMCIgeTE9IjQzLjUiIHgyPSIxMDAiIHkyPSI4Ny4wIi8+PGxpbmUgeDE9IjEyNS4wIiB5MT0iNDMuNSIgeDI9IjE1MCIgeTI9Ijg3LjAiLz48bGluZSB4MT0iMTc1LjAiIHkxPSI0My41IiB4Mj0iMjI1LjAiIHkyPSI0My41Ii8+PGxpbmUgeDE9IjE3NS4wIiB5MT0iNDMuNSIgeDI9IjE1MCIgeTI9Ijg3LjAiLz48bGluZSB4MT0iMTc1LjAiIHkxPSI0My41IiB4Mj0iMjAwIiB5Mj0iODcuMCIvPjxsaW5lIHgxPSIyMjUuMCIgeTE9IjQzLjUiIHgyPSIyNzUuMCIgeTI9IjQzLjUiLz48bGluZSB4MT0iMjI1LjAiIHkxPSI0My41IiB4Mj0iMjAwIiB5Mj0iODcuMCIvPjxsaW5lIHgxPSIyMjUuMCIgeTE9IjQzLjUiIHgyPSIyNTAiIHkyPSI4Ny4wIi8+PGxpbmUgeDE9IjI3NS4wIiB5MT0iNDMuNSIgeDI9IjI1MCIgeTI9Ijg3LjAiLz48bGluZSB4MT0iMjc1LjAiIHkxPSI0My41IiB4Mj0iMzAwIiB5Mj0iODcuMCIvPjxsaW5lIHgxPSIwIiB5MT0iODcuMCIgeDI9IjUwIiB5Mj0iODcuMCIvPjxsaW5lIHgxPSIwIiB5MT0iODcuMCIgeDI9IjI1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSI1MCIgeTE9Ijg3LjAiIHgyPSIxMDAiIHkyPSI4Ny4wIi8+PGxpbmUgeDE9IjUwIiB5MT0iODcuMCIgeDI9IjI1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSI1MCIgeTE9Ijg3LjAiIHgyPSI3NS4wIiB5Mj0iMTMwLjUiLz48bGluZSB4MT0iMTAwIiB5MT0iODcuMCIgeDI9IjE1MCIgeTI9Ijg3LjAiLz48bGluZSB4MT0iMTAwIiB5MT0iODcuMCIgeDI9Ijc1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIxMDAiIHkxPSI4Ny4wIiB4Mj0iMTI1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIxNTAiIHkxPSI4Ny4wIiB4Mj0iMjAwIiB5Mj0iODcuMCIvPjxsaW5lIHgxPSIxNTAiIHkxPSI4Ny4wIiB4Mj0iMTI1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIxNTAiIHkxPSI4Ny4wIiB4Mj0iMTc1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIyMDAiIHkxPSI4Ny4wIiB4Mj0iMjUwIiB5Mj0iODcuMCIvPjxsaW5lIHgxPSIyMDAiIHkxPSI4Ny4wIiB4Mj0iMTc1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIyMDAiIHkxPSI4Ny4wIiB4Mj0iMjI1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIyNTAiIHkxPSI4Ny4wIiB4Mj0iMzAwIiB5Mj0iODcuMCIvPjxsaW5lIHgxPSIyNTAiIHkxPSI4Ny4wIiB4Mj0iMjI1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIyNTAiIHkxPSI4Ny4wIiB4Mj0iMjc1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIzMDAiIHkxPSI4Ny4wIiB4Mj0iMjc1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIyNS4wIiB5MT0iMTMwLjUiIHgyPSI3NS4wIiB5Mj0iMTMwLjUiLz48bGluZSB4MT0iMjUuMCIgeTE9IjEzMC41IiB4Mj0iMCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9IjI1LjAiIHkxPSIxMzAuNSIgeDI9IjUwIiB5Mj0iMTc0LjAiLz48bGluZSB4MT0iNzUuMCIgeTE9IjEzMC41IiB4Mj0iMTI1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSI3NS4wIiB5MT0iMTMwLjUiIHgyPSI1MCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9Ijc1LjAiIHkxPSIxMzAuNSIgeDI9IjEwMCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9IjEyNS4wIiB5MT0iMTMwLjUiIHgyPSIxNzUuMCIgeTI9IjEzMC41Ii8+PGxpbmUgeDE9IjEyNS4wIiB5MT0iMTMwLjUiIHgyPSIxMDAiIHkyPSIxNzQuMCIvPjxsaW5lIHgxPSIxMjUuMCIgeTE9IjEzMC41IiB4Mj0iMTUwIiB5Mj0iMTc0LjAiLz48bGluZSB4MT0iMTc1LjAiIHkxPSIxMzAuNSIgeDI9IjIyNS4wIiB5Mj0iMTMwLjUiLz48bGluZSB4MT0iMTc1LjAiIHkxPSIxMzAuNSIgeDI9IjE1MCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9IjE3NS4wIiB5MT0iMTMwLjUiIHgyPSIyMDAiIHkyPSIxNzQuMCIvPjxsaW5lIHgxPSIyMjUuMCIgeTE9IjEzMC41IiB4Mj0iMjc1LjAiIHkyPSIxMzAuNSIvPjxsaW5lIHgxPSIyMjUuMCIgeTE9IjEzMC41IiB4Mj0iMjAwIiB5Mj0iMTc0LjAiLz48bGluZSB4MT0iMjI1LjAiIHkxPSIxMzAuNSIgeDI9IjI1MCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9IjI3NS4wIiB5MT0iMTMwLjUiIHgyPSIyNTAiIHkyPSIxNzQuMCIvPjxsaW5lIHgxPSIyNzUuMCIgeTE9IjEzMC41IiB4Mj0iMzAwIiB5Mj0iMTc0LjAiLz48bGluZSB4MT0iMCIgeTE9IjE3NC4wIiB4Mj0iNTAiIHkyPSIxNzQuMCIvPjxsaW5lIHgxPSIwIiB5MT0iMTc0LjAiIHgyPSIyNS4wIiB5Mj0iMjE3LjUiLz48bGluZSB4MT0iNTAiIHkxPSIxNzQuMCIgeDI9IjEwMCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9IjUwIiB5MT0iMTc0LjAiIHgyPSIyNS4wIiB5Mj0iMjE3LjUiLz48bGluZSB4MT0iNTAiIHkxPSIxNzQuMCIgeDI9Ijc1LjAiIHkyPSIyMTcuNSIvPjxsaW5lIHgxPSIxMDAiIHkxPSIxNzQuMCIgeDI9IjE1MCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9IjEwMCIgeTE9IjE3NC4wIiB4Mj0iNzUuMCIgeTI9IjIxNy41Ii8+PGxpbmUgeDE9IjEwMCIgeTE9IjE3NC4wIiB4Mj0iMTI1LjAiIHkyPSIyMTcuNSIvPjxsaW5lIHgxPSIxNTAiIHkxPSIxNzQuMCIgeDI9IjIwMCIgeTI9IjE3NC4wIi8+PGxpbmUgeDE9IjE1MCIgeTE9IjE3NC4wIiB4Mj0iMTI1LjAiIHkyPSIyMTcuNSIvPjxsaW5lIHgxPSIxNTAiIHkxPSIxNzQuMCIgeDI9IjE3NS4wIiB5Mj0iMjE3LjUiLz48bGluZSB4MT0iMjAwIiB5MT0iMTc0LjAiIHgyPSIyNTAiIHkyPSIxNzQuMCIvPjxsaW5lIHgxPSIyMDAiIHkxPSIxNzQuMCIgeDI9IjE3NS4wIiB5Mj0iMjE3LjUiLz48bGluZSB4MT0iMjAwIiB5MT0iMTc0LjAiIHgyPSIyMjUuMCIgeTI9IjIxNy41Ii8+PGxpbmUgeDE9IjI1MCIgeTE9IjE3NC4wIiB4Mj0iMzAwIiB5Mj0iMTc0LjAiLz48bGluZSB4MT0iMjUwIiB5MT0iMTc0LjAiIHgyPSIyMjUuMCIgeTI9IjIxNy41Ii8+PGxpbmUgeDE9IjI1MCIgeTE9IjE3NC4wIiB4Mj0iMjc1LjAiIHkyPSIyMTcuNSIvPjxsaW5lIHgxPSIzMDAiIHkxPSIxNzQuMCIgeDI9IjI3NS4wIiB5Mj0iMjE3LjUiLz48bGluZSB4MT0iMjUuMCIgeTE9IjIxNy41IiB4Mj0iNzUuMCIgeTI9IjIxNy41Ii8+PGxpbmUgeDE9IjI1LjAiIHkxPSIyMTcuNSIgeDI9IjAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSIyNS4wIiB5MT0iMjE3LjUiIHgyPSI1MCIgeTI9IjI2MS4wIi8+PGxpbmUgeDE9Ijc1LjAiIHkxPSIyMTcuNSIgeDI9IjEyNS4wIiB5Mj0iMjE3LjUiLz48bGluZSB4MT0iNzUuMCIgeTE9IjIxNy41IiB4Mj0iNTAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSI3NS4wIiB5MT0iMjE3LjUiIHgyPSIxMDAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSIxMjUuMCIgeTE9IjIxNy41IiB4Mj0iMTc1LjAiIHkyPSIyMTcuNSIvPjxsaW5lIHgxPSIxMjUuMCIgeTE9IjIxNy41IiB4Mj0iMTAwIiB5Mj0iMjYxLjAiLz48bGluZSB4MT0iMTI1LjAiIHkxPSIyMTcuNSIgeDI9IjE1MCIgeTI9IjI2MS4wIi8+PGxpbmUgeDE9IjE3NS4wIiB5MT0iMjE3LjUiIHgyPSIyMjUuMCIgeTI9IjIxNy41Ii8+PGxpbmUgeDE9IjE3NS4wIiB5MT0iMjE3LjUiIHgyPSIxNTAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSIxNzUuMCIgeTE9IjIxNy41IiB4Mj0iMjAwIiB5Mj0iMjYxLjAiLz48bGluZSB4MT0iMjI1LjAiIHkxPSIyMTcuNSIgeDI9IjI3NS4wIiB5Mj0iMjE3LjUiLz48bGluZSB4MT0iMjI1LjAiIHkxPSIyMTcuNSIgeDI9IjIwMCIgeTI9IjI2MS4wIi8+PGxpbmUgeDE9IjIyNS4wIiB5MT0iMjE3LjUiIHgyPSIyNTAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSIyNzUuMCIgeTE9IjIxNy41IiB4Mj0iMjUwIiB5Mj0iMjYxLjAiLz48bGluZSB4MT0iMjc1LjAiIHkxPSIyMTcuNSIgeDI9IjMwMCIgeTI9IjI2MS4wIi8+PGxpbmUgeDE9IjAiIHkxPSIyNjEuMCIgeDI9IjUwIiB5Mj0iMjYxLjAiLz48bGluZSB4MT0iMCIgeTE9IjI2MS4wIiB4Mj0iMjUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjUwIiB5MT0iMjYxLjAiIHgyPSIxMDAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSI1MCIgeTE9IjI2MS4wIiB4Mj0iMjUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjUwIiB5MT0iMjYxLjAiIHgyPSI3NS4wIiB5Mj0iMzA0LjUiLz48bGluZSB4MT0iMTAwIiB5MT0iMjYxLjAiIHgyPSIxNTAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSIxMDAiIHkxPSIyNjEuMCIgeDI9Ijc1LjAiIHkyPSIzMDQuNSIvPjxsaW5lIHgxPSIxMDAiIHkxPSIyNjEuMCIgeDI9IjEyNS4wIiB5Mj0iMzA0LjUiLz48bGluZSB4MT0iMTUwIiB5MT0iMjYxLjAiIHgyPSIyMDAiIHkyPSIyNjEuMCIvPjxsaW5lIHgxPSIxNTAiIHkxPSIyNjEuMCIgeDI9IjEyNS4wIiB5Mj0iMzA0LjUiLz48bGluZSB4MT0iMTUwIiB5MT0iMjYxLjAiIHgyPSIxNzUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjIwMCIgeTE9IjI2MS4wIiB4Mj0iMjUwIiB5Mj0iMjYxLjAiLz48bGluZSB4MT0iMjAwIiB5MT0iMjYxLjAiIHgyPSIxNzUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjIwMCIgeTE9IjI2MS4wIiB4Mj0iMjI1LjAiIHkyPSIzMDQuNSIvPjxsaW5lIHgxPSIyNTAiIHkxPSIyNjEuMCIgeDI9IjMwMCIgeTI9IjI2MS4wIi8+PGxpbmUgeDE9IjI1MCIgeTE9IjI2MS4wIiB4Mj0iMjI1LjAiIHkyPSIzMDQuNSIvPjxsaW5lIHgxPSIyNTAiIHkxPSIyNjEuMCIgeDI9IjI3NS4wIiB5Mj0iMzA0LjUiLz48bGluZSB4MT0iMzAwIiB5MT0iMjYxLjAiIHgyPSIyNzUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjI1LjAiIHkxPSIzMDQuNSIgeDI9Ijc1LjAiIHkyPSIzMDQuNSIvPjxsaW5lIHgxPSI3NS4wIiB5MT0iMzA0LjUiIHgyPSIxMjUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjEyNS4wIiB5MT0iMzA0LjUiIHgyPSIxNzUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjE3NS4wIiB5MT0iMzA0LjUiIHgyPSIyMjUuMCIgeTI9IjMwNC41Ii8+PGxpbmUgeDE9IjIyNS4wIiB5MT0iMzA0LjUiIHgyPSIyNzUuMCIgeTI9IjMwNC41Ii8+PC9nPjxnIGZpbGw9IiM3ZWE2ZmYiIG9wYWNpdHk9IjAuNTUiPjxjaXJjbGUgY3g9IjAiIGN5PSIwLjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjUwIiBjeT0iMC4wIiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxMDAiIGN5PSIwLjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjE1MCIgY3k9IjAuMCIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjAwIiBjeT0iMC4wIiByPSIyLjIiLz48Y2lyY2xlIGN4PSIyNTAiIGN5PSIwLjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjMwMCIgY3k9IjAuMCIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjUuMCIgY3k9IjQzLjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9Ijc1LjAiIGN5PSI0My41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxMjUuMCIgY3k9IjQzLjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjE3NS4wIiBjeT0iNDMuNSIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjI1LjAiIGN5PSI0My41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIyNzUuMCIgY3k9IjQzLjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjAiIGN5PSI4Ny4wIiByPSIyLjIiLz48Y2lyY2xlIGN4PSI1MCIgY3k9Ijg3LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjEwMCIgY3k9Ijg3LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjE1MCIgY3k9Ijg3LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjIwMCIgY3k9Ijg3LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjI1MCIgY3k9Ijg3LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjMwMCIgY3k9Ijg3LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjI1LjAiIGN5PSIxMzAuNSIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iNzUuMCIgY3k9IjEzMC41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxMjUuMCIgY3k9IjEzMC41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxNzUuMCIgY3k9IjEzMC41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIyMjUuMCIgY3k9IjEzMC41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIyNzUuMCIgY3k9IjEzMC41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIwIiBjeT0iMTc0LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjUwIiBjeT0iMTc0LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjEwMCIgY3k9IjE3NC4wIiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxNTAiIGN5PSIxNzQuMCIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjAwIiBjeT0iMTc0LjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjI1MCIgY3k9IjE3NC4wIiByPSIyLjIiLz48Y2lyY2xlIGN4PSIzMDAiIGN5PSIxNzQuMCIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjUuMCIgY3k9IjIxNy41IiByPSIyLjIiLz48Y2lyY2xlIGN4PSI3NS4wIiBjeT0iMjE3LjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjEyNS4wIiBjeT0iMjE3LjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjE3NS4wIiBjeT0iMjE3LjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjIyNS4wIiBjeT0iMjE3LjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjI3NS4wIiBjeT0iMjE3LjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjAiIGN5PSIyNjEuMCIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iNTAiIGN5PSIyNjEuMCIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMTAwIiBjeT0iMjYxLjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjE1MCIgY3k9IjI2MS4wIiByPSIyLjIiLz48Y2lyY2xlIGN4PSIyMDAiIGN5PSIyNjEuMCIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjUwIiBjeT0iMjYxLjAiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjMwMCIgY3k9IjI2MS4wIiByPSIyLjIiLz48Y2lyY2xlIGN4PSIyNS4wIiBjeT0iMzA0LjUiIHI9IjIuMiIvPjxjaXJjbGUgY3g9Ijc1LjAiIGN5PSIzMDQuNSIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMTI1LjAiIGN5PSIzMDQuNSIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMTc1LjAiIGN5PSIzMDQuNSIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjI1LjAiIGN5PSIzMDQuNSIgcj0iMi4yIi8+PGNpcmNsZSBjeD0iMjc1LjAiIGN5PSIzMDQuNSIgcj0iMi4yIi8+PC9nPjwvc3ZnPg==");
}

.v-application {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

.nav-header-inner.black {
  background: transparent !important;
}

.nav-header.v-toolbar {
  background: linear-gradient(90deg, var(--qbic-navy) 0%, var(--qbic-navy-dark) 100%) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
}

.v-navigation-drawer.primary {
  background: var(--qbic-navy) !important;
}

.contents {
  font-size: 16px;
  line-height: 1.7;
  color: var(--qbic-text);
}

.contents h1 {
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--qbic-navy);
  border-bottom: 3px solid var(--qbic-accent) !important;
  padding-bottom: 0.4em;
}

.contents h2 {
  font-weight: 700;
  color: var(--qbic-navy);
  margin-top: 1.8em;
}

.contents a {
  color: var(--qbic-accent) !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s ease;
}
.contents a:hover {
  border-bottom-color: var(--qbic-accent);
}

/* Plain, readable default table styling. NOTE: an earlier version of this file
   restyled every .contents table into borderless cards and hid <thead> — that was
   written for the old homepage link table and silently broke real data tables
   (headers vanished). Keep global table styling neutral; style specific tables
   via their own wrapper class instead. */
.contents table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.92em;
}
.contents table thead th {
  background: #f7f9fc;
  text-align: left;
  font-size: 0.74em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #667085;
  font-weight: 800;
  border-bottom: 1px solid var(--qbic-border);
  padding: 10px 14px;
}
.contents table td {
  border-bottom: 1px solid #f0f2f5;
  padding: 10px 14px;
}
.contents table tbody tr:hover { background: #fafbfd; }

.contents blockquote {
  background: #fff5f5;
  border-left: 4px solid var(--qbic-danger) !important;
  border-radius: 6px;
  padding: 4px 20px !important;
  margin: 1.5em 0 !important;
}
.contents blockquote p {
  margin: 8px 0 !important;
}
.contents blockquote:before {
  display: none;
}

.contents hr {
  border-color: var(--qbic-border) !important;
  margin: 2em 0 !important;
}

/* Vuetify's v-img (used for the site logo, both in the header and on the login
   page) draws itself via internal layered divs with a JS-driven fade transition
   and z-index:-1 — this races unpredictably (sometimes stuck at opacity:0,
   sometimes behind an opaque ancestor background) depending on load timing.
   Bypass it: paint the icon as a plain CSS background on the outer avatar
   container instead, and hide the internal v-img layers entirely. */
.org-logo, .login-logo .v-avatar {
  background-image: url('/qbic-icon.png') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.org-logo .v-image__image,
.login-logo .v-image__image {
  opacity: 0 !important;
}

/* ============ Login page ============ */
.login {
  position: relative !important;
  background-image: linear-gradient(135deg, var(--qbic-navy) 0%, var(--qbic-navy-dark) 100%), var(--qbic-pattern) !important;
  background-size: cover, 300px 300px !important;
  background-repeat: no-repeat, repeat !important;
}
.login::before {
  content: "Welcome to the QBIC Knowledge Base";
  position: absolute;
  left: 46%;
  right: 6%;
  bottom: 22%;
  color: #ffffff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-shadow: 0 2px 16px rgba(0,0,0,0.35);
  pointer-events: none;
}
.login::after {
  content: "Central hub for network operations, incident response, and internal documentation.";
  position: absolute;
  left: 46%;
  right: 10%;
  bottom: 12%;
  color: rgba(255,255,255,0.78);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.6;
  text-shadow: 0 1px 8px rgba(0,0,0,0.3);
  pointer-events: none;
}
@media (max-width: 960px) {
  .login::before, .login::after { display: none; }
}

.login-sd {
  background: #ffffff !important;
  box-shadow: 4px 0 24px rgba(11,37,69,0.15);
}

.login-logo .v-image__image {
  opacity: 1 !important;
}
.login-logo {
  position: relative !important;
  z-index: 0 !important;
  isolation: isolate;
}

.login-title {
  color: var(--qbic-navy) !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}

.login-subtitle {
  color: #667085 !important;
}

.login-form .v-input .v-input__slot {
  border-radius: 8px !important;
}

.login-form .v-btn.blue.darken-2 {
  background-color: var(--qbic-accent) !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}
.login-form .v-btn.blue.darken-2:hover {
  background-color: var(--qbic-navy) !important;
}

.login-logo .v-image__image {
  opacity: 1 !important;
}

/* =====================================================================
   QBIC page components (homepage + maintenance dashboard)
   Prefixed classes so nothing collides with Vuetify / Wiki.js internals.
   ===================================================================== */
.qbic-page { --amber:#f59e0b; --green:#12a150; --purple:#9333ea; --slate:#667085; }
.contents .qbic-page a { border-bottom: none !important; }

/* ---------- hero ---------- */
.qbic-hero {
  position: relative; overflow: hidden;
  background-image: linear-gradient(135deg, var(--qbic-navy) 0%, var(--qbic-navy-dark) 100%), var(--qbic-pattern);
  background-size: cover, 300px 300px;
  background-repeat: no-repeat, repeat;
  border-radius: 14px; padding: 34px 36px; margin: 0 0 26px;
  color: #fff;
}
.qbic-hero h1 {
  margin: 0 0 6px !important; color: #fff !important; font-size: 1.9rem; font-weight: 800;
  letter-spacing: -0.02em; border: none !important; padding: 0 !important;
}
.qbic-hero p { margin: 0; color: rgba(255,255,255,.8); font-size: 1.02rem; max-width: 62ch; }
.qbic-hero .qbic-kicker {
  display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #7ea6ff; margin-bottom: 10px;
}

/* ---------- section heading ---------- */
.qbic-sec {
  font-size: .78rem; text-transform: uppercase; letter-spacing: .07em;
  color: var(--slate); font-weight: 800; margin: 30px 0 14px;
  display: flex; align-items: center; gap: 10px;
}
.qbic-sec:after { content:''; flex:1; height:1px; background: var(--qbic-border); }

/* ---------- live maintenance strip ---------- */
.qbic-live { border:1px solid var(--qbic-border); border-radius:12px; background:#fff; overflow:hidden; }
.qbic-live-head {
  display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap;
  padding:14px 20px; border-bottom:1px solid var(--qbic-border); background:#fafbfd;
}
.qbic-live-head b { color: var(--qbic-navy); font-size:.95rem; }
.qbic-live-head .qbic-stamp { font-size:.76rem; color:var(--slate); }
.qbic-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:var(--qbic-border); }
.qbic-stat { background:#fff; padding:16px 20px; }
.qbic-stat .n { font-size:1.9rem; font-weight:800; line-height:1.1; letter-spacing:-.02em; color:var(--qbic-navy); }
.qbic-stat .l { font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--slate); font-weight:800; }
.qbic-stat.is-live .n { color: var(--qbic-danger); }
.qbic-stat.is-soon .n { color: var(--amber); }
.qbic-stat.is-attn .n { color: var(--purple); }
.qbic-live-list { padding:6px 20px 14px; }
.qbic-live-row { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px dashed var(--qbic-border); font-size:.9rem; }
.qbic-live-row:first-child { border-top:none; }
.qbic-live-row .cust { font-weight:700; color:var(--qbic-navy); }
.qbic-live-row .meta { color:var(--slate); font-size:.84rem; margin-left:auto; white-space:nowrap; }
.qbic-live-foot { padding:12px 20px; border-top:1px solid var(--qbic-border); background:#fafbfd; }
.qbic-empty { padding:20px; text-align:center; color:var(--slate); font-size:.9rem; }

/* ---------- pills ---------- */
.qbic-pill { border-radius:20px; padding:3px 11px; font-size:.68rem; font-weight:800;
             text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; display:inline-block; }
.qbic-pill.live  { background:#fee4e2; color:#b42318; }
.qbic-pill.soon  { background:#fef0c7; color:#b54708; }
.qbic-pill.sched { background:#e0eaff; color:#1a49b8; }
.qbic-pill.done  { background:#e8f5e9; color:#1b7b32; }
.qbic-pill.attn  { background:#f3e8ff; color:#7e22ce; }
.qbic-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:currentColor;
            margin-right:5px; vertical-align:middle; animation:qbicPulse 1.6s infinite; }
@keyframes qbicPulse { 0%,100%{opacity:1} 50%{opacity:.25} }

/* ---------- workspace cards ---------- */
.qbic-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(268px,1fr)); gap:14px; }
.qbic-card {
  display:block; background:#fff; border:1px solid var(--qbic-border); border-radius:12px;
  padding:20px; text-decoration:none !important; color:inherit !important;
  box-shadow:0 1px 2px rgba(16,24,40,.05); transition:box-shadow .15s ease, transform .15s ease, border-color .15s ease;
  position:relative;
}
a.qbic-card:hover { box-shadow:0 8px 22px rgba(16,24,40,.10); transform:translateY(-2px); border-color:#c7d5f5; }
.qbic-card .ico { font-size:1.5rem; line-height:1; display:block; margin-bottom:10px; }
.qbic-card .t { font-weight:800; color:var(--qbic-navy); font-size:1.02rem; margin-bottom:4px; }
.qbic-card .d { color:var(--slate); font-size:.86rem; line-height:1.5; }
.qbic-card.is-soon { background:#fbfcfe; border-style:dashed; opacity:.72; cursor:default; }
.qbic-card.is-soon .t { color:var(--slate); }
.qbic-card .tag {
  position:absolute; top:14px; right:14px; font-size:.62rem; font-weight:800; letter-spacing:.06em;
  text-transform:uppercase; padding:3px 8px; border-radius:20px;
}
.qbic-card .tag.ready { background:#e8f5e9; color:#1b7b32; }
.qbic-card .tag.soon  { background:#eef1f5; color:#8a93a5; }

/* ---------- external tools ---------- */
.qbic-tools { display:flex; flex-wrap:wrap; gap:10px; }
.qbic-tool {
  display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--qbic-border);
  border-radius:9px; padding:10px 16px; font-weight:700; font-size:.88rem;
  text-decoration:none !important; color:var(--qbic-navy) !important; transition:border-color .15s, box-shadow .15s;
}
.qbic-tool:hover { border-color:var(--qbic-accent); box-shadow:0 2px 8px rgba(47,111,237,.14); }
.qbic-tool .ext { color:var(--slate); font-weight:400; font-size:.78rem; }

/* =====================================================================
   Maintenance dashboard
   ===================================================================== */
.qm { --amber:#f59e0b; --green:#12a150; --purple:#9333ea; --slate:#667085; }
/* immune to any global table restyling */
.contents .qm table { border-collapse:collapse !important; border-spacing:0 !important; width:100%; }
.contents .qm table thead { display:table-header-group !important; }
.contents .qm table tr { background:transparent !important; box-shadow:none !important; border-radius:0 !important; }
.contents .qm table td, .contents .qm table th { border-radius:0 !important; white-space:normal !important; }

.qm-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(158px,1fr)); gap:12px; margin-bottom:22px; }
.qm-kpi { background:#fff; border:1px solid var(--qbic-border); border-radius:12px; padding:15px 18px;
          box-shadow:0 1px 2px rgba(16,24,40,.05); position:relative; overflow:hidden; }
.qm-kpi:before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--slate); }
.qm-kpi.live:before  { background:var(--qbic-danger); }
.qm-kpi.soon:before  { background:var(--amber); }
.qm-kpi.sched:before { background:var(--qbic-accent); }
.qm-kpi.attn:before  { background:var(--purple); }
.qm-kpi.done:before  { background:var(--green); }
.qm-kpi .n { font-size:1.85rem; font-weight:800; line-height:1.1; letter-spacing:-.02em; }
.qm-kpi .l { font-size:.71rem; text-transform:uppercase; letter-spacing:.06em; color:var(--slate); font-weight:800; }
.qm-kpi.live .n { color:var(--qbic-danger); }
.qm-kpi.attn .n { color:var(--purple); }

.qm-panel { background:#fff; border:1px solid var(--qbic-border); border-radius:12px; padding:18px 20px;
            box-shadow:0 1px 2px rgba(16,24,40,.05); margin-bottom:22px; }
.qm-panel h3 { margin:0 0 14px !important; font-size:.76rem; text-transform:uppercase; letter-spacing:.06em;
               color:var(--slate); font-weight:800; border:none !important; padding:0 !important; }
.qm-tl { position:relative; border-left:1px solid var(--qbic-border); border-right:1px solid var(--qbic-border); }
.qm-tl-day { position:absolute; top:0; bottom:18px; border-left:1px dashed #edf0f4; }
.qm-tl-day span { position:absolute; bottom:-17px; left:4px; font-size:.68rem; color:var(--slate); white-space:nowrap; }
.qm-tl-now { position:absolute; top:0; bottom:18px; width:2px; background:var(--qbic-danger); z-index:3; }
.qm-tl-now:after { content:'NOW'; position:absolute; top:-3px; left:4px; font-size:.6rem; font-weight:800;
                   color:var(--qbic-danger); background:#fff; padding:0 3px; }
.qm-tl-bar { position:absolute; height:20px; border-radius:5px; z-index:2; display:flex; align-items:center;
             padding:0 6px; overflow:hidden; }
.qm-tl-bar span { font-size:.67rem; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.qm-filters { display:flex; gap:9px; flex-wrap:wrap; align-items:center; margin-bottom:16px; }
.qm-filters input { flex:1; min-width:210px; padding:10px 14px; border:1px solid var(--qbic-border);
                    border-radius:8px; font-size:.9rem; font-family:inherit; background:#fff; }
.qm-filters input:focus { outline:2px solid var(--qbic-accent); outline-offset:-1px; border-color:transparent; }
.qm-chip { border:1px solid var(--qbic-border); background:#fff; border-radius:20px; padding:7px 15px;
           font-size:.8rem; font-weight:700; cursor:pointer; color:var(--slate); font-family:inherit; }
.qm-chip.on { background:var(--qbic-navy); border-color:var(--qbic-navy); color:#fff; }

.qm-sec { font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--slate);
          font-weight:800; margin:24px 0 12px; display:flex; align-items:center; gap:8px; }
.qm-sec .c { background:var(--qbic-border); color:var(--slate); border-radius:20px; padding:1px 9px; font-size:.73rem; }
.qm-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(400px,1fr)); gap:13px; }
.qm-card { background:#fff; border:1px solid var(--qbic-border); border-left:4px solid var(--slate);
           border-radius:10px; padding:16px 18px; box-shadow:0 1px 2px rgba(16,24,40,.05); }
.qm-card.k-live  { border-left-color:var(--qbic-danger); background:linear-gradient(90deg,#fff5f5 0%,#fff 42%); }
.qm-card.k-soon  { border-left-color:var(--amber); }
.qm-card.k-sched { border-left-color:var(--qbic-accent); }
.qm-card.k-attn  { border-left-color:var(--purple); }
.qm-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:9px; }
.qm-cust { font-size:1.04rem; font-weight:800; color:var(--qbic-navy); letter-spacing:-.01em; }
.qm-tkt { font-size:.77rem; color:var(--qbic-accent) !important; font-weight:700; }
.qm-why { font-size:.84rem; color:#7e22ce; font-weight:600; margin-bottom:6px; }
.qm-when { font-size:.89rem; margin:7px 0; }
.qm-when b { color:var(--qbic-navy); }
.qm-cd { font-weight:800; font-size:.9rem; }
.qm-cd.live { color:var(--qbic-danger); } .qm-cd.soon { color:var(--amber); } .qm-cd.sched { color:var(--qbic-accent); }
.qm-prog { height:5px; background:var(--qbic-border); border-radius:3px; overflow:hidden; margin:8px 0 4px; }
.qm-prog i { display:block; height:100%; background:var(--qbic-danger); border-radius:3px; }
.qm-circuits { display:flex; flex-wrap:wrap; gap:5px; margin:9px 0 7px; }
.qm-circuits code { background:#f1f4f9; border:1px solid var(--qbic-border); border-radius:5px;
                    padding:2px 7px; font-size:.73rem; color:var(--qbic-navy); }
.qm-reason { font-size:.85rem; color:var(--slate); border-top:1px dashed var(--qbic-border); padding-top:9px; margin-top:9px; }
.qm-flags { display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; font-size:.74rem; color:var(--slate); }
.qm-flags .ok { color:var(--green); font-weight:700; }
.qm-flags .no { color:var(--amber); font-weight:700; }
.qm-multi { background:var(--qbic-navy); color:#fff; border-radius:5px; padding:2px 7px;
            font-size:.66rem; font-weight:800; letter-spacing:.03em; }
.qm-tblwrap { overflow-x:auto; border:1px solid var(--qbic-border); border-radius:10px; background:#fff; }
.qm-mono { font-family:ui-monospace,Menlo,monospace; font-size:.8rem; color:var(--slate); }
.qm-none { text-align:center; color:var(--slate); padding:24px; font-size:.9rem; background:#fff;
           border:1px dashed var(--qbic-border); border-radius:10px; }
.qm-hidden { display:none !important; }

@media (max-width:640px){
  .qbic-hero { padding:24px 22px; }
  .qbic-hero h1 { font-size:1.5rem; }
  .qm-cards { grid-template-columns:1fr; }
}
@media print {
  .qm-filters, .qbic-hero { break-inside:avoid; }
  .qm-card, .qm-kpi, .qm-panel { break-inside:avoid; }
}

/* line-icon set used on the workspace cards */
.qbic-ico { width:26px; height:26px; display:block; margin-bottom:12px; color:var(--qbic-accent); }
.qbic-card.is-soon .qbic-ico { color:#a9b2c3; }
.qbic-tool .qbic-ico { width:18px; height:18px; margin:0; }
