/*!
 * StudioTask – © Fabian Isensee | studiotask.de
 */
/* ---------- Tokens ---------- */
:root {
  --brand-dark: #404348;
  --brand-light: #ebebeb;
  --accent: #a4fb8c;
  --accent-hover: #8ff272;
  --on-accent: #1f2a1b;

  --bg: #ebebeb;
  --surface: #ffffff;
  --surface-2: #f4f4f4;
  --surface-3: #e2e2e3;
  --sidebar: #404348;
  --sidebar-2: #4a4d53;
  --sidebar-text: #f3f3f3;
  --sidebar-muted: #a7aab0;
  --text: #2f3135;
  --text-2: #5c5f65;
  --muted: #8b8e94;
  --border: #dddddf;
  --border-strong: #c9cacd;
  --accent-text: #2f8a1c;
  --accent-soft: #e6fadf;
  --danger: #e5484d;
  --danger-soft: #fde8e8;
  --warn: #d98a0b;
  --shadow: 0 1px 2px rgba(30, 32, 36, .06), 0 1px 1px rgba(30, 32, 36, .04);
  --shadow-lg: 0 18px 50px -12px rgba(30, 32, 36, .28), 0 4px 12px rgba(30, 32, 36, .08);
  --radius: 10px;
  --font: "GT Walsheim Pro", "GT-Walsheim-Pro", "DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #2c2e32; --surface: #404348; --surface-2: #383b40; --surface-3: #4b4e54;
    --sidebar: #232528; --sidebar-2: #33363a; --sidebar-text: #f3f3f3; --sidebar-muted: #8f9298;
    --text: #f1f1f2; --text-2: #c9cbcf; --muted: #9a9da3; --border: #4d5056; --border-strong: #5c5f66;
    --accent-text: #a4fb8c; --accent-soft: rgba(164, 251, 140, .14);
    --danger: #ff6b6f; --danger-soft: rgba(255, 107, 111, .15); --warn: #f5b546;
    --shadow: 0 1px 2px rgba(0, 0, 0, .25); --shadow-lg: 0 18px 50px -12px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .3);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #2c2e32; --surface: #404348; --surface-2: #383b40; --surface-3: #4b4e54;
  --sidebar: #232528; --sidebar-2: #33363a; --sidebar-text: #f3f3f3; --sidebar-muted: #8f9298;
  --text: #f1f1f2; --text-2: #c9cbcf; --muted: #9a9da3; --border: #4d5056; --border-strong: #5c5f66;
  --accent-text: #a4fb8c; --accent-soft: rgba(164, 251, 140, .14);
  --danger: #ff6b6f; --danger-soft: rgba(255, 107, 111, .15); --warn: #f5b546;
  --shadow: 0 1px 2px rgba(0, 0, 0, .25); --shadow-lg: 0 18px 50px -12px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .3);
  color-scheme: dark;
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { height: 100%; margin: 0; }
body { background: var(--bg); color: var(--text); font: 14px/1.45 var(--font); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
input, textarea, select { background: transparent; border: 0; outline: none; }
svg.i { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
::selection { background: var(--accent); color: var(--on-accent); }

.app { display: flex; height: 100vh; height: 100dvh; overflow: hidden; }
.workspace { flex: 1; min-width: 0; display: flex; flex-direction: column; }

/* ---------- Sidebar ---------- */
.sidebar { width: 252px; flex: none; background: var(--sidebar); color: var(--sidebar-text); display: flex; flex-direction: column; padding: 18px 12px 12px; gap: 4px; overflow-y: auto; }
.logo { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding: 2px 10px 18px; }
.logo-mark { width: 92px; height: 32px; background: var(--sidebar-text); -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTY1cHgiIGhlaWdodD0iNThweCIgdmlld0JveD0iMCAwIDE2NSA1OCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTIuMiAoNjcxNDUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkNvbWJpbmVkIFNoYXBlQDF4PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IlN5bWJvbHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJNZW7DvF93aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM1LjAwMDAwMCwgLTExLjQyOTY4OCkiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgICAgICA8cGF0aCBkPSJNNDUuODgxMjUxNSwxNi4zNjE4NzggQzQ1LjE1MzQ4MzUsMTYuMzYxODc4IDQ0LjU2MDcxMzYsMTYuNTA4MDkzOCA0NC4xMDI5MjQsMTYuODAwNTI5NiBDNDMuNjQ1MTM0NCwxNy4wOTI5NjU1IDQzLjQxNjI0MzEsMTcuNjYwMjgyNiA0My40MTYyNDMxLDE4LjUwMjQ5OCBMNDMuNDE2MjQzMSwyMC4yMjIwMTI0IEw0Ny4zNjAyNTY2LDIwLjIyMjAxMjQgTDQ3LjM2MDI1NjYsMjQuNDY4MTYwMiBMNDMuNDE2MjQzMSwyNC40NjgxNjAyIEw0My40MTYyNDMxLDM3LjEzNjQxOTMgTDM4LjAyODQzODksMzcuMTM2NDE5MyBMMzguMDI4NDM4OSwyNC40NjgxNjAyIEwzNSwyNC40NjgxNjAyIEwzNSwyMC4yMjIwMTI0IEwzOC4wMjg0Mzg5LDIwLjIyMjAxMjQgTDM4LjAyODQzODksMTguNTcyNjgyMiBDMzguMDI4NDM4OSwxNi4yNTY1OSAzOC42NTY0MjI5LDE0LjYyNDgyMjMgMzkuOTEyNDA5NywxMy42NzczMyBDNDEuMTY4Mzk2NCwxMi43Mjk4Mzc4IDQyLjYxODA0MTYsMTIuMjU2MDk4NyA0NC4yNjEzODg4LDEyLjI1NjA5ODcgQzQ1LjUwNTYzNzQsMTIuMjU2MDk4NyA0Ni41Mzg1ODMsMTIuMzg0NzY4NiA0Ny4zNjAyNTY2LDEyLjY0MjExMjIgTDQ3LjM2MDI1NjYsMTYuNDY3MTU0NCBDNDcuMTQ4OTY5MSwxNi40NDM3NTk1IDQ2LjkyNTk0NjcsMTYuNDIwMzY1IDQ2LjY5MTE4MjgsMTYuMzk2OTcwMSBDNDYuNDU2NDE5LDE2LjM3MzU3NTMgNDYuMTg2NDQ0NSwxNi4zNjE4NzggNDUuODgxMjUxNSwxNi4zNjE4NzggWiBNNTYuNDQ5NzE2MiwzNy41OTI2MTcgQzU0LjgwNjM2OSwzNy41OTI2MTcgNTMuMzgwMTk5OSwzNy4yMDY2MDc0IDUyLjE3MTE2NTksMzYuNDM0NTc2NyBDNTAuOTYyMTMxOSwzNS42NjI1NDU5IDUwLjA0MDY5NzUsMzQuNjAzOTQzOSA0OS40MDY4MzUsMzMuMjU4NzM4OSBDNDguNzcyOTcyNSwzMS45MTM1MzM4IDQ4LjQ1NjA0NiwzMC4zODcwNDE0IDQ4LjQ1NjA0NiwyOC42NzkyMTU4IEM0OC40NTYwNDYsMjYuOTk0Nzg1MSA0OC43ODQ3MTA1LDI1LjQ3NDE0MTQgNDkuNDQyMDQ5NCwyNC4xMTcyMzg5IEM1MC4wOTkzODgzLDIyLjc2MDMzNjQgNTEuMDQ0Mjk4NywyMS42OTU4ODU3IDUyLjI3NjgwOTEsMjAuOTIzODU1IEM1My41MDkzMTk1LDIwLjE1MTgyNDIgNTQuOTIzNzUwNiwxOS43NjU4MTQ3IDU2LjUyMDE0NSwxOS43NjU4MTQ3IEM1Ny43MTc0NDA4LDE5Ljc2NTgxNDcgNTguNzg1NjAwNSwyMC4wMjMxNTQ0IDU5LjcyNDY1NiwyMC41Mzc4NDE1IEM2MC42NjM3MTE1LDIxLjA1MjUyODcgNjEuMzY3OTkyNiwyMS43NTQzNjQzIDYxLjgzNzUyMDQsMjIuNjQzMzY5NCBMNjEuODM3NTIwNCwyMC4yMjIwMTI0IEw2Ny4xOTAxMTAxLDIwLjIyMjAxMjQgTDY3LjE5MDExMDEsMzcuMTM2NDE5MyBMNjEuODM3NTIwNCwzNy4xMzY0MTkzIEw2MS44Mzc1MjA0LDM0Ljc1MDE1NDQgQzYxLjM2Nzk5MjYsMzUuNTkyMzY5OCA2MC42NDYxMDQ1LDM2LjI3NjY1OTUgNTkuNjcxODM0NCwzNi44MDMwNDQgQzU4LjY5NzU2NDMsMzcuMzI5NDI4NiA1Ny42MjM1MzU2LDM3LjU5MjYxNyA1Ni40NDk3MTYyLDM3LjU5MjYxNyBaIE01Ny45OTkxNTAxLDMzLjEzNTkxNjQgQzU5LjI5MDM1MTQsMzMuMTM1OTE2NCA2MC4yODgwODMsMzIuNzE0ODE1MSA2MC45OTIzNzQ2LDMxLjg3MjU5OTcgQzYxLjY5NjY2NjMsMzEuMDMwMzg0NCA2Mi4wNDg4MDY4LDI5Ljk2NTkzMzcgNjIuMDQ4ODA2OCwyOC42NzkyMTU4IEM2Mi4wNDg4MDY4LDI3LjQxNTg5MjggNjEuNjk2NjY2MywyNi4zNjMxMzk0IDYwLjk5MjM3NDYsMjUuNTIwOTI0MSBDNjAuMjg4MDgzLDI0LjY3ODcwODcgNTkuMjkwMzUxNCwyNC4yNTc2MDc0IDU3Ljk5OTE1MDEsMjQuMjU3NjA3NCBDNTYuNzc4Mzc3OSwyNC4yNTc2MDc0IDU1Ljc5ODI1MzQsMjQuNjY3MDExNSA1NS4wNTg3NDcyLDI1LjQ4NTgzMTkgQzU0LjMxOTI0MDksMjYuMzA0NjUyNCA1My45NDk0OTM0LDI3LjM2OTEwMzEgNTMuOTQ5NDkzNCwyOC42NzkyMTU4IEM1My45NDk0OTM0LDI5Ljk4OTMyODYgNTQuMzE5MjQwOSwzMS4wNTk2Mjc5IDU1LjA1ODc0NzIsMzEuODkwMTQ1OCBDNTUuNzk4MjUzNCwzMi43MjA2NjM3IDU2Ljc3ODM3NzksMzMuMTM1OTE2NCA1Ny45OTkxNTAxLDMzLjEzNTkxNjQgWiBNNzkuNzY1Nzk2LDM3LjY2MjgwMTIgQzc3LjkzNDYzNzcsMzcuNjYyODAxMiA3Ni4zMzIzOTgyLDM3LjI4ODQ4ODkgNzQuOTU5MDI5NSwzNi41Mzk4NTMxIEM3My41ODU2NjA4LDM1Ljc5MTIxNzIgNzIuNTI5MjM5MiwzNC43Mzg0NjM4IDcxLjc4OTczMywzMy4zODE1NjEzIEM3MS4wNTAyMjY3LDMyLjAyNDY1ODggNzAuNjgwNDc5MiwzMC40NTcyMjYgNzAuNjgwNDc5MiwyOC42NzkyMTU4IEM3MC42ODA0NzkyLDI2LjkwMTIwNTcgNzEuMDUwMjI2NywyNS4zMzk2MjE1IDcxLjc4OTczMywyMy45OTQ0MTY0IEM3Mi41MjkyMzkyLDIyLjY0OTIxMTMgNzMuNTg1NjYwOCwyMS42MDIzMDY2IDc0Ljk1OTAyOTUsMjAuODUzNjcwNyBDNzYuMzMyMzk4MiwyMC4xMDUwMzQ5IDc3LjkzNDYzNzcsMTkuNzMwNzIyNSA3OS43NjU3OTYsMTkuNzMwNzIyNSBDODIuMjc3NzY5NSwxOS43MzA3MjI1IDg0LjMyMDE4NDYsMjAuMzUwNjc3MyA4NS44OTMxMDI2LDIxLjU5MDYwNTUgQzg3LjQ2NjAyMDYsMjIuODMwNTMzNiA4OC4zNTgxMSwyNC41MTQ5MzkgODguNTY5Mzk3NSwyNi42NDM4NzIzIEw4My4xODE1OTMzLDI2LjY0Mzg3MjMgQzgyLjk5Mzc4MjIsMjUuODQ4NDQ2NyA4Mi42MjQwMzQ3LDI1LjI1MTg4NjQgODIuMDcyMzM5NiwyNC44NTQxNzM2IEM4MS41MjA2NDQ0LDI0LjQ1NjQ2MDggODAuNzYzNTQyMywyNC4yNTc2MDc0IDc5LjgwMTAxMDQsMjQuMjU3NjA3NCBDNzguNjI3MTkxLDI0LjI1NzYwNzQgNzcuNzExNjI1NSwyNC42NDM2MTcgNzcuMDU0Mjg2NywyNS40MTU2NDc3IEM3Ni4zOTY5NDc4LDI2LjE4NzY3ODQgNzYuMDY4MjgzMywyNy4yNzU1MjM2IDc2LjA2ODI4MzMsMjguNjc5MjE1OCBDNzYuMDY4MjgzMywzMC4wODI5MDgxIDc2LjM5Njk0NzgsMzEuMTcwNzUzMiA3Ny4wNTQyODY3LDMxLjk0Mjc4NCBDNzcuNzExNjI1NSwzMi43MTQ4MTQ3IDc4LjYyNzE5MSwzMy4xMDA4MjQzIDc5LjgwMTAxMDQsMzMuMTAwODI0MyBDODAuNzYzNTQyMywzMy4xMDA4MjQzIDgxLjUyMDY0NDQsMzIuOTEzNjY4MSA4Mi4wNzIzMzk2LDMyLjUzOTM1MDIgQzgyLjYyNDAzNDcsMzIuMTY1MDMyMyA4Mi45OTM3ODIyLDMxLjYwMzU2MzggODMuMTgxNTkzMywzMC44NTQ5Mjc5IEw4OC41NjkzOTc1LDMwLjg1NDkyNzkgQzg4LjM1ODExLDMyLjkzNzA3MTQgODcuNDY2MDIwNiwzNC41OTIyMzM3IDg1Ljg5MzEwMjYsMzUuODIwNDY0NCBDODQuMzIwMTg0NiwzNy4wNDg2OTUxIDgyLjI3Nzc2OTUsMzcuNjYyODAxMiA3OS43NjU3OTYsMzcuNjYyODAxMiBaIE0xMDEuMDA0MjI2LDMyLjk2MDQ1NTggQzEwMS43NTU0NywzMi45NjA0NTU4IDEwMi4zNzc1ODUsMzIuOTI1MzY0IDEwMi44NzA1ODksMzIuODU1MTc5NCBMMTAyLjg3MDU4OSwzNy4xMzY0MTkzIEMxMDEuODM3NjI4LDM3LjMyMzU3ODMgMTAwLjY0MDM1LDM3LjQxNzE1NjMgOTkuMjc4NzE5OCwzNy40MTcxNTYzIEM5Ny41NjQ5NDM1LDM3LjQxNzE1NjMgOTYuMTMyOTA1MywzNy4wMDc3NTIyIDk0Ljk4MjU2MjMsMzYuMTg4OTMxOCBDOTMuODMyMjE5MywzNS4zNzAxMTEzIDkzLjI1NzA1NjQsMzMuNzA5MTAwNCA5My4yNTcwNTY0LDMxLjIwNTg0OTIgTDkzLjI1NzA1NjQsMjQuNDY4MTYwMiBMOTAuNTgwNzYxNSwyNC40NjgxNjAyIEw5MC41ODA3NjE1LDIwLjIyMjAxMjQgTDkzLjI1NzA1NjQsMjAuMjIyMDEyNCBMOTMuMjU3MDU2NCwxNS4yMDM4Mzc3IEw5OC42NDQ4NjA1LDE1LjIwMzgzNzcgTDk4LjY0NDg2MDUsMjAuMjIyMDEyNCBMMTAyLjQ4MzIzMSwyMC4yMjIwMTI0IEwxMDIuNDgzMjMxLDI0LjQ2ODE2MDIgTDk4LjY0NDg2MDUsMjQuNDY4MTYwMiBMOTguNjQ0ODYwNSwzMC4wODI5MDEgQzk4LjY0NDg2MDUsMzEuMjI5MjQ5NyA5OC44NDQ0MDY4LDMxLjk5NTQyMDIgOTkuMjQzNTA1NCwzMi4zODE0MzU2IEM5OS42NDI2MDQsMzIuNzY3NDUxIDEwMC4yMjk1MDUsMzIuOTYwNDU1OCAxMDEuMDA0MjI2LDMyLjk2MDQ1NTggWiBNMTE0Ljk4ODQ4OCwzNy42NjI4MDEyIEMxMTMuMDg2OSwzNy42NjI4MDEyIDExMS40MjAxMDIsMzcuMjc2NzkxNyAxMDkuOTg4MDQyLDM2LjUwNDc2MDkgQzEwOC41NTU5ODIsMzUuNzMyNzMwMiAxMDcuNDU4NDc4LDM0LjY2ODI3OTYgMTA2LjY5NTQ5NSwzMy4zMTEzNzcxIEMxMDUuOTMyNTEzLDMxLjk1NDQ3NDYgMTA1LjU1MTAyNywzMC40MTA0MzYzIDEwNS41NTEwMjcsMjguNjc5MjE1OCBDMTA1LjU1MTAyNywyNi45NDc5OTU0IDEwNS45MzI1MTMsMjUuNDA5ODA1NyAxMDYuNjk1NDk1LDI0LjA2NDYwMDcgQzEwNy40NTg0NzgsMjIuNzE5Mzk1NiAxMDguNTU1OTgyLDIxLjY2MDc5MzYgMTA5Ljk4ODA0MiwyMC44ODg3NjI4IEMxMTEuNDIwMTAyLDIwLjExNjczMjEgMTEzLjA4NjksMTkuNzMwNzIyNSAxMTQuOTg4NDg4LDE5LjczMDcyMjUgQzExNi44OTAwNzUsMTkuNzMwNzIyNSAxMTguNTUxMDA1LDIwLjExNjczMjEgMTE5Ljk3MTMyNiwyMC44ODg3NjI4IEMxMjEuMzkxNjQ4LDIxLjY2MDc5MzYgMTIyLjQ4MzI4MywyMi43MjUyNDQyIDEyMy4yNDYyNjYsMjQuMDgyMTQ2NyBDMTI0LjAwOTI0OSwyNS40MzkwNDkyIDEyNC4zOTA3MzQsMjYuOTcxMzkwMyAxMjQuMzkwNzM0LDI4LjY3OTIxNTggQzEyNC4zOTA3MzQsMzAuNDEwNDM2MyAxMjQuMDA5MjQ5LDMxLjk1NDQ3NDYgMTIzLjI0NjI2NiwzMy4zMTEzNzcxIEMxMjIuNDgzMjgzLDM0LjY2ODI3OTYgMTIxLjM5MTY0OCwzNS43MzI3MzAyIDExOS45NzEzMjYsMzYuNTA0NzYwOSBDMTE4LjU1MTAwNSwzNy4yNzY3OTE3IDExNi44OTAwNzUsMzcuNjYyODAxMiAxMTQuOTg4NDg4LDM3LjY2MjgwMTIgWiBNMTE0Ljk4ODQ4OCwzMy4xMDA4MjQzIEMxMTYuMjMyNzM2LDMzLjEwMDgyNDMgMTE3LjIxODczLDMyLjY5MTQyMDIgMTE3Ljk0NjQ5OCwzMS44NzI1OTk3IEMxMTguNjc0MjY2LDMxLjA1Mzc3OTIgMTE5LjAzODE0NSwyOS45ODkzMjg2IDExOS4wMzgxNDUsMjguNjc5MjE1OCBDMTE5LjAzODE0NSwyNy4zNjkxMDMxIDExOC42NzQyNjYsMjYuMzA0NjUyNCAxMTcuOTQ2NDk4LDI1LjQ4NTgzMTkgQzExNy4yMTg3MywyNC42NjcwMTE1IDExNi4yMzI3MzYsMjQuMjU3NjA3NCAxMTQuOTg4NDg4LDI0LjI1NzYwNzQgQzExMy43MjA3NjMsMjQuMjU3NjA3NCAxMTIuNzI4OSwyNC42NjcwMTE1IDExMi4wMTI4NzEsMjUuNDg1ODMxOSBDMTExLjI5Njg0MSwyNi4zMDQ2NTI0IDExMC45Mzg4MzEsMjcuMzY5MTAzMSAxMTAuOTM4ODMxLDI4LjY3OTIxNTggQzExMC45Mzg4MzEsMjkuOTg5MzI4NiAxMTEuMjk2ODQxLDMxLjA1Mzc3OTIgMTEyLjAxMjg3MSwzMS44NzI1OTk3IEMxMTIuNzI4OSwzMi42OTE0MjAyIDExMy43MjA3NjMsMzMuMTAwODI0MyAxMTQuOTg4NDg4LDMzLjEwMDgyNDMgWiBNMTI4LjMzODg5MSwyMC4yMjIwMTI0IEwxMzMuNzI2Njk1LDIwLjIyMjAxMjQgTDEzMy43MjY2OTUsMjMuNzY2MzE3NiBDMTM0LjAwODQxMSwyMi41NDk3ODQzIDEzNC41ODk0NDMsMjEuNjA4MTU0OSAxMzUuNDY5ODA4LDIwLjk0MTQwMSBDMTM2LjM1MDE3MiwyMC4yNzQ2NDcyIDEzNy4zMzAyOTcsMTkuOTQxMjc1MyAxMzguNDEwMjExLDE5Ljk0MTI3NTMgQzEzOC45NzM2NDQsMTkuOTQxMjc1MyAxMzkuNDQzMTY1LDE5Ljk4ODA2NDQgMTM5LjgxODc4NywyMC4wODE2NDM4IEwxMzkuODE4Nzg3LDI1LjA2NDcyNjQgQzEzOS4xODQ5MjUsMjQuOTk0NTQxOCAxMzguNjQ0OTc2LDI0Ljk1OTQ1IDEzOC4xOTg5MjQsMjQuOTU5NDUgQzEzNi44MTM4MTcsMjQuOTU5NDUgMTM1LjcyMjE4MiwyNS40MTU2NDMxIDEzNC45MjM5ODUsMjYuMzI4MDQzMSBDMTM0LjEyNTc4NywyNy4yNDA0NDMgMTMzLjcyNjY5NSwyOC42Njc1MDg3IDEzMy43MjY2OTUsMzAuNjA5MjgzIEwxMzMuNzI2Njk1LDM3LjEzNjQxOTMgTDEyOC4zMzg4OTEsMzcuMTM2NDE5MyBMMTI4LjMzODg5MSwyMC4yMjIwMTI0IFogTTgxLjIxODkwODEsNDQuMzU0ODcwNSBDODIuNzQ0ODczMyw0NC4zNTQ4NzA1IDg0LjEwMDYxNDQsNDQuNzI5MTgyOSA4NS4yODYxNzIsNDUuNDc3ODE4NyBDODYuNDcxNzI5Niw0Ni4yMjY0NTQ2IDg3LjM5MzE2NCw0Ny4yNzMzNTkzIDg4LjA1MDUwMjksNDguNjE4NTY0NCBDODguNzA3ODQxNyw0OS45NjM3Njk1IDg5LjAzNjUwNjIsNTEuNTEzNjU2NCA4OS4wMzY1MDYyLDUzLjI2ODI3MTcgQzg5LjAzNjUwNjIsNTUuMDIyODg3IDg4LjcwMTk3MjcsNTYuNTcyNzczOSA4OC4wMzI4OTU3LDU3LjkxNzk3OSBDODcuMzYzODE4Niw1OS4yNjMxODQxIDg2LjQyNDc3NzIsNjAuMzEwMDg4OCA4NS4yMTU3NDMyLDYxLjA1ODcyNDcgQzg0LjAwNjcwOTIsNjEuODA3MzYwNSA4Mi42Mjc0OTIxLDYyLjE4MTY3MjkgODEuMDc4MDUwNCw2Mi4xODE2NzI5IEM3OS44NTcyNzgzLDYyLjE4MTY3MjkgNzguNzY1NjQyNiw2MS45MTI2MzU5IDc3LjgwMzExMDcsNjEuMzc0NTUzOSBDNzYuODQwNTc4OCw2MC44MzY0NzE4IDc2LjEzNjI5NzcsNjAuMTU4MDMwOCA3NS42OTAyNDYzLDU5LjMzOTIxMDMgTDc1LjY5MDI0NjMsNjguNzQzOTAxMyBMNzAuMzAyNDQyMiw2OC43NDM5MDEzIEw3MC4zMDI0NDIyLDQ0LjgxMTA2ODIgTDc1LjY5MDI0NjMsNDQuODExMDY4MiBMNzUuNjkwMjQ2Myw0Ny4yMzI0MjUyIEM3Ni4xMzYyOTc3LDQ2LjM5MDIwOTkgNzYuODY0MDU0OCw0NS43MDAwNzE2IDc3Ljg3MzUzOTUsNDUuMTYxOTg5NSBDNzguODgzMDI0Miw0NC42MjM5MDc1IDc5Ljk5ODEzNTksNDQuMzU0ODcwNSA4MS4yMTg5MDgxLDQ0LjM1NDg3MDUgWiBNNzkuNTI4NjE2Niw1Ny43MjQ5NzIzIEM4MC43MDI0MzYsNTcuNzI0OTcyMyA4MS42NjQ5NTM1LDU3LjMwOTcxOTYgODIuNDE2MTk3OSw1Ni40NzkyMDE2IEM4My4xNjc0NDIzLDU1LjY0ODY4MzcgODMuNTQzMDU4OSw1NC41NzgzODQ1IDgzLjU0MzA1ODksNTMuMjY4MjcxNyBDODMuNTQzMDU4OSw1MS45NTgxNTg5IDgzLjE2NzQ0MjMsNTAuODkzNzA4MyA4Mi40MTYxOTc5LDUwLjA3NDg4NzggQzgxLjY2NDk1MzUsNDkuMjU2MDY3MyA4MC43MDI0MzYsNDguODQ2NjYzMiA3OS41Mjg2MTY2LDQ4Ljg0NjY2MzIgQzc4LjMwNzg0NDQsNDguODQ2NjYzMiA3Ny4zMjE4NTA5LDQ5LjI1NjA2NzMgNzYuNTcwNjA2NSw1MC4wNzQ4ODc4IEM3NS44MTkzNjIsNTAuODkzNzA4MyA3NS40NDM3NDU1LDUxLjk1ODE1ODkgNzUuNDQzNzQ1NSw1My4yNjgyNzE3IEM3NS40NDM3NDU1LDU0LjYwMTc3OTMgNzUuODI1MjMxLDU1LjY3NzkyNzIgNzYuNTg4MjEzNyw1Ni40OTY3NDc3IEM3Ny4zNTExOTYzLDU3LjMxNTU2ODIgNzguMzMxMzIwOCw1Ny43MjQ5NzIzIDc5LjUyODYxNjYsNTcuNzI0OTcyMyBaIE05Mi4yODg0NTMxLDQ0LjgxMTA2ODIgTDk3LjY3NjI1NzIsNDQuODExMDY4MiBMOTcuNjc2MjU3Miw0OC4zNTUzNzM0IEM5Ny45NTc5NzM5LDQ3LjEzODg0MDEgOTguNTM5MDA1OCw0Ni4xOTcyMTA3IDk5LjQxOTM3MDMsNDUuNTMwNDU2OSBDMTAwLjI5OTczNSw0NC44NjM3MDMxIDEwMS4yNzk4NTksNDQuNTMwMzMxMiAxMDIuMzU5NzczLDQ0LjUzMDMzMTIgQzEwMi45MjMyMDcsNDQuNTMwMzMxMiAxMDMuMzkyNzI3LDQ0LjU3NzEyMDIgMTAzLjc2ODM0OSw0NC42NzA2OTk3IEwxMDMuNzY4MzQ5LDQ5LjY1Mzc4MjMgQzEwMy4xMzQ0ODcsNDkuNTgzNTk3NiAxMDIuNTk0NTM4LDQ5LjU0ODUwNTkgMTAyLjE0ODQ4Nyw0OS41NDg1MDU5IEMxMDAuNzYzMzgsNDkuNTQ4NTA1OSA5OS42NzE3NDQyLDUwLjAwNDY5OSA5OC44NzM1NDcsNTAuOTE3MDk5IEM5OC4wNzUzNDk4LDUxLjgyOTQ5ODkgOTcuNjc2MjU3Miw1My4yNTY1NjQ2IDk3LjY3NjI1NzIsNTUuMTk4MzM4OSBMOTcuNjc2MjU3Miw2MS43MjU0NzUyIEw5Mi4yODg0NTMxLDYxLjcyNTQ3NTIgTDkyLjI4ODQ1MzEsNDQuODExMDY4MiBaIE0xMTQuNjYxODIyLDYyLjI1MTg1NzEgQzExMi43NjAyMzUsNjIuMjUxODU3MSAxMTEuMDkzNDM2LDYxLjg2NTg0NzUgMTA5LjY2MTM3Nyw2MS4wOTM4MTY4IEMxMDguMjI5MzE3LDYwLjMyMTc4NjEgMTA3LjEzMTgxMiw1OS4yNTczMzU0IDEwNi4zNjg4Myw1Ny45MDA0MzI5IEMxMDUuNjA1ODQ3LDU2LjU0MzUzMDQgMTA1LjIyNDM2Miw1NC45OTk0OTIxIDEwNS4yMjQzNjIsNTMuMjY4MjcxNyBDMTA1LjIyNDM2Miw1MS41MzcwNTEzIDEwNS42MDU4NDcsNDkuOTk4ODYxNiAxMDYuMzY4ODMsNDguNjUzNjU2NSBDMTA3LjEzMTgxMiw0Ny4zMDg0NTE1IDEwOC4yMjkzMTcsNDYuMjQ5ODQ5NCAxMDkuNjYxMzc3LDQ1LjQ3NzgxODcgQzExMS4wOTM0MzYsNDQuNzA1Nzg4IDExMi43NjAyMzUsNDQuMzE5Nzc4NCAxMTQuNjYxODIyLDQ0LjMxOTc3ODQgQzExNi41NjM0MSw0NC4zMTk3Nzg0IDExOC4yMjQzMzksNDQuNzA1Nzg4IDExOS42NDQ2NjEsNDUuNDc3ODE4NyBDMTIxLjA2NDk4Miw0Ni4yNDk4NDk0IDEyMi4xNTY2MTgsNDcuMzE0MzAwMSAxMjIuOTE5NjAxLDQ4LjY3MTIwMjYgQzEyMy42ODI1ODMsNTAuMDI4MTA1MSAxMjQuMDY0MDY5LDUxLjU2MDQ0NjEgMTI0LjA2NDA2OSw1My4yNjgyNzE3IEMxMjQuMDY0MDY5LDU0Ljk5OTQ5MjEgMTIzLjY4MjU4Myw1Ni41NDM1MzA0IDEyMi45MTk2MDEsNTcuOTAwNDMyOSBDMTIyLjE1NjYxOCw1OS4yNTczMzU0IDEyMS4wNjQ5ODIsNjAuMzIxNzg2MSAxMTkuNjQ0NjYxLDYxLjA5MzgxNjggQzExOC4yMjQzMzksNjEuODY1ODQ3NSAxMTYuNTYzNDEsNjIuMjUxODU3MSAxMTQuNjYxODIyLDYyLjI1MTg1NzEgWiBNMTE0LjY2MTgyMiw1Ny42ODk4ODAxIEMxMTUuOTA2MDcxLDU3LjY4OTg4MDEgMTE2Ljg5MjA2NSw1Ny4yODA0NzYxIDExNy42MTk4MzMsNTYuNDYxNjU1NiBDMTE4LjM0NzYwMSw1NS42NDI4MzUxIDExOC43MTE0NzksNTQuNTc4Mzg0NSAxMTguNzExNDc5LDUzLjI2ODI3MTcgQzExOC43MTE0NzksNTEuOTU4MTU4OSAxMTguMzQ3NjAxLDUwLjg5MzcwODMgMTE3LjYxOTgzMyw1MC4wNzQ4ODc4IEMxMTYuODkyMDY1LDQ5LjI1NjA2NzMgMTE1LjkwNjA3MSw0OC44NDY2NjMyIDExNC42NjE4MjIsNDguODQ2NjYzMiBDMTEzLjM5NDA5Nyw0OC44NDY2NjMyIDExMi40MDIyMzUsNDkuMjU2MDY3MyAxMTEuNjg2MjA1LDUwLjA3NDg4NzggQzExMC45NzAxNzUsNTAuODkzNzA4MyAxMTAuNjEyMTY2LDUxLjk1ODE1ODkgMTEwLjYxMjE2Niw1My4yNjgyNzE3IEMxMTAuNjEyMTY2LDU0LjU3ODM4NDUgMTEwLjk3MDE3NSw1NS42NDI4MzUxIDExMS42ODYyMDUsNTYuNDYxNjU1NiBDMTEyLjQwMjIzNSw1Ny4yODA0NzYxIDExMy4zOTQwOTcsNTcuNjg5ODgwMSAxMTQuNjYxODIyLDU3LjY4OTg4MDEgWiBNMTQ1LjUzOTQ3MSw0NS43OTM2NDc5IEwxNDUuNTA0MjU2LDQ1Ljc5MzY0NzkgTDE0NS41MDQyNTYsNjEuNzI1NDc1MiBMMTQwLjE1MTY2Nyw2MS43MjU0NzUyIEwxNDAuMTUxNjY3LDU5LjMzOTIxMDMgQzEzOS42ODIxMzksNjAuMTgxNDI1NiAxMzguOTYwMjUxLDYwLjg2NTcxNTMgMTM3Ljk4NTk4MSw2MS4zOTIwOTk5IEMxMzcuMDExNzExLDYxLjkxODQ4NDUgMTM1LjkzNzY4Miw2Mi4xODE2NzI5IDEzNC43NjM4NjMsNjIuMTgxNjcyOSBDMTMzLjEyMDUxNSw2Mi4xODE2NzI5IDEzMS42OTQzNDYsNjEuNzk1NjYzMyAxMzAuNDg1MzEyLDYxLjAyMzYzMjUgQzEyOS4yNzYyNzgsNjAuMjUxNjAxOCAxMjguMzU0ODQ0LDU5LjE5Mjk5OTggMTI3LjcyMDk4MSw1Ny44NDc3OTQ3IEMxMjcuMDg3MTE5LDU2LjUwMjU4OTcgMTI2Ljc3MDE5Miw1NC45NzYwOTczIDEyNi43NzAxOTIsNTMuMjY4MjcxNyBDMTI2Ljc3MDE5Miw1MS41ODM4NDEgMTI3LjA5ODg1Nyw1MC4wNjMxOTcyIDEyNy43NTYxOTYsNDguNzA2Mjk0NyBDMTI4LjQxMzUzNSw0Ny4zNDkzOTIyIDEyOS4zNTg0NDUsNDYuMjg0OTQxNiAxMzAuNTkwOTU1LDQ1LjUxMjkxMDggQzEzMS44MjM0NjYsNDQuNzQwODgwMSAxMzMuMjM3ODk3LDQ0LjM1NDg3MDUgMTM0LjgzNDI5MSw0NC4zNTQ4NzA1IEMxMzYuMDMxNTg3LDQ0LjM1NDg3MDUgMTM3LjA5OTc0Nyw0NC42MTIyMTAzIDEzOC4wMzg4MDIsNDUuMTI2ODk3NCBDMTM4Ljk3Nzg1OCw0NS42NDE1ODQ2IDEzOS42ODIxMzksNDYuMzQzNDIwMiAxNDAuMTUxNjY3LDQ3LjIzMjQyNTIgTDE0MC4xNTE2NjcsMzcuMTYwOTgzOCBMMTQ1LjUzOTQ3MSwzNy4xNjA5ODM4IEwxNDUuNTM5NDcxLDQ1Ljc5MzY0NzkgWiBNMTM2LjMxMzI5Niw1Ny43MjQ5NzIzIEMxMzcuNjA0NDk4LDU3LjcyNDk3MjMgMTM4LjYwMjIyOSw1Ny4zMDM4NzA5IDEzOS4zMDY1MjEsNTYuNDYxNjU1NiBDMTQwLjAxMDgxMyw1NS42MTk0NDAyIDE0MC4zNjI5NTMsNTQuNTU0OTg5NiAxNDAuMzYyOTUzLDUzLjI2ODI3MTcgQzE0MC4zNjI5NTMsNTIuMDA0OTQ4NyAxNDAuMDEwODEzLDUwLjk1MjE5NTMgMTM5LjMwNjUyMSw1MC4xMDk5Nzk5IEMxMzguNjAyMjI5LDQ5LjI2Nzc2NDYgMTM3LjYwNDQ5OCw0OC44NDY2NjMyIDEzNi4zMTMyOTYsNDguODQ2NjYzMiBDMTM1LjA5MjUyNCw0OC44NDY2NjMyIDEzNC4xMTI0LDQ5LjI1NjA2NzMgMTMzLjM3Mjg5NCw1MC4wNzQ4ODc4IEMxMzIuNjMzMzg3LDUwLjg5MzcwODMgMTMyLjI2MzY0LDUxLjk1ODE1ODkgMTMyLjI2MzY0LDUzLjI2ODI3MTcgQzEzMi4yNjM2NCw1NC41NzgzODQ1IDEzMi42MzMzODcsNTUuNjQ4NjgzNyAxMzMuMzcyODk0LDU2LjQ3OTIwMTYgQzEzNC4xMTI0LDU3LjMwOTcxOTYgMTM1LjA5MjUyNCw1Ny43MjQ5NzIzIDEzNi4zMTMyOTYsNTcuNzI0OTcyMyBaIE0xNTUuMzIzNjksNjIuMTgxNjcyOSBDMTUzLjMwNDcyMSw2Mi4xODE2NzI5IDE1MS43NTUzMDIsNjEuNTc5MjY0IDE1MC42NzUzODgsNjAuMzc0NDI4MSBDMTQ5LjU5NTQ3NSw1OS4xNjk1OTIzIDE0OS4wNTU1MjYsNTcuNDY3NjQxIDE0OS4wNTU1MjYsNTUuMjY4NTIzMSBMMTQ5LjA1NTUyNiw0NC44MTEwNjgyIEwxNTQuNTEzNzU5LDQ0LjgxMTA2ODIgTDE1NC41MTM3NTksNTQuMDc1MzkwNyBDMTU0LjUxMzc1OSw1NS4yNjg1MjkxIDE1NC43MzY3ODEsNTYuMTYzMzY5NSAxNTUuMTgyODMyLDU2Ljc1OTkzODcgQzE1NS42Mjg4ODQsNTcuMzU2NTA3OSAxNTYuMzQ0OTAzLDU3LjY1NDc4OCAxNTcuMzMwOTExLDU3LjY1NDc4OCBDMTU4LjQzNDMwMSw1Ny42NTQ3ODggMTU5LjI1NTk2Myw1Ny4zMjcyNjQ3IDE1OS43OTU5Miw1Ni42NzIyMDg0IEMxNjAuMzM1ODc3LDU2LjAxNzE1MiAxNjAuNjA1ODUxLDU1LjA5MzA2ODUgMTYwLjYwNTg1MSw1My44OTk5MyBMMTYwLjYwNTg1MSw0NC44MTEwNjgyIEwxNjUuOTU4NDQxLDQ0LjgxMTA2ODIgTDE2NS45NTg0NDEsNjEuNzI1NDc1MiBMMTYwLjYwNTg1MSw2MS43MjU0NzUyIEwxNjAuNjA1ODUxLDU5LjMwNDExODIgQzE2MC4xMTI4NDcsNjAuMjE2NTE4MSAxNTkuNDI2MTczLDYwLjkyNDIwMjMgMTU4LjU0NTgwOCw2MS40MjcxOTIgQzE1Ny42NjU0NDQsNjEuOTMwMTgxOCAxNTYuNTkxNDE1LDYyLjE4MTY3MjkgMTU1LjMyMzY5LDYyLjE4MTY3MjkgWiBNMTc3LjY3OTQ1Miw2Mi4yNTE4NTcxIEMxNzUuODQ4Mjk0LDYyLjI1MTg1NzEgMTc0LjI0NjA1NSw2MS44Nzc1NDQ4IDE3Mi44NzI2ODYsNjEuMTI4OTA4OSBDMTcxLjQ5OTMxNyw2MC4zODAyNzMxIDE3MC40NDI4OTUsNTkuMzI3NTE5NyAxNjkuNzAzMzg5LDU3Ljk3MDYxNzIgQzE2OC45NjM4ODMsNTYuNjEzNzE0NyAxNjguNTk0MTM1LDU1LjA0NjI4MTkgMTY4LjU5NDEzNSw1My4yNjgyNzE3IEMxNjguNTk0MTM1LDUxLjQ5MDI2MTUgMTY4Ljk2Mzg4Myw0OS45Mjg2NzczIDE2OS43MDMzODksNDguNTgzNDcyMyBDMTcwLjQ0Mjg5NSw0Ny4yMzgyNjcyIDE3MS40OTkzMTcsNDYuMTkxMzYyNCAxNzIuODcyNjg2LDQ1LjQ0MjcyNjYgQzE3NC4yNDYwNTUsNDQuNjk0MDkwNyAxNzUuODQ4Mjk0LDQ0LjMxOTc3ODQgMTc3LjY3OTQ1Miw0NC4zMTk3Nzg0IEMxODAuMTkxNDI2LDQ0LjMxOTc3ODQgMTgyLjIzMzg0MSw0NC45Mzk3MzMyIDE4My44MDY3NTksNDYuMTc5NjYxMyBDMTg1LjM3OTY3Nyw0Ny40MTk1ODk1IDE4Ni4yNzE3NjYsNDkuMTAzOTk0OSAxODYuNDgzMDU0LDUxLjIzMjkyODEgTDE4MS4wOTUyNSw1MS4yMzI5MjgxIEMxODAuOTA3NDM5LDUwLjQzNzUwMjUgMTgwLjUzNzY5MSw0OS44NDA5NDIzIDE3OS45ODU5OTYsNDkuNDQzMjI5NSBDMTc5LjQzNDMwMSw0OS4wNDU1MTY3IDE3OC42NzcxOTksNDguODQ2NjYzMiAxNzcuNzE0NjY3LDQ4Ljg0NjY2MzIgQzE3Ni41NDA4NDcsNDguODQ2NjYzMiAxNzUuNjI1MjgyLDQ5LjIzMjY3MjggMTc0Ljk2Nzk0Myw1MC4wMDQ3MDM2IEMxNzQuMzEwNjA0LDUwLjc3NjczNDMgMTczLjk4MTk0LDUxLjg2NDU3OTUgMTczLjk4MTk0LDUzLjI2ODI3MTcgQzE3My45ODE5NCw1NC42NzE5NjM5IDE3NC4zMTA2MDQsNTUuNzU5ODA5MSAxNzQuOTY3OTQzLDU2LjUzMTgzOTggQzE3NS42MjUyODIsNTcuMzAzODcwNiAxNzYuNTQwODQ3LDU3LjY4OTg4MDEgMTc3LjcxNDY2Nyw1Ny42ODk4ODAxIEMxNzguNjc3MTk5LDU3LjY4OTg4MDEgMTc5LjQzNDMwMSw1Ny41MDI3MjQgMTc5Ljk4NTk5Niw1Ny4xMjg0MDYxIEMxODAuNTM3NjkxLDU2Ljc1NDA4ODEgMTgwLjkwNzQzOSw1Ni4xOTI2MTk3IDE4MS4wOTUyNSw1NS40NDM5ODM4IEwxODYuNDgzMDU0LDU1LjQ0Mzk4MzggQzE4Ni4yNzE3NjYsNTcuNTI2MTI3MyAxODUuMzc5Njc3LDU5LjE4MTI4OTYgMTgzLjgwNjc1OSw2MC40MDk1MjAzIEMxODIuMjMzODQxLDYxLjYzNzc1MSAxODAuMTkxNDI2LDYyLjI1MTg1NzEgMTc3LjY3OTQ1Miw2Mi4yNTE4NTcxIFogTTE5OC4xMzM2MzYsNTcuNTQ5NTExNiBDMTk4Ljg4NDg4MSw1Ny41NDk1MTE2IDE5OS41MDY5OTYsNTcuNTE0NDE5OCAyMDAsNTcuNDQ0MjM1MiBMMjAwLDYxLjcyNTQ3NTIgQzE5OC45NjcwMzksNjEuOTEyNjM0MSAxOTcuNzY5NzYxLDYyLjAwNjIxMjIgMTk2LjQwODEzMSw2Mi4wMDYyMTIyIEMxOTQuNjk0MzU0LDYyLjAwNjIxMjIgMTkzLjI2MjMxNiw2MS41OTY4MDgxIDE5Mi4xMTE5NzMsNjAuNzc3OTg3NiBDMTkwLjk2MTYzLDU5Ljk1OTE2NzIgMTkwLjM4NjQ2Nyw1OC4yOTgxNTYzIDE5MC4zODY0NjcsNTUuNzk0OTA1MSBMMTkwLjM4NjQ2Nyw0OS4wNTcyMTYgTDE4Ny43MTAxNzIsNDkuMDU3MjE2IEwxODcuNzEwMTcyLDQ0LjgxMTA2ODIgTDE5MC4zODY0NjcsNDQuODExMDY4MiBMMTkwLjM4NjQ2NywzOS43OTI4OTM2IEwxOTUuNzc0MjcxLDM5Ljc5Mjg5MzYgTDE5NS43NzQyNzEsNDQuODExMDY4MiBMMTk5LjYxMjY0Miw0NC44MTEwNjgyIEwxOTkuNjEyNjQyLDQ5LjA1NzIxNiBMMTk1Ljc3NDI3MSw0OS4wNTcyMTYgTDE5NS43NzQyNzEsNTQuNjcxOTU2OSBDMTk1Ljc3NDI3MSw1NS44MTgzMDU2IDE5NS45NzM4MTgsNTYuNTg0NDc2MSAxOTYuMzcyOTE2LDU2Ljk3MDQ5MTUgQzE5Ni43NzIwMTUsNTcuMzU2NTA2OCAxOTcuMzU4OTE2LDU3LjU0OTUxMTYgMTk4LjEzMzYzNiw1Ny41NDk1MTE2IFoiIGlkPSJDb21iaW5lZC1TaGFwZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+") left center / contain no-repeat; mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTY1cHgiIGhlaWdodD0iNThweCIgdmlld0JveD0iMCAwIDE2NSA1OCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTIuMiAoNjcxNDUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkNvbWJpbmVkIFNoYXBlQDF4PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IlN5bWJvbHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJNZW7DvF93aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM1LjAwMDAwMCwgLTExLjQyOTY4OCkiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgICAgICA8cGF0aCBkPSJNNDUuODgxMjUxNSwxNi4zNjE4NzggQzQ1LjE1MzQ4MzUsMTYuMzYxODc4IDQ0LjU2MDcxMzYsMTYuNTA4MDkzOCA0NC4xMDI5MjQsMTYuODAwNTI5NiBDNDMuNjQ1MTM0NCwxNy4wOTI5NjU1IDQzLjQxNjI0MzEsMTcuNjYwMjgyNiA0My40MTYyNDMxLDE4LjUwMjQ5OCBMNDMuNDE2MjQzMSwyMC4yMjIwMTI0IEw0Ny4zNjAyNTY2LDIwLjIyMjAxMjQgTDQ3LjM2MDI1NjYsMjQuNDY4MTYwMiBMNDMuNDE2MjQzMSwyNC40NjgxNjAyIEw0My40MTYyNDMxLDM3LjEzNjQxOTMgTDM4LjAyODQzODksMzcuMTM2NDE5MyBMMzguMDI4NDM4OSwyNC40NjgxNjAyIEwzNSwyNC40NjgxNjAyIEwzNSwyMC4yMjIwMTI0IEwzOC4wMjg0Mzg5LDIwLjIyMjAxMjQgTDM4LjAyODQzODksMTguNTcyNjgyMiBDMzguMDI4NDM4OSwxNi4yNTY1OSAzOC42NTY0MjI5LDE0LjYyNDgyMjMgMzkuOTEyNDA5NywxMy42NzczMyBDNDEuMTY4Mzk2NCwxMi43Mjk4Mzc4IDQyLjYxODA0MTYsMTIuMjU2MDk4NyA0NC4yNjEzODg4LDEyLjI1NjA5ODcgQzQ1LjUwNTYzNzQsMTIuMjU2MDk4NyA0Ni41Mzg1ODMsMTIuMzg0NzY4NiA0Ny4zNjAyNTY2LDEyLjY0MjExMjIgTDQ3LjM2MDI1NjYsMTYuNDY3MTU0NCBDNDcuMTQ4OTY5MSwxNi40NDM3NTk1IDQ2LjkyNTk0NjcsMTYuNDIwMzY1IDQ2LjY5MTE4MjgsMTYuMzk2OTcwMSBDNDYuNDU2NDE5LDE2LjM3MzU3NTMgNDYuMTg2NDQ0NSwxNi4zNjE4NzggNDUuODgxMjUxNSwxNi4zNjE4NzggWiBNNTYuNDQ5NzE2MiwzNy41OTI2MTcgQzU0LjgwNjM2OSwzNy41OTI2MTcgNTMuMzgwMTk5OSwzNy4yMDY2MDc0IDUyLjE3MTE2NTksMzYuNDM0NTc2NyBDNTAuOTYyMTMxOSwzNS42NjI1NDU5IDUwLjA0MDY5NzUsMzQuNjAzOTQzOSA0OS40MDY4MzUsMzMuMjU4NzM4OSBDNDguNzcyOTcyNSwzMS45MTM1MzM4IDQ4LjQ1NjA0NiwzMC4zODcwNDE0IDQ4LjQ1NjA0NiwyOC42NzkyMTU4IEM0OC40NTYwNDYsMjYuOTk0Nzg1MSA0OC43ODQ3MTA1LDI1LjQ3NDE0MTQgNDkuNDQyMDQ5NCwyNC4xMTcyMzg5IEM1MC4wOTkzODgzLDIyLjc2MDMzNjQgNTEuMDQ0Mjk4NywyMS42OTU4ODU3IDUyLjI3NjgwOTEsMjAuOTIzODU1IEM1My41MDkzMTk1LDIwLjE1MTgyNDIgNTQuOTIzNzUwNiwxOS43NjU4MTQ3IDU2LjUyMDE0NSwxOS43NjU4MTQ3IEM1Ny43MTc0NDA4LDE5Ljc2NTgxNDcgNTguNzg1NjAwNSwyMC4wMjMxNTQ0IDU5LjcyNDY1NiwyMC41Mzc4NDE1IEM2MC42NjM3MTE1LDIxLjA1MjUyODcgNjEuMzY3OTkyNiwyMS43NTQzNjQzIDYxLjgzNzUyMDQsMjIuNjQzMzY5NCBMNjEuODM3NTIwNCwyMC4yMjIwMTI0IEw2Ny4xOTAxMTAxLDIwLjIyMjAxMjQgTDY3LjE5MDExMDEsMzcuMTM2NDE5MyBMNjEuODM3NTIwNCwzNy4xMzY0MTkzIEw2MS44Mzc1MjA0LDM0Ljc1MDE1NDQgQzYxLjM2Nzk5MjYsMzUuNTkyMzY5OCA2MC42NDYxMDQ1LDM2LjI3NjY1OTUgNTkuNjcxODM0NCwzNi44MDMwNDQgQzU4LjY5NzU2NDMsMzcuMzI5NDI4NiA1Ny42MjM1MzU2LDM3LjU5MjYxNyA1Ni40NDk3MTYyLDM3LjU5MjYxNyBaIE01Ny45OTkxNTAxLDMzLjEzNTkxNjQgQzU5LjI5MDM1MTQsMzMuMTM1OTE2NCA2MC4yODgwODMsMzIuNzE0ODE1MSA2MC45OTIzNzQ2LDMxLjg3MjU5OTcgQzYxLjY5NjY2NjMsMzEuMDMwMzg0NCA2Mi4wNDg4MDY4LDI5Ljk2NTkzMzcgNjIuMDQ4ODA2OCwyOC42NzkyMTU4IEM2Mi4wNDg4MDY4LDI3LjQxNTg5MjggNjEuNjk2NjY2MywyNi4zNjMxMzk0IDYwLjk5MjM3NDYsMjUuNTIwOTI0MSBDNjAuMjg4MDgzLDI0LjY3ODcwODcgNTkuMjkwMzUxNCwyNC4yNTc2MDc0IDU3Ljk5OTE1MDEsMjQuMjU3NjA3NCBDNTYuNzc4Mzc3OSwyNC4yNTc2MDc0IDU1Ljc5ODI1MzQsMjQuNjY3MDExNSA1NS4wNTg3NDcyLDI1LjQ4NTgzMTkgQzU0LjMxOTI0MDksMjYuMzA0NjUyNCA1My45NDk0OTM0LDI3LjM2OTEwMzEgNTMuOTQ5NDkzNCwyOC42NzkyMTU4IEM1My45NDk0OTM0LDI5Ljk4OTMyODYgNTQuMzE5MjQwOSwzMS4wNTk2Mjc5IDU1LjA1ODc0NzIsMzEuODkwMTQ1OCBDNTUuNzk4MjUzNCwzMi43MjA2NjM3IDU2Ljc3ODM3NzksMzMuMTM1OTE2NCA1Ny45OTkxNTAxLDMzLjEzNTkxNjQgWiBNNzkuNzY1Nzk2LDM3LjY2MjgwMTIgQzc3LjkzNDYzNzcsMzcuNjYyODAxMiA3Ni4zMzIzOTgyLDM3LjI4ODQ4ODkgNzQuOTU5MDI5NSwzNi41Mzk4NTMxIEM3My41ODU2NjA4LDM1Ljc5MTIxNzIgNzIuNTI5MjM5MiwzNC43Mzg0NjM4IDcxLjc4OTczMywzMy4zODE1NjEzIEM3MS4wNTAyMjY3LDMyLjAyNDY1ODggNzAuNjgwNDc5MiwzMC40NTcyMjYgNzAuNjgwNDc5MiwyOC42NzkyMTU4IEM3MC42ODA0NzkyLDI2LjkwMTIwNTcgNzEuMDUwMjI2NywyNS4zMzk2MjE1IDcxLjc4OTczMywyMy45OTQ0MTY0IEM3Mi41MjkyMzkyLDIyLjY0OTIxMTMgNzMuNTg1NjYwOCwyMS42MDIzMDY2IDc0Ljk1OTAyOTUsMjAuODUzNjcwNyBDNzYuMzMyMzk4MiwyMC4xMDUwMzQ5IDc3LjkzNDYzNzcsMTkuNzMwNzIyNSA3OS43NjU3OTYsMTkuNzMwNzIyNSBDODIuMjc3NzY5NSwxOS43MzA3MjI1IDg0LjMyMDE4NDYsMjAuMzUwNjc3MyA4NS44OTMxMDI2LDIxLjU5MDYwNTUgQzg3LjQ2NjAyMDYsMjIuODMwNTMzNiA4OC4zNTgxMSwyNC41MTQ5MzkgODguNTY5Mzk3NSwyNi42NDM4NzIzIEw4My4xODE1OTMzLDI2LjY0Mzg3MjMgQzgyLjk5Mzc4MjIsMjUuODQ4NDQ2NyA4Mi42MjQwMzQ3LDI1LjI1MTg4NjQgODIuMDcyMzM5NiwyNC44NTQxNzM2IEM4MS41MjA2NDQ0LDI0LjQ1NjQ2MDggODAuNzYzNTQyMywyNC4yNTc2MDc0IDc5LjgwMTAxMDQsMjQuMjU3NjA3NCBDNzguNjI3MTkxLDI0LjI1NzYwNzQgNzcuNzExNjI1NSwyNC42NDM2MTcgNzcuMDU0Mjg2NywyNS40MTU2NDc3IEM3Ni4zOTY5NDc4LDI2LjE4NzY3ODQgNzYuMDY4MjgzMywyNy4yNzU1MjM2IDc2LjA2ODI4MzMsMjguNjc5MjE1OCBDNzYuMDY4MjgzMywzMC4wODI5MDgxIDc2LjM5Njk0NzgsMzEuMTcwNzUzMiA3Ny4wNTQyODY3LDMxLjk0Mjc4NCBDNzcuNzExNjI1NSwzMi43MTQ4MTQ3IDc4LjYyNzE5MSwzMy4xMDA4MjQzIDc5LjgwMTAxMDQsMzMuMTAwODI0MyBDODAuNzYzNTQyMywzMy4xMDA4MjQzIDgxLjUyMDY0NDQsMzIuOTEzNjY4MSA4Mi4wNzIzMzk2LDMyLjUzOTM1MDIgQzgyLjYyNDAzNDcsMzIuMTY1MDMyMyA4Mi45OTM3ODIyLDMxLjYwMzU2MzggODMuMTgxNTkzMywzMC44NTQ5Mjc5IEw4OC41NjkzOTc1LDMwLjg1NDkyNzkgQzg4LjM1ODExLDMyLjkzNzA3MTQgODcuNDY2MDIwNiwzNC41OTIyMzM3IDg1Ljg5MzEwMjYsMzUuODIwNDY0NCBDODQuMzIwMTg0NiwzNy4wNDg2OTUxIDgyLjI3Nzc2OTUsMzcuNjYyODAxMiA3OS43NjU3OTYsMzcuNjYyODAxMiBaIE0xMDEuMDA0MjI2LDMyLjk2MDQ1NTggQzEwMS43NTU0NywzMi45NjA0NTU4IDEwMi4zNzc1ODUsMzIuOTI1MzY0IDEwMi44NzA1ODksMzIuODU1MTc5NCBMMTAyLjg3MDU4OSwzNy4xMzY0MTkzIEMxMDEuODM3NjI4LDM3LjMyMzU3ODMgMTAwLjY0MDM1LDM3LjQxNzE1NjMgOTkuMjc4NzE5OCwzNy40MTcxNTYzIEM5Ny41NjQ5NDM1LDM3LjQxNzE1NjMgOTYuMTMyOTA1MywzNy4wMDc3NTIyIDk0Ljk4MjU2MjMsMzYuMTg4OTMxOCBDOTMuODMyMjE5MywzNS4zNzAxMTEzIDkzLjI1NzA1NjQsMzMuNzA5MTAwNCA5My4yNTcwNTY0LDMxLjIwNTg0OTIgTDkzLjI1NzA1NjQsMjQuNDY4MTYwMiBMOTAuNTgwNzYxNSwyNC40NjgxNjAyIEw5MC41ODA3NjE1LDIwLjIyMjAxMjQgTDkzLjI1NzA1NjQsMjAuMjIyMDEyNCBMOTMuMjU3MDU2NCwxNS4yMDM4Mzc3IEw5OC42NDQ4NjA1LDE1LjIwMzgzNzcgTDk4LjY0NDg2MDUsMjAuMjIyMDEyNCBMMTAyLjQ4MzIzMSwyMC4yMjIwMTI0IEwxMDIuNDgzMjMxLDI0LjQ2ODE2MDIgTDk4LjY0NDg2MDUsMjQuNDY4MTYwMiBMOTguNjQ0ODYwNSwzMC4wODI5MDEgQzk4LjY0NDg2MDUsMzEuMjI5MjQ5NyA5OC44NDQ0MDY4LDMxLjk5NTQyMDIgOTkuMjQzNTA1NCwzMi4zODE0MzU2IEM5OS42NDI2MDQsMzIuNzY3NDUxIDEwMC4yMjk1MDUsMzIuOTYwNDU1OCAxMDEuMDA0MjI2LDMyLjk2MDQ1NTggWiBNMTE0Ljk4ODQ4OCwzNy42NjI4MDEyIEMxMTMuMDg2OSwzNy42NjI4MDEyIDExMS40MjAxMDIsMzcuMjc2NzkxNyAxMDkuOTg4MDQyLDM2LjUwNDc2MDkgQzEwOC41NTU5ODIsMzUuNzMyNzMwMiAxMDcuNDU4NDc4LDM0LjY2ODI3OTYgMTA2LjY5NTQ5NSwzMy4zMTEzNzcxIEMxMDUuOTMyNTEzLDMxLjk1NDQ3NDYgMTA1LjU1MTAyNywzMC40MTA0MzYzIDEwNS41NTEwMjcsMjguNjc5MjE1OCBDMTA1LjU1MTAyNywyNi45NDc5OTU0IDEwNS45MzI1MTMsMjUuNDA5ODA1NyAxMDYuNjk1NDk1LDI0LjA2NDYwMDcgQzEwNy40NTg0NzgsMjIuNzE5Mzk1NiAxMDguNTU1OTgyLDIxLjY2MDc5MzYgMTA5Ljk4ODA0MiwyMC44ODg3NjI4IEMxMTEuNDIwMTAyLDIwLjExNjczMjEgMTEzLjA4NjksMTkuNzMwNzIyNSAxMTQuOTg4NDg4LDE5LjczMDcyMjUgQzExNi44OTAwNzUsMTkuNzMwNzIyNSAxMTguNTUxMDA1LDIwLjExNjczMjEgMTE5Ljk3MTMyNiwyMC44ODg3NjI4IEMxMjEuMzkxNjQ4LDIxLjY2MDc5MzYgMTIyLjQ4MzI4MywyMi43MjUyNDQyIDEyMy4yNDYyNjYsMjQuMDgyMTQ2NyBDMTI0LjAwOTI0OSwyNS40MzkwNDkyIDEyNC4zOTA3MzQsMjYuOTcxMzkwMyAxMjQuMzkwNzM0LDI4LjY3OTIxNTggQzEyNC4zOTA3MzQsMzAuNDEwNDM2MyAxMjQuMDA5MjQ5LDMxLjk1NDQ3NDYgMTIzLjI0NjI2NiwzMy4zMTEzNzcxIEMxMjIuNDgzMjgzLDM0LjY2ODI3OTYgMTIxLjM5MTY0OCwzNS43MzI3MzAyIDExOS45NzEzMjYsMzYuNTA0NzYwOSBDMTE4LjU1MTAwNSwzNy4yNzY3OTE3IDExNi44OTAwNzUsMzcuNjYyODAxMiAxMTQuOTg4NDg4LDM3LjY2MjgwMTIgWiBNMTE0Ljk4ODQ4OCwzMy4xMDA4MjQzIEMxMTYuMjMyNzM2LDMzLjEwMDgyNDMgMTE3LjIxODczLDMyLjY5MTQyMDIgMTE3Ljk0NjQ5OCwzMS44NzI1OTk3IEMxMTguNjc0MjY2LDMxLjA1Mzc3OTIgMTE5LjAzODE0NSwyOS45ODkzMjg2IDExOS4wMzgxNDUsMjguNjc5MjE1OCBDMTE5LjAzODE0NSwyNy4zNjkxMDMxIDExOC42NzQyNjYsMjYuMzA0NjUyNCAxMTcuOTQ2NDk4LDI1LjQ4NTgzMTkgQzExNy4yMTg3MywyNC42NjcwMTE1IDExNi4yMzI3MzYsMjQuMjU3NjA3NCAxMTQuOTg4NDg4LDI0LjI1NzYwNzQgQzExMy43MjA3NjMsMjQuMjU3NjA3NCAxMTIuNzI4OSwyNC42NjcwMTE1IDExMi4wMTI4NzEsMjUuNDg1ODMxOSBDMTExLjI5Njg0MSwyNi4zMDQ2NTI0IDExMC45Mzg4MzEsMjcuMzY5MTAzMSAxMTAuOTM4ODMxLDI4LjY3OTIxNTggQzExMC45Mzg4MzEsMjkuOTg5MzI4NiAxMTEuMjk2ODQxLDMxLjA1Mzc3OTIgMTEyLjAxMjg3MSwzMS44NzI1OTk3IEMxMTIuNzI4OSwzMi42OTE0MjAyIDExMy43MjA3NjMsMzMuMTAwODI0MyAxMTQuOTg4NDg4LDMzLjEwMDgyNDMgWiBNMTI4LjMzODg5MSwyMC4yMjIwMTI0IEwxMzMuNzI2Njk1LDIwLjIyMjAxMjQgTDEzMy43MjY2OTUsMjMuNzY2MzE3NiBDMTM0LjAwODQxMSwyMi41NDk3ODQzIDEzNC41ODk0NDMsMjEuNjA4MTU0OSAxMzUuNDY5ODA4LDIwLjk0MTQwMSBDMTM2LjM1MDE3MiwyMC4yNzQ2NDcyIDEzNy4zMzAyOTcsMTkuOTQxMjc1MyAxMzguNDEwMjExLDE5Ljk0MTI3NTMgQzEzOC45NzM2NDQsMTkuOTQxMjc1MyAxMzkuNDQzMTY1LDE5Ljk4ODA2NDQgMTM5LjgxODc4NywyMC4wODE2NDM4IEwxMzkuODE4Nzg3LDI1LjA2NDcyNjQgQzEzOS4xODQ5MjUsMjQuOTk0NTQxOCAxMzguNjQ0OTc2LDI0Ljk1OTQ1IDEzOC4xOTg5MjQsMjQuOTU5NDUgQzEzNi44MTM4MTcsMjQuOTU5NDUgMTM1LjcyMjE4MiwyNS40MTU2NDMxIDEzNC45MjM5ODUsMjYuMzI4MDQzMSBDMTM0LjEyNTc4NywyNy4yNDA0NDMgMTMzLjcyNjY5NSwyOC42Njc1MDg3IDEzMy43MjY2OTUsMzAuNjA5MjgzIEwxMzMuNzI2Njk1LDM3LjEzNjQxOTMgTDEyOC4zMzg4OTEsMzcuMTM2NDE5MyBMMTI4LjMzODg5MSwyMC4yMjIwMTI0IFogTTgxLjIxODkwODEsNDQuMzU0ODcwNSBDODIuNzQ0ODczMyw0NC4zNTQ4NzA1IDg0LjEwMDYxNDQsNDQuNzI5MTgyOSA4NS4yODYxNzIsNDUuNDc3ODE4NyBDODYuNDcxNzI5Niw0Ni4yMjY0NTQ2IDg3LjM5MzE2NCw0Ny4yNzMzNTkzIDg4LjA1MDUwMjksNDguNjE4NTY0NCBDODguNzA3ODQxNyw0OS45NjM3Njk1IDg5LjAzNjUwNjIsNTEuNTEzNjU2NCA4OS4wMzY1MDYyLDUzLjI2ODI3MTcgQzg5LjAzNjUwNjIsNTUuMDIyODg3IDg4LjcwMTk3MjcsNTYuNTcyNzczOSA4OC4wMzI4OTU3LDU3LjkxNzk3OSBDODcuMzYzODE4Niw1OS4yNjMxODQxIDg2LjQyNDc3NzIsNjAuMzEwMDg4OCA4NS4yMTU3NDMyLDYxLjA1ODcyNDcgQzg0LjAwNjcwOTIsNjEuODA3MzYwNSA4Mi42Mjc0OTIxLDYyLjE4MTY3MjkgODEuMDc4MDUwNCw2Mi4xODE2NzI5IEM3OS44NTcyNzgzLDYyLjE4MTY3MjkgNzguNzY1NjQyNiw2MS45MTI2MzU5IDc3LjgwMzExMDcsNjEuMzc0NTUzOSBDNzYuODQwNTc4OCw2MC44MzY0NzE4IDc2LjEzNjI5NzcsNjAuMTU4MDMwOCA3NS42OTAyNDYzLDU5LjMzOTIxMDMgTDc1LjY5MDI0NjMsNjguNzQzOTAxMyBMNzAuMzAyNDQyMiw2OC43NDM5MDEzIEw3MC4zMDI0NDIyLDQ0LjgxMTA2ODIgTDc1LjY5MDI0NjMsNDQuODExMDY4MiBMNzUuNjkwMjQ2Myw0Ny4yMzI0MjUyIEM3Ni4xMzYyOTc3LDQ2LjM5MDIwOTkgNzYuODY0MDU0OCw0NS43MDAwNzE2IDc3Ljg3MzUzOTUsNDUuMTYxOTg5NSBDNzguODgzMDI0Miw0NC42MjM5MDc1IDc5Ljk5ODEzNTksNDQuMzU0ODcwNSA4MS4yMTg5MDgxLDQ0LjM1NDg3MDUgWiBNNzkuNTI4NjE2Niw1Ny43MjQ5NzIzIEM4MC43MDI0MzYsNTcuNzI0OTcyMyA4MS42NjQ5NTM1LDU3LjMwOTcxOTYgODIuNDE2MTk3OSw1Ni40NzkyMDE2IEM4My4xNjc0NDIzLDU1LjY0ODY4MzcgODMuNTQzMDU4OSw1NC41NzgzODQ1IDgzLjU0MzA1ODksNTMuMjY4MjcxNyBDODMuNTQzMDU4OSw1MS45NTgxNTg5IDgzLjE2NzQ0MjMsNTAuODkzNzA4MyA4Mi40MTYxOTc5LDUwLjA3NDg4NzggQzgxLjY2NDk1MzUsNDkuMjU2MDY3MyA4MC43MDI0MzYsNDguODQ2NjYzMiA3OS41Mjg2MTY2LDQ4Ljg0NjY2MzIgQzc4LjMwNzg0NDQsNDguODQ2NjYzMiA3Ny4zMjE4NTA5LDQ5LjI1NjA2NzMgNzYuNTcwNjA2NSw1MC4wNzQ4ODc4IEM3NS44MTkzNjIsNTAuODkzNzA4MyA3NS40NDM3NDU1LDUxLjk1ODE1ODkgNzUuNDQzNzQ1NSw1My4yNjgyNzE3IEM3NS40NDM3NDU1LDU0LjYwMTc3OTMgNzUuODI1MjMxLDU1LjY3NzkyNzIgNzYuNTg4MjEzNyw1Ni40OTY3NDc3IEM3Ny4zNTExOTYzLDU3LjMxNTU2ODIgNzguMzMxMzIwOCw1Ny43MjQ5NzIzIDc5LjUyODYxNjYsNTcuNzI0OTcyMyBaIE05Mi4yODg0NTMxLDQ0LjgxMTA2ODIgTDk3LjY3NjI1NzIsNDQuODExMDY4MiBMOTcuNjc2MjU3Miw0OC4zNTUzNzM0IEM5Ny45NTc5NzM5LDQ3LjEzODg0MDEgOTguNTM5MDA1OCw0Ni4xOTcyMTA3IDk5LjQxOTM3MDMsNDUuNTMwNDU2OSBDMTAwLjI5OTczNSw0NC44NjM3MDMxIDEwMS4yNzk4NTksNDQuNTMwMzMxMiAxMDIuMzU5NzczLDQ0LjUzMDMzMTIgQzEwMi45MjMyMDcsNDQuNTMwMzMxMiAxMDMuMzkyNzI3LDQ0LjU3NzEyMDIgMTAzLjc2ODM0OSw0NC42NzA2OTk3IEwxMDMuNzY4MzQ5LDQ5LjY1Mzc4MjMgQzEwMy4xMzQ0ODcsNDkuNTgzNTk3NiAxMDIuNTk0NTM4LDQ5LjU0ODUwNTkgMTAyLjE0ODQ4Nyw0OS41NDg1MDU5IEMxMDAuNzYzMzgsNDkuNTQ4NTA1OSA5OS42NzE3NDQyLDUwLjAwNDY5OSA5OC44NzM1NDcsNTAuOTE3MDk5IEM5OC4wNzUzNDk4LDUxLjgyOTQ5ODkgOTcuNjc2MjU3Miw1My4yNTY1NjQ2IDk3LjY3NjI1NzIsNTUuMTk4MzM4OSBMOTcuNjc2MjU3Miw2MS43MjU0NzUyIEw5Mi4yODg0NTMxLDYxLjcyNTQ3NTIgTDkyLjI4ODQ1MzEsNDQuODExMDY4MiBaIE0xMTQuNjYxODIyLDYyLjI1MTg1NzEgQzExMi43NjAyMzUsNjIuMjUxODU3MSAxMTEuMDkzNDM2LDYxLjg2NTg0NzUgMTA5LjY2MTM3Nyw2MS4wOTM4MTY4IEMxMDguMjI5MzE3LDYwLjMyMTc4NjEgMTA3LjEzMTgxMiw1OS4yNTczMzU0IDEwNi4zNjg4Myw1Ny45MDA0MzI5IEMxMDUuNjA1ODQ3LDU2LjU0MzUzMDQgMTA1LjIyNDM2Miw1NC45OTk0OTIxIDEwNS4yMjQzNjIsNTMuMjY4MjcxNyBDMTA1LjIyNDM2Miw1MS41MzcwNTEzIDEwNS42MDU4NDcsNDkuOTk4ODYxNiAxMDYuMzY4ODMsNDguNjUzNjU2NSBDMTA3LjEzMTgxMiw0Ny4zMDg0NTE1IDEwOC4yMjkzMTcsNDYuMjQ5ODQ5NCAxMDkuNjYxMzc3LDQ1LjQ3NzgxODcgQzExMS4wOTM0MzYsNDQuNzA1Nzg4IDExMi43NjAyMzUsNDQuMzE5Nzc4NCAxMTQuNjYxODIyLDQ0LjMxOTc3ODQgQzExNi41NjM0MSw0NC4zMTk3Nzg0IDExOC4yMjQzMzksNDQuNzA1Nzg4IDExOS42NDQ2NjEsNDUuNDc3ODE4NyBDMTIxLjA2NDk4Miw0Ni4yNDk4NDk0IDEyMi4xNTY2MTgsNDcuMzE0MzAwMSAxMjIuOTE5NjAxLDQ4LjY3MTIwMjYgQzEyMy42ODI1ODMsNTAuMDI4MTA1MSAxMjQuMDY0MDY5LDUxLjU2MDQ0NjEgMTI0LjA2NDA2OSw1My4yNjgyNzE3IEMxMjQuMDY0MDY5LDU0Ljk5OTQ5MjEgMTIzLjY4MjU4Myw1Ni41NDM1MzA0IDEyMi45MTk2MDEsNTcuOTAwNDMyOSBDMTIyLjE1NjYxOCw1OS4yNTczMzU0IDEyMS4wNjQ5ODIsNjAuMzIxNzg2MSAxMTkuNjQ0NjYxLDYxLjA5MzgxNjggQzExOC4yMjQzMzksNjEuODY1ODQ3NSAxMTYuNTYzNDEsNjIuMjUxODU3MSAxMTQuNjYxODIyLDYyLjI1MTg1NzEgWiBNMTE0LjY2MTgyMiw1Ny42ODk4ODAxIEMxMTUuOTA2MDcxLDU3LjY4OTg4MDEgMTE2Ljg5MjA2NSw1Ny4yODA0NzYxIDExNy42MTk4MzMsNTYuNDYxNjU1NiBDMTE4LjM0NzYwMSw1NS42NDI4MzUxIDExOC43MTE0NzksNTQuNTc4Mzg0NSAxMTguNzExNDc5LDUzLjI2ODI3MTcgQzExOC43MTE0NzksNTEuOTU4MTU4OSAxMTguMzQ3NjAxLDUwLjg5MzcwODMgMTE3LjYxOTgzMyw1MC4wNzQ4ODc4IEMxMTYuODkyMDY1LDQ5LjI1NjA2NzMgMTE1LjkwNjA3MSw0OC44NDY2NjMyIDExNC42NjE4MjIsNDguODQ2NjYzMiBDMTEzLjM5NDA5Nyw0OC44NDY2NjMyIDExMi40MDIyMzUsNDkuMjU2MDY3MyAxMTEuNjg2MjA1LDUwLjA3NDg4NzggQzExMC45NzAxNzUsNTAuODkzNzA4MyAxMTAuNjEyMTY2LDUxLjk1ODE1ODkgMTEwLjYxMjE2Niw1My4yNjgyNzE3IEMxMTAuNjEyMTY2LDU0LjU3ODM4NDUgMTEwLjk3MDE3NSw1NS42NDI4MzUxIDExMS42ODYyMDUsNTYuNDYxNjU1NiBDMTEyLjQwMjIzNSw1Ny4yODA0NzYxIDExMy4zOTQwOTcsNTcuNjg5ODgwMSAxMTQuNjYxODIyLDU3LjY4OTg4MDEgWiBNMTQ1LjUzOTQ3MSw0NS43OTM2NDc5IEwxNDUuNTA0MjU2LDQ1Ljc5MzY0NzkgTDE0NS41MDQyNTYsNjEuNzI1NDc1MiBMMTQwLjE1MTY2Nyw2MS43MjU0NzUyIEwxNDAuMTUxNjY3LDU5LjMzOTIxMDMgQzEzOS42ODIxMzksNjAuMTgxNDI1NiAxMzguOTYwMjUxLDYwLjg2NTcxNTMgMTM3Ljk4NTk4MSw2MS4zOTIwOTk5IEMxMzcuMDExNzExLDYxLjkxODQ4NDUgMTM1LjkzNzY4Miw2Mi4xODE2NzI5IDEzNC43NjM4NjMsNjIuMTgxNjcyOSBDMTMzLjEyMDUxNSw2Mi4xODE2NzI5IDEzMS42OTQzNDYsNjEuNzk1NjYzMyAxMzAuNDg1MzEyLDYxLjAyMzYzMjUgQzEyOS4yNzYyNzgsNjAuMjUxNjAxOCAxMjguMzU0ODQ0LDU5LjE5Mjk5OTggMTI3LjcyMDk4MSw1Ny44NDc3OTQ3IEMxMjcuMDg3MTE5LDU2LjUwMjU4OTcgMTI2Ljc3MDE5Miw1NC45NzYwOTczIDEyNi43NzAxOTIsNTMuMjY4MjcxNyBDMTI2Ljc3MDE5Miw1MS41ODM4NDEgMTI3LjA5ODg1Nyw1MC4wNjMxOTcyIDEyNy43NTYxOTYsNDguNzA2Mjk0NyBDMTI4LjQxMzUzNSw0Ny4zNDkzOTIyIDEyOS4zNTg0NDUsNDYuMjg0OTQxNiAxMzAuNTkwOTU1LDQ1LjUxMjkxMDggQzEzMS44MjM0NjYsNDQuNzQwODgwMSAxMzMuMjM3ODk3LDQ0LjM1NDg3MDUgMTM0LjgzNDI5MSw0NC4zNTQ4NzA1IEMxMzYuMDMxNTg3LDQ0LjM1NDg3MDUgMTM3LjA5OTc0Nyw0NC42MTIyMTAzIDEzOC4wMzg4MDIsNDUuMTI2ODk3NCBDMTM4Ljk3Nzg1OCw0NS42NDE1ODQ2IDEzOS42ODIxMzksNDYuMzQzNDIwMiAxNDAuMTUxNjY3LDQ3LjIzMjQyNTIgTDE0MC4xNTE2NjcsMzcuMTYwOTgzOCBMMTQ1LjUzOTQ3MSwzNy4xNjA5ODM4IEwxNDUuNTM5NDcxLDQ1Ljc5MzY0NzkgWiBNMTM2LjMxMzI5Niw1Ny43MjQ5NzIzIEMxMzcuNjA0NDk4LDU3LjcyNDk3MjMgMTM4LjYwMjIyOSw1Ny4zMDM4NzA5IDEzOS4zMDY1MjEsNTYuNDYxNjU1NiBDMTQwLjAxMDgxMyw1NS42MTk0NDAyIDE0MC4zNjI5NTMsNTQuNTU0OTg5NiAxNDAuMzYyOTUzLDUzLjI2ODI3MTcgQzE0MC4zNjI5NTMsNTIuMDA0OTQ4NyAxNDAuMDEwODEzLDUwLjk1MjE5NTMgMTM5LjMwNjUyMSw1MC4xMDk5Nzk5IEMxMzguNjAyMjI5LDQ5LjI2Nzc2NDYgMTM3LjYwNDQ5OCw0OC44NDY2NjMyIDEzNi4zMTMyOTYsNDguODQ2NjYzMiBDMTM1LjA5MjUyNCw0OC44NDY2NjMyIDEzNC4xMTI0LDQ5LjI1NjA2NzMgMTMzLjM3Mjg5NCw1MC4wNzQ4ODc4IEMxMzIuNjMzMzg3LDUwLjg5MzcwODMgMTMyLjI2MzY0LDUxLjk1ODE1ODkgMTMyLjI2MzY0LDUzLjI2ODI3MTcgQzEzMi4yNjM2NCw1NC41NzgzODQ1IDEzMi42MzMzODcsNTUuNjQ4NjgzNyAxMzMuMzcyODk0LDU2LjQ3OTIwMTYgQzEzNC4xMTI0LDU3LjMwOTcxOTYgMTM1LjA5MjUyNCw1Ny43MjQ5NzIzIDEzNi4zMTMyOTYsNTcuNzI0OTcyMyBaIE0xNTUuMzIzNjksNjIuMTgxNjcyOSBDMTUzLjMwNDcyMSw2Mi4xODE2NzI5IDE1MS43NTUzMDIsNjEuNTc5MjY0IDE1MC42NzUzODgsNjAuMzc0NDI4MSBDMTQ5LjU5NTQ3NSw1OS4xNjk1OTIzIDE0OS4wNTU1MjYsNTcuNDY3NjQxIDE0OS4wNTU1MjYsNTUuMjY4NTIzMSBMMTQ5LjA1NTUyNiw0NC44MTEwNjgyIEwxNTQuNTEzNzU5LDQ0LjgxMTA2ODIgTDE1NC41MTM3NTksNTQuMDc1MzkwNyBDMTU0LjUxMzc1OSw1NS4yNjg1MjkxIDE1NC43MzY3ODEsNTYuMTYzMzY5NSAxNTUuMTgyODMyLDU2Ljc1OTkzODcgQzE1NS42Mjg4ODQsNTcuMzU2NTA3OSAxNTYuMzQ0OTAzLDU3LjY1NDc4OCAxNTcuMzMwOTExLDU3LjY1NDc4OCBDMTU4LjQzNDMwMSw1Ny42NTQ3ODggMTU5LjI1NTk2Myw1Ny4zMjcyNjQ3IDE1OS43OTU5Miw1Ni42NzIyMDg0IEMxNjAuMzM1ODc3LDU2LjAxNzE1MiAxNjAuNjA1ODUxLDU1LjA5MzA2ODUgMTYwLjYwNTg1MSw1My44OTk5MyBMMTYwLjYwNTg1MSw0NC44MTEwNjgyIEwxNjUuOTU4NDQxLDQ0LjgxMTA2ODIgTDE2NS45NTg0NDEsNjEuNzI1NDc1MiBMMTYwLjYwNTg1MSw2MS43MjU0NzUyIEwxNjAuNjA1ODUxLDU5LjMwNDExODIgQzE2MC4xMTI4NDcsNjAuMjE2NTE4MSAxNTkuNDI2MTczLDYwLjkyNDIwMjMgMTU4LjU0NTgwOCw2MS40MjcxOTIgQzE1Ny42NjU0NDQsNjEuOTMwMTgxOCAxNTYuNTkxNDE1LDYyLjE4MTY3MjkgMTU1LjMyMzY5LDYyLjE4MTY3MjkgWiBNMTc3LjY3OTQ1Miw2Mi4yNTE4NTcxIEMxNzUuODQ4Mjk0LDYyLjI1MTg1NzEgMTc0LjI0NjA1NSw2MS44Nzc1NDQ4IDE3Mi44NzI2ODYsNjEuMTI4OTA4OSBDMTcxLjQ5OTMxNyw2MC4zODAyNzMxIDE3MC40NDI4OTUsNTkuMzI3NTE5NyAxNjkuNzAzMzg5LDU3Ljk3MDYxNzIgQzE2OC45NjM4ODMsNTYuNjEzNzE0NyAxNjguNTk0MTM1LDU1LjA0NjI4MTkgMTY4LjU5NDEzNSw1My4yNjgyNzE3IEMxNjguNTk0MTM1LDUxLjQ5MDI2MTUgMTY4Ljk2Mzg4Myw0OS45Mjg2NzczIDE2OS43MDMzODksNDguNTgzNDcyMyBDMTcwLjQ0Mjg5NSw0Ny4yMzgyNjcyIDE3MS40OTkzMTcsNDYuMTkxMzYyNCAxNzIuODcyNjg2LDQ1LjQ0MjcyNjYgQzE3NC4yNDYwNTUsNDQuNjk0MDkwNyAxNzUuODQ4Mjk0LDQ0LjMxOTc3ODQgMTc3LjY3OTQ1Miw0NC4zMTk3Nzg0IEMxODAuMTkxNDI2LDQ0LjMxOTc3ODQgMTgyLjIzMzg0MSw0NC45Mzk3MzMyIDE4My44MDY3NTksNDYuMTc5NjYxMyBDMTg1LjM3OTY3Nyw0Ny40MTk1ODk1IDE4Ni4yNzE3NjYsNDkuMTAzOTk0OSAxODYuNDgzMDU0LDUxLjIzMjkyODEgTDE4MS4wOTUyNSw1MS4yMzI5MjgxIEMxODAuOTA3NDM5LDUwLjQzNzUwMjUgMTgwLjUzNzY5MSw0OS44NDA5NDIzIDE3OS45ODU5OTYsNDkuNDQzMjI5NSBDMTc5LjQzNDMwMSw0OS4wNDU1MTY3IDE3OC42NzcxOTksNDguODQ2NjYzMiAxNzcuNzE0NjY3LDQ4Ljg0NjY2MzIgQzE3Ni41NDA4NDcsNDguODQ2NjYzMiAxNzUuNjI1MjgyLDQ5LjIzMjY3MjggMTc0Ljk2Nzk0Myw1MC4wMDQ3MDM2IEMxNzQuMzEwNjA0LDUwLjc3NjczNDMgMTczLjk4MTk0LDUxLjg2NDU3OTUgMTczLjk4MTk0LDUzLjI2ODI3MTcgQzE3My45ODE5NCw1NC42NzE5NjM5IDE3NC4zMTA2MDQsNTUuNzU5ODA5MSAxNzQuOTY3OTQzLDU2LjUzMTgzOTggQzE3NS42MjUyODIsNTcuMzAzODcwNiAxNzYuNTQwODQ3LDU3LjY4OTg4MDEgMTc3LjcxNDY2Nyw1Ny42ODk4ODAxIEMxNzguNjc3MTk5LDU3LjY4OTg4MDEgMTc5LjQzNDMwMSw1Ny41MDI3MjQgMTc5Ljk4NTk5Niw1Ny4xMjg0MDYxIEMxODAuNTM3NjkxLDU2Ljc1NDA4ODEgMTgwLjkwNzQzOSw1Ni4xOTI2MTk3IDE4MS4wOTUyNSw1NS40NDM5ODM4IEwxODYuNDgzMDU0LDU1LjQ0Mzk4MzggQzE4Ni4yNzE3NjYsNTcuNTI2MTI3MyAxODUuMzc5Njc3LDU5LjE4MTI4OTYgMTgzLjgwNjc1OSw2MC40MDk1MjAzIEMxODIuMjMzODQxLDYxLjYzNzc1MSAxODAuMTkxNDI2LDYyLjI1MTg1NzEgMTc3LjY3OTQ1Miw2Mi4yNTE4NTcxIFogTTE5OC4xMzM2MzYsNTcuNTQ5NTExNiBDMTk4Ljg4NDg4MSw1Ny41NDk1MTE2IDE5OS41MDY5OTYsNTcuNTE0NDE5OCAyMDAsNTcuNDQ0MjM1MiBMMjAwLDYxLjcyNTQ3NTIgQzE5OC45NjcwMzksNjEuOTEyNjM0MSAxOTcuNzY5NzYxLDYyLjAwNjIxMjIgMTk2LjQwODEzMSw2Mi4wMDYyMTIyIEMxOTQuNjk0MzU0LDYyLjAwNjIxMjIgMTkzLjI2MjMxNiw2MS41OTY4MDgxIDE5Mi4xMTE5NzMsNjAuNzc3OTg3NiBDMTkwLjk2MTYzLDU5Ljk1OTE2NzIgMTkwLjM4NjQ2Nyw1OC4yOTgxNTYzIDE5MC4zODY0NjcsNTUuNzk0OTA1MSBMMTkwLjM4NjQ2Nyw0OS4wNTcyMTYgTDE4Ny43MTAxNzIsNDkuMDU3MjE2IEwxODcuNzEwMTcyLDQ0LjgxMTA2ODIgTDE5MC4zODY0NjcsNDQuODExMDY4MiBMMTkwLjM4NjQ2NywzOS43OTI4OTM2IEwxOTUuNzc0MjcxLDM5Ljc5Mjg5MzYgTDE5NS43NzQyNzEsNDQuODExMDY4MiBMMTk5LjYxMjY0Miw0NC44MTEwNjgyIEwxOTkuNjEyNjQyLDQ5LjA1NzIxNiBMMTk1Ljc3NDI3MSw0OS4wNTcyMTYgTDE5NS43NzQyNzEsNTQuNjcxOTU2OSBDMTk1Ljc3NDI3MSw1NS44MTgzMDU2IDE5NS45NzM4MTgsNTYuNTg0NDc2MSAxOTYuMzcyOTE2LDU2Ljk3MDQ5MTUgQzE5Ni43NzIwMTUsNTcuMzU2NTA2OCAxOTcuMzU4OTE2LDU3LjU0OTUxMTYgMTk4LjEzMzYzNiw1Ny41NDk1MTE2IFoiIGlkPSJDb21iaW5lZC1TaGFwZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+") left center / contain no-repeat; }
.logo-app { font-size: 19px; line-height: 1; letter-spacing: -.01em; color: var(--on-accent); background: var(--accent); padding: 4px 8px 5px; border-radius: 4px; font-weight: 600; white-space: nowrap; }
.nav-label { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--sidebar-muted); padding: 16px 10px 6px; display: flex; align-items: center; justify-content: space-between; }
.nav-label button { color: var(--sidebar-muted); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; }
.nav-label button:hover { background: var(--sidebar-2); color: var(--sidebar-text); }
.nav-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; color: var(--sidebar-text); text-align: left; width: 100%; font-weight: 450; }
.nav-item:hover { background: var(--sidebar-2); }
.nav-item.active { background: var(--sidebar-2); }
.nav-item .count { margin-left: auto; font-size: 12px; color: var(--sidebar-muted); font-variant-numeric: tabular-nums; }
.nav-item .dot { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.nav-item:has(.picon) { padding-top: 6px; padding-bottom: 6px; }
.picon { --s: 28px; width: var(--s); height: var(--s); border-radius: 50%; background: var(--pc); color: var(--pt); display: inline-grid; place-items: center; flex: none; overflow: hidden; }
.picon svg.i { width: calc(var(--s) * .56); height: calc(var(--s) * .56); stroke-width: 1.7; }
.picon img { width: 100%; height: 100%; object-fit: cover; }
.title-icon { position: relative; border-radius: 50%; flex: none; }
.title-icon .edit { position: absolute; inset: 0; border-radius: 50%; background: rgba(32, 34, 38, .55); color: #fff; display: grid; place-items: center; opacity: 0; transition: opacity .15s; }
.title-icon:hover .edit, .title-icon:focus-visible .edit { opacity: 1; }
.modal.modal-wide { width: min(560px, 100%); max-height: calc(100dvh - 32px); overflow-y: auto; }
.ps-top { display: flex; gap: 20px; align-items: center; }
.ps-preview { padding: 6px; border-radius: 50%; border: 1px solid var(--border); flex: none; }
.ps-fields { flex: 1; min-width: 0; }
.ps-fields label:first-child { margin-top: 0; }
.ps-icons { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 6px; max-height: 160px; overflow-y: auto; padding: 2px; }
.ps-icons button { aspect-ratio: 1; border-radius: 10px; background: var(--surface-2); color: var(--text-2); display: grid; place-items: center; }
.ps-icons button:hover { color: var(--text); background: var(--surface-3); }
.ps-icons button.on { background: var(--accent); color: var(--on-accent); }
.ps-icons svg.i { width: 22px; height: 22px; }
.ps-upload { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.nav-item .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-foot { margin-top: auto; border-top: 1px solid var(--sidebar-2); padding-top: 10px; display: flex; align-items: center; gap: 6px; }
.me-btn { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; padding: 6px; border-radius: 8px; text-align: left; }
.me-btn:hover { background: var(--sidebar-2); }
.me-btn small { display: block; color: var(--sidebar-muted); font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.icon-btn { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: inherit; flex: none; }
.sidebar .icon-btn { color: var(--sidebar-muted); }
.sidebar .icon-btn:hover { background: var(--sidebar-2); color: var(--sidebar-text); }

/* ---------- Topbar ---------- */
.topbar { display: flex; align-items: center; gap: 10px; padding: 16px 24px 14px; flex-wrap: wrap; }
.topbar .menu-btn { display: none; }
.title-block { min-width: 0; margin-right: auto; flex: 1 1 auto; }
@media (min-width: 861px) { .topbar { flex-wrap: nowrap; } .topbar > * { flex-shrink: 0; } .topbar > .title-block { flex-shrink: 1; min-width: 120px; } }
.title-block h1 { font-size: 22px; font-weight: 600; margin: 0; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.title-block p { margin: 0; color: var(--muted); font-size: 13px; }
.seg { display: inline-flex; background: var(--surface-3); border-radius: 9px; padding: 3px; }
.seg button { padding: 5px 12px; border-radius: 7px; display: inline-flex; align-items: center; gap: 6px; color: var(--text-2); font-weight: 500; font-size: 13px; }
.seg button.on { background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.search { display: flex; align-items: center; gap: 8px; background: var(--surface); border: 1px solid var(--border); border-radius: 9px; padding: 0 10px; height: 36px; width: 180px; color: var(--muted); }
.search:focus-within { border-color: var(--accent-text); }
.search input { flex: 1; min-width: 0; color: var(--text); }
.facepile { display: flex; align-items: center; }
.facepile .av { margin-left: -6px; box-shadow: 0 0 0 2px var(--bg); cursor: pointer; transition: transform .12s; }
.facepile .av:first-child { margin-left: 0; }
.facepile .av:hover { transform: translateY(-2px); z-index: 1; }
.facepile .av.sel { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent); z-index: 2; }
.facepile.dim .av:not(.sel) { opacity: .4; }
.btn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 9px; font-weight: 600; font-size: 13.5px; white-space: nowrap; }
.btn-primary { background: var(--accent); color: var(--on-accent); }
.btn-primary:hover { background: var(--accent-hover); }
.btn-ghost { color: var(--text-2); border: 1px solid var(--border); background: var(--surface); }
.btn-ghost:hover { border-color: var(--border-strong); color: var(--text); }
.btn-danger { color: var(--danger); border: 1px solid var(--border); background: var(--surface); }
.btn-danger.armed { background: var(--danger); color: #fff; border-color: var(--danger); }
.filter-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--accent-soft); color: var(--accent-text); padding: 4px 6px 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 500; }
.filter-chip button { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; }
.filter-chip button:hover { background: rgba(0, 0, 0, .08); }

/* ---------- Avatar ---------- */
.av { --s: 28px; width: var(--s); height: var(--s); border-radius: 50%; overflow: hidden; display: inline-grid; place-items: center; flex: none; background: var(--c, #888); color: #fff; font-size: calc(var(--s) * .4); font-weight: 600; position: relative; user-select: none; }
.av img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(.15); }
.av-stack { display: flex; }
.av-stack .av { margin-left: -7px; box-shadow: 0 0 0 2px var(--surface); }
.av-stack .av:first-child { margin-left: 0; }
.av-more { --s: 24px; background: var(--surface-3); color: var(--text-2); font-size: 11px; }

/* ---------- Board ---------- */
.main { flex: 1; min-height: 0; overflow: auto; padding: 0 24px 24px; }
.board { display: flex; gap: 0; align-items: stretch; height: 100%; min-height: 0; }
.main:has(.board) { padding-bottom: 0; }
.col { width: 292px; flex: none; display: flex; flex-direction: column; background: var(--surface-2); border-right: 1px solid var(--border); }
.col:first-child { border-left: 1px solid var(--border); }
.col-head { display: flex; align-items: center; gap: 8px; padding: 11px 8px 11px 14px; background: var(--cc); color: var(--ct); }
.col-head .col-ic { width: 20px; height: 20px; }
.col-head .col-name { font-weight: 600; font-size: 15px; flex: 1; min-width: 0; padding: 2px 4px; margin-left: -4px; border-radius: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.col-head .col-name:focus { background: color-mix(in srgb, var(--ct) 16%, transparent); text-overflow: clip; }
.col-head .badge { font-size: 12px; font-weight: 600; color: var(--ct); background: color-mix(in srgb, var(--ct) 20%, transparent); border-radius: 999px; padding: 1px 8px; font-variant-numeric: tabular-nums; }

.col-head .icon-btn { width: 26px; height: 26px; color: inherit; }
.col-head .icon-btn:hover { background: color-mix(in srgb, var(--ct) 18%, transparent); }
.col-body { flex: 0 1 auto; min-height: 40px; overflow-y: auto; padding: 10px 10px 6px; display: flex; flex-direction: column; gap: 8px; }
.col-foot { padding: 4px 10px 10px; }
.add-card-btn { width: 100%; display: flex; align-items: center; gap: 6px; padding: 8px; border-radius: 8px; color: var(--muted); font-weight: 500; }
.add-card-btn:hover { background: var(--surface-3); color: var(--text); }
.quick-add { background: var(--surface); border-radius: 9px; box-shadow: var(--shadow); border: 1px solid var(--accent-text); padding: 8px 10px; }
.quick-add textarea { width: 100%; resize: none; min-height: 40px; }
.quick-add .hint { font-size: 11.5px; color: var(--muted); }
.add-col { width: 240px; flex: none; align-self: flex-start; margin-left: 14px; border: 1.5px dashed var(--border-strong); padding: 14px; color: var(--muted); font-weight: 500; display: flex; gap: 8px; align-items: center; }
.add-col:hover { color: var(--text); border-color: var(--text-2); }

.card { background: var(--surface); border-radius: 10px; padding: 11px 12px 10px; box-shadow: var(--shadow); border: 1px solid var(--border); cursor: pointer; position: relative; transition: border-color .12s, box-shadow .12s; }
.card:hover { border-color: var(--border-strong); }
.card.active { border-color: var(--accent-text); box-shadow: 0 0 0 1px var(--accent-text); }
.card.dragging { opacity: .35; }
.card.prio-high::before { content: ""; position: absolute; left: -1px; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--danger); }
.card .tags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
.card-title { display: flex; gap: 8px; align-items: flex-start; font-weight: 600; line-height: 1.35; }
.card.is-done .card-title span { text-decoration: line-through; color: var(--muted); }
.card-meta { display: flex; align-items: center; gap: 10px; margin-top: 10px; color: var(--muted); font-size: 12px; min-height: 24px; }
.card-meta .m { display: inline-flex; align-items: center; gap: 4px; }
.card-meta .m svg.i { width: 14px; height: 14px; }
.card-meta .m.watching { color: var(--accent-text); }
.card-meta .av-stack { margin-left: auto; }
.drop-ph { height: 64px; border-radius: 10px; border: 2px dashed var(--accent-text); background: var(--accent-soft); flex: none; }

.check { width: 18px; height: 18px; border-radius: 50%; border: 1.6px solid var(--border-strong); display: inline-grid; place-items: center; flex: none; margin-top: 1px; color: transparent; transition: all .12s; background: var(--surface); }
.check:hover { border-color: var(--accent-text); color: var(--accent-text); }
.check.on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.check svg { width: 11px; height: 11px; stroke-width: 3; }

.tag { font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 5px; background: color-mix(in srgb, var(--tc) 18%, transparent); color: color-mix(in srgb, var(--tc) 70%, var(--text)); white-space: nowrap; }
.due { display: inline-flex; align-items: center; gap: 4px; }
.due.overdue { color: var(--danger); font-weight: 600; }
.due.today { color: var(--warn); font-weight: 600; }

/* ---------- List ---------- */
.list { max-width: 1200px; display: flex; flex-direction: column; gap: 18px; }
.group { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.group-head { display: flex; align-items: center; gap: 10px; padding: 11px 14px; font-weight: 600; width: 100%; text-align: left; }
.sec-dot { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.group-head .chev { transition: transform .15s; color: var(--muted); }
.group.collapsed .chev { transform: rotate(-90deg); }
.group.collapsed .rows { display: none; }
.group-head .badge { font-size: 12px; color: var(--muted); background: var(--surface-3); border-radius: 999px; padding: 1px 8px; font-weight: 500; }
.row { display: grid; grid-template-columns: 28px minmax(200px, 1fr) 130px 120px 96px 150px; gap: 12px; align-items: center; padding: 8px 14px; border-top: 1px solid var(--border); cursor: pointer; min-height: 46px; }
.row.head { cursor: default; font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; min-height: 0; padding-top: 7px; padding-bottom: 7px; background: var(--surface-2); }
.row:not(.head):hover { background: var(--surface-2); }
.row.active { background: var(--accent-soft); }
.row .t { min-width: 0; display: flex; gap: 8px; align-items: center; }
.row .t > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.row.is-done .t > span { text-decoration: line-through; color: var(--muted); }
.row .sub { color: var(--muted); font-size: 12px; display: inline-flex; gap: 8px; align-items: center; flex: none; }
.row .sub svg.i { width: 13px; height: 13px; }
.row .tags { display: flex; gap: 4px; overflow: hidden; }
.row .pchip { font-size: 11.5px; color: var(--text-2); display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row .pchip .picon { flex: none; }
.row-add { display: flex; align-items: center; gap: 8px; padding: 9px 14px 9px 54px; border-top: 1px solid var(--border); color: var(--muted); }
.row-add input { flex: 1; color: var(--text); }
.row-add input::placeholder { color: var(--muted); }
.list.my .row { grid-template-columns: 28px minmax(200px, 1fr) 170px 130px 96px 120px; }

.empty { text-align: center; color: var(--muted); padding: 60px 20px; }
.empty .big { font-size: 40px; margin-bottom: 8px; }

/* ---------- Team ---------- */
.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; max-width: 1200px; }
.member { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 20px 16px 16px; text-align: center; position: relative; }
.member.me { border-color: var(--accent-text); }
.member .av-edit { position: relative; display: inline-block; cursor: pointer; border-radius: 50%; }
.member .av-edit .ov { position: absolute; inset: 0; border-radius: 50%; background: rgba(32, 34, 38, .55); color: #fff; display: grid; place-items: center; opacity: 0; transition: opacity .15s; font-size: 11.5px; font-weight: 600; }
.member .av-edit:hover .ov, .member .av-edit:focus-visible .ov { opacity: 1; }
.member h3 { margin: 12px 0 0; font-size: 16px; font-weight: 600; }
.member input.role { text-align: center; color: var(--muted); font-size: 13px; width: 100%; border-radius: 5px; padding: 2px; }
.member input.role:hover, .member input.role:focus { background: var(--surface-2); }
.member .stats { display: flex; justify-content: center; gap: 16px; margin-top: 12px; font-size: 12.5px; color: var(--text-2); }
.member .stats b { display: block; font-size: 18px; color: var(--text); font-weight: 600; }
.member .actions { display: flex; justify-content: center; gap: 6px; margin-top: 14px; flex-wrap: wrap; }
.member .actions button { font-size: 12px; color: var(--muted); padding: 4px 8px; border-radius: 6px; }
.member .actions button:hover { background: var(--surface-2); color: var(--text); }
.member .actions button.armed { color: #fff; background: var(--danger); }
.me-badge { position: absolute; top: 10px; right: 10px; font-size: 10.5px; font-weight: 700; background: var(--accent); color: var(--on-accent); border-radius: 999px; padding: 1px 7px; }

/* ---------- Drawer ---------- */
.drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 100vw); background: var(--surface); box-shadow: var(--shadow-lg); transform: translateX(105%); transition: transform .22s cubic-bezier(.3, .7, .3, 1); z-index: 30; display: flex; flex-direction: column; border-left: 1px solid var(--border); }
.drawer.open { transform: none; }
.d-head { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.d-head .crumb { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13px; min-width: 0; flex: 1; }
.d-head .crumb .picon { flex: none; }
.d-head .crumb span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.d-head select { background: var(--surface-2); border: 1px solid var(--border); border-radius: 7px; padding: 4px 8px; font-weight: 500; font-size: 13px; color: var(--text); max-width: 150px; }
.d-head .icon-btn:hover { background: var(--surface-2); }
.d-body { flex: 1; overflow-y: auto; padding: 18px 22px 30px; }
.d-done { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 8px; border-radius: 8px; border: 1px solid var(--border); font-weight: 500; font-size: 13px; color: var(--text-2); }
.d-done:hover { border-color: var(--accent-text); color: var(--accent-text); }
.d-done.on { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.d-title { width: 100%; font-size: 21px; font-weight: 600; line-height: 1.3; resize: none; margin: 14px 0 4px; padding: 4px 6px; margin-left: -6px; border-radius: 6px; overflow: hidden; letter-spacing: -.01em; }
.d-title:hover, .d-title:focus { background: var(--surface-2); }
.d-meta { font-size: 12px; color: var(--muted); margin-bottom: 18px; }
.field { display: grid; grid-template-columns: 112px 1fr; gap: 10px; align-items: start; padding: 7px 0; }
.field > label { color: var(--muted); font-size: 13px; padding-top: 6px; display: flex; align-items: center; gap: 6px; }
.field > label svg.i { width: 15px; height: 15px; }
.people { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pchip-lg { display: inline-flex; align-items: center; gap: 7px; padding: 3px 6px 3px 3px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--border); font-size: 13px; font-weight: 500; }
.pchip-lg button { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; color: var(--muted); }
.pchip-lg button:hover { background: var(--surface-3); color: var(--text); }
.pchip-lg button svg.i { width: 12px; height: 12px; }
.add-person { width: 30px; height: 30px; border-radius: 50%; border: 1.5px dashed var(--border-strong); display: grid; place-items: center; color: var(--muted); }
.add-person:hover { border-color: var(--accent-text); color: var(--accent-text); }
.watch-me { font-size: 12px; color: var(--muted); display: inline-flex; gap: 5px; align-items: center; padding: 4px 8px; border-radius: 6px; margin-left: 2px; }
.watch-me:hover { background: var(--surface-2); color: var(--text); }
.watch-me.on { color: var(--accent-text); }
.watch-me svg.i { width: 14px; height: 14px; }
.inp { background: var(--surface-2); border: 1px solid var(--border); border-radius: 7px; padding: 5px 9px; color: var(--text); min-height: 32px; }
.inp:focus { border-color: var(--accent-text); }
.tag-edit { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; padding-top: 4px; }
.tag-edit .tag { display: inline-flex; align-items: center; gap: 4px; padding-right: 3px; }
.tag-edit .tag button { opacity: .6; display: grid; place-items: center; }
.tag-edit .tag button:hover { opacity: 1; }
.tag-edit .tag svg.i { width: 11px; height: 11px; }
.tag-edit input { width: 110px; font-size: 13px; padding: 2px 4px; }
.tag-edit input::placeholder { color: var(--muted); }
.section-h { font-size: 13px; font-weight: 600; margin: 24px 0 8px; display: flex; align-items: center; gap: 8px; }
.section-h .muted { color: var(--muted); font-weight: 400; }
.d-desc { width: 100%; min-height: 90px; resize: vertical; background: var(--surface-2); border: 1px solid var(--border); border-radius: 9px; padding: 10px 12px; line-height: 1.5; }
.d-desc:focus { border-color: var(--accent-text); }
.d-desc::placeholder, .cl-add input::placeholder, .comment-box textarea::placeholder { color: var(--muted); }
.progress { flex: 1; height: 5px; background: var(--surface-3); border-radius: 9px; overflow: hidden; max-width: 160px; }
.progress i { display: block; height: 100%; background: var(--accent); border-radius: 9px; transition: width .2s; }
.cl-item { display: flex; align-items: center; gap: 10px; padding: 4px 6px; margin: 0 -6px; border-radius: 7px; }
.cl-item:hover { background: var(--surface-2); }
.cl-item input { flex: 1; padding: 3px 0; }
.cl-item.done input { text-decoration: line-through; color: var(--muted); }
.cl-item .del { opacity: 0; color: var(--muted); }
.cl-item:hover .del { opacity: 1; }
.cl-add { display: flex; align-items: center; gap: 10px; padding: 6px 0; color: var(--muted); }
.cl-add input { flex: 1; color: var(--text); }
.comment { display: flex; gap: 10px; margin-bottom: 14px; }
.comment .bubble { flex: 1; min-width: 0; }
.comment .who { font-size: 13px; font-weight: 600; }
.comment .who time { color: var(--muted); font-weight: 400; font-size: 12px; margin-left: 6px; }
.comment .txt { background: var(--surface-2); border-radius: 0 10px 10px 10px; padding: 8px 11px; margin-top: 3px; white-space: pre-wrap; word-wrap: break-word; }
.comment-box { display: flex; gap: 10px; align-items: flex-start; }
.comment-box .wrap { flex: 1; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); padding: 8px 10px; }
.comment-box .wrap:focus-within { border-color: var(--accent-text); }
.comment-box textarea { width: 100%; resize: none; min-height: 38px; }
.comment-box .bar { display: flex; justify-content: flex-end; }
.comment-box .btn { height: 30px; padding: 0 12px; font-size: 12.5px; }

/* ---------- Popover / Modal / Toast ---------- */
.popover { position: fixed; z-index: 90; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow-lg); width: 260px; max-height: 380px; display: flex; flex-direction: column; overflow: hidden; }
.popover .p-search { padding: 8px; border-bottom: 1px solid var(--border); }
.popover .p-search input { width: 100%; padding: 6px 8px; background: var(--surface-2); border-radius: 7px; }
.popover .p-title { font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); padding: 10px 12px 4px; }
.popover .p-list { overflow-y: auto; padding: 4px; }
.swatches { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 8px 8px; }
.swatches button { width: 24px; height: 24px; border-radius: 6px; }
.swatches button.on { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--text); }
.p-opt { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 7px; width: 100%; text-align: left; }
.p-opt:hover, .p-opt.hl { background: var(--surface-2); }
.p-opt small { display: block; color: var(--muted); font-size: 11.5px; line-height: 1.2; }
.p-opt .tick { margin-left: auto; color: var(--accent-text); }
.p-opt.danger { color: var(--danger); }
.modal-wrap { position: fixed; inset: 0; z-index: 70; background: rgba(20, 21, 24, .45); display: grid; place-items: center; padding: 16px; }
.modal { background: var(--surface); border-radius: 16px; box-shadow: var(--shadow-lg); width: min(440px, 100%); padding: 22px; }
.modal h2 { margin: 0 0 16px; font-size: 18px; }
.modal label { display: block; font-size: 12.5px; color: var(--muted); margin: 12px 0 5px; }
.modal .inp { width: 100%; }
.modal .colors { display: flex; gap: 8px; flex-wrap: wrap; }
.modal .colors button { width: 28px; height: 28px; border-radius: 8px; }
.modal .colors button.on { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--text); }
.modal .foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; }
.toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background: var(--brand-dark); color: #fff; padding: 10px 16px; border-radius: 10px; z-index: 80; box-shadow: var(--shadow-lg); font-size: 13.5px; display: flex; gap: 12px; align-items: center; }
.toast button { color: var(--accent); font-weight: 600; }
.scrim { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .row { grid-template-columns: 28px minmax(160px, 1fr) 110px 96px 90px; }
  .row > :nth-child(6) { display: none; }
  .list.my .row { grid-template-columns: 28px minmax(160px, 1fr) 130px 110px 90px; }
}
@media (max-width: 860px) {
  .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; transform: translateX(-100%); transition: transform .2s; }
  .app.nav-open .sidebar { transform: none; }
  .app.nav-open .scrim { display: block; position: fixed; inset: 0; background: rgba(0, 0, 0, .4); z-index: 35; }
  .topbar { padding: 12px 16px; gap: 10px; }
  .topbar .menu-btn { display: grid; margin-left: -6px; }
  .title-block h1 { font-size: 18px; }
  .search { width: 100%; order: 10; }
  .main { padding: 0 16px 16px; }
  .col { width: 84vw; max-width: 300px; }
  .board { scroll-snap-type: x mandatory; }
  .col { scroll-snap-align: start; }
  .row, .list.my .row { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .row > :nth-child(n+4) { display: none; }
  .row.head { display: none; }
  .field { grid-template-columns: 96px 1fr; }
  .facepile { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ---------- Zuschneide-Dialog ---------- */
.cropper-wrap { z-index: 75; }
.crop-modal { width: min(360px, 100%); }
.crop-stage { position: relative; width: var(--v); height: var(--v); max-width: 100%; margin: 0 auto; overflow: hidden; border-radius: 12px; background: repeating-conic-gradient(var(--surface-3) 0 25%, var(--surface-2) 0 50%) 0 0 / 16px 16px; cursor: grab; touch-action: none; user-select: none; }
.crop-stage.grabbing { cursor: grabbing; }
.crop-stage img { position: absolute; left: 50%; top: 50%; max-width: none; pointer-events: none; }
.crop-mask { position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 999px rgba(20, 21, 24, .5); outline: 2px solid rgba(255, 255, 255, .85); outline-offset: -1px; pointer-events: none; }
.crop-zoom { display: flex; align-items: center; gap: 10px; margin: 16px auto 0; max-width: 280px; color: var(--muted); font-weight: 600; }
.crop-zoom input { flex: 1; accent-color: var(--accent-text); }
.crop-hint { text-align: center; color: var(--muted); font-size: 12.5px; margin: 8px 0 0; }

/* ---------- Projektteam ---------- */
.nav-empty { color: var(--sidebar-muted); font-size: 12.5px; padding: 6px 10px; }
.facepile .team-add { margin-left: 4px; background: var(--surface); color: var(--muted); border: 1.5px dashed var(--border-strong); box-shadow: none; cursor: pointer; }
.facepile .team-add:hover { color: var(--accent-text); border-color: var(--accent-text); transform: none; }
.facepile .team-add svg.i { width: 15px; height: 15px; }
.facepile.dim .team-add { opacity: 1; }
.ps-team { margin-top: 2px; }
.ps-team .muted, .modal label .muted { color: var(--muted); font-weight: 400; }
.p-hint { border-top: 1px solid var(--border); padding: 8px 12px; font-size: 12px; color: var(--muted); }
.p-hint .link { color: var(--accent-text); font-weight: 600; font-size: 12px; }
.p-hint .link:hover { text-decoration: underline; }

/* ---------- Projektbasis ---------- */
.base-tab { flex: none; width: 40px; margin-right: 12px; align-self: stretch; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 14px 0; background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font-weight: 600; font-size: 13px; }
.base-tab:hover { color: var(--text); border-color: var(--border-strong); }
.base-tab span { writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .02em; }
.base-tab b { font-size: 11px; background: var(--surface-3); border-radius: 999px; padding: 1px 7px; }
.col.base-col { width: 300px; margin-right: 12px; background: var(--surface); border: 1px solid var(--border); }
.base-head { --cc: var(--surface-2); --ct: var(--text); border-bottom: 1px solid var(--border); }
.bcard { background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px 12px; cursor: pointer; }
.bcard:hover { border-color: var(--border-strong); }
.bcard.active { border-color: var(--accent-text); box-shadow: 0 0 0 1px var(--accent-text); }
.bcard-h { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-2); margin-bottom: 8px; }
.bcard-h svg.i { width: 15px; height: 15px; }
.bc-empty { margin: 0; color: var(--muted); font-size: 12.5px; font-style: italic; }
.bc-note { margin: 0; white-space: pre-wrap; display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.bc-contact { display: flex; gap: 10px; align-items: flex-start; padding: 4px 0; }
.bc-contact + .bc-contact { border-top: 1px solid var(--border); padding-top: 8px; margin-top: 4px; }
.bc-contact b { display: block; font-weight: 600; }
.bc-contact small { display: block; color: var(--muted); font-size: 12px; }
.bc-contact a { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--accent-text); text-decoration: none; word-break: break-all; margin-top: 2px; }
.bc-contact a:hover { text-decoration: underline; }
.bc-contact a svg.i { width: 13px; height: 13px; flex: none; }
.bc-colors { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bc-sw { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 12.5px; font-weight: 500; }
.bc-sw i { width: 30px; height: 30px; border-radius: 7px; flex: none; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.bc-sw span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-sw small { display: block; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.bc-list, .bc-dec { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.bc-list li { display: flex; gap: 7px; align-items: flex-start; font-size: 13px; }
.bc-list li svg.i { width: 14px; height: 14px; margin-top: 2px; color: var(--muted); }
.bc-list a { color: var(--accent-text); text-decoration: none; font-weight: 500; }
.bc-list a:hover { text-decoration: underline; }
.bc-list small { display: block; color: var(--muted); font-size: 11.5px; word-break: break-all; }
.bc-dec li { border-left: 3px solid var(--accent); padding: 1px 0 1px 9px; font-size: 13px; }
.bc-dec small { display: block; color: var(--muted); font-size: 11.5px; }
.bc-kv { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0; font-size: 13px; }
.bc-kv dt { color: var(--muted); }
.bc-kv dd { margin: 0; font-weight: 500; }
.base-empty { text-align: center; padding: 18px 8px; color: var(--muted); font-size: 13px; }
.base-empty p { margin: 0 0 12px; }

/* Basis-Editor im Seitenpanel */
.d-head .icon-btn:disabled { opacity: .3; cursor: default; }
.b-type { display: flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: var(--text-2); }
.b-type svg.i { width: 15px; height: 15px; }
.b-type .muted { color: var(--muted); font-weight: 400; }
.d-title.b-title { margin-bottom: 14px; }
.b-items { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.b-item { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 10px 40px 10px 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); }
.b-item .inp { width: 100%; min-width: 0; background: var(--surface); }
.b-contacts .b-item > :first-child, .b-decisions .b-item > :first-child { grid-column: 1 / -1; }
.b-links .b-item { grid-template-columns: 1fr; }
.b-colors .b-item { grid-template-columns: 1fr 1fr; }
.b-color { display: flex; gap: 6px; }
.b-color input[type=color] { width: 36px; height: 32px; padding: 0; border: 1px solid var(--border); border-radius: 7px; background: none; cursor: pointer; flex: none; }
.b-del { position: absolute; top: 8px; right: 6px; width: 28px; height: 28px; color: var(--muted); }
.b-del:hover { color: var(--danger); background: var(--surface-3); }
.b-hint { color: var(--muted); font-size: 12px; margin-top: 18px; }
@media (max-width: 860px) { .col.base-col { width: 84vw; max-width: 300px; } }

/* ---------- Rollen & Externe ---------- */
.nav-item.other { opacity: .72; }
.nav-item.other:hover, .nav-item.other.active { opacity: 1; }
.nav-hint { display: inline-grid; color: var(--sidebar-muted); }
.nav-hint .i { width: 14px; height: 14px; }
.av.ext { outline: 1.5px dashed var(--muted); outline-offset: 1.5px; }
.av-stack .av.ext, .facepile .av.ext { outline-offset: 0; }
.title-icon.static { cursor: default; }
.filter-chip.info { background: var(--surface-3); color: var(--text-2); padding: 3px 10px; }
.filter-chip.info .i { width: 14px; height: 14px; }
.filter-chip .join { width: auto; height: auto; border-radius: 999px; padding: 2px 9px; margin-left: 2px; background: var(--accent); color: var(--on-accent); font-weight: 600; font-size: 12px; }
.filter-chip .join:hover { background: var(--accent-hover); }
.bcard.ro { cursor: default; }
.base-ro { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12.5px; padding: 8px 10px; }
.base-ro .i { width: 14px; height: 14px; }

.rights { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; max-width: 1200px; margin-bottom: 26px; }
.right { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; }
.right b { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.right b span { margin-left: auto; font-size: 12px; color: var(--muted); font-weight: 500; }
.right p { margin: 6px 0 0; font-size: 12.5px; color: var(--text-2); line-height: 1.45; }
.team-h { font-size: 15px; margin: 8px 0 14px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.team-h span { color: var(--muted); font-weight: 500; font-size: 13px; }
.team-h small { color: var(--muted); font-weight: 400; font-size: 12.5px; flex-basis: 100%; }
.team-grid + .team-h { margin-top: 30px; }
.m-company { font-size: 12.5px; color: var(--text-2); margin-top: 2px; }
.m-access { margin-top: 10px; }
.m-projects { font-size: 12px; color: var(--muted); margin-top: 6px; }
.acc-badge, .acc-sel { font-size: 11.5px; font-weight: 600; border-radius: 999px; padding: 3px 10px; background: var(--surface-3); color: var(--text-2); border: 0; font-family: inherit; }
.acc-sel { cursor: pointer; padding-right: 6px; }
.acc-admin { background: var(--brand-dark); color: #fff; }
.acc-pm { background: var(--accent); color: var(--on-accent); }
.acc-external { background: transparent; color: var(--text-2); box-shadow: inset 0 0 0 1.5px var(--border-strong); }

/* Optionen in Dialogen */
.radio { display: flex !important; gap: 10px; align-items: flex-start; padding: 7px 0; margin: 0 !important; color: var(--text) !important; font-size: 13.5px !important; cursor: pointer; }
.radio input { margin: 3px 0 0; accent-color: #4fae4b; flex: none; }
.radio b { font-weight: 600; display: block; }
.radio small { display: block; color: var(--muted); font-size: 12px; margin-top: 1px; }
.radio.off { opacity: .5; cursor: default; }
.ps-ext { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 12px; }
.ps-ext-h { display: flex; align-items: center; gap: 8px; font-size: 13.5px; margin-bottom: 4px; }
.ps-ext-h .muted { font-size: 12.5px; }
.pr-intro { display: flex; align-items: center; gap: 8px; margin: -6px 0 8px; font-size: 13px; }
.pr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 28px; }
.pr-grid.single { grid-template-columns: 1fr; }
.pr-count { margin: 14px 0 0; font-size: 13px; font-weight: 600; }
.pr-hint { font-size: 12px; margin-right: auto; }
.modal h2 .i { vertical-align: -3px; }
@media (max-width: 560px) { .pr-grid { grid-template-columns: 1fr; } .pr-hint { flex-basis: 100%; } }

/* ---------- Drucklayout (nach factor-Muster) ---------- */
#print { display: none; }
@media print {
  @page { size: A4; margin: 16mm 14mm 16mm;
    @top-left { font: 9pt "DM Sans", sans-serif; color: #2f3135; }
    @top-right { font: 9pt "DM Sans", sans-serif; color: #2f3135; }
    @bottom-left { content: "© Fabian Isensee | studiotask.de"; font: 9pt "DM Sans", sans-serif; color: #2f3135; }
    @bottom-right { content: "Seite " counter(page) " von " counter(pages); font: 9pt "DM Sans", sans-serif; color: #2f3135; }
  }
  html.printing body > :not(#print) { display: none !important; }
  html.printing, html.printing body { background: #fff !important; }
  html.printing #print { display: block; }
}
#print { color: #2f3135; font-family: var(--font); font-size: 11pt; line-height: 1.5; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#print .pr-head { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 8mm; }
#print .pr-meta { display: flex; flex-wrap: wrap; gap: 4px 26px; font-size: 10.5pt; color: #5c5f65; flex: 1; padding-top: 4px; }
#print .pr-meta span { display: inline-flex; align-items: center; gap: 6px; }
#print .pr-meta b { color: #2f3135; font-weight: 600; }
#print .od { color: #c0392b; }
#print .pr-logo { width: 104px; height: 36px; background: #404348; flex: none; }
#print .pr-title { font-size: 22pt; font-weight: 500; margin: 0; line-height: 1.2; }
#print .pr-team { margin: 2px 0 6mm; color: #5c5f65; font-size: 10pt; }
#print h2 { font-size: 13pt; font-weight: 700; margin: 7mm 0 3mm; display: flex; align-items: center; gap: 8px; break-after: avoid; }
#print h2 i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
#print h2 span { color: #8b8e94; font-weight: 500; font-size: 10pt; }
#print .av { box-shadow: none; }
#print .picon { flex: none; }

/* Projektbasis */
#print .pr-base-grid { columns: 2; column-gap: 10mm; }
#print .pb { break-inside: avoid; margin-bottom: 5mm; }
#print .pb h4 { font-size: 11pt; font-weight: 700; margin: 0 0 1.5mm; }
#print .pb-contact { margin-bottom: 2mm; display: flex; flex-direction: column; font-size: 10pt; }
#print .pb-contact span { color: #5c5f65; }
#print .pb-colors { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 4mm; }
#print .pb-colors div { display: flex; align-items: center; gap: 8px; font-size: 10pt; }
#print .pb-colors i { width: 22px; height: 22px; border-radius: 5px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); flex: none; }
#print .pb-colors small { display: block; color: #8b8e94; font-size: 8.5pt; }
#print .pb-kv { display: grid; grid-template-columns: auto 1fr; gap: 1mm 5mm; margin: 0; font-size: 10pt; }
#print .pb-kv dt { color: #5c5f65; }
#print .pb-kv dd { margin: 0; }
#print .pb-dec { margin: 0; padding-left: 16px; font-size: 10pt; }
#print .pb-dec small { display: block; color: #8b8e94; font-size: 8.5pt; }
#print .pb-note { white-space: pre-wrap; margin: 0; font-size: 10pt; }
#print .pb-empty { color: #8b8e94; margin: 0; }

/* Aufgaben: Kreis zum Abhaken, Titel, Ausführende rechts */
#print .pt { break-inside: avoid; padding: 3.5mm 0 4mm; border-top: 1px solid #e2e2e3; }
#print .pg h2 + .pt { border-top: 0; padding-top: 1mm; }
#print .pt-head { display: grid; grid-template-columns: 26px 1fr auto; gap: 0 10px; align-items: center; }
#print .pt-circle { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #8b8e94; display: inline-block; flex: none; position: relative; }
#print .pt.done > .pt-head .pt-circle, #print li.done .pt-circle { background: #a4fb8c; border-color: #4fae4b; }
#print .pt.done > .pt-head .pt-circle::after, #print li.done .pt-circle::after { content: ""; position: absolute; left: 32%; top: 18%; width: 28%; height: 45%; border: solid #1f2a1b; border-width: 0 2px 2px 0; transform: rotate(45deg); }
#print .pt h3 { margin: 0; font-size: 14pt; font-weight: 500; line-height: 1.25; }
#print .pt.done h3 { color: #8b8e94; }
#print .pt-who { display: flex; gap: 14px; justify-content: flex-end; flex-wrap: wrap; }
#print .pt-who span { display: inline-flex; align-items: center; gap: 7px; color: #5c5f65; font-size: 11pt; }
#print .pt-meta, #print .pt-desc, #print .pt-cl { margin-left: 36px; }
#print .pt-meta { display: flex; flex-wrap: wrap; gap: 0 16px; font-size: 9.5pt; color: #8b8e94; margin-top: 1mm; }
#print .pt-desc { margin-top: 2mm; margin-bottom: 0; white-space: pre-wrap; }
#print .pt-cl { list-style: none; padding: 0; margin-top: 2mm; margin-bottom: 0; }
#print .pt-cl li { position: relative; padding: 1mm 0; }
#print .pt-cl .pt-circle.sm { position: absolute; left: -31px; top: calc(1mm + .75em - 7.5px); width: 15px; height: 15px; border-color: #4fb3b3; }
#print .pt-cl li.done { color: #8b8e94; }
#print .pt-cl .dot { margin-right: 7px; }
/* Einzelaufgabe: groß wie im Muster */
#print .pt.single { border: 0; padding-top: 0; }
#print .pt.single h3 { font-size: 22pt; }
#print .pt.single .pt-head .pt-circle { width: 26px; height: 26px; }
#print .pt.single .pt-head { grid-template-columns: 32px 1fr auto; }
#print .pt.single .pt-meta { margin-top: 2mm; }
#print .pt.single .pt-desc, #print .pt.single .pt-cl { font-size: 12pt; }
#print .pr-notes .line { border-bottom: 1px solid #c9cacd; height: 9mm; }

/* ---------- Zeitplan (Gantt) ---------- */
.main.is-gantt { padding: 0; }
.gantt { --lw: 300px; --rh: 44px; width: calc(var(--lw) + var(--w)); min-width: 100%; background: var(--surface); border-top: 1px solid var(--border); }
.g-row { display: flex; min-height: var(--rh); border-bottom: 1px solid var(--border); }
.g-l { width: var(--lw); flex: none; position: sticky; left: 0; z-index: 3; background: var(--surface); border-right: 1px solid var(--border-strong); display: flex; align-items: center; gap: 10px; padding: 0 12px 0 16px; min-width: 0; }
.g-r { width: var(--w); flex: none; position: relative;
  background-image:
    linear-gradient(90deg, transparent calc(var(--today) + var(--px) / 2 - 1px), #4fae4b calc(var(--today) + var(--px) / 2 - 1px), #4fae4b calc(var(--today) + var(--px) / 2 + 1px), transparent calc(var(--today) + var(--px) / 2 + 1px)),
    linear-gradient(90deg, var(--border) 1px, transparent 1px),
    repeating-linear-gradient(90deg, transparent 0 calc(var(--px) * 5), var(--g-we) calc(var(--px) * 5) calc(var(--px) * 7));
  background-size: 100% 100%, var(--grid) 100%, 100% 100%; }
.gantt { --g-we: rgba(64, 67, 72, .045); }
:root[data-theme="dark"] .gantt { --g-we: rgba(0, 0, 0, .16); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .gantt { --g-we: rgba(0, 0, 0, .16); } }
.gantt.z-month .g-r { background-size: 100% 100%, var(--grid) 100%, 0 0; }
.g-row:not(.g-head):not(.g-group):hover .g-l, .g-row.active .g-l { background: var(--surface-2); }
.g-row.active .g-l { box-shadow: inset 3px 0 0 #4fae4b; }
.g-l .check { flex: none; }
.g-l[data-action] { cursor: pointer; }
.g-t { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.g-t b { font-weight: 600; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-t small { color: var(--muted); font-size: 11.5px; }
.g-row .is-done, .g-l .check.on + .g-t b { color: var(--muted); text-decoration: line-through; }

.g-head { position: sticky; top: 0; z-index: 5; min-height: 58px; background: var(--surface); box-shadow: 0 1px 0 var(--border-strong); }
.g-head .g-l { z-index: 6; font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; gap: 8px; }
.g-head .g-l > span { margin-right: auto; }
.g-head .g-r { background: var(--surface); display: flex; flex-direction: column; }
.seg.sm { padding: 2px; text-transform: none; letter-spacing: 0; }
.seg.sm button { padding: 3px 8px; font-size: 12px; }
.g-months, .g-ticks { display: flex; }
.g-months { height: 26px; border-bottom: 1px solid var(--border); }
.g-months span { flex: none; font-size: 12px; padding: 5px 0; border-left: 1px solid var(--border); white-space: nowrap; overflow: clip; }
.g-months b { position: sticky; left: calc(var(--lw) + 8px); padding: 0 8px; font-weight: 600; }
.g-ticks { flex: 1; }
.g-ticks span { flex: none; font-size: 11.5px; color: var(--text-2); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; border-left: 1px solid var(--border); }
.gantt:not(.z-day) .g-ticks span { align-items: flex-start; padding-left: 6px; font-size: 11px; color: var(--muted); }
.g-ticks small { font-size: 9.5px; color: var(--muted); }
.g-ticks .we { background: var(--g-we); color: var(--muted); }
.g-ticks .today { background: #4fae4b; color: #fff; font-weight: 700; border-radius: 6px; }
.g-ticks .today small { color: #fff; }

.g-group { min-height: 36px; background: var(--surface-2); }
.g-group .g-l { background: var(--surface-2); font-weight: 600; font-size: 13px; gap: 8px; }
.g-group .g-r { background: var(--surface-2); }

.g-bar { position: absolute; top: 9px; height: 26px; border-radius: 7px; background: var(--bc); color: var(--bt); display: flex; align-items: center; cursor: grab; touch-action: none; user-select: none; box-shadow: var(--shadow); z-index: 1; }
.g-bar.dragging { cursor: grabbing; box-shadow: var(--shadow-lg); z-index: 4; opacity: .92; }
.g-bar.done { opacity: .5; }
.g-bar.od { box-shadow: 0 0 0 2px var(--danger); }
.g-lbl { flex: 1; min-width: 0; padding: 0 10px; font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 4px; pointer-events: none; }
.g-lbl .i { width: 13px; height: 13px; flex: none; }
.g-bar.narrow .g-lbl { position: absolute; left: calc(100% + 8px); padding: 0; color: var(--text-2); font-weight: 500; overflow: visible; max-width: 260px; }
.g-bar .h { position: absolute; top: 0; bottom: 0; width: 9px; cursor: ew-resize; z-index: 2; }
.g-bar .h.l { left: -2px; } .g-bar .h.r { right: -2px; }
.g-bar .h::after { content: ""; position: absolute; top: 7px; bottom: 7px; left: 3px; width: 2px; border-radius: 2px; background: currentColor; opacity: 0; transition: opacity .12s; }
.g-bar:hover .h::after { opacity: .55; }
.g-empty { position: sticky; left: calc(var(--lw) + 16px); display: inline-block; margin-top: 13px; font-size: 12px; color: var(--muted); padding-left: 16px; cursor: copy; }
.g-r[data-gid]:not(:has(.g-bar)) { cursor: copy; }
.g-tip { position: fixed; z-index: 95; background: var(--brand-dark); color: #fff; font-size: 12px; font-weight: 600; padding: 5px 9px; border-radius: 7px; pointer-events: none; white-space: nowrap; box-shadow: var(--shadow-lg); }
@media (max-width: 1500px) { .view-seg .lbl { display: none; } .view-seg button { padding: 5px 9px; } }
@media (max-width: 860px) { .gantt { --lw: 170px; } .g-l .av-stack, .g-head .g-l > span { display: none; } .g-head .g-l { gap: 4px; padding: 0 6px; } }
:root[data-theme="dark"] .g-bar { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28), var(--shadow); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .g-bar { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28), var(--shadow); } }
:root[data-theme="dark"] .g-bar.od { box-shadow: 0 0 0 2px var(--danger); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .g-bar.od { box-shadow: 0 0 0 2px var(--danger); } }

/* ---------- Abhängigkeiten & Meilensteine ---------- */
.gantt { position: relative; isolation: isolate; --g-link: #8b8e94; }
.g-links { position: absolute; top: 0; left: var(--lw); width: var(--w); z-index: 1; pointer-events: none; overflow: visible; }
.g-links path { fill: none; stroke: var(--g-link); stroke-width: 1.6; stroke-linejoin: round; }
.g-links path.ok { opacity: .45; }
.g-links path.bad { stroke: var(--danger); stroke-dasharray: 4 3; }
.g-links path.tmp { stroke: #4fae4b; stroke-width: 2; stroke-dasharray: 5 4; }
.g-links .ga { fill: var(--g-link); stroke: none; }
.g-links .ga-bad { fill: var(--danger); stroke: none; }
.g-bar { z-index: 2; }
.g-bar.conflict { box-shadow: 0 0 0 2px var(--danger); }
.g-link { position: absolute; right: -15px; top: 50%; width: 11px; height: 11px; margin-top: -5.5px; border-radius: 50%; background: var(--surface); border: 2px solid #4fae4b; cursor: crosshair; opacity: 0; transition: opacity .12s, transform .12s; z-index: 3; }
.g-bar:hover .g-link, .gantt.linking .g-link { opacity: 1; }
.g-link:hover { transform: scale(1.25); }
.gantt.linking .g-bar { cursor: crosshair; }
.g-bar.link-target { outline: 2px solid #4fae4b; outline-offset: 2px; }
/* Meilenstein = Raute */
.g-bar.ms { background: none; box-shadow: none !important; overflow: visible; }
.g-bar.ms::before { content: ""; position: absolute; left: 50%; top: 50%; width: 17px; height: 17px; margin: -8.5px 0 0 -8.5px; transform: rotate(45deg); border-radius: 3px; background: var(--bc); box-shadow: 0 0 0 2px var(--surface), var(--shadow); }
.g-bar.ms.od::before { box-shadow: 0 0 0 2px var(--danger); }
.g-bar.ms.done::before { opacity: .5; }
.g-bar.ms.narrow .g-lbl { left: calc(50% + 16px); font-weight: 600; color: var(--text); }
.g-bar.ms .g-link { right: auto; left: calc(50% + 6px); }
.g-bar.ms:hover .g-lbl { opacity: .2; }
.ms-ic { display: inline-grid; vertical-align: -2px; margin-right: 5px; color: var(--text-2); }
.ms-ic .i { width: 13px; height: 13px; fill: currentColor; }
.warn-t { color: var(--danger); font-style: normal; font-weight: 600; }
.m.wait { color: var(--warn); }
.m.wait.bad { color: var(--danger); }

/* Detailansicht */
.switch { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: var(--text-2); padding: 4px 0; }
.switch i { width: 30px; height: 18px; border-radius: 999px; background: var(--surface-3); position: relative; transition: background .15s; flex: none; }
.switch i::after { content: ""; position: absolute; left: 2px; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .15s; }
.switch.on i { background: #4fae4b; }
.switch.on i::after { transform: translateX(12px); }
.switch.on { color: var(--text); }
.deps { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.dep { display: inline-flex; align-items: center; gap: 7px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; padding: 4px 6px 4px 8px; font-size: 12.5px; cursor: pointer; max-width: 100%; }
.dep:hover { border-color: var(--border-strong); }
.dep > span { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.dep > span { overflow: hidden; }
.dep small { color: var(--muted); font-size: 11px; }
.dep > .i { width: 14px; height: 14px; color: var(--warn); flex: none; }
.dep.done > .i { color: #4fae4b; }
.dep.bad { border-color: var(--danger); background: var(--danger-soft); }
.dep button { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 5px; color: var(--muted); flex: none; }
.dep button:hover { background: var(--surface-3); color: var(--text); }
.dep-warn { flex-basis: 100%; margin: 2px 0 0; display: flex; align-items: center; gap: 6px; color: var(--danger); font-size: 12.5px; font-weight: 500; }
.dep-warn .i { width: 15px; height: 15px; }
.p-opt .ms-ic { margin: 0 4px; }

/* ---------- Farbsysteme & Materialien ---------- */
.bc-colors.has-specs { grid-template-columns: 1fr; }
.bc-colors.has-specs .bc-sw span { white-space: normal; }
.bc-mat + .bc-mat { margin-top: 10px; }
.bc-sup { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 4px; }
.bc-mi { font-size: 12.5px; padding: 3px 0; line-height: 1.3; }
.bc-mi b { font-weight: 600; }
.bc-mi a { color: var(--accent-text); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.bc-mi a:hover { text-decoration: underline; }
.bc-mi a .i { width: 12px; height: 12px; }
.bc-mi small { display: block; color: var(--muted); font-size: 11.5px; }
.b-materials .b-item > :first-child, .b-materials .b-item > :nth-child(4), .b-materials .b-item > :nth-child(5) { grid-column: 1 / -1; }
.b-specs { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; }
.b-spec { display: grid; grid-template-columns: 110px 1fr 28px; gap: 6px; align-items: center; }
.b-spec .icon-btn { width: 28px; height: 28px; color: var(--muted); }
.b-add-spec { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: var(--text-2); padding: 3px 6px; border-radius: 6px; }
.b-add-spec:hover { background: var(--surface-3); color: var(--text); }
.b-add-spec .i { width: 14px; height: 14px; }

/* ---------- Projektleitung ---------- */
.title-block p { display: flex; align-items: center; gap: 4px 10px; flex-wrap: nowrap; min-width: 0; white-space: nowrap; }
.title-block p .sub-txt { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.lead-chip { display: inline-flex; align-items: center; gap: 6px; color: var(--text-2); font-size: 12.5px; flex: none; }
.lead-chip::before { content: ""; width: 1px; height: 14px; background: var(--border-strong); margin-right: 4px; }
.lead-chip b { font-weight: 600; color: var(--text); }
.lead-chip.none { color: var(--muted); font-style: italic; }
.facepile .av.lead { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px #4fae4b; z-index: 1; margin-right: 4px; }
.crumb-lead { display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; padding-left: 10px; border-left: 1px solid var(--border); color: var(--muted); font-size: 12.5px; white-space: nowrap; }
.crumb { min-width: 0; }
.pl-tag { background: #4fae4b; color: #fff; font-weight: 700; font-size: 10px; border-radius: 4px; padding: 1px 4px; }
.m-projects b { color: var(--accent-text); font-weight: 600; }

.title-block p { overflow: hidden; }
.lead-chip { flex: 0 1 auto; min-width: 0; overflow: hidden; }
.lead-chip > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.lead-chip .av { flex: none; }

/* ---------- Fußzeile ---------- */
.app-foot { flex: none; display: flex; justify-content: flex-end; align-items: center; gap: 0; white-space: pre; padding: 5px 24px; font-size: 11.5px; color: var(--muted); border-top: 1px solid var(--border); background: var(--bg); }
.app-foot a { color: inherit; text-decoration: none; }
.app-foot a:hover { color: var(--text); text-decoration: underline; }
@media (max-width: 860px) { .app-foot { justify-content: center; padding: 5px 16px; } }
#print .pr-copy { margin-top: 10mm; font-size: 8.5pt; color: #8b8e94; }

/* Anonymisierte Ansicht: neutrales Platzhalter-Logo statt Studio-Logo */
.anon .logo-mark { -webkit-mask: none; mask: none; background: none; width: auto; height: auto; color: var(--sidebar-text); font-size: 19px; font-weight: 700; line-height: .95; letter-spacing: -.02em; }
.anon .logo-mark::after { content: "muster\Astudio"; white-space: pre; }
.anon #print .pr-logo { color: #404348; background: none; }

/* Screenshot-Modus: Akzent Hellblau statt Grün (passend zur Website) */
:root.anon { --accent: #9fd4ff; --accent-hover: #84c6fb; --on-accent: #0f2a40; --accent-text: #1c6db0; --accent-soft: #e6f3ff; }
:root.anon[data-theme="dark"] { --accent-text: #9fd4ff; --accent-soft: rgba(159, 212, 255, .14); }
@media (prefers-color-scheme: dark) { :root.anon:not([data-theme="light"]) { --accent-text: #9fd4ff; --accent-soft: rgba(159, 212, 255, .14); } }
.anon .g-ticks .today, .anon .pl-tag, .anon .switch.on i { background: #3a8fd8; }
.anon .g-row.active .g-l { box-shadow: inset 3px 0 0 #3a8fd8; }
.anon .facepile .av.lead { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px #3a8fd8; }
.anon .g-links path.tmp { stroke: #3a8fd8; }
.anon .g-link { border-color: #3a8fd8; }
.anon .g-bar.link-target { outline-color: #3a8fd8; }
.anon .dep.done > .i { color: #3a8fd8; }
.anon .radio input { accent-color: #3a8fd8; }
.anon .g-r { background-image:
    linear-gradient(90deg, transparent calc(var(--today) + var(--px) / 2 - 1px), #3a8fd8 calc(var(--today) + var(--px) / 2 - 1px), #3a8fd8 calc(var(--today) + var(--px) / 2 + 1px), transparent calc(var(--today) + var(--px) / 2 + 1px)),
    linear-gradient(90deg, var(--border) 1px, transparent 1px),
    repeating-linear-gradient(90deg, transparent 0 calc(var(--px) * 5), var(--g-we) calc(var(--px) * 5) calc(var(--px) * 7)); }
.anon .g-head .g-r, .anon .g-group .g-r { background: var(--surface-2); }
.anon .g-head .g-r { background: var(--surface); }

/* ---------- Vollversion: Anmeldung, Zugänge, Speicherstatus ---------- */
.auth { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; align-content: center; gap: 18px; padding: 16px; background: var(--bg); overflow-y: auto; }
.auth[hidden] { display: none; }
.auth-on .app { visibility: hidden; }
.auth-card { width: min(420px, 100%); background: var(--surface); border-radius: 18px; box-shadow: var(--shadow-lg); padding: 30px 28px 28px; }
.auth-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
.auth-pill { background: var(--accent); color: #1f2a1b; font-weight: 600; font-size: 17px; line-height: 1; padding: 6px 9px 7px; border-radius: 3px; }
.auth-studio { font-size: 14px; color: var(--muted); }
.auth h1 { margin: 0 0 8px; font-size: 24px; font-weight: 600; letter-spacing: -.01em; }
.auth-sub { margin: 0 0 6px; color: var(--text-2); font-size: 14.5px; line-height: 1.5; }
.auth-note { margin: 0 0 6px; padding: 10px 12px; border-radius: 10px; background: var(--surface-2); font-size: 13.5px; color: var(--text-2); }
.auth-form label { display: block; font-size: 12.5px; color: var(--muted); margin: 14px 0 5px; }
.auth-form .inp { width: 100%; }
.auth-go { width: 100%; justify-content: center; margin-top: 20px; height: 42px; }
.auth-go.busy { opacity: .6; pointer-events: none; }
.auth-err, .modal .auth-err { margin: 12px 0 0; padding: 9px 12px; border-radius: 9px; background: #fde8e8; color: #9b1c1c; font-size: 13.5px; }
.auth-err[hidden] { display: none; }
.auth-hint { margin: 18px 0 0; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.auth-foot { margin: 0; text-align: center; font-size: 11.5px; color: var(--muted); }
.auth-foot a { color: inherit; text-decoration: none; }
.auth-form .auth-radio { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0 0; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; color: var(--text); font-size: 14px; }
.auth-radio:has(input:checked) { border-color: var(--text); }
.auth-radio input { margin-top: 3px; accent-color: var(--dark, #404348); }
.auth-radio b { display: block; font-weight: 600; }
.auth-radio span { color: var(--text-2); font-size: 12.5px; line-height: 1.45; }
.auth-radio span b { color: var(--text); font-size: 14px; }

.m-login { display: flex; align-items: center; gap: 7px; margin-top: 12px; font-size: 12.5px; color: var(--muted); justify-content: center; flex-wrap: wrap; }
.m-login .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border-strong, #bbb); }
.m-login.st-active .dot { background: #4fae4b; }
.m-login.st-invited .dot { background: #f5b83f; }
.m-login button { border: 1px solid var(--border); background: transparent; color: var(--text); border-radius: 999px; padding: 3px 11px; font: inherit; font-weight: 600; cursor: pointer; }
.m-login button:hover { border-color: var(--muted); }
.ac-row { display: flex; gap: 8px; }
.ac-row .inp { flex: 1; min-width: 0; font-size: 12.5px; }
.ac-mail { margin-top: 8px; }
.modal .foot .danger { color: #c0392b; }

.sync-state { margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--border); }
.sync-state:empty { display: none; }
.sync-state::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 6px; background: #4fae4b; vertical-align: 1px; }
.sync-state.saving::before { background: #f5b83f; }
.sync-state.offline { color: #c0392b; }
.sync-state.offline::before { background: #c0392b; }
