/* roboto-cyrillic-ext-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-cyrillic-ext-300-normal-DIxttMbC.woff2) format('woff2'), url(/assets/roboto-cyrillic-ext-300-normal-C0UYUNTV.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* roboto-cyrillic-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-cyrillic-300-normal-DzUz0kzv.woff2) format('woff2'), url(/assets/roboto-cyrillic-300-normal-D0x1uCa7.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* roboto-greek-ext-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(data:font/woff2;base64,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) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAWoAA8AAAAABuQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABQAAAAUAA8ACUdQT1MAAAFsAAAAHgAAAB5EdEx1R1NVQgAAAYwAAAAzAAAANJMNggJPUy8yAAABwAAAAE0AAABgc6bgx1NUQVQAAAIQAAAARQAAAFpfmEARY21hcAAAAlgAAABAAAAAXj5j4n9nYXNwAAACmAAAAAwAAAAMAAgAGWdseWYAAAKkAAABJwAAAS7SLFJAaGVhZAAAA8wAAAA2AAAANgzosE5oaGVhAAAEBAAAAB8AAAAkCqkNkmhtdHgAAAQkAAAAHwAAACQXOQALbG9jYQAABEQAAAATAAAAFAFRAaltYXhwAAAEWAAAABwAAAAgACkBIW5hbWUAAAR0AAABHQAAAlQzIV4ocG9zdAAABZQAAAATAAAAIP9tAGQAAQAAAAwAAAAAAAAAAQAIAAEAAQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiMAJCFhc3nxAGueTKohwGqfSi1GwGqZzEkjwGKQYQYAER//+DSADdjQkeAHjaY2BhKWXUYWBlYGCdxWrMwMAoD6GZLzKkMTEwMAAxFDgABRmQgLu/vztIUN6XjeEfA0Ma+ywmBgUGxvkgORYr1g1ASoGBGQC5wwm6AAAAeNoFwTECAUEABLDMLmihVgGovAgAdOD7l4joqRip2Cj/0+eWKf/r7ZOF3D/7V7aKjoGxoGTuhAhZZ4OqKFmA0ACO+QdEAAAAeNpjYGBgAmJmIBYBkoxgmoXBC0jzMXAA5djAKngZFBgWyPv+/w/kofBBOv5/+//kf/qD3WDdPAwIwAQA0KYN+QABAAIACAAI//8AD3jaHQ+zYi1B9MzsneS9WJtUsc1toia2baOKbXWxbZTbxzb2O2Jz5wbHBhDIBGDMCA8MyMB/UABlAKSqr0oQMv7P6P/HjJnoijvoLVIVl5AifUQWlGJGFBFGiPAfoYSPFGvEGgVcgStET3GG/DBOBsBQJ72SXJMdYMESALEaStjQwAZznJM7dnTQwQznZPMTUcIsq6HzE3HHkuvQPqGxXhgMDxsQ6huFgdBql+KFvNy5Yjf3krnc/LkiF8ZkdPiNT07m34ZHh19/jVd6Mt541hMc3HPWON508Wtc/G5PlVThDCIA+fuIU3dkGWPOkdXQ1JI1MUHJbfXrdKXQxs4+IELSpojcWXp0lRLnmW5qb9QqldJD6RVxJBdgAsQbQBZkaB7AN67mYkIAAAEAAAADA9fYf2NwXw889QAbCAAAAAAAxPARLgAAAADljVAD+h/91QkbCHMAAAAJAAIAAAAAAAB42mNgZGBgz/nHw8DAafFL/p8rpzQHAxrgBABswQRRAHjaY+5hSGGAAsbPEMyazVDHtJ0hAcze+O8kAGyLCFQAeNpjYGDQhcMchm4gnA4AE2QC+wB42mNgZGBg4GRYySDKUMbADuYhADMDIwAd5AFLeNp1kLVVBUAQRS/uZEiGu7sluLumyHd3aYBCiIkohwoog3eWweGs3X07sjNAAw+UUVJeI34qwbiEVl6MS2nk2biMUR6Ny7/YVNDLvXGl9JhxI7PMv3FJD7WMGvdRT6dxv7jZeEg29caTItghww0Rgtyxr91PQMoV3g8+JE6KqLO6kuohI10vGgnSLDKmERd7ieETxchYRCmktY+6GH5Odd5qZbRGvuS7lE1KlkHn3c6UPMaZYIYl3SbFk8x+U7c40tgS/RNTuleUJcINqW9W7V+s1tzPi7IwxfJNaLRzLsWr87v3sazjhPRy5+xXyLqexKWnde//1R0/QWeRVZRR7mQZdWpcw08E70ff0tJT3yq6cxWkNYLigVfQmleEAAAAeNpjYGYAg/9ZDCkMWAAAKh8B0QA=) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* roboto-greek-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-greek-300-normal-DJEM9B4Z.woff2) format('woff2'), url(/assets/roboto-greek-300-normal-xS8CB6LN.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* roboto-math-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-math-300-normal-5dF_7mZP.woff2) format('woff2'), url(/assets/roboto-math-300-normal-CkwMvXpj.woff) format('woff');
  unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;
}

/* roboto-symbols-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-symbols-300-normal-DDU7avhj.woff2) format('woff2'), url(/assets/roboto-symbols-300-normal-CBIeSvs3.woff) format('woff');
  unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;
}

/* roboto-vietnamese-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-vietnamese-300-normal-BPvXm_f1.woff2) format('woff2'), url(/assets/roboto-vietnamese-300-normal-CYjuQheQ.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* roboto-latin-ext-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-latin-ext-300-normal-B90pq-BC.woff2) format('woff2'), url(/assets/roboto-latin-ext-300-normal-B0-sTZUp.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* roboto-latin-300-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(/assets/roboto-latin-300-normal-CCzlftfr.woff2) format('woff2'), url(/assets/roboto-latin-300-normal-Dqn3NW0Y.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* roboto-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-cyrillic-ext-400-normal-qHufge6k.woff2) format('woff2'), url(/assets/roboto-cyrillic-ext-400-normal-DhDk0Xwi.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* roboto-cyrillic-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-cyrillic-400-normal-CBPI_iaY.woff2) format('woff2'), url(/assets/roboto-cyrillic-400-normal-BepgbcUK.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* roboto-greek-ext-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(data:font/woff2;base64,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) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAXAAA8AAAAABwAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABQAAAAUAA8ACUdQT1MAAAFsAAAAHgAAAB5EdEx1R1NVQgAAAYwAAAAzAAAANJMNggJPUy8yAAABwAAAAE0AAABgdArg2VNUQVQAAAIQAAAASwAAAF5fnUM1Y21hcAAAAlwAAABAAAAAXj5j4n9nYXNwAAACnAAAAAwAAAAMAAgAGWdseWYAAAKoAAABNgAAATZnhEGkaGVhZAAAA+AAAAA2AAAANgz5sE5oaGVhAAAEGAAAAB8AAAAkCroNqWhtdHgAAAQ4AAAAHwAAACQX6f/DbG9jYQAABFgAAAATAAAAFAFZAbFtYXhwAAAEbAAAABwAAAAgACkBIW5hbWUAAASIAAABIgAAAmI2jl6RcG9zdAAABawAAAATAAAAIP9tAGQAAQAAAAwAAAAAAAAAAQAIAAEAAQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiMAJCFhc3nxAGueTKohwGqfSi1GwGqZzEkjwGKQYQYAER//+DSADdjQkeAHjaY2BhaWecwMDKwMA6i9WYgYFRHkIzX2RIY2JgYABiKHAACjIgAXd/f3eQoLwvG8M/BoY09llMDAoMjPNBcixWrBuAlAIDMwDj2QowAAAAeNoNx7EBAUAQALDcPWhhAQCoTAQAOrCGgQxHugihoaCjYCHfu8cphryPp0dMxPmxvsVSqmnpCWSM7VCEjEV8yC+K/H8Cgh/DnghvAHjaY2BgYAJiZiAWAZKMYJqFwQtI8zFwAOXYwCp4GRQYFsj7/v8P5KHwQTr+f/v/5H/6g91g3TwMCMAEANCmDfkAAQACAAgACP//AA8ABQBkAAADKAWwAAMABgAJAAwADwAAAREhEQUBASUJAyEJAgMo/TwCjv7vARH9qAEN/vMBKv7+AgP9/QECAQEFsPpQBbBU/Xz9fAwCeAJ4/UT9ogVE/aICXgAAAgB3/+wFCgXEABUAKwAAARUUAgYGIyImJgI1NTQSNjYzMhYWEgM1NC4CIyIOAhUVFB4CMzI+AgUKUprXhYHXnVZVnNeBhdebU781ZpNdWpFnODhpkVpekmU0AwZcpP78tmBgtgEEpFykAQO3YGC3/v3/AF6CyIhGRojIgl6DyYlGRonJAAACAHAEcQLJBdcABQAPAAABNRMzFQMlNTMVFBYXByYmAZJ0w9/+hqcqKklWXASEEQFCFf7C/lVPSGgtOi2P///+eP/sBVAF1gAmAAVGAAAHAAb+CP//AAAAAQAAAAMD16RtfYpfDzz1ABsIAAAAAADE8BEuAAAAAOWNUAP6Gv3VCTEIcwAAAAkAAgAAAAAAAHjaY2BkYGDP+cfDwMDp9UvqnxenIQcDGuAEAHAbBHkAeNpj7mFIYYACxj8QzNrIUM6syFAAZh//VwEAaU4HvgB42mNgYNCFwwKGfiCcDQATpAMLAHjaY2BkYGDgZFjJIMpQxsAO5iEAMwMjAB3kAUt42izGNQHDAABFwRfmrMWtzFxFFVIrRQGREE3Zg/+mAxLeWBh2AGRGqhvEhqmbpBS6xZlctxnz1x3mPHWXMQ895c6+uzEjZKoviOnry/qxvq36IIusCIIgCgY36R3uDhvcXbfj7j63J4Bxe+WRv9L6sea2pHBLjTA50kT5Ju6ZJCV7okiFPNr4lsaoybU4SlQ5Yt1R9B6nQMJbgVrHj0RFnDVphSRvnhFXzbXqKy6rqw1r/fJVUZ1GDwRs+2uDTXY59rXlfYu9IQ/BsIehH9c8O669zYg5/BpSnrtKtKWdPnRy2HQEfEjinsPZvFDxzGiJop5T6p4pmXX5XhjrWlLvKqjrZY2oyjxSio4kOeK9flbllaFKotrDcjvmffEHVntaWwAAeNpjYGYAg/9ZDCkMWAAAKh8B0QA=) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* roboto-greek-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-greek-400-normal-ai2Z1K3C.woff2) format('woff2'), url(/assets/roboto-greek-400-normal-D904r64h.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* roboto-math-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-math-400-normal-BEFej5gc.woff2) format('woff2'), url(/assets/roboto-math-400-normal-D6sS4O5l.woff) format('woff');
  unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;
}

/* roboto-symbols-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-symbols-400-normal-CB1Ce4Gk.woff2) format('woff2'), url(/assets/roboto-symbols-400-normal-C7tGlxgb.woff) format('woff');
  unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;
}

/* roboto-vietnamese-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-vietnamese-400-normal-D2PTxGxD.woff2) format('woff2'), url(/assets/roboto-vietnamese-400-normal-Bf76hAzZ.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* roboto-latin-ext-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-latin-ext-400-normal-C3tdtHj3.woff2) format('woff2'), url(/assets/roboto-latin-ext-400-normal-CIveymTr.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* roboto-latin-400-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/roboto-latin-400-normal-BqEyEoaF.woff2) format('woff2'), url(/assets/roboto-latin-400-normal-D27F5sTu.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* roboto-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-cyrillic-ext-500-normal-BWC_xYeb.woff2) format('woff2'), url(/assets/roboto-cyrillic-ext-500-normal-SCgicl0l.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* roboto-cyrillic-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-cyrillic-500-normal-CLao9AfR.woff2) format('woff2'), url(/assets/roboto-cyrillic-500-normal-C8ZOEKN4.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* roboto-greek-ext-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(data:font/woff2;base64,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) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAW0AA8AAAAABvAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABQAAAAUAA8ACUdQT1MAAAFsAAAAHgAAAB5EdEx1R1NVQgAAAYwAAAAzAAAANJMNggJPUy8yAAABwAAAAE0AAABgdG7g5lNUQVQAAAIQAAAASAAAAFpfmkDZY21hcAAAAlgAAABAAAAAXj5j4n9nYXNwAAACmAAAAAwAAAAMAAgAGWdseWYAAAKkAAABNAAAATRvqliEaGVhZAAAA9gAAAA2AAAANg01sE5oaGVhAAAEEAAAAB8AAAAkCvYNwWhtdHgAAAQwAAAAHwAAACQX6v+ZbG9jYQAABFAAAAATAAAAFAFXAa9tYXhwAAAEZAAAABwAAAAgACkBIW5hbWUAAASAAAABIAAAAlw0y15acG9zdAAABaAAAAATAAAAIP9tAGQAAQAAAAwAAAAAAAAAAQAIAAEAAQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiMAJCFhc3nxAGueTKohwGqfSi1GwGqZzEkjwGKQYQYAER//+DSADdjQkeAHjaY2BhmcL4hYGVgYF1FqsxAwOjPIRmvsiQxsTAwADEUOAAFGRAAu7+/u4gQXlfNoZ/DAxp7LOYGBQYGOeD5FisWDcAKQUGZgAMLQqhAAAAeNoFwbWBAlEABcB5f8/SA2Ii3KEi3DOscQpgRsSfCg0VRsprez+mzetwvKcnp/vqmoXiR01TUNK1RYSM80alKOmB8AGd+wgOeNpjYGBgAmJmIBYBkoxgmoXBC0jzMXAA5djAKngZFBgWyPv+/w/kofBBOv5/+//kf/qD3WDdPAwIwAQA0KYN+QABAAIACAAI//8ADwAFAGQAAAMoBbAAAwAGAAkADAAPAAABESERBQEBJQkDIQkCAyj9PAKO/u8BEf2oAQ3+8wEq/v4CA/39AQIBAQWw+lAFsFT9fP18DAJ4Anj9RP2iBUT9ogJeAAACAGX/7AUdBcQAFQArAAABFRQCBgYjIiYmAjU1NBI2NjMyFhYSBzU0LgIjIg4CFRUUHgIzMj4CBR1Wn96Hht2iWVih3YaH3qBX+y9bhFNTglswMF2CU1SCWi8DAFCl/vq4YWG4AQalUKUBBblhYbn++/VSert/QUF/u3pSeryBQUGBvAACAGQEcALGBdcABQAPAAABNRMzFQMlNTMVFBYXByYmAYtyyeL+gKgmKk1PXASEFAE/Ff7C+VpUQmInSCiN///+bP/sBWMF1gAmAAVGAAAHAAb+CP//AAEAAAADA9eV91UeXw889QAbCAAAAAAAxPARLgAAAADljVAD+ib91QlhCHMAAAAJAAIAAAAAAAB42mNgZGBgz/nHw8DAmfdL7Z8dZyIHAxrgBAB3RwTNAHjaY+5hSGGAAsa/EMzazJDKLM2QAmaf/JcDAGf/B5UAeNpjYGDQhcN8hj4gnAUAE5QDBwB42mNgZGBg4GRYySDKUMbADuYhADMDIwAd5AFLeNp1kMVRBTAURQ/ubJEN7u62wd11C9/dtQXKoAGkIiqgBu5kgnyb2Ml9lhegjRdqqKptEn9UNVquopsvy9W082m5hlneLNf+86ljmGfL9dJjlttZZh3DVUM0M2t5hFYGLY+KOy1PiVstz4vgiBRPhPDj5Aw3LlGaMA+4RV58sp8TJSFNftL98klJl0UjRpJ1ZjSiYjcRPKIIKZtTijzcTJscXq51OrRSWlMFFe/FCfn6TXwvC4qZZY4lNnSbF8+zXKAecKFxIKqc9VrsFYV4IlHg11vgt2Pen5eP7drWnNPo5VaKW2dh/CUJnQFZnMZ/i7ROn+k0qftoyR958RuPtLJM45Rn2KhRDS8h3L+/l5SeKOjKaXpIavjFY99C5llgeNpjYGYAg/9ZDCkMWAAAKh8B0QA=) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* roboto-greek-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-greek-500-normal-C9AnhcmC.woff2) format('woff2'), url(/assets/roboto-greek-500-normal-XBIQOowA.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* roboto-math-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-math-500-normal-C4NU9gLX.woff2) format('woff2'), url(/assets/roboto-math-500-normal-BNGXE_xU.woff) format('woff');
  unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;
}

/* roboto-symbols-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-symbols-500-normal-B_CZKVJS.woff2) format('woff2'), url(/assets/roboto-symbols-500-normal-DFnofPUt.woff) format('woff');
  unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;
}

/* roboto-vietnamese-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-vietnamese-500-normal-B3ncpOoB.woff2) format('woff2'), url(/assets/roboto-vietnamese-500-normal-BgoYVz-9.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* roboto-latin-ext-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-latin-ext-500-normal-pMCM9Ixg.woff2) format('woff2'), url(/assets/roboto-latin-ext-500-normal-C1cK9xmS.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* roboto-latin-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2) format('woff2'), url(/assets/roboto-latin-500-normal-fsTFPL3E.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* roboto-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-cyrillic-ext-700-normal-DmFxo5wj.woff2) format('woff2'), url(/assets/roboto-cyrillic-ext-700-normal-BWOtdzfy.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* roboto-cyrillic-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-cyrillic-700-normal-C2o7G-SM.woff2) format('woff2'), url(/assets/roboto-cyrillic-700-normal-D8g9KsRf.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* roboto-greek-ext-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(data:font/woff2;base64,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) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAWsAA8AAAAABuQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABQAAAAUAA8ACUdQT1MAAAFsAAAAHgAAAB5EdEx1R1NVQgAAAYwAAAAzAAAANJMNggJPUy8yAAABwAAAAEsAAABgdTbg0VNUQVQAAAIMAAAARwAAAFpfnEGhY21hcAAAAlQAAABAAAAAXj5j4n9nYXNwAAAClAAAAAwAAAAMAAgAGWdseWYAAAKgAAABMQAAATZvegfsaGVhZAAAA9QAAAA2AAAANg1psE5oaGVhAAAEDAAAAB8AAAAkCykN1GhtdHgAAAQsAAAAHwAAACQX6P92bG9jYQAABEwAAAATAAAAFAFZAbFtYXhwAAAEYAAAABwAAAAgACkBIW5hbWUAAAR8AAABGwAAAkozllu+cG9zdAAABZgAAAATAAAAIP9tAGQAAQAAAAwAAAAAAAAAAQAIAAEAAQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiMAJCFhc3nxAGueTKohwGqfSi1GwGqZzEkjwGKQYQYAER//+DSADdjQkeAHjaTcW7DUBAAADQ5z6M4XbQqXQqsYWhNLeCASxhIVGIxGuelGo4ZfKeB5r+PV62gOAzEf3M6zor9EvrZuv2oGgqpDEfKOID+HEKVQB42gXBsQEBARAAsNw9aKFWAQAmAgAdWM5wnwihoUBHgZn8Hd/X6PO7XN8xErf37hkbqaalK5AxdEQIYpl/FFLGCAQlmhEH2QB42mNgYGACYmYgFgGSjGCahcELSPMxcADl2MAqeBkUGBbI+/7/D+Sh8EE6/n/7/+R/+oPdYN08DAjABADQpg35AAEAAgAIAAj//wAPeNodjzVUA0EURf/8ZRLcIw3uTrSJNLi7+x563Klw71ucclMmFdbi1p/Q4a47izytL1BoBeBiqQAcyMANPMEHgPiF+VFCoty4MDfkYkUzLrA74iduEC/2ROIZQ04UCRJChc9iKpSLw+KwJ/Zjv5guLtHfYiMAQqV0TZPpLiggAYAoAlEmiwiPjkaDQe9vNOq0SqU/NeiTMSLcGxWKwGDUaa1Ik2tXnDPTzrW62lXn9IxztY4dxZf25uf3lMT/f29xPH5mrLF3O8/bietaxjqRO3jewT6us7qFfoulX+jO6rINWK0DNgCEWpd23KUXQP/JDAE6BRdl0CkClSp5dDQZ79i/ZIMbEQml2fUuo2piVrCt18Zqa0NYWeS0JDH+l6GbnkM00EwAOciYmyT9AMF6YZEAAAAAAQAAAAMD15Zf+khfDzz1ABsIAAAAAADE8BEuAAAAAOWNUAP6Mf3VCYkIcwABAAkAAgAAAAAAAHjaY2BkYGDP+cfDwMDZ88vwnzFnJwcDGuAEAH1DBRMAeNpj7mFIYYACxr8QzNrCEMYszhAFZp/6lwQAZr4HcAB42mNgYNCFwwKGfiCcDQATpAMLAHjaY2BkYGDgZFjJIMpQxsAO5iEAMwMjAB3kAUt42m2QA24FQBRFT+2GRVjbVlDbjFPr29hMsYNyQY27gMZJbyYv+MjTmYcRUMMrRRQUVwDv/BkXUM2vcSHl/BgX0c+3cTH1PBuX0EnauFT5a+NaJhnEcUEHlbQbd1FNo3G3uNp4CJ1lPKosbBDlAi8PXHHGjeId98rtEiCMz9XOlL0mqrwqkiARZhmSBMQ3+LkV+YnaPsoQkR90e9xxqHgpi8oGWJT3cs0pN6pGeHCzzYwxyDAjTDCn1ah4lMmM2WZsNqN3jT3Jmij/ORYzqkvu5inC2HvtxBFJM8fK3Chmnr1PWPFRlSvXv0DM/UlA+YjW3Tm/c8eD64hxySBXBPC5bEByh5cb7N+IKB/OuP2V6hdEJA/inn+ATFaOAHjaY2BmAIP/WQwpDFgAACofAdEA) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* roboto-greek-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-greek-700-normal-0aHWxGLu.woff2) format('woff2'), url(/assets/roboto-greek-700-normal-xQsEWSIA.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* roboto-math-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-math-700-normal-B8YqGHVc.woff2) format('woff2'), url(/assets/roboto-math-700-normal-DbhUef31.woff) format('woff');
  unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;
}

/* roboto-symbols-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-symbols-700-normal-BiFDindJ.woff2) format('woff2'), url(/assets/roboto-symbols-700-normal-C59U6HqI.woff) format('woff');
  unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;
}

/* roboto-vietnamese-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-vietnamese-700-normal-BEVeWqJt.woff2) format('woff2'), url(/assets/roboto-vietnamese-700-normal-kpkdMgbf.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* roboto-latin-ext-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-latin-ext-700-normal-DSBUz0N1.woff2) format('woff2'), url(/assets/roboto-latin-ext-700-normal-BDePAh3g.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* roboto-latin-700-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/roboto-latin-700-normal-BZpUvMxY.woff2) format('woff2'), url(/assets/roboto-latin-700-normal-YuyVweIx.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* Framework-agnostic styles for announcements + maintenance UI. Plain CSS so
   the same components render in the MUI shells (auth, external) and the
   EOS Design System internal-v2 shell (which forbids MUI). */

.eos-ann-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  /* Never grow/shrink when placed in a flex column shell (e.g. the internal
     v2-content-frame); it should only take the height of its banners. */
  flex: 0 0 auto;
}

/* Internal-shell padding — applied to the stack itself so an empty host adds
   no DOM and no spacing. */
.eos-ann-internal-pad {
  padding: 8px 12px 0;
  box-sizing: border-box;
}

.eos-ann-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-size: 14px;
  line-height: 1.45;
}

.eos-ann-banner__body {
  flex: 1 1 auto;
  min-width: 0;
}

.eos-ann-banner__title {
  font-weight: 600;
}

.eos-ann-banner__text {
  margin-top: 2px;
  white-space: pre-line;
}

.eos-ann-banner__cta {
  display: inline-block;
  margin-top: 6px;
  font-weight: 600;
  color: inherit;
  text-decoration: underline;
}

.eos-ann-banner__close {
  flex: 0 0 auto;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 2px 4px;
  color: inherit;
  opacity: 0.7;
}
.eos-ann-banner__close:hover {
  opacity: 1;
}

/* Variants — banner */
.eos-ann--INFO {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1e3a8a;
}
.eos-ann--SUCCESS {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #065f46;
}
.eos-ann--WARNING {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}
.eos-ann--ERROR {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

/* Popup / modal */
.eos-ann-popup__overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 13000;
}

.eos-ann-popup__dialog {
  background: #fff;
  border-radius: 12px;
  max-width: 480px;
  width: 100%;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

.eos-ann-popup__accent {
  height: 4px;
}
.eos-ann-popup__accent.eos-ann--INFO {
  background: #3b82f6;
}
.eos-ann-popup__accent.eos-ann--SUCCESS {
  background: #10b981;
}
.eos-ann-popup__accent.eos-ann--WARNING {
  background: #f59e0b;
}
.eos-ann-popup__accent.eos-ann--ERROR {
  background: #ef4444;
}

.eos-ann-popup__content {
  padding: 24px;
}
.eos-ann-popup__title {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}
.eos-ann-popup__text {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.55;
  color: #334155;
  white-space: pre-line;
}
.eos-ann-popup__actions {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.eos-ann-popup__btn {
  border: none;
  cursor: pointer;
  border-radius: 8px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 600;
}
.eos-ann-popup__btn--primary {
  background: #02344c;
  color: #fff;
}
.eos-ann-popup__btn--secondary {
  background: #f1f5f9;
  color: #0f172a;
}
.eos-ann-popup__cta {
  text-decoration: none;
}

/* Full-screen maintenance gate */
.eos-maintenance {
  position: fixed;
  inset: 0;
  background: #f5f6f8;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 14000;
}
.eos-maintenance__card {
  max-width: 520px;
  width: 100%;
  text-align: center;
}
.eos-maintenance__logo {
  height: 36px;
  margin-bottom: 28px;
}
.eos-maintenance__icon {
  font-size: 44px;
  margin-bottom: 12px;
}
.eos-maintenance__title {
  font-size: 22px;
  font-weight: 700;
  color: #02344c;
}
.eos-maintenance__message {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: #475569;
  white-space: pre-line;
}

/* Slim internal "maintenance active" banner */
.eos-maintenance-active-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: #fde68a;
  color: #92400e;
  font-size: 13px;
  font-weight: 600;
}
@keyframes sd-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes sd-blurIn {
  from {
    opacity: 0;
    filter: blur(4px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes sd-slideUp {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

[data-sd-animate] {
  animation: var(--sd-animation, sd-fadeIn) var(--sd-duration, 150ms)
    var(--sd-easing, ease) var(--sd-delay, 0ms) both;
}

/*
 * List markers (the disc/decimal glyph) are painted by the browser's
 * ::marker pseudo-element, which the animate plugin can't wrap in a
 * span. ::marker also doesn't honor opacity/transform animations, so we
 * fade it in via color (which it does support) instead, synced to the
 * timing the plugin stamps from the item's first word.
 */
@keyframes sd-markerIn {
  from {
    color: transparent;
  }
}

[data-sd-animate-marker]::marker {
  animation: sd-markerIn var(--sd-marker-duration, 150ms)
    var(--sd-marker-easing, ease) var(--sd-marker-delay, 0ms) both;
}
/* inter-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format('woff2'), url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format('woff2'), url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format('woff2'), url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format('woff2'), url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format('woff2'), url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-latin-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format('woff2'), url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format('woff2'), url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* inter-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format('woff2'), url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format('woff2'), url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format('woff2'), url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format('woff2'), url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format('woff2'), url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-latin-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format('woff2'), url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format('woff2'), url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* inter-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format('woff2'), url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format('woff2'), url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format('woff2'), url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/inter-greek-600-normal-plRanbMR.woff2) format('woff2'), url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format('woff2'), url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-latin-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format('woff2'), url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format('woff2'), url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* inter-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format('woff2'), url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format('woff2'), url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format('woff2'), url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format('woff2'), url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format('woff2'), url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-latin-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format('woff2'), url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format('woff2'), url(/assets/inter-latin-700-normal-BLAVimhd.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* jetbrains-mono-cyrillic-ext-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format('woff2'), url(data:font/woff;base64,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) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* jetbrains-mono-cyrillic-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format('woff2'), url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* jetbrains-mono-greek-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format('woff2'), url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* jetbrains-mono-vietnamese-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(data:font/woff2;base64,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) format('woff2'), url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* jetbrains-mono-latin-ext-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format('woff2'), url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* jetbrains-mono-latin-400-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format('woff2'), url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* jetbrains-mono-cyrillic-ext-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format('woff2'), url(data:font/woff;base64,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) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* jetbrains-mono-cyrillic-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format('woff2'), url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* jetbrains-mono-greek-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format('woff2'), url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* jetbrains-mono-vietnamese-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(data:font/woff2;base64,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) format('woff2'), url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* jetbrains-mono-latin-ext-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format('woff2'), url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* jetbrains-mono-latin-500-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format('woff2'), url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* jetbrains-mono-cyrillic-ext-600-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=) format('woff2'), url(data:font/woff;base64,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) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* jetbrains-mono-cyrillic-600-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format('woff2'), url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* jetbrains-mono-greek-600-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format('woff2'), url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* jetbrains-mono-vietnamese-600-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(data:font/woff2;base64,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) format('woff2'), url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* jetbrains-mono-latin-ext-600-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format('woff2'), url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* jetbrains-mono-latin-600-normal */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format('woff2'), url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* EOS Design System — Entry point
   Import order: tokens → components → primitives *//* EOS Design System — Design Tokens
   OKLCH color system, typography, density-aware spacing.
   Scoped to [data-ds="eos"] so they don't leak into auth/external. */

[data-ds="eos"] {
  --bg: oklch(0.985 0.003 240);
  --surface: #ffffff;
  --surface-2: oklch(0.975 0.004 240);
  --surface-3: oklch(0.955 0.006 240);
  --border: oklch(0.905 0.008 240);
  --border-strong: oklch(0.84 0.01 240);
  --ink: oklch(0.22 0.015 245);
  --ink-2: oklch(0.42 0.012 245);
  --ink-3: oklch(0.58 0.01 245);
  --ink-4: oklch(0.72 0.008 245);

  --accent: oklch(0.52 0.14 252);
  --accent-soft: oklch(0.94 0.03 252);
  --accent-ink: oklch(0.4 0.14 252);

  --pos: oklch(0.56 0.13 150);
  --pos-soft: oklch(0.94 0.05 150);
  --neg: oklch(0.58 0.19 25);
  --neg-soft: oklch(0.94 0.05 25);
  --warn: oklch(0.65 0.14 70);
  --warn-soft: oklch(0.95 0.05 80);
  --info: oklch(0.55 0.13 252);

  --font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;

  --row-h: 28px;
  --fs-xs: 10.5px;
  --fs-sm: 11.5px;
  --fs-md: 12.5px;
  --fs-lg: 13.5px;
}

[data-ds="eos"][data-density="comfortable"] {
  --row-h: 36px;
  --fs-xs: 11px;
  --fs-sm: 12.5px;
  --fs-md: 13.5px;
  --fs-lg: 14.5px;
}

/* EOS Design System — Component Classes
   All selectors scoped under [data-ds="eos"] to avoid leaking into auth/external. */

/* ========== Buttons ========== */

[data-ds="eos"] .ds-btn {
  height: 26px;
  padding: 0 10px;
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  font-size: var(--fs-sm);
  font-weight: 500;
  cursor: pointer;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-ui);
}
[data-ds="eos"] .ds-btn:hover { border-color: var(--accent); color: var(--accent-ink); }
[data-ds="eos"] .ds-btn:disabled { opacity: 0.45; cursor: not-allowed; }
[data-ds="eos"] .ds-btn.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
[data-ds="eos"] .ds-btn.primary:hover {
  background: oklch(0.44 0.14 252);
  color: #fff;
}
[data-ds="eos"] .ds-btn.ghost { border-color: transparent; background: transparent; }
[data-ds="eos"] .ds-btn.ghost:hover { background: var(--surface-3); border-color: var(--border); }
[data-ds="eos"] .ds-btn.small { height: 22px; padding: 0 7px; font-size: var(--fs-xs); }

/* Icon-only button */
[data-ds="eos"] .ds-btn-ico {
  width: 22px;
  height: 22px;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--ink-2);
}
[data-ds="eos"] .ds-btn-ico:hover { border-color: var(--border-strong); color: var(--ink); background: var(--surface); }

/* ========== Pills & Chips ========== */

[data-ds="eos"] .ds-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 2px;
  white-space: nowrap;
}
[data-ds="eos"] .ds-pill.pos { background: var(--pos-soft); color: oklch(0.38 0.11 150); }
[data-ds="eos"] .ds-pill.neg { background: var(--neg-soft); color: oklch(0.42 0.15 25); }
[data-ds="eos"] .ds-pill.warn { background: var(--warn-soft); color: oklch(0.44 0.12 70); }
[data-ds="eos"] .ds-pill.muted { background: var(--surface-3); color: var(--ink-3); }
[data-ds="eos"] .ds-pill.info { background: var(--accent-soft); color: var(--accent-ink); }

[data-ds="eos"] .ds-flag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-xs);
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 2px;
  border: 1px solid;
  background: var(--surface);
  white-space: nowrap;
}
[data-ds="eos"] .ds-flag.critical { color: oklch(0.42 0.15 25); border-color: oklch(0.8 0.1 25); background: var(--neg-soft); }
[data-ds="eos"] .ds-flag.warn { color: oklch(0.44 0.12 70); border-color: oklch(0.82 0.1 70); background: var(--warn-soft); }
[data-ds="eos"] .ds-flag.deal { color: oklch(0.38 0.11 150); border-color: oklch(0.8 0.1 150); background: var(--pos-soft); }
[data-ds="eos"] .ds-flag.info { color: var(--accent-ink); border-color: var(--accent); background: var(--accent-soft); }

[data-ds="eos"] .ds-toggle-chip {
  padding: 3px 8px;
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  font-size: var(--fs-xs);
  cursor: pointer;
  color: var(--ink-2);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
[data-ds="eos"] .ds-toggle-chip:hover { border-color: var(--accent); color: var(--accent-ink); }
[data-ds="eos"] .ds-toggle-chip.on {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-ink);
}

/* ========== Inputs ========== */

[data-ds="eos"] .ds-input {
  height: 26px;
  padding: 0 8px;
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  font-size: var(--fs-sm);
  font-family: var(--font-ui);
  color: var(--ink);
  outline: none;
}
[data-ds="eos"] .ds-input.is-mono,
[data-ds="eos"] .ds-textarea.is-mono {
  font-family: var(--font-mono);
}
[data-ds="eos"] .ds-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-soft);
}

[data-ds="eos"] .ds-textarea {
  padding: 6px 8px;
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  font-size: var(--fs-sm);
  font-family: var(--font-ui);
  line-height: 1.45;
  color: var(--ink);
  resize: vertical;
  outline: none;
}
[data-ds="eos"] .ds-textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-soft);
}
[data-ds="eos"] .ds-textarea:disabled {
  background: var(--bg-2);
  color: var(--ink-3);
  cursor: not-allowed;
}

/* ========== Dense Table ========== */

[data-ds="eos"] table.ds-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums;
}
[data-ds="eos"] table.ds-table thead th {
  position: sticky;
  top: 0;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border-strong);
  padding: 5px 8px;
  text-align: left;
  font-weight: 600;
  font-size: var(--fs-xs);
  letter-spacing: 0.04em;
  color: var(--ink-2);
  text-transform: uppercase;
  z-index: 2;
  user-select: none;
  white-space: nowrap;
}
[data-ds="eos"] table.ds-table thead th.sortable { cursor: pointer; }
[data-ds="eos"] table.ds-table thead th.sortable:hover { background: var(--surface-3); color: var(--ink); }
[data-ds="eos"] table.ds-table thead th .ds-col-resizer {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 6px;
  cursor: col-resize;
  touch-action: none;
  user-select: none;
  z-index: 1;
}
[data-ds="eos"] table.ds-table thead th .ds-col-resizer:hover,
[data-ds="eos"] table.ds-table thead th .ds-col-resizer.resizing {
  background: var(--accent);
  opacity: 0.6;
}
[data-ds="eos"] table.ds-table thead th.num,
[data-ds="eos"] table.ds-table td.num { text-align: right; font-family: var(--font-mono); }
[data-ds="eos"] table.ds-table tbody tr {
  height: var(--row-h);
  cursor: pointer;
}
[data-ds="eos"] table.ds-table tbody td {
  padding: 0 8px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
[data-ds="eos"] table.ds-table tbody tr:hover { background: var(--surface-3); }
[data-ds="eos"] table.ds-table tbody tr.selected { background: var(--accent-soft); }
[data-ds="eos"] table.ds-table tbody tr.selected td { box-shadow: inset 2px 0 0 var(--accent); }
[data-ds="eos"] table.ds-table .id-cell {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
}
[data-ds="eos"] table.ds-table .name-cell { font-weight: 500; color: var(--ink); max-width: 320px; }
[data-ds="eos"] table.ds-table .secondary { color: var(--ink-3); }

/* ========== Pane Header ========== */

[data-ds="eos"] .ds-pane-header {
  padding: 8px 12px 6px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  background: var(--surface);
  z-index: 3;
}
[data-ds="eos"] .ds-pane-header h3 {
  margin: 0;
  font-size: var(--fs-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
}

/* ========== Key/Value Block ========== */

[data-ds="eos"] .ds-kv {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 4px 12px;
  font-size: var(--fs-sm);
  align-items: baseline;
}
[data-ds="eos"] .ds-kv .k {
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: var(--fs-xs);
  font-weight: 600;
}
[data-ds="eos"] .ds-kv .v {
  color: var(--ink);
  font-family: var(--font-mono);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-ds="eos"] .ds-kv .v.prose { font-family: var(--font-ui); }
[data-ds="eos"] .ds-kv .v.missing { color: var(--ink-4); font-style: italic; font-family: var(--font-ui); }

/* ========== Modal ========== */

[data-ds="eos"] .ds-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(20, 24, 36, 0.4);
  display: grid;
  place-items: center;
  z-index: 100;
}
[data-ds="eos"] .ds-modal {
  background: var(--surface);
  border-radius: 4px;
  width: 580px;
  max-width: 90vw;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 60px rgba(0,0,0,0.25);
  overflow: hidden;
}
[data-ds="eos"] .ds-modal.large { width: 880px; }
[data-ds="eos"] .ds-modal.wide { width: 1180px; }
[data-ds="eos"] .ds-modal-header {
  padding: 14px 18px 10px;
  border-bottom: 1px solid var(--border);
}
[data-ds="eos"] .ds-modal-header h2 { margin: 0 0 2px 0; font-size: 14px; font-weight: 600; }
[data-ds="eos"] .ds-modal-header p { margin: 0; font-size: var(--fs-sm); color: var(--ink-3); }
[data-ds="eos"] .ds-modal-body {
  padding: 10px 18px;
  overflow: auto;
  flex: 1;
}
[data-ds="eos"] .ds-modal-footer {
  padding: 12px 18px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  background: var(--surface-2);
}

/* ========== Metric ========== */

[data-ds="eos"] .ds-metric .label {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  margin-bottom: 2px;
}
[data-ds="eos"] .ds-metric .value {
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.01em;
}
[data-ds="eos"] .ds-metric .sub {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
  margin-top: 1px;
}

/* ========== Anomaly dot ========== */

[data-ds="eos"] .ds-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  vertical-align: middle;
}
[data-ds="eos"] .ds-dot.critical { background: var(--neg); }
[data-ds="eos"] .ds-dot.warn { background: var(--warn); }
[data-ds="eos"] .ds-dot.deal { background: var(--pos); }

/* ========== Keyboard hint ========== */

[data-ds="eos"] .ds-kbd {
  display: inline-block;
  padding: 1px 4px;
  font-family: var(--font-mono);
  font-size: 9.5px;
  border: 1px solid var(--border-strong);
  border-radius: 2px;
  background: var(--surface-2);
  color: var(--ink-3);
}

/* ========== Chip (interactive label) ========== */

[data-ds="eos"] .ds-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border: 1px solid var(--border-strong);
  border-radius: 2px;
  font-size: var(--fs-xs);
  font-weight: 500;
  background: var(--surface);
  color: var(--ink-2);
  white-space: nowrap;
  cursor: default;
}
[data-ds="eos"] .ds-chip.clickable { cursor: pointer; }
[data-ds="eos"] .ds-chip.clickable:hover { border-color: var(--accent); color: var(--accent-ink); }
[data-ds="eos"] .ds-chip.active {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-ink);
  font-weight: 600;
}

/* ========== Segmented (joined radio-group) ========== */

[data-ds="eos"] .ds-segmented {
  display: inline-flex;
  border: 1px solid var(--border-strong);
  border-radius: 2px;
  overflow: hidden;
  width: max-content;
}
[data-ds="eos"] .ds-segmented button {
  appearance: none;
  background: var(--surface);
  border: 0;
  border-right: 1px solid var(--border);
  padding: 4px 12px;
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--ink-2);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}
[data-ds="eos"] .ds-segmented-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  opacity: 0.7;
}
[data-ds="eos"] .ds-segmented button[aria-pressed='true'] .ds-segmented-count {
  opacity: 0.85;
}
[data-ds="eos"] .ds-segmented button:last-child { border-right: 0; }
[data-ds="eos"] .ds-segmented button:hover { color: var(--ink); }
[data-ds="eos"] .ds-segmented button[aria-pressed='true'] {
  background: var(--accent-soft);
  color: var(--accent-ink);
  font-weight: 600;
}
[data-ds="eos"] .ds-segmented.small button {
  padding: 2px 8px;
  font-size: var(--fs-xs);
}

/* ========== Alert ========== */

[data-ds="eos"] .ds-alert {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 2px;
  font-size: var(--fs-sm);
  font-weight: 500;
  border: 1px solid;
}
[data-ds="eos"] .ds-alert.info {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-ink);
}
[data-ds="eos"] .ds-alert.warn {
  background: var(--warn-soft);
  border-color: oklch(0.82 0.1 70);
  color: oklch(0.44 0.12 70);
}
[data-ds="eos"] .ds-alert.error {
  background: var(--neg-soft);
  border-color: oklch(0.8 0.1 25);
  color: oklch(0.42 0.15 25);
}
[data-ds="eos"] .ds-alert.success {
  background: var(--pos-soft);
  border-color: oklch(0.8 0.1 150);
  color: oklch(0.38 0.11 150);
}

/* ========== Search input ========== */

[data-ds="eos"] .ds-search {
  position: relative;
  display: inline-flex;
  align-items: center;
}
[data-ds="eos"] .ds-search .ds-search-icon {
  position: absolute;
  left: 8px;
  color: var(--ink-3);
  pointer-events: none;
}
[data-ds="eos"] .ds-search .ds-input {
  padding-left: 28px;
  padding-right: 36px;
  width: 100%;
}

[data-ds="eos"] .ds-search-clear {
  position: absolute;
  right: 4px;
  background: none;
  border: none;
  color: var(--ink-3);
  cursor: pointer;
  font-size: 14px;
  padding: 0 4px;
  line-height: 1;
}
[data-ds="eos"] .ds-search-clear:hover { color: var(--ink); }

[data-ds="eos"] .ds-search-kbd {
  position: absolute;
  right: 6px;
  pointer-events: none;
}

/* ========== Combobox & multi-select (field with a list) ========== */

[data-ds="eos"] .ds-combobox {
  position: relative;
  display: flex;
  align-items: center;
}
[data-ds="eos"] .ds-combobox .ds-input {
  width: 100%;
  padding-right: 22px;
  text-overflow: ellipsis;
}
[data-ds="eos"] .ds-combobox-chevron {
  color: var(--ink-4);
  font-size: var(--fs-xs);
  pointer-events: none;
}
[data-ds="eos"] .ds-combobox .ds-combobox-chevron {
  position: absolute;
  right: 8px;
}
[data-ds="eos"] .ds-combobox.is-disabled .ds-combobox-chevron { opacity: 0.5; }

[data-ds="eos"] .ds-multiselect-trigger {
  height: 26px;
  min-width: 140px;
  max-width: 240px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  font-size: var(--fs-sm);
  font-family: var(--font-ui);
  color: var(--ink);
  cursor: pointer;
}
[data-ds="eos"] .ds-multiselect-trigger:hover { border-color: var(--accent); }
[data-ds="eos"] .ds-multiselect-trigger[aria-expanded='true'] {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-soft);
}
[data-ds="eos"] .ds-multiselect-trigger.has-selection { color: var(--accent-ink); }
[data-ds="eos"] .ds-multiselect-trigger:disabled { opacity: 0.5; cursor: default; }
[data-ds="eos"] .ds-multiselect-summary {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* The list itself — portalled and positioned fixed by `FloatingList`. */
[data-ds="eos"] .ds-floating-list {
  position: fixed;
  z-index: 400;
  overflow-y: auto;
  padding: 3px 0;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
  font-size: var(--fs-sm);
  font-family: var(--font-ui);
  color: var(--ink);
}
[data-ds="eos"] .ds-floating-list-heading {
  padding: 6px 10px 2px;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-3);
}
[data-ds="eos"] .ds-floating-list-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 10px;
  cursor: pointer;
}
[data-ds="eos"] .ds-floating-list-option.is-active { background: var(--surface-3); }
[data-ds="eos"] .ds-floating-list-option.is-selected .ds-floating-list-label { font-weight: 600; }
[data-ds="eos"] .ds-floating-list-option.is-create {
  margin-top: 3px;
  border-top: 1px dashed var(--border);
  color: var(--accent-ink);
}
[data-ds="eos"] .ds-floating-list-option.is-clear {
  color: var(--accent-ink);
  font-weight: 600;
}
[data-ds="eos"] .ds-floating-list-main {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
[data-ds="eos"] .ds-floating-list-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-ds="eos"] .ds-floating-list-hint {
  flex: none;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}
[data-ds="eos"] .ds-floating-list-check {
  flex: none;
  width: 12px;
  height: 12px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius: 2px;
  background: var(--surface);
  font-size: 9px;
  line-height: 1;
  color: var(--surface);
}
[data-ds="eos"] .ds-floating-list-option.is-checked .ds-floating-list-check {
  background: var(--accent);
  border-color: var(--accent);
}
[data-ds="eos"] .ds-floating-list-search {
  position: sticky;
  top: -3px;
  margin-top: -3px;
  padding: 6px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
[data-ds="eos"] .ds-floating-list-search .ds-input { width: 100%; }
[data-ds="eos"] .ds-floating-list-note {
  padding: 6px 10px;
  color: var(--ink-4);
}

/* ========== Cell Selection ========== */

[data-ds="eos"] .ds-cell-active {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
  border-radius: 1px;
}

[data-ds="eos"] .ds-row-dirty {
  background: oklch(0.99 0.01 70);
}

[data-ds="eos"] .ds-cell-dirty {
  background: oklch(0.96 0.03 70);
}

/* ========== Tab Nav ========== */

[data-ds="eos"] .ds-tabnav {
  display: flex;
  background: oklch(0.96 0.005 245);
  border-bottom: 1px solid var(--border-strong);
  padding: 0 8px;
  height: 32px;
  align-items: flex-end;
  gap: 1px;
  flex-shrink: 0;
}

[data-ds="eos"] .ds-tabnav .ds-tab {
  padding: 0 14px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink-2);
  cursor: pointer;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 3px 3px 0 0;
  background: transparent;
  position: relative;
  top: 1px;
  text-decoration: none;
  font-family: var(--font-ui);
}

[data-ds="eos"] .ds-tabnav .ds-tab:hover { color: var(--ink); background: rgba(0,0,0,0.03); }

[data-ds="eos"] .ds-tabnav .ds-tab.active {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--border-strong);
  font-weight: 600;
}

[data-ds="eos"] .ds-tabnav .ds-tab-pill {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 0 5px;
  background: var(--surface-3);
  color: var(--ink-2);
  border-radius: 2px;
}

[data-ds="eos"] .ds-tabnav .ds-tab.active .ds-tab-pill {
  background: var(--accent-soft);
  color: var(--accent-ink);
}

[data-ds="eos"] .ds-tabnav .ds-tab-spacer { flex: 1; }

[data-ds="eos"] .ds-tabnav .ds-tab-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 4px;
}

/* ========== Scrollbar ========== */

/* Apply .ds-scroll to any scrollable container for a styled thin scrollbar.
   Also auto-applied to all scrollable areas within the shell. */

[data-ds="eos"] .ds-scroll,
[data-ds="eos"] .v2-shell ::-webkit-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: oklch(0.82 0.008 245) transparent;
}

[data-ds="eos"] .ds-scroll::-webkit-scrollbar,
[data-ds="eos"] .v2-shell ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

[data-ds="eos"] .ds-scroll::-webkit-scrollbar-track,
[data-ds="eos"] .v2-shell ::-webkit-scrollbar-track {
  background: transparent;
}

[data-ds="eos"] .ds-scroll::-webkit-scrollbar-thumb,
[data-ds="eos"] .v2-shell ::-webkit-scrollbar-thumb {
  background: oklch(0.82 0.008 245);
  border-radius: 3px;
}

[data-ds="eos"] .ds-scroll::-webkit-scrollbar-thumb:hover,
[data-ds="eos"] .v2-shell ::-webkit-scrollbar-thumb:hover {
  background: oklch(0.70 0.012 245);
}

[data-ds="eos"] .ds-scroll::-webkit-scrollbar-corner,
[data-ds="eos"] .v2-shell ::-webkit-scrollbar-corner {
  background: transparent;
}

/* ========== Empty state ========== */

[data-ds="eos"] .ds-empty {
  display: grid;
  place-items: center;
  padding: 40px 20px;
  text-align: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
  height: 100%;
}
[data-ds="eos"] .ds-empty .big {
  font-size: 14px;
  color: var(--ink-2);
  font-weight: 500;
  margin-bottom: 4px;
}
/* EOS Design System — Primitives
   Icons, tooltips, hover cards, menus, breadcrumbs, checkboxes, skeletons. */

/* ========== Icons ========== */

[data-ds="eos"] .ds-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  vertical-align: -2px;
  color: currentColor;
}
[data-ds="eos"] .ds-ic svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
[data-ds="eos"] .ds-ic-12 { width: 12px; height: 12px; }
[data-ds="eos"] .ds-ic-14 { width: 14px; height: 14px; }
[data-ds="eos"] .ds-ic-16 { width: 16px; height: 16px; }
[data-ds="eos"] .ds-ic-20 { width: 20px; height: 20px; }

[data-ds="eos"] .ds-ic-muted { color: var(--ink-3); }
[data-ds="eos"] .ds-ic-accent { color: var(--accent); }
[data-ds="eos"] .ds-ic-pos { color: var(--pos); }
[data-ds="eos"] .ds-ic-neg { color: var(--neg); }
[data-ds="eos"] .ds-ic-warn { color: var(--warn); }

/* ========== Tooltip ========== */

[data-ds="eos"] .ds-tt {
  position: relative;
  display: inline-flex;
  align-items: center;
}
[data-ds="eos"] .ds-tt-pop {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: oklch(0.20 0.012 245);
  color: #fff;
  font-size: var(--fs-xs);
  font-family: var(--font-mono);
  padding: 4px 8px;
  border-radius: 2px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 120ms ease-out;
  z-index: 80;
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}
[data-ds="eos"] .ds-tt:hover .ds-tt-pop { opacity: 1; }

/* ========== Menu / Popover ========== */

[data-ds="eos"] .ds-menu {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.14);
  padding: 3px;
  min-width: 180px;
  font-size: var(--fs-sm);
}
[data-ds="eos"] .ds-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border-radius: 2px;
  cursor: pointer;
  color: var(--ink);
  white-space: nowrap;
}
[data-ds="eos"] .ds-menu-item:hover { background: var(--surface-3); }
[data-ds="eos"] .ds-menu-item.danger { color: oklch(0.42 0.15 25); }
[data-ds="eos"] .ds-menu-item.danger:hover { background: var(--neg-soft); }
[data-ds="eos"] .ds-menu-item.disabled { color: var(--ink-4); cursor: not-allowed; }
[data-ds="eos"] .ds-menu-sep {
  height: 1px;
  background: var(--border);
  margin: 3px -3px;
}

/* ========== Breadcrumb ========== */

[data-ds="eos"] .ds-crumb {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-size: var(--fs-sm);
  color: var(--ink-2);
  font-family: var(--font-mono);
  flex-wrap: wrap;
}
[data-ds="eos"] .ds-crumb-link {
  color: var(--ink-2);
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 2px;
  cursor: pointer;
}
[data-ds="eos"] .ds-crumb-link:hover { background: var(--surface-3); color: var(--ink); }
[data-ds="eos"] .ds-crumb-sep {
  color: var(--ink-4);
  padding: 0 1px;
  user-select: none;
}
[data-ds="eos"] .ds-crumb-curr {
  color: var(--ink);
  font-weight: 600;
  padding: 2px 6px;
}

/* ========== Checkbox / Radio ========== */

[data-ds="eos"] .ds-ck {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  font-size: var(--fs-sm);
  color: var(--ink);
  gap: 6px;
}
[data-ds="eos"] .ds-ck input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
[data-ds="eos"] .ds-ck .box {
  width: 13px;
  height: 13px;
  border: 1px solid var(--border-strong);
  border-radius: 2px;
  background: var(--surface);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: border-color 120ms, background 120ms;
}
[data-ds="eos"] .ds-ck:hover .box { border-color: var(--accent); }
[data-ds="eos"] .ds-ck input:checked + .box {
  background: var(--accent);
  border-color: var(--accent);
}
[data-ds="eos"] .ds-ck input:checked + .box::after {
  content: "";
  width: 7px;
  height: 4px;
  border-left: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(-45deg) translate(1px, -1px);
}
[data-ds="eos"] .ds-ck input:focus-visible + .box {
  box-shadow: 0 0 0 2px var(--accent-soft);
}

/* ========== Skeleton ========== */

@keyframes ds-shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: calc(100% + 200px) 0; }
}

[data-ds="eos"] .ds-sk {
  display: inline-block;
  height: 11px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--surface-3) 0%, oklch(0.975 0.006 240) 50%, var(--surface-3) 100%);
  background-size: 400px 100%;
  animation: ds-shimmer 1.6s linear infinite;
}
[data-ds="eos"] .ds-sk-w40 { width: 40%; }
[data-ds="eos"] .ds-sk-w60 { width: 60%; }
[data-ds="eos"] .ds-sk-w80 { width: 80%; }
/* EOS Internal v2 — Shell layout
   All selectors scoped under [data-ds="eos"] */

/* ========== App Shell ========== */

html:has(.v2-shell),
html:has(.v2-shell) body,
html:has(.v2-shell) #root {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.v2-shell[data-ds="eos"] {
  display: grid;
  grid-template-rows: 36px 1fr;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

/* ========== Topbar (36px dark slate) ========== */

[data-ds="eos"] .v2-topbar {
  display: flex;
  align-items: center;
  background: oklch(0.18 0.012 245);
  color: oklch(0.92 0.005 245);
  padding: 0 12px;
  gap: 16px;
  font-size: var(--fs-sm);
  border-bottom: 1px solid oklch(0.12 0.01 245);
  z-index: 10;
}

[data-ds="eos"] .v2-topbar-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
}

[data-ds="eos"] .v2-topbar-brand .dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--accent);
  border-radius: 1px;
}

[data-ds="eos"] .v2-topbar-module {
  color: oklch(0.75 0.01 245);
  font-weight: 500;
  letter-spacing: 0.02em;
}

[data-ds="eos"] .v2-topbar-nav {
  display: flex;
  gap: 2px;
  margin-left: 8px;
}

[data-ds="eos"] .v2-topbar-nav a {
  color: oklch(0.7 0.01 245);
  padding: 6px 10px;
  text-decoration: none;
  font-weight: 500;
  border-radius: 2px;
  white-space: nowrap;
}

[data-ds="eos"] .v2-topbar-nav a:hover:not(.active) {
  color: #fff;
}

[data-ds="eos"] .v2-topbar-nav a.active {
  background: oklch(0.25 0.015 245);
  color: #fff;
}

[data-ds="eos"] .v2-topbar-spacer {
  flex: 1;
}

[data-ds="eos"] .v2-topbar-meta {
  color: oklch(0.7 0.01 245);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
}

[data-ds="eos"] .v2-topbar-user {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

[data-ds="eos"] .v2-topbar-avatar {
  width: 22px;
  height: 22px;
  border: none;
  padding: 0;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  cursor: pointer;
}

[data-ds="eos"] .v2-user-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 1000;
  min-width: 168px;
  display: flex;
  flex-direction: column;
  padding: 4px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  box-shadow: 0 6px 20px oklch(0 0 0 / 0.18);
}

[data-ds="eos"] .v2-user-menu-item {
  width: 100%;
  padding: 7px 10px;
  border: none;
  border-radius: 3px;
  background: transparent;
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  text-align: left;
  cursor: pointer;
}

[data-ds="eos"] .v2-user-menu-item:hover {
  background: var(--surface-2);
}

/* ========== Content Frame ========== */

[data-ds="eos"] .v2-content-frame {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* ========== Page Header ========== */

[data-ds="eos"] .v2-page-header {
  display: flex;
  align-items: center;
  padding: 0 16px;
  height: 44px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  gap: 12px;
}

[data-ds="eos"] .v2-page-header-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  border-radius: 2px;
  cursor: pointer;
  color: var(--ink-2);
  padding: 0;
}

[data-ds="eos"] .v2-page-header-back:hover {
  background: var(--surface-3);
  color: var(--ink);
}

[data-ds="eos"] .v2-page-title {
  font-size: var(--fs-lg);
  font-weight: 600;
  color: var(--ink);
  margin: 0;
}

[data-ds="eos"] .v2-page-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

/* ========== Tab Bar ========== */

[data-ds="eos"] .v2-tab-bar {
  display: flex;
  background: oklch(0.96 0.005 245);
  border-bottom: 1px solid var(--border-strong);
  padding: 0 8px;
  height: 32px;
  align-items: flex-end;
  gap: 1px;
  flex-shrink: 0;
}

[data-ds="eos"] .v2-tab-bar a {
  padding: 0 14px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink-2);
  cursor: pointer;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 3px 3px 0 0;
  background: transparent;
  position: relative;
  top: 1px;
  text-decoration: none;
}

[data-ds="eos"] .v2-tab-bar a:hover {
  color: var(--ink);
  background: rgba(0, 0, 0, 0.03);
}

[data-ds="eos"] .v2-tab-bar a.active {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--border-strong);
  font-weight: 600;
}

[data-ds="eos"] .v2-tab-bar-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  height: 28px;
  padding-bottom: 1px;
}

/* ========== Content Area ========== */

[data-ds="eos"] .v2-content {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
  background: var(--surface);
}

[data-ds="eos"] .v2-content.padded {
  padding: 16px;
}

/* ========== Secondary Nav (master-detail) ========== */

[data-ds="eos"] .v2-with-sidebar {
  display: flex;
  flex: 1;
  min-height: 0;
}

[data-ds="eos"] .v2-secondary-nav {
  width: 240px;
  min-width: 240px;
  background: var(--surface-2);
  border-right: 1px solid var(--border);
  overflow-y: auto;
  flex-shrink: 0;
}

[data-ds="eos"] .v2-secondary-nav-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ========== Forbidden (403) ========== */

[data-ds="eos"] .v2-forbidden {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 32px;
  text-align: center;
}

[data-ds="eos"] .v2-forbidden-code {
  font-family: var(--font-mono);
  font-size: 56px;
  font-weight: 700;
  color: var(--border-strong);
  line-height: 1;
}

[data-ds="eos"] .v2-forbidden-title {
  font-size: var(--fs-lg);
  font-weight: 600;
  margin: 4px 0 0;
  color: var(--ink);
}

[data-ds="eos"] .v2-forbidden-text {
  font-size: var(--fs-sm);
  color: var(--ink-2);
  max-width: 440px;
  margin: 0 0 10px;
  line-height: 1.5;
}

/* Scrollbar styles moved to ds/styles/components.css (.ds-scroll + .v2-shell global) */
/* EOS Internal v2 — DataGridPremium overrides
   Themes MUI DataGrid to match DS density, fonts, and colors.

   IMPORTANT: Row/header dimensions MUST be set via DataGrid props
   (rowHeight, columnHeaderHeight), not CSS. Overriding height via CSS
   causes row overlap because the virtualizer calculates layout from props. */

/* Root — fonts and border color
   Background colors (bg, headerBg, pinnedBg) are set via palette.DataGrid
   in the ThemeProvider in app-shell.component.tsx. */
[data-ds="eos"] .MuiDataGrid-root {
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  color: var(--ink);
  border: none;
  --DataGrid-rowBorderColor: var(--border);
}

/* Column headers — match reference: 5px 8px padding, uppercase, --ink-2 */

[data-ds="eos"] .MuiDataGrid-columnHeader {
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink-2);
  padding: 0 8px !important;
}

[data-ds="eos"] .MuiDataGrid-columnHeaderTitle {
  font-weight: 600;
}

[data-ds="eos"] .MuiDataGrid-columnHeaderTitleContainer {
  padding: 0;
}

/* Sort icon — small, muted, accent when active */
[data-ds="eos"] .MuiDataGrid-sortIcon {
  font-size: 14px;
  color: var(--ink-4);
}

[data-ds="eos"] .MuiDataGrid-columnHeader--sorted .MuiDataGrid-sortIcon {
  color: var(--accent);
}

/* Menu icon — small, muted */
[data-ds="eos"] .MuiDataGrid-menuIcon {
  color: var(--ink-4);
}

[data-ds="eos"] .MuiDataGrid-menuIcon .MuiSvgIcon-root {
  font-size: 16px;
}

/* Column separator — subtle */
[data-ds="eos"] .MuiDataGrid-columnSeparator {
  color: var(--border);
}

/* Header hover — match reference */
[data-ds="eos"] .MuiDataGrid-columnHeader:hover {
  color: var(--ink);
}

/* Rows — fonts only, no height overrides */
[data-ds="eos"] .MuiDataGrid-row {
  font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums;
}

/* Cells — padding only, row border handled by --DataGrid-rowBorderColor */
[data-ds="eos"] .MuiDataGrid-cell {
  padding: 0 8px;
  line-height: 1;
  display: flex;
  align-items: center;
}

/* Hover / selection */
[data-ds="eos"] .MuiDataGrid-row:hover {
  background: var(--surface-3) !important;
}

[data-ds="eos"] .MuiDataGrid-row.Mui-selected {
  background: var(--accent-soft) !important;
}

[data-ds="eos"] .MuiDataGrid-row.Mui-selected .MuiDataGrid-cell:first-of-type {
  box-shadow: inset 2px 0 0 var(--accent);
}

[data-ds="eos"] .MuiDataGrid-row.Mui-selected:hover {
  background: oklch(0.92 0.04 252) !important;
}

/* Remove alternating row colors from old defaults */
[data-ds="eos"] .MuiDataGrid-row.odd {
  background: transparent;
}

[data-ds="eos"] .MuiDataGrid-row.even {
  background: transparent;
}

/* Footer */
[data-ds="eos"] .MuiDataGrid-footerContainer {
  border-top: 1px solid var(--border);
  min-height: 32px;
  font-size: var(--fs-xs);
}

/* Toolbar */
[data-ds="eos"] .MuiDataGrid-toolbarContainer {
  padding: 6px 12px;
  gap: 8px;
  border-bottom: 1px solid var(--border);
  min-height: 32px;
}

/* Overlay (loading, no rows) */
[data-ds="eos"] .MuiDataGrid-overlay {
  background: var(--surface);
}

/* Scrollbar handled by ds/styles/components.css (.v2-shell global) */

/* Menu / panel popups */
[data-ds="eos"] .MuiDataGrid-menu {
  font-size: var(--fs-sm);
}

/* Numeric cells — mono font */
[data-ds="eos"] .MuiDataGrid-cell[data-field*="rice"],
[data-ds="eos"] .MuiDataGrid-cell[data-field*="MEK"],
[data-ds="eos"] .MuiDataGrid-cell[data-field="movingAveragePrice"],
[data-ds="eos"] .MuiDataGrid-cell[data-field="quantityOnStock"],
[data-ds="eos"] .MuiDataGrid-cell[data-field="quantityOrderedByCustomers"],
[data-ds="eos"] .MuiDataGrid-cell[data-field="quantityOrderedFromVendors"],
[data-ds="eos"] .MuiDataGrid-cell[data-field="quantityNeeded"],
[data-ds="eos"] .MuiDataGrid-cell[data-field="minInventory"] {
  font-family: var(--font-mono);
}
/* EOS Assistant — topbar trigger + global slide-over chat.
   All selectors scoped under [data-ds="eos"]. */

/* ========== Topbar trigger ========== */

[data-ds="eos"] .eos-asst-trigger {
  appearance: none;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid oklch(1 0 0 / 0.16);
  border-radius: 5px;
  background: oklch(1 0 0 / 0.06);
  color: oklch(0.92 0.005 245);
  cursor: pointer;
  transition:
    background 120ms ease,
    border-color 120ms ease,
    color 120ms ease;
}

[data-ds="eos"] .eos-asst-trigger svg {
  width: 14px;
  height: 14px;
}

[data-ds="eos"] .eos-asst-trigger:hover {
  background: oklch(1 0 0 / 0.14);
  border-color: oklch(1 0 0 / 0.28);
  color: #fff;
}

[data-ds="eos"] .eos-asst-trigger.is-open {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* ========== Slide-over shell ========== */

[data-ds="eos"] .eos-asst-root {
  position: fixed;
  inset: 0;
  z-index: 1200;
  pointer-events: none;
}

[data-ds="eos"] .eos-asst-root.is-open {
  pointer-events: auto;
}

[data-ds="eos"] .eos-asst-backdrop {
  appearance: none;
  position: absolute;
  inset: 0;
  border: none;
  padding: 0;
  cursor: pointer;
  background: oklch(0.21 0.02 245 / 0.34);
  opacity: 0;
  transition: opacity 200ms ease;
}

[data-ds="eos"] .eos-asst-root.is-open .eos-asst-backdrop {
  opacity: 1;
}

[data-ds="eos"] .eos-asst-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(760px, 100vw);
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(120% 42% at 50% 0%, var(--accent-soft) 0%, transparent 60%),
    var(--bg);
  border-left: 1px solid var(--border-strong);
  box-shadow: -16px 0 40px -24px oklch(0.21 0.02 245 / 0.5);
  transform: translateX(100%);
  transition:
    transform 240ms cubic-bezier(0.32, 0.72, 0, 1),
    width 240ms cubic-bezier(0.32, 0.72, 0, 1);
}

[data-ds="eos"] .eos-asst-root.is-open .eos-asst-panel {
  transform: translateX(0);
}

/* Wide mode — the panel expands to nearly the full viewport width. */
[data-ds="eos"] .eos-asst-root.is-wide .eos-asst-panel {
  width: calc(100vw - 72px);
}

/* ========== Header ========== */

[data-ds="eos"] .eos-asst-head {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds="eos"] .eos-asst-mark {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eos-asst-mark svg {
  width: 16px;
  height: 16px;
}

[data-ds="eos"] .eos-asst-id {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

[data-ds="eos"] .eos-asst-name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-tag {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--accent-ink);
  background: var(--accent-soft);
  border-radius: 3px;
  padding: 1px 5px;
}

[data-ds="eos"] .eos-asst-role {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-ghost {
  appearance: none;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--ink-2);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  border-radius: 3px;
  padding: 3px 8px;
  cursor: pointer;
  transition:
    border-color 120ms ease,
    color 120ms ease;
}

[data-ds="eos"] .eos-asst-ghost:hover {
  border-color: var(--accent);
  color: var(--accent-ink);
}

[data-ds="eos"] .eos-asst-icon-btn {
  appearance: none;
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--ink-3);
  cursor: pointer;
  transition:
    background 120ms ease,
    color 120ms ease;
}

[data-ds="eos"] .eos-asst-icon-btn svg {
  width: 16px;
  height: 16px;
}

[data-ds="eos"] .eos-asst-icon-btn:hover {
  background: var(--surface-3);
  color: var(--ink);
}

/* ========== Message thread ========== */

[data-ds="eos"] .eos-asst-thread {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[data-ds="eos"] .eos-asst-msg {
  display: flex;
  gap: 8px;
  animation: eos-asst-rise 140ms ease both;
}

[data-ds="eos"] .eos-asst-msg.is-user {
  flex-direction: row-reverse;
}

[data-ds="eos"] .eos-asst-msg-avatar {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 4px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eos-asst-msg-avatar svg {
  width: 13px;
  height: 13px;
}

[data-ds="eos"] .eos-asst-msg-main {
  min-width: 0;
  max-width: 86%;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds="eos"] .eos-asst-msg.is-user .eos-asst-msg-main {
  align-items: flex-end;
}

[data-ds="eos"] .eos-asst-msg-who {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--ink-2);
}

[data-ds="eos"] .eos-asst-bubble {
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 8px 11px;
  white-space: pre-wrap;
  word-break: break-word;
}

[data-ds="eos"] .eos-asst-msg.is-user .eos-asst-bubble {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* ---- Streamed Markdown (assistant replies) ---- */

[data-ds="eos"] .eos-asst-md {
  white-space: normal;
}

[data-ds="eos"] .eos-asst-md :first-child {
  margin-top: 0;
}

[data-ds="eos"] .eos-asst-md :last-child {
  margin-bottom: 0;
}

[data-ds="eos"] .eos-asst-md p {
  margin: 0 0 8px;
}

[data-ds="eos"] .eos-asst-md ul,
[data-ds="eos"] .eos-asst-md ol {
  margin: 0 0 8px;
  padding-left: 20px;
}

[data-ds="eos"] .eos-asst-md li {
  margin: 2px 0;
}

[data-ds="eos"] .eos-asst-md li::marker {
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-md a {
  color: var(--accent-ink);
  text-decoration: underline;
}

/* Streamdown renders bold as <span data-streamdown="strong"> carrying a
   Tailwind `font-semibold` class — this project has no Tailwind, so the class
   is inert and the span must be targeted directly. The bare `strong` selector
   stays for raw <strong> / future Streamdown versions. */
[data-ds="eos"] .eos-asst-md strong,
[data-ds="eos"] .eos-asst-md [data-streamdown="strong"] {
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-md em {
  font-style: italic;
}

[data-ds="eos"] .eos-asst-md h1,
[data-ds="eos"] .eos-asst-md h2,
[data-ds="eos"] .eos-asst-md h3 {
  margin: 12px 0 6px;
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-md code {
  font-family: var(--font-mono);
  font-size: 0.92em;
  background: var(--surface-3);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 1px 4px;
}

[data-ds="eos"] .eos-asst-md pre {
  margin: 0 0 8px;
  padding: 8px 10px;
  background: var(--surface-3);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow-x: auto;
}

[data-ds="eos"] .eos-asst-md pre code {
  background: none;
  border: none;
  padding: 0;
}

[data-ds="eos"] .eos-asst-md hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 10px 0;
}

/* Streamdown wraps tables in <div data-streamdown="table-wrapper"> and styles
   the table, cells and header with Tailwind classes, which are inert without
   Tailwind. Style the real elements directly; let wide tables scroll in the
   panel rather than overflow it. */
[data-ds="eos"] .eos-asst-md [data-streamdown="table-wrapper"] {
  margin: 0 0 8px;
  overflow-x: auto;
}

[data-ds="eos"] .eos-asst-md table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95em;
}

[data-ds="eos"] .eos-asst-md th,
[data-ds="eos"] .eos-asst-md td {
  border: 1px solid var(--border);
  padding: 4px 8px;
  text-align: left;
  vertical-align: top;
}

[data-ds="eos"] .eos-asst-md th {
  background: var(--surface-3);
  font-weight: 600;
  color: var(--ink);
}

/* ---- Thinking indicator ---- */

[data-ds="eos"] .eos-asst-think {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

[data-ds="eos"] .eos-asst-think-dots {
  display: inline-flex;
  gap: 3px;
}

[data-ds="eos"] .eos-asst-think-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
  animation: eos-asst-blink 1s infinite ease-in-out;
}

[data-ds="eos"] .eos-asst-think-dot:nth-child(2) {
  animation-delay: 0.15s;
}

[data-ds="eos"] .eos-asst-think-dot:nth-child(3) {
  animation-delay: 0.3s;
}

[data-ds="eos"] .eos-asst-think-label {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

/* ---- Empty state ---- */

[data-ds="eos"] .eos-asst-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: auto 0;
  padding: 8px 14px;
  text-align: center;
}

[data-ds="eos"] .eos-asst-empty-mark {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eos-asst-empty-mark svg {
  width: 22px;
  height: 22px;
}

[data-ds="eos"] .eos-asst-empty-text {
  margin: 0;
  max-width: 300px;
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--ink-2);
}

/* ========== Footer: suggestions + composer ========== */

[data-ds="eos"] .eos-asst-foot {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 12px;
  background: var(--surface);
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-suggest {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

[data-ds="eos"] .eos-asst-suggest-card {
  appearance: none;
  text-align: left;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 500;
  border-radius: 4px;
  padding: 8px 9px;
  cursor: pointer;
  animation: eos-asst-rise 160ms ease both;
  animation-delay: calc(var(--i, 0) * 45ms);
  transition:
    border-color 120ms ease,
    background 120ms ease,
    transform 120ms ease;
}

[data-ds="eos"] .eos-asst-suggest-card:hover:not(:disabled) {
  border-color: var(--accent);
  background: var(--accent-soft);
  transform: translateY(-1px);
}

[data-ds="eos"] .eos-asst-suggest-card:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

[data-ds="eos"] .eos-asst-composer {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  padding: 5px 5px 5px 9px;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  transition: border-color 120ms ease;
}

[data-ds="eos"] .eos-asst-composer:focus-within {
  border-color: var(--accent);
}

[data-ds="eos"] .eos-asst-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  resize: none;
  padding: 4px 0;
  /* See ai-chat-pane's .eb-ai-input — autosize JS collapses the empty
     textarea to ~28px; min-height keeps the click target ≈2 lines tall. */
  min-height: 44px;
  max-height: 132px;
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-input::placeholder {
  color: var(--ink-4);
}

[data-ds="eos"] .eos-asst-send {
  appearance: none;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 3px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 120ms ease;
}

[data-ds="eos"] .eos-asst-send svg {
  width: 15px;
  height: 15px;
}

[data-ds="eos"] .eos-asst-send:hover:not(:disabled) {
  background: var(--accent-ink);
}

[data-ds="eos"] .eos-asst-send:disabled {
  background: var(--surface-3);
  color: var(--ink-4);
  cursor: not-allowed;
}

[data-ds="eos"] .eos-asst-send.is-stop {
  background: var(--ink-2);
}

[data-ds="eos"] .eos-asst-send.is-stop:hover:not(:disabled) {
  background: var(--ink);
}

/* ---- Tool activity card ---- */

[data-ds="eos"] .eos-asst-tool {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface-2);
  padding: 7px 10px;
  animation: eos-asst-rise 140ms ease both;
}

[data-ds="eos"] .eos-asst-tool.is-done {
  border-color: var(--pos);
}

[data-ds="eos"] .eos-asst-tool.is-error {
  border-color: var(--neg);
  background: var(--neg-soft);
}

[data-ds="eos"] .eos-asst-tool-icon {
  flex-shrink: 0;
  width: 16px;
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-tool.is-done .eos-asst-tool-icon {
  color: var(--pos);
}

[data-ds="eos"] .eos-asst-tool.is-error .eos-asst-tool-icon {
  color: var(--neg);
}

[data-ds="eos"] .eos-asst-tool-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

[data-ds="eos"] .eos-asst-tool-title {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-tool-detail {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  word-break: break-word;
}

/* ---- Tool result cards ---- */

[data-ds="eos"] .eos-asst-mono {
  font-family: var(--font-mono);
}

[data-ds="eos"] .eos-asst-rc {
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface);
  overflow: hidden;
  animation: eos-asst-rise 140ms ease both;
}

[data-ds="eos"] .eos-asst-rc.is-missing {
  padding: 8px 10px;
  font-size: var(--fs-sm);
  color: var(--ink-3);
  background: var(--surface-2);
}

[data-ds="eos"] .eos-asst-rc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
}

[data-ds="eos"] .eos-asst-rc-title {
  min-width: 0;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .eos-asst-rc-meta {
  flex-shrink: 0;
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-rc-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Collapsed preview — fade the last row so the user can tell more rows
   are hidden behind the toggle. `mask-image` is the lighter touch
   here vs. an absolutely-positioned overlay because rows have
   variable height and we need the fade to track the last row. */
[data-ds="eos"] .eos-asst-rc-list.is-preview {
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 55%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 55%,
    transparent 100%
  );
}

[data-ds="eos"] .eos-asst-rc-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 10px;
}

[data-ds="eos"] .eos-asst-rc-row + .eos-asst-rc-row {
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-rc-row-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

[data-ds="eos"] .eos-asst-rc-row-namerow {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

[data-ds="eos"] .eos-asst-rc-favicon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border-radius: 2px;
}

[data-ds="eos"] .eos-asst-rc-row-name {
  min-width: 0;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .eos-asst-rc-row-sub {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .eos-asst-rc-row-side {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-rc-row-side-top {
  display: flex;
  align-items: center;
  gap: 6px;
}

[data-ds="eos"] .eos-asst-rc-row-meta {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-rc-kvs {
  margin: 0;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 14px;
}

[data-ds="eos"] .eos-asst-rc-kv {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

[data-ds="eos"] .eos-asst-rc-kv dt {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-rc-kv dd {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink);
  word-break: break-word;
}

[data-ds="eos"] .eos-asst-rc-kv dd a {
  color: var(--accent-ink);
  text-decoration: underline;
}

[data-ds="eos"] .eos-asst-rc-lines {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-rc-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 10px;
}

[data-ds="eos"] .eos-asst-rc-line + .eos-asst-rc-line {
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-rc-line-total {
  flex-shrink: 0;
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-rc-note {
  margin: 0;
  padding: 7px 10px;
  border-top: 1px solid var(--border);
  font-size: var(--fs-xs);
  line-height: 1.5;
  color: var(--ink-3);
  white-space: pre-wrap;
  word-break: break-word;
}

[data-ds="eos"] .eos-asst-rc-pill {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border: 1px solid var(--border);
  border-radius: 3px;
  font-size: var(--fs-xs);
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}

[data-ds="eos"] .eos-asst-rc-pill.is-open {
  color: var(--accent-ink);
  border-color: var(--accent);
}

[data-ds="eos"] .eos-asst-rc-pill.is-closed {
  color: var(--ink-3);
}

/* Overdue / churned badges — mirror the DS `.ds-flag` warn/critical inks
   (the design system has no --warn-ink / --neg-ink token). */
[data-ds="eos"] .eos-asst-rc-pill.is-overdue {
  color: oklch(0.44 0.12 70);
  border-color: oklch(0.82 0.1 70);
  background: var(--warn-soft);
}

[data-ds="eos"] .eos-asst-rc-pill.is-churned {
  color: oklch(0.42 0.15 25);
  border-color: oklch(0.8 0.1 25);
  background: var(--neg-soft);
}

[data-ds="eos"] .eos-asst-rc-more {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  border: 0;
  border-top: 1px solid var(--border);
  background: transparent;
  padding: 6px 10px;
  font: inherit;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  text-align: left;
  cursor: pointer;
}

[data-ds="eos"] .eos-asst-rc-more:hover {
  color: var(--ink);
  background: var(--bg-1, transparent);
}

[data-ds="eos"] .eos-asst-rc-more-caret {
  display: inline-block;
  width: 10px;
  color: var(--ink-3);
}

/* ---- Live activity row (pinned to in-flight assistant message) ---- */

[data-ds="eos"] .eos-asst-activity {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding: 2px 2px 0;
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-activity-label {
  font-style: italic;
}

/* ---- End-of-turn footer ---- */

[data-ds="eos"] .eos-asst-turn-foot {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed var(--border);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  animation: eos-asst-turn-foot-in 220ms ease-out both;
}

[data-ds="eos"] .eos-asst-turn-foot-check {
  color: var(--pos, #2e9c5a);
  font-weight: 600;
}

[data-ds="eos"] .eos-asst-turn-foot-sep {
  color: var(--ink-4, var(--ink-3));
  opacity: 0.6;
}

@keyframes eos-asst-turn-foot-in {
  from {
    opacity: 0;
    transform: translateY(-2px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* ---- Error notice ---- */

[data-ds="eos"] .eos-asst-error {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  border: 1px solid var(--neg);
  background: var(--neg-soft);
  border-radius: 4px;
  padding: 8px 10px;
}

[data-ds="eos"] .eos-asst-error-text {
  flex: 1;
  min-width: 0;
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--ink);
}

/* ---- askUser question cards ---- */

[data-ds="eos"] .eos-asst-aq {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--accent);
  border-radius: 4px;
  background: var(--surface);
  padding: 10px;
  animation: eos-asst-rise 140ms ease both;
}

[data-ds="eos"] .eos-asst-aq.is-answered {
  border-color: var(--border);
  background: var(--surface-2);
}

[data-ds="eos"] .eos-asst-aq-q {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[data-ds="eos"] .eos-asst-aq-q + .eos-asst-aq-q {
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-aq-label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.4;
}

[data-ds="eos"] .eos-asst-aq-opts {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

[data-ds="eos"] .eos-asst-aq-opt {
  appearance: none;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 5px 9px;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: var(--surface);
  cursor: pointer;
  text-align: left;
  transition:
    border-color 100ms ease,
    background 100ms ease;
}

[data-ds="eos"] .eos-asst-aq-opt:hover:not(.is-locked) {
  border-color: var(--accent);
  background: var(--accent-soft);
}

[data-ds="eos"] .eos-asst-aq-opt.is-active {
  border-color: var(--accent);
  background: var(--accent-soft);
}

[data-ds="eos"] .eos-asst-aq-opt.is-locked {
  cursor: default;
}

[data-ds="eos"] .eos-asst-aq-opt-label {
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-aq-opt-desc {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  line-height: 1.4;
}

[data-ds="eos"] .eos-asst-aq-opt.is-other {
  border-style: dashed;
}

[data-ds="eos"] .eos-asst-aq-other {
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: var(--surface);
  padding: 5px 8px;
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  color: var(--ink);
  outline: none;
  transition: border-color 100ms ease;
}

[data-ds="eos"] .eos-asst-aq-other:focus {
  border-color: var(--accent);
}

[data-ds="eos"] .eos-asst-aq-other::placeholder {
  color: var(--ink-4);
}

[data-ds="eos"] .eos-asst-aq-submit {
  appearance: none;
  align-self: flex-end;
  padding: 5px 14px;
  border: none;
  border-radius: 3px;
  background: var(--accent);
  color: #fff;
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 500;
  cursor: pointer;
  transition: background 100ms ease;
}

[data-ds="eos"] .eos-asst-aq-submit:hover:not(:disabled) {
  background: var(--accent-ink);
}

[data-ds="eos"] .eos-asst-aq-submit:disabled {
  background: var(--surface-3);
  color: var(--ink-4);
  cursor: not-allowed;
}

/* ========== Message composer card (message_compose_v1) ========== */

[data-ds="eos"] .eos-asst-mc {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--accent);
  border-radius: 4px;
  background: var(--surface);
  padding: 12px;
  animation: eos-asst-rise 140ms ease both;
}

[data-ds="eos"] .eos-asst-mc-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

[data-ds="eos"] .eos-asst-mc-kind {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .eos-asst-mc-title {
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
}

[data-ds="eos"] .eos-asst-mc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 6px;
}

[data-ds="eos"] .eos-asst-mc-tab {
  appearance: none;
  padding: 4px 9px;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: var(--surface);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  transition:
    border-color 100ms ease,
    background 100ms ease;
}

[data-ds="eos"] .eos-asst-mc-tab:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

[data-ds="eos"] .eos-asst-mc-tab.is-active {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-ink, var(--ink));
}

[data-ds="eos"] .eos-asst-mc-onelabel {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-mc-subject {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 8px;
  border-radius: 3px;
  background: var(--surface-2);
  border: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-mc-subject-label {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .eos-asst-mc-subject-value {
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  color: var(--ink);
  line-height: 1.4;
}

[data-ds="eos"] .eos-asst-mc-body {
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  color: var(--ink);
  line-height: 1.55;
  word-break: break-word;
}

/* The body is rendered through Streamdown (the shared `.eos-asst-md` rules
   apply too). Tighten list spacing for the composer card: drop the per-item
   margin and the `<p>` wrapper that Streamdown adds for loose lists, so
   consecutive bullets sit close together. */
[data-ds="eos"] .eos-asst-mc-body ul,
[data-ds="eos"] .eos-asst-mc-body ol {
  margin: 0 0 8px;
  padding-left: 18px;
}

[data-ds="eos"] .eos-asst-mc-body li {
  margin: 0;
}

[data-ds="eos"] .eos-asst-mc-body li + li {
  margin-top: 1px;
}

[data-ds="eos"] .eos-asst-mc-body li > p {
  margin: 0;
}

[data-ds="eos"] .eos-asst-mc-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-top: 4px;
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-mc-primary {
  appearance: none;
  padding: 5px 12px;
  border: none;
  border-radius: 3px;
  background: var(--accent);
  color: #fff;
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 500;
  cursor: pointer;
  transition: background 100ms ease;
}

[data-ds="eos"] .eos-asst-mc-primary:hover {
  background: var(--accent-ink, var(--accent));
}

[data-ds="eos"] .eos-asst-mc-secondary {
  appearance: none;
  padding: 5px 10px;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 500;
  cursor: pointer;
  transition:
    border-color 100ms ease,
    background 100ms ease;
}

[data-ds="eos"] .eos-asst-mc-secondary:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

[data-ds="eos"] .eos-asst-mc-flash {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-mc-evidence {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px dashed var(--border);
}

[data-ds="eos"] .eos-asst-mc-evidence-label {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .eos-asst-mc-evidence-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

[data-ds="eos"] .eos-asst-mc-evidence-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 2px 7px;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: var(--surface-2);
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  color: var(--ink);
  line-height: 1.4;
  max-width: 100%;
}

[data-ds="eos"] .eos-asst-mc-evidence-chip-kind {
  font-weight: 600;
  color: var(--accent);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .eos-asst-mc-evidence-chip-id {
  font-family: var(--font-mono, var(--font-ui));
  font-weight: 500;
  color: var(--ink);
}

[data-ds="eos"] .eos-asst-mc-evidence-chip-note {
  color: var(--ink-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
}

/* ========== Animations ========== */

@keyframes eos-asst-rise {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes eos-asst-blink {
  0%,
  80%,
  100% {
    opacity: 0.25;
    transform: scale(0.85);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-ds="eos"] .eos-asst-panel {
    transition: none;
  }
  [data-ds="eos"] .eos-asst-msg,
  [data-ds="eos"] .eos-asst-suggest-card {
    animation: none;
  }
  [data-ds="eos"] .eos-asst-think-dot {
    animation-duration: 0.01ms;
  }
}

/* ========== History sidebar ========== */

/* The panel now owns a two-column layout: history rail + main chat. */
[data-ds="eos"] .eos-asst-panel {
  flex-direction: row;
}

[data-ds="eos"] .eos-asst-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .eos-asst-history {
  width: 220px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border-right: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-root.is-wide .eos-asst-history {
  width: 260px;
}

[data-ds="eos"] .eos-asst-history-head {
  padding: 10px;
  border-bottom: 1px solid var(--border);
}

[data-ds="eos"] .eos-asst-history-new {
  appearance: none;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 3px;
  cursor: pointer;
  transition:
    border-color 120ms ease,
    color 120ms ease;
}

[data-ds="eos"] .eos-asst-history-new:hover {
  border-color: var(--accent);
  color: var(--accent-ink);
}

[data-ds="eos"] .eos-asst-history-new svg {
  width: 12px;
  height: 12px;
}

[data-ds="eos"] .eos-asst-history-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 4px 0;
}

[data-ds="eos"] .eos-asst-history-empty {
  padding: 12px 14px;
  font-size: var(--fs-sm);
  color: var(--ink-3);
}

[data-ds="eos"] .eos-asst-history-row {
  display: flex;
  align-items: stretch;
  padding: 0 6px;
  border-radius: 3px;
  margin: 1px 4px;
  position: relative;
}

[data-ds="eos"] .eos-asst-history-row:hover {
  background: var(--bg);
}

[data-ds="eos"] .eos-asst-history-row.is-active {
  background: var(--accent-soft);
}

[data-ds="eos"] .eos-asst-history-row.is-loading {
  opacity: 0.6;
}

[data-ds="eos"] .eos-asst-history-row-main {
  appearance: none;
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  padding: 6px 4px;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  color: inherit;
}

[data-ds="eos"] .eos-asst-history-row-title {
  width: 100%;
  font-size: var(--fs-sm);
  color: var(--ink);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .eos-asst-history-row.is-active .eos-asst-history-row-title {
  color: var(--accent-ink);
}

[data-ds="eos"] .eos-asst-history-row-date {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--ink-3);
  letter-spacing: 0.4px;
}

[data-ds="eos"] .eos-asst-history-row-actions {
  display: none;
  align-items: center;
  gap: 2px;
}

[data-ds="eos"] .eos-asst-history-row:hover .eos-asst-history-row-actions {
  display: flex;
}

[data-ds="eos"] .eos-asst-history-row-btn {
  appearance: none;
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--ink-3);
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eos-asst-history-row-btn:hover {
  color: var(--accent-ink);
  background: var(--surface);
}

[data-ds="eos"] .eos-asst-history-row-btn.is-danger:hover {
  color: oklch(0.55 0.18 25);
}

[data-ds="eos"] .eos-asst-history-row-btn svg {
  width: 13px;
  height: 13px;
}

[data-ds="eos"] .eos-asst-history-rename {
  flex: 1;
  margin: 4px 0;
  padding: 4px 6px;
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--accent);
  border-radius: 3px;
  outline: none;
}

/* ========== Rating buttons (in the turn footer) ========== */

[data-ds="eos"] .eos-asst-rating {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
}

[data-ds="eos"] .eos-asst-rating-btn {
  appearance: none;
  background: transparent;
  border: none;
  padding: 3px;
  cursor: pointer;
  color: var(--ink-3);
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 120ms ease, background 120ms ease;
}

[data-ds="eos"] .eos-asst-rating-btn:hover:not(:disabled) {
  color: var(--ink);
  background: var(--surface);
}

[data-ds="eos"] .eos-asst-rating-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

[data-ds="eos"] .eos-asst-rating-btn svg {
  width: 13px;
  height: 13px;
}

[data-ds="eos"] .eos-asst-rating-btn.is-on {
  color: var(--accent-ink);
  background: var(--accent-soft);
}

[data-ds="eos"] .eos-asst-turn-foot {
  /* room so the rating cluster pins to the right edge */
  flex-wrap: wrap;
}
[data-ds="eos"] .spec-edit-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 540px;
  max-width: 640px;
}

[data-ds="eos"] .spec-edit-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface);
}
[data-ds="eos"] .spec-edit-section h3 {
  margin: 0 0 4px 0;
  font-size: var(--fs-sm);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
}

[data-ds="eos"] .spec-edit-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  align-items: center;
  gap: 8px;
}
[data-ds="eos"] .spec-edit-row > label {
  color: var(--ink-2);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .spec-edit-select {
  height: 28px;
  padding: 0 8px;
  font: inherit;
  font-size: var(--fs-sm);
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--border);
  border-radius: 3px;
}

[data-ds="eos"] .spec-edit-enum {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
[data-ds="eos"] .spec-edit-chip {
  padding: 2px 8px;
  font: inherit;
  font-size: var(--fs-xs);
  color: var(--ink-2);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 3px;
  cursor: pointer;
  transition: background-color 80ms;
}
[data-ds="eos"] .spec-edit-chip:hover {
  background: var(--surface-active, rgba(255,255,255,0.04));
}
[data-ds="eos"] .spec-edit-chip.is-active {
  background: var(--accent, #2563eb);
  color: #fff;
  border-color: var(--accent, #2563eb);
}
[data-ds="eos"] .spec-edit-chip.is-clear {
  font-family: var(--font-mono);
  color: var(--ink-4);
}
[data-ds="eos"] .spec-edit-chip.is-clear.is-active {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--ink-3);
}

[data-ds="eos"] .spec-edit-mechanical {
  display: flex;
  gap: 4px;
  align-items: center;
}
[data-ds="eos"] .spec-edit-mechanical .ds-input {
  flex: 1;
}

[data-ds="eos"] .spec-edit-picker {
  position: relative;
}
[data-ds="eos"] .spec-edit-picker-input {
  position: relative;
}
[data-ds="eos"] .spec-edit-picker-x {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: var(--ink-3);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0 4px;
}
[data-ds="eos"] .spec-edit-picker-x:hover {
  color: var(--ink);
}
[data-ds="eos"] .spec-edit-picker-pop {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 30;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 3px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  max-height: 220px;
  overflow-y: auto;
}
[data-ds="eos"] .spec-edit-picker-item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px;
  background: transparent;
  border: none;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
[data-ds="eos"] .spec-edit-picker-item:hover {
  background: var(--surface-active, rgba(255,255,255,0.05));
}
[data-ds="eos"] .spec-edit-picker-item.is-propose {
  color: var(--accent, #2563eb);
  border-bottom: 1px dashed var(--border);
}
[data-ds="eos"] .spec-edit-picker-tag {
  font-size: var(--fs-xs);
  color: var(--ink-4);
  padding: 0 4px;
  border: 1px solid var(--border);
  border-radius: 2px;
}
[data-ds="eos"] .spec-edit-picker-empty {
  padding: 8px 10px;
  color: var(--ink-4);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .spec-edit-hint {
  color: var(--ink-4);
  font-size: var(--fs-sm);
  margin: 0;
}

[data-ds="eos"] .spec-edit-readonly {
  color: var(--ink);
  font-size: var(--fs-sm);
  padding: 4px 0;
}
[data-ds="eos"] .bulk-edit-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 620px;
  max-width: 760px;
}

[data-ds="eos"] .bulk-edit-warning {
  padding: 6px 10px;
  font-size: var(--fs-sm);
  background: rgba(244, 165, 0, 0.12);
  border-left: 3px solid #f4a500;
  color: var(--ink);
}

[data-ds="eos"] .bulk-edit-row {
  display: grid;
  grid-template-columns: 90px 160px 1fr;
  align-items: center;
  gap: 8px;
  padding: 4px 6px;
  border-radius: 3px;
}
[data-ds="eos"] .bulk-edit-row.is-enabled {
  background: var(--surface-active, rgba(255, 255, 255, 0.03));
}
[data-ds="eos"] .bulk-edit-row .bulk-edit-label {
  color: var(--ink-2);
  font-size: var(--fs-sm);
}
[data-ds="eos"] .bulk-edit-enable {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  cursor: pointer;
  user-select: none;
}
[data-ds="eos"] .bulk-edit-row.is-enabled .bulk-edit-enable {
  color: var(--ink);
  font-weight: 600;
}

[data-ds="eos"] .bulk-edit-control {
  min-width: 0;
}
[data-ds="eos"] .bulk-edit-spec-control {
  display: grid;
  grid-template-columns: 1fr 140px;
  gap: 6px;
}
[data-ds="eos"] .bulk-edit-input-row {
  display: flex;
  gap: 4px;
  align-items: center;
}
[data-ds="eos"] .bulk-edit-input-row .ds-input {
  flex: 1;
}
[data-ds="eos"] .bulk-edit-mode {
  height: 28px;
  padding: 0 6px;
  font-size: var(--fs-xs);
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--border);
  border-radius: 3px;
}

[data-ds="eos"] .bulk-edit-preview {
  margin-top: 6px;
  padding: 10px 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 3px;
}
[data-ds="eos"] .bulk-edit-preview h4 {
  margin: 0 0 6px 0;
  font-size: var(--fs-sm);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
}
[data-ds="eos"] .bulk-edit-preview ul {
  margin: 0;
  padding-left: 18px;
  font-size: var(--fs-sm);
  color: var(--ink-2);
}
[data-ds="eos"] .bulk-edit-preview li {
  margin: 2px 0;
}
[data-ds="eos"] .bulk-edit-preview code {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  background: var(--surface-active, rgba(255, 255, 255, 0.04));
  padding: 0 4px;
  border-radius: 2px;
}
[data-ds="eos"] .bulk-edit-skipped {
  color: var(--ink);
}
[data-ds="eos"] .bulk-edit-skipped details summary {
  cursor: pointer;
  color: var(--ink-3);
}
/* MEK column highlight (light yellow, header + body) */
[data-ds="eos"] table.ds-table thead th[data-col-id="movingAveragePrice"],
[data-ds="eos"] table.ds-table tbody td[data-col-id="movingAveragePrice"] {
  background: var(--warn-soft);
}

[data-ds="eos"] .items-edit-specs-btn {
  width: 24px;
  height: 22px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ink-3);
  font-size: 13px;
  cursor: pointer;
  border-radius: 3px;
  padding: 0;
  line-height: 1;
}
[data-ds="eos"] .items-edit-specs-btn:hover {
  color: var(--ink);
  border-color: var(--border);
  background: var(--surface);
}

[data-ds="eos"] .items-select-checkbox {
  cursor: pointer;
  accent-color: var(--accent, #2563eb);
}

[data-ds="eos"] .items-selection-bar {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 12px;
  border-top: 1px solid var(--border);
  background: var(--surface);
  box-shadow: 0 -3px 8px rgba(0, 0, 0, 0.18);
  z-index: 4;
}
[data-ds="eos"] .items-selection-count {
  font-weight: 600;
  color: var(--ink);
  font-size: var(--fs-sm);
}
/* EOS Preis-Tool — page-specific layout and components
   Scoped under [data-ds="eos"] to avoid leaking. */

/* ========== Main layout ========== */

[data-ds="eos"] .pt-main {
  height: 100%;
  min-height: 0;
}

/* ---- Resize handle ---- */

[data-ds="eos"] .pt-resize-handle {
  height: 2px;
  background: var(--border-strong);
  cursor: row-resize;
}

[data-ds="eos"] .pt-resize-handle[data-separator]:hover,
[data-ds="eos"] .pt-resize-handle[data-separator]:active {
  background: var(--accent);
  height: 3px;
}

/* ========== Top: toolbar + full-width hit list ========== */

[data-ds="eos"] .pt-top {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: var(--surface);
  overflow: hidden;
}

/* ---- Filter toolbar ---- */

[data-ds="eos"] .pt-toolbar {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
  background: var(--surface);
}

[data-ds="eos"] .pt-toolbar .pt-search {
  flex: 1;
  min-width: 200px;
  max-width: 360px;
}

[data-ds="eos"] .pt-toolbar .pt-filter-sep {
  width: 1px;
  height: 18px;
  background: var(--border);
  flex-shrink: 0;
}

[data-ds="eos"] .pt-toolbar .pt-hit-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
  flex-shrink: 0;
}

[data-ds="eos"] .pt-toolbar .pt-hit-count b {
  color: var(--ink);
  font-weight: 600;
}

/* ---- Colour legend: one toggle per row state (EOS-61) ---- */

[data-ds="eos"] .pt-toolbar .pt-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  margin-left: auto;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  flex-shrink: 0;
}

[data-ds="eos"] .pt-toolbar .pt-legend .pt-filter-sep {
  height: 12px;
  margin: 0 4px;
}

[data-ds="eos"] .pt-legend-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 22px;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: var(--ink-3);
  font: inherit;
  white-space: nowrap;
  cursor: pointer;
}

[data-ds="eos"] .pt-legend-btn:hover {
  border-color: var(--border-strong);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-legend-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

[data-ds="eos"] .pt-legend-btn[aria-pressed='true'] {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-ink);
}

[data-ds="eos"] .pt-legend-btn .count {
  font-family: var(--font-mono);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-legend-btn[aria-pressed='true'] .count {
  color: var(--accent-ink);
}

[data-ds="eos"] .pt-legend .pt-legend-limits {
  margin-left: 4px;
}

/* One colour pair per row state, shared by the legend swatch and the row:
   tint = row background, mark = bar at the row's left edge. Tokens only, so
   both follow the DS palette. */
[data-ds="eos"] .pt-state-under-mek { --pt-state-bg: var(--neg-soft); --pt-state-mark: var(--neg); }
[data-ds="eos"] .pt-state-low-margin { --pt-state-bg: var(--warn-soft); --pt-state-mark: var(--warn); }
[data-ds="eos"] .pt-state-deal { --pt-state-bg: var(--pos-soft); --pt-state-mark: var(--pos); }
[data-ds="eos"] .pt-state-partial-prices { --pt-state-bg: var(--surface-2); --pt-state-mark: var(--ink-4); }
[data-ds="eos"] .pt-state-no-prices { --pt-state-bg: var(--surface-3); --pt-state-mark: var(--ink-3); }

[data-ds="eos"] .pt-legend-sw,
[data-ds="eos"] .pt-limit-swatch {
  display: inline-block;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 1px;
  background: var(--pt-state-bg);
  box-shadow: inset 3px 0 0 var(--pt-state-mark), inset 0 0 0 1px var(--pt-state-mark);
}

[data-ds="eos"] .pt-filter-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

[data-ds="eos"] .pt-filter-field label {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-weight: 500;
  letter-spacing: 0.03em;
}

/* ---- Multi-select dropdown ---- */

/* ---- Hit list ---- */

[data-ds="eos"] .pt-hitlist {
  background: var(--surface);
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

[data-ds="eos"] .pt-hitlist table.ds-table {
  table-layout: fixed;
}

/* Row colour = the legend state with the highest priority (EOS-61): tint plus
   a bar on the left edge. A selected row keeps the selection colour and the bar. */
[data-ds="eos"] .pt-hitlist table.ds-table tbody tr.pt-state {
  background: var(--pt-state-bg);
}
[data-ds="eos"] .pt-hitlist table.ds-table tbody tr.pt-state:hover {
  background: color-mix(in oklch, var(--pt-state-bg), var(--pt-state-mark) 12%);
}
[data-ds="eos"] .pt-hitlist table.ds-table tbody tr.pt-state.selected {
  background: var(--accent-soft);
}
[data-ds="eos"] .pt-hitlist table.ds-table tbody tr.pt-state > td:first-child {
  box-shadow: inset 3px 0 0 var(--pt-state-mark);
}

[data-ds="eos"] .pt-hitlist-header {
  padding: 8px 12px 6px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .pt-hitlist-header .title {
  font-size: var(--fs-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
}

[data-ds="eos"] .pt-hitlist-header .stat {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-hitlist-header .stat b { color: var(--ink); font-weight: 600; }

[data-ds="eos"] .pt-hitlist-header .legend {
  display: flex;
  gap: 10px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  margin-left: auto;
}

[data-ds="eos"] .pt-hitlist-header .legend .sw {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 3px;
  border-radius: 1px;
  vertical-align: middle;
}

/* ---- Savings pill ---- */

[data-ds="eos"] .pt-spill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 2px;
}

[data-ds="eos"] .pt-spill.best { background: var(--pos-soft); color: oklch(0.38 0.11 150); }
[data-ds="eos"] .pt-spill.neutral { background: var(--surface-3); color: var(--ink-2); }
[data-ds="eos"] .pt-spill.worse { background: var(--warn-soft); color: oklch(0.44 0.12 70); }

/* ========== Bottom: workspace + right rail ========== */

[data-ds="eos"] .pt-bottom {
  display: grid;
  grid-template-columns: 1fr 320px;
  min-height: 0;
  background: var(--surface);
}

/* ---- Workspace ---- */

[data-ds="eos"] .pt-workspace {
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--border);
  overflow: hidden;
}

[data-ds="eos"] .pt-ws-header {
  padding: 10px 16px 8px;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--surface);
  flex-shrink: 0;
}

[data-ds="eos"] .pt-ws-breadcrumb {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
}

[data-ds="eos"] .pt-ws-title-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

[data-ds="eos"] .pt-ws-id {
  font-family: var(--font-mono);
  font-size: var(--fs-md);
  color: var(--ink-2);
  background: var(--surface-3);
  padding: 2px 6px;
  border-radius: 2px;
  font-weight: 500;
}

[data-ds="eos"] .pt-ws-name {
  font-size: 18px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.01em;
}

[data-ds="eos"] .pt-ws-meta {
  display: flex;
  gap: 18px;
  color: var(--ink-3);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .pt-ws-meta .k {
  color: var(--ink-3);
  margin-right: 5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: var(--fs-xs);
  font-weight: 600;
}

[data-ds="eos"] .pt-ws-meta .v {
  color: var(--ink);
  font-weight: 500;
}

[data-ds="eos"] .pt-ws-flags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 2px;
}

[data-ds="eos"] .pt-ws-body {
  display: grid;
  /* metric strip · Einkaufshilfe (EOS-62) · offer table */
  grid-template-rows: auto auto 1fr;
  min-height: 0;
  flex: 1;
  overflow: hidden;
}

/* ---- Metric strip ---- */

[data-ds="eos"] .pt-metric-strip {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
  flex-shrink: 0;
}

[data-ds="eos"] .pt-metric {
  padding: 8px 12px;
  border-right: 1px solid var(--border);
  min-width: 0;
}

[data-ds="eos"] .pt-metric:last-child { border-right: none; }

[data-ds="eos"] .pt-metric .label {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

[data-ds="eos"] .pt-metric .label .hint {
  font-family: var(--font-mono);
  color: var(--ink-4);
  letter-spacing: 0;
  font-weight: 500;
  text-transform: none;
}

[data-ds="eos"] .pt-metric .value {
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.01em;
}

[data-ds="eos"] .pt-metric .sub {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
  margin-top: 1px;
}

[data-ds="eos"] .pt-metric .sub.ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .pt-metric.highlight {
  background: oklch(0.98 0.015 252);
  border-left: 2px solid var(--accent);
}

/* Demand bar */
[data-ds="eos"] .pt-dbar {
  height: 4px;
  background: var(--surface-3);
  border-radius: 1px;
  margin-top: 4px;
  overflow: hidden;
  position: relative;
}

[data-ds="eos"] .pt-dbar .fill {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background: var(--accent);
}

/* ---- Supplier offers (under metric strip) ---- */

[data-ds="eos"] .pt-ws-offers {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* Einkaufshilfe block between the metric strip and the offer table (EOS-62). */
[data-ds="eos"] .pt-dispo-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 6px 14px 8px;
  border-bottom: 1px solid var(--border);
  max-height: 45vh;
  overflow: auto;
}
[data-ds="eos"] .pt-dispo-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
[data-ds="eos"] .pt-dispo-head .title {
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-2);
}
[data-ds="eos"] .pt-dispo-head .hint {
  margin-left: auto;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
}
[data-ds="eos"] .pt-dispo-grid .pt-metric.clickable {
  all: unset;
  box-sizing: border-box;
  display: block;
  padding: 8px 12px;
  border-right: 1px solid var(--border);
  min-width: 0;
  cursor: pointer;
}
[data-ds="eos"] .pt-dispo-grid .pt-metric.clickable:hover {
  background: var(--surface);
}
[data-ds="eos"] .pt-dispo-grid .pt-metric.clickable:focus-visible {
  outline: 1px solid var(--accent);
}

[data-ds="eos"] .pt-supplier-offers {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  background: var(--surface);
  overflow: hidden;
}

[data-ds="eos"] .pt-supplier-offers-header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
  flex-shrink: 0;
}

/* ---- Purchasing aid (Einkaufshilfe) ---- */

[data-ds="eos"] .pt-dispo-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid var(--border);
  background: var(--surface-2);
}


[data-ds="eos"] .pt-dispo-grid .pt-metric .sub {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .pt-dispo-explain {
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-dispo-explain summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

[data-ds="eos"] .pt-dispo-explain ul {
  margin: 6px 0 0;
  padding-left: 18px;
  line-height: 1.6;
}

/* Einkaufshilfe settings dialog (EOS-62): label | value | unit per row. */
[data-ds="eos"] .pt-dsettings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 80px max-content;
  gap: 8px 10px;
  align-items: center;
}

[data-ds="eos"] .pt-dsettings-grid .label {
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds="eos"] .pt-dsettings-grid .label .hint {
  display: block;
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .pt-dsettings-grid .ds-input {
  width: 100%;
  text-align: right;
}

[data-ds="eos"] .pt-dsettings-grid .unit,
[data-ds="eos"] .pt-dsettings-add .unit {
  font-size: var(--fs-sm);
  color: var(--ink-2);
  white-space: nowrap;
}

[data-ds="eos"] .pt-dsettings-value {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  text-align: right;
}

[data-ds="eos"] .pt-dsettings-margins {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

[data-ds="eos"] .pt-dsettings-margins .ds-chip {
  font-family: var(--font-mono);
}

[data-ds="eos"] .pt-dsettings-chip-x {
  all: unset;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
  color: var(--ink-3);
}

[data-ds="eos"] .pt-dsettings-chip-x:hover:not(:disabled) {
  color: var(--neg);
}

[data-ds="eos"] .pt-dsettings-chip-x:focus-visible {
  outline: 1px solid var(--accent);
}

[data-ds="eos"] .pt-dsettings-chip-x:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-ds="eos"] .pt-dsettings-add {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

[data-ds="eos"] .pt-dsettings-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .pt-sales-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-sm);
}

[data-ds="eos"] .pt-sales-table th {
  text-align: left;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 8px;
  border-bottom: 1px solid var(--border-strong);
}

[data-ds="eos"] .pt-sales-table td {
  padding: 4px 8px;
  border-bottom: 1px solid var(--border);
}

[data-ds="eos"] .pt-sales-table .num {
  text-align: right;
}

[data-ds="eos"] .pt-sales-table .mono {
  font-family: var(--font-mono);
}

/* ---- Dialog forms (fixed prices, manual offers) ---- */

[data-ds="eos"] .pt-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[data-ds="eos"] .pt-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

[data-ds="eos"] .pt-field-row {
  display: flex;
  gap: 12px;
}

[data-ds="eos"] .pt-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
}

/* ---- Legend limits dialog (EOS-61) ---- */

[data-ds="eos"] .pt-limit-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-md);
  color: var(--ink);
}

[data-ds="eos"] .pt-limit-row .pt-limit-input {
  width: 72px;
  text-align: right;
}

[data-ds="eos"] .pt-limit-hint {
  margin: -8px 0 0 18px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .pt-limit-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .pt-fix-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

[data-ds="eos"] .pt-fix-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  padding: 4px 0;
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .pt-fix-row.expired {
  color: var(--ink-3);
}

/* Supplier name with the stock summary underneath: the row stays readable
   at the fixed dialog width. */
[data-ds="eos"] .pt-fix-row .supplier {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

[data-ds="eos"] .pt-fix-row .supplier .name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .pt-fix-row .supplier .meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  white-space: nowrap;
}

[data-ds="eos"] .pt-fix-row .price {
  font-family: var(--font-mono);
  font-weight: 600;
  white-space: nowrap;
}

[data-ds="eos"] .pt-fix-row .valid {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  min-width: 96px;
  text-align: right;
  white-space: nowrap;
}

[data-ds="eos"] .pt-fix-row .actions {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
  white-space: nowrap;
}

/* Second step of "Entfernen" */
[data-ds="eos"] .pt-fix-row .actions .confirm {
  align-self: center;
  margin-right: 4px;
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

/* Upstream suppliers of the fixed price above */
[data-ds="eos"] .pt-upstream {
  margin: 0 0 6px 12px;
  padding: 6px 10px 8px;
  border-left: 2px solid var(--border-strong);
  background: var(--surface-2);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds="eos"] .pt-upstream-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fs-sm);
}

[data-ds="eos"] .pt-upstream-row .name {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .pt-upstream-row .qty {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-upstream-add {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-top: 4px;
}

[data-ds="eos"] .pt-fix-empty,
[data-ds="eos"] .pt-fix-hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  padding: 4px 0;
}

/* Price list import dialog: one tab per sheet, a mapping row per column. */
[data-ds="eos"] .pt-import-sheets {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
}

[data-ds="eos"] .pt-import-tabs .ds-tabnav {
  overflow-x: auto;
  scrollbar-width: thin;
}

[data-ds="eos"] .pt-import-tabs .ds-tab {
  flex-shrink: 0;
  white-space: nowrap;
}

[data-ds="eos"] .pt-import-sheet {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
}

[data-ds="eos"] .pt-import-sheet-bar {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: var(--fs-sm);
}

[data-ds="eos"] .pt-import-sheet-spacer { flex: 1; }

[data-ds="eos"] .pt-import-header-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 200px;
}

[data-ds="eos"] .pt-import-columns {
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--border);
}

[data-ds="eos"] .pt-import-columns td.samples {
  max-width: 420px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink-2);
}

[data-ds="eos"] .pt-import-columns td.field { width: 190px; }

[data-ds="eos"] .pt-import-columns tr.unused td:not(.field) { color: var(--ink-3); }

[data-ds="eos"] .pt-import-origin {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .pt-import-desc {
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .pt-import-remember {
  align-items: flex-start;
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-import-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-import-rows {
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--border);
}

/* Column names of the price list upload. */
[data-ds="eos"] .pt-colnames-rule {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-colnames {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[data-ds="eos"] .pt-colnames-group .label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .pt-colnames-group .label .hint {
  font-weight: 400;
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .pt-colnames-error {
  display: block;
  margin-top: 4px;
  font-size: var(--fs-xs);
  color: var(--neg);
}

[data-ds="eos"] .pt-colnames-actions {
  display: inline-flex;
  gap: 6px;
}

/* What taking a row over does (EOS-199): totals and old → new price. */
[data-ds="eos"] .pt-import-outcomes {
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-import-change {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-mono);
}

[data-ds="eos"] .pt-import-change .old { color: var(--ink-3); text-decoration: line-through; }
[data-ds="eos"] .pt-import-change .arrow { color: var(--ink-4); }
[data-ds="eos"] .pt-import-change .new { color: var(--ink); font-weight: 600; }

/* The offer table has many fixed columns: below this width it scrolls
   sideways instead of squeezing the description away. */
[data-ds="eos"] .pt-offers-table table.ds-table {
  min-width: 1716px;
}

/* Offers that take no part in the best-offer comparison. */
[data-ds="eos"] .pt-offer-set-aside {
  opacity: 0.55;
}

/* Price history dialog (EOS-54): chart on top, the changes of the period below. */
[data-ds="eos"] .pt-history {
  display: flex;
  flex-direction: column;
  margin: -10px -18px;
}
[data-ds="eos"] .pt-history > .ds-empty {
  min-height: 300px;
}
[data-ds="eos"] .pt-history-chart {
  height: 320px;
  padding: 4px 8px 0;
}
[data-ds="eos"] .pt-history-changes-title {
  padding: 8px 14px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-2);
}
[data-ds="eos"] .pt-history-changes {
  display: flex;
  flex-direction: column;
  height: 260px;
  min-height: 0;
}

[data-ds="eos"] .pt-supplier-offers-header .hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
}

/* ---- Workspace lower: pricing + sourcing ---- */

[data-ds="eos"] .pt-ws-lower {
  display: grid;
  grid-template-columns: 440px 1fr;
  min-height: 0;
  overflow: hidden;
}

[data-ds="eos"] .pt-pricing-pane,
[data-ds="eos"] .pt-sourcing-pane {
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .pt-pricing-pane {
  border-right: 1px solid var(--border);
  background: var(--surface);
}

[data-ds="eos"] .pt-sourcing-pane { background: var(--surface); }

/* ---- Channel editor rows ---- */

[data-ds="eos"] .pt-channel {
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  gap: 14px;
  align-items: center;
}

[data-ds="eos"] .pt-channel.dirty { background: oklch(0.98 0.02 70); }

[data-ds="eos"] .pt-channel .chname {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 6px;
}

[data-ds="eos"] .pt-channel .chdesc {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  margin-top: 1px;
}

[data-ds="eos"] .pt-channel .margin-slider {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}

[data-ds="eos"] .pt-channel .margin-slider input[type=range] {
  flex: 1;
  height: 14px;
  accent-color: var(--accent);
}

[data-ds="eos"] .pt-channel .margin-slider .val {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
  min-width: 46px;
  text-align: right;
}

/* ---- Price input ---- */

[data-ds="eos"] .pt-price-input {
  display: flex;
  align-items: center;
  border: 1px solid var(--border-strong);
  border-radius: 2px;
  background: var(--surface);
  overflow: hidden;
  width: 140px;
  height: 28px;
}

[data-ds="eos"] .pt-price-input:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-soft);
}

[data-ds="eos"] .pt-price-input input {
  flex: 1;
  border: none;
  outline: none;
  padding: 0 6px;
  font-family: var(--font-mono);
  font-size: var(--fs-md);
  text-align: right;
  min-width: 0;
  background: transparent;
  color: var(--ink);
}

[data-ds="eos"] .pt-price-input .pre {
  color: var(--ink-3);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  padding: 0 4px 0 8px;
}

/* ---- Save bar ---- */

[data-ds="eos"] .pt-save-bar {
  padding: 0 14px;
  min-height: 47px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface-2);
  flex-shrink: 0;
}

[data-ds="eos"] .pt-save-bar .changes {
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-save-bar .transfer-summary {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
  margin-right: 4px;
}

[data-ds="eos"] .pt-save-bar .changes b { color: var(--ink); }

[data-ds="eos"] .pt-save-bar .actions {
  display: flex;
  gap: 6px;
}

/* ---- Sourcing best row ---- */

[data-ds="eos"] .pt-sourcing-pane table.ds-table tbody tr.best td {
  background: oklch(0.98 0.04 150);
}

[data-ds="eos"] .pt-sourcing-pane table.ds-table tbody tr.best td:first-child {
  box-shadow: inset 2px 0 0 var(--pos);
}

/* ========== Right rail ========== */

[data-ds="eos"] .pt-rail {
  background: var(--surface-2);
  border-left: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

[data-ds="eos"] .pt-rail-section {
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  min-height: 0;
}

[data-ds="eos"] .pt-rail-section.flex { flex: 1; overflow: hidden; }

[data-ds="eos"] .pt-rail-header {
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds="eos"] .pt-rail-header h3 {
  margin: 0;
  font-size: var(--fs-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 4px;
}

[data-ds="eos"] .pt-rail-chevron {
  font-size: 9px;
  color: var(--ink-4);
  width: 10px;
  text-align: center;
}

[data-ds="eos"] .pt-rail-header .cnt {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
  background: var(--surface-3);
  padding: 0 5px;
  border-radius: 2px;
}

[data-ds="eos"] .pt-rail-body {
  overflow: auto;
  flex: 1;
  min-height: 0;
}

[data-ds="eos"] .pt-anomaly-item {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

[data-ds="eos"] .pt-anomaly-item:hover { background: var(--surface-3); }

[data-ds="eos"] .pt-anomaly-item .a-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

[data-ds="eos"] .pt-anomaly-item .a-id {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-anomaly-item .a-name {
  font-size: var(--fs-sm);
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .pt-anomaly-item .a-reason {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: baseline;
}

[data-ds="eos"] .pt-anomaly-item .a-reason .a-supplier {
  color: var(--ink-2);
  font-weight: 500;
}

[data-ds="eos"] .pt-anomaly-item .a-reason .a-feed {
  color: var(--ink-3);
}

[data-ds="eos"] .pt-anomaly-item .a-reason .a-price {
  font-family: var(--font-mono);
  color: var(--ink-2);
}

[data-ds="eos"] .pt-anomaly-item .a-reason .a-vs {
  color: var(--ink-4);
  margin-left: 6px;
}

[data-ds="eos"] .pt-anomaly-item .a-reason .a-sep {
  color: var(--ink-4);
}

[data-ds="eos"] .pt-rail-sub {
  font-weight: 400;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  margin-left: 6px;
}

/* Basket */

[data-ds="eos"] .pt-basket-item {
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-xs);
  border-bottom: 1px solid var(--border);
}

[data-ds="eos"] .pt-basket-item .b-id {
  font-family: var(--font-mono);
  color: var(--ink-2);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .pt-basket-item .x {
  color: var(--ink-3);
  cursor: pointer;
  padding: 0 4px;
}

[data-ds="eos"] .pt-basket-item .x:hover { color: var(--neg); }

[data-ds="eos"] .pt-basket-empty,
[data-ds="eos"] .pt-anomaly-empty {
  padding: 16px 12px;
  text-align: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
  font-style: italic;
}

/* ========== Review modal diff rows ========== */

[data-ds="eos"] .pt-diff-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}

[data-ds="eos"] .pt-diff-row .channel-name {
  font-weight: 600;
  font-size: var(--fs-md);
}

[data-ds="eos"] .pt-diff-row .channel-sub {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  margin-top: 2px;
}

[data-ds="eos"] .pt-diff-row .values {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
}

[data-ds="eos"] .pt-diff-row .old { color: var(--ink-3); text-decoration: line-through; }
[data-ds="eos"] .pt-diff-row .arrow { color: var(--ink-4); }
[data-ds="eos"] .pt-diff-row .new { color: var(--ink); font-weight: 600; }

/* ========== Toast ========== */

[data-ds="eos"] .pt-toast {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: oklch(0.22 0.015 245);
  color: #fff;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: var(--fs-sm);
  box-shadow: 0 8px 28px rgba(0,0,0,0.2);
  z-index: 300;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
}

[data-ds="eos"] .pt-toast .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pos);
}

/* ========== Table wrapper ========== */

[data-ds="eos"] .pt-tbl-wrap {
  flex: 1;
  overflow: auto;
  min-height: 0;
  position: relative;
}

/* "Bester Lieferant" column (EOS-55): supplier left, net price right. */
[data-ds="eos"] .best-offer-cell {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}
[data-ds="eos"] .best-offer-cell .supplier {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-ds="eos"] .best-offer-cell .price {
  font-family: var(--font-mono);
  flex-shrink: 0;
}

/* A table cell value that opens a small editor (e.g. Versand, EOS-56). */
[data-ds="eos"] .pt-cell-button {
  all: unset;
  cursor: pointer;
  display: block;
  width: 100%;
  text-align: inherit;
  border-bottom: 1px dashed var(--border-strong, var(--border));
}
[data-ds="eos"] .pt-cell-button:hover {
  background: var(--surface-2);
}
[data-ds="eos"] .pt-cell-button:focus-visible {
  outline: 1px solid var(--accent);
}
/* EOS Business Partners — Master-detail CRM layout
   Scoped under [data-ds="eos"] to avoid leaking. */

/* ========== Main layout ========== */

[data-ds="eos"] .bp-main {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--surface);
}

[data-ds="eos"] .bp-split {
  flex: 1;
  min-height: 0;
}

/* ========== Command bar ========== */

[data-ds="eos"] .bp-command-bar {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .bp-cmd-search {
  flex: 1;
  min-width: 160px;
  max-width: 360px;
}

[data-ds="eos"] .bp-cmd-salesperson {
  width: 240px;
  flex-shrink: 0;
}

[data-ds="eos"] .bp-cmd-count {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  flex-shrink: 0;
}

[data-ds="eos"] .bp-cmd-count b {
  color: var(--ink-2);
  font-weight: 600;
}

/* ========== Master panel ========== */

[data-ds="eos"] .bp-master-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* Open-orders indicator: amber left inset on rows with open orders */
[data-ds="eos"] .bp-row-has-open td:first-child {
  box-shadow: inset 3px 0 0 var(--warn);
}

/* ========== Type badges in master table ========== */

[data-ds="eos"] .bp-type-badge {
  font-size: 10px;
  font-family: var(--font-mono);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 1px 4px;
  border-radius: 2px;
}

[data-ds="eos"] .bp-type-badge.customer {
  background: oklch(0.95 0.04 250);
  color: oklch(0.42 0.1 250);
}

[data-ds="eos"] .bp-type-badge.supplier {
  background: oklch(0.95 0.05 150);
  color: oklch(0.38 0.11 150);
}

[data-ds="eos"] .bp-type-badge.lead {
  background: var(--surface-3);
  color: var(--ink-3);
}

/* ========== Resize handle ========== */

[data-ds="eos"] .bp-resize-handle {
  width: 1px;
  background: var(--border);
  transition: background 80ms;
}

[data-ds="eos"] .bp-resize-handle[data-resize-handle-state="hover"],
[data-ds="eos"] .bp-resize-handle[data-resize-handle-state="drag"] {
  background: var(--accent);
}

/* ========== Detail panel wrapper ========== */

[data-ds="eos"] .bp-detail-wrap {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* ========== Detail panel ========== */

[data-ds="eos"] .bp-detail-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
  background: var(--surface);
  overflow: hidden;
}

/* ---- Header strip ---- */

[data-ds="eos"] .bp-detail-header {
  padding: 10px 16px 8px;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--surface);
  flex-shrink: 0;
}

[data-ds="eos"] .bp-detail-title-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

[data-ds="eos"] .bp-detail-id {
  font-family: var(--font-mono);
  font-size: var(--fs-md);
  color: var(--ink-2);
  background: var(--surface-3);
  padding: 2px 6px;
  border-radius: 2px;
  font-weight: 500;
}

[data-ds="eos"] .bp-detail-name {
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .bp-detail-type {
  font-size: var(--fs-xs);
  font-family: var(--font-mono);
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  flex-shrink: 0;
}

[data-ds="eos"] .bp-detail-favicon {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  vertical-align: middle;
  margin-left: 4px;
}

/* ---- Quick links ---- */

[data-ds="eos"] .bp-detail-links {
  display: flex;
  gap: 12px;
  padding-top: 2px;
}

[data-ds="eos"] .bp-quick-link {
  font-size: var(--fs-xs);
  font-family: var(--font-mono);
  color: var(--accent-ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

[data-ds="eos"] .bp-quick-link:hover {
  text-decoration: underline;
}

/* ---- Metric strip ---- */

[data-ds="eos"] .bp-metrics {
  display: flex;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
  flex-shrink: 0;
  flex-wrap: wrap;
}

[data-ds="eos"] .bp-metric {
  padding: 6px 14px;
  border-right: 1px solid var(--border);
  min-width: 0;
  flex-shrink: 0;
}

[data-ds="eos"] .bp-metric:last-child {
  border-right: none;
}

[data-ds="eos"] .bp-metric .label {
  font-size: 10px;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  white-space: nowrap;
}

[data-ds="eos"] .bp-metric .value {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
  margin-top: 1px;
}

[data-ds="eos"] .bp-metric .value.muted {
  color: var(--ink-3);
  font-weight: 400;
}

[data-ds="eos"] .bp-metric .value.warn {
  color: var(--warn);
}

[data-ds="eos"] .bp-metric .value.neg {
  color: var(--neg);
}

[data-ds="eos"] .bp-metric .value.pos {
  color: var(--pos);
}

[data-ds="eos"] .bp-metric.highlight {
  background: oklch(0.98 0.015 252);
  border-left: 2px solid var(--accent);
  padding-left: 12px;
}

/* ---- Tab bar ---- */

[data-ds="eos"] .bp-tabs {
  display: flex;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  flex-shrink: 0;
  padding: 0 16px;
  gap: 0;
}

[data-ds="eos"] .bp-tab {
  padding: 7px 14px;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink-3);
  cursor: pointer;
  border: none;
  background: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-ui);
}

[data-ds="eos"] .bp-tab:hover {
  color: var(--ink);
}

[data-ds="eos"] .bp-tab.active {
  color: var(--accent-ink);
  border-bottom-color: var(--accent);
  font-weight: 600;
}

[data-ds="eos"] .bp-tab .tab-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  background: var(--surface-3);
  padding: 0 5px;
  border-radius: 2px;
}

[data-ds="eos"] .bp-tab.active .tab-count {
  background: var(--accent-soft);
  color: var(--accent-ink);
}

/* ---- Tab content ---- */

[data-ds="eos"] .bp-tab-content {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

/* ========== Overview tab ========== */

[data-ds="eos"] .bp-overview {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

/* ---- Overview sections ---- */

[data-ds="eos"] .bp-ov-section {
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
}

[data-ds="eos"] .bp-ov-section-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

[data-ds="eos"] .bp-ov-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  background: var(--surface-3);
  padding: 0 4px;
  border-radius: 2px;
  letter-spacing: 0;
  text-transform: none;
}

/* ---- Address cards ---- */

[data-ds="eos"] .bp-ov-addr-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

[data-ds="eos"] .bp-addr-card {
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds="eos"] .bp-addr-card:last-child {
  border-bottom: none;
}

[data-ds="eos"] .bp-addr-card .addr-type {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 2px;
  width: fit-content;
}

[data-ds="eos"] .bp-addr-card .addr-type.ship {
  background: oklch(0.95 0.04 250);
  color: oklch(0.42 0.1 250);
}

[data-ds="eos"] .bp-addr-card .addr-type.bill {
  background: oklch(0.95 0.05 310);
  color: oklch(0.42 0.1 310);
}

[data-ds="eos"] .bp-addr-card .addr-name {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .bp-addr-card .addr-line {
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

[data-ds="eos"] .bp-addr-card .addr-maps {
  font-size: var(--fs-xs);
  color: var(--accent-ink);
  cursor: pointer;
  font-family: var(--font-mono);
  margin-top: 2px;
}

[data-ds="eos"] .bp-addr-card .addr-maps:hover {
  text-decoration: underline;
}

[data-ds="eos"] .bp-addr-card .addr-default {
  font-size: 9px;
  font-family: var(--font-mono);
  color: var(--accent-ink);
  background: var(--accent-soft);
  padding: 0 4px;
  border-radius: 2px;
  width: fit-content;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}

/* ========== Orders tab ========== */

[data-ds="eos"] .bp-orders-toolbar {
  padding: 8px 14px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .bp-orders-toolbar .bp-orders-search {
  flex: 1;
  max-width: 300px;
}

[data-ds="eos"] .bp-orders-pager {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-xs);
  font-family: var(--font-mono);
  color: var(--ink-2);
  margin-left: auto;
}

[data-ds="eos"] .bp-orders-pager button {
  width: 24px;
  height: 24px;
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: var(--ink-2);
}

[data-ds="eos"] .bp-orders-pager button:hover {
  border-color: var(--accent);
  color: var(--accent-ink);
}

[data-ds="eos"] .bp-orders-pager button:disabled {
  opacity: 0.3;
  cursor: default;
}

/* ---- Status pills ---- */

[data-ds="eos"] .bp-status {
  font-size: 10px;
  font-family: var(--font-mono);
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .bp-status.open {
  background: var(--pos-soft);
  color: oklch(0.38 0.11 150);
}

[data-ds="eos"] .bp-status.closed {
  background: var(--surface-3);
  color: var(--ink-3);
}

/* ========== Back button ========== */

[data-ds="eos"] .bp-cmd-back {
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  padding: 3px 10px;
  font-size: var(--fs-sm);
  color: var(--ink-2);
  cursor: pointer;
  font-family: var(--font-ui);
  flex-shrink: 0;
}

[data-ds="eos"] .bp-cmd-back:hover {
  border-color: var(--accent);
  color: var(--accent-ink);
}

/* ========== Detail overlay (order / contact drill-down) ========== */

[data-ds="eos"] .bp-tab-host {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

[data-ds="eos"] .bp-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

[data-ds="eos"] .bp-overlay-bar {
  padding: 8px 14px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .bp-overlay-bar .bp-overlay-title {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .bp-overlay-bar .bp-overlay-sub {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .bp-overlay-body {
  flex: 1;
  overflow: auto;
  padding: 12px 14px;
}

[data-ds="eos"] .bp-overlay-section {
  margin-bottom: 14px;
}

[data-ds="eos"] .bp-overlay-section-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
  margin-bottom: 6px;
}

[data-ds="eos"] .bp-overlay-section pre {
  margin: 0;
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  color: var(--ink-2);
  white-space: pre-wrap;
  line-height: 1.5;
}

/* ========== Geschäftspartner tab (browser) ========== */

[data-ds="eos"] .bp-browser {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* ========== Verteiler tab — master/detail ========== */

[data-ds="eos"] .vt-browser {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* ---- Detail panel ---- */

[data-ds="eos"] .vt-detail {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  background: var(--surface);
  overflow: hidden;
}

[data-ds="eos"] .vt-detail-header {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .vt-detail-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

[data-ds="eos"] .vt-detail-name {
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .vt-detail-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--accent-ink);
  background: var(--accent-soft);
  padding: 0 6px;
  border-radius: 2px;
  white-space: nowrap;
  flex-shrink: 0;
}

[data-ds="eos"] .vt-detail-actions {
  margin-left: auto;
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

[data-ds="eos"] .vt-detail-desc {
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

/* ---- Detail toolbar (members / add mode) ---- */

[data-ds="eos"] .vt-detail-toolbar {
  padding: 8px 14px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .vt-detail-search {
  flex: 1;
  min-width: 160px;
  max-width: 340px;
}

[data-ds="eos"] .vt-toolbar-end {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

[data-ds="eos"] .vt-add-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

/* ----- Import modal ----- */
[data-ds="eos"] .vt-import-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

[data-ds="eos"] .vt-import-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[data-ds="eos"] .vt-import-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--fg-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .vt-import-hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .vt-import-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-sm);
  color: var(--ink-2);
  cursor: pointer;
  user-select: none;
  padding-top: 2px;
}

[data-ds="eos"] .vt-import-check input {
  margin: 0;
  cursor: pointer;
  accent-color: var(--accent);
}

/* ---- Detail body (table host) ---- */

[data-ds="eos"] .vt-detail-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ---- Member / directory table bits ---- */

[data-ds="eos"] .vt-row-member {
  background: var(--surface-2);
  color: var(--ink-3);
}

[data-ds="eos"] .vt-add-tag {
  color: var(--pos);
  font-weight: 700;
}

[data-ds="eos"] .vt-remove-btn {
  border: 1px solid var(--border-strong);
  background: var(--surface);
  border-radius: 2px;
  padding: 1px 8px;
  font-size: var(--fs-xs);
  color: var(--ink-2);
  cursor: pointer;
  font-family: var(--font-ui);
}

[data-ds="eos"] .vt-remove-btn:hover:not(:disabled) {
  border-color: var(--neg);
  color: var(--neg);
}

[data-ds="eos"] .vt-remove-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

/* ---- Verteiler editor form ---- */

[data-ds="eos"] .vt-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[data-ds="eos"] .vt-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds="eos"] .vt-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
}

[data-ds="eos"] .vt-kind-chip {
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 2px;
  background: var(--surface-2);
  color: var(--ink-2);
  border: 1px solid var(--border);
  white-space: nowrap;
  flex-shrink: 0;
}

[data-ds="eos"] .vt-kind-chip[data-kind='customer'] {
  background: var(--accent-soft);
  color: var(--accent-ink);
  border-color: transparent;
}

[data-ds="eos"] .vt-kind-chip[data-kind='supplier'] {
  background: color-mix(in oklch, var(--warn) 18%, transparent);
  color: var(--warn);
  border-color: transparent;
}

/* ========== Empty state ========== */

[data-ds="eos"] .bp-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
  padding: 40px;
  text-align: center;
}

[data-ds="eos"] .bp-empty .big {
  font-size: 15px;
  font-weight: 600;
  color: var(--ink-2);
  margin-bottom: 4px;
}
/* Shared searchable picker for SAP sales persons.
   Used by the admin user-access editor and the business-partners list filter. */

[data-ds="eos"] .sp-picker {
  position: relative;
}

[data-ds="eos"] .sp-picker-input {
  position: relative;
  display: flex;
  align-items: center;
}

[data-ds="eos"] .sp-picker-input .ds-input {
  width: 100%;
  padding-right: 26px;
}

[data-ds="eos"] .sp-picker-clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  color: var(--ink-3);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 2px 4px;
}

[data-ds="eos"] .sp-picker-clear:hover {
  color: var(--neg);
}

[data-ds="eos"] .sp-picker-popover {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 20;
  max-height: 280px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 3px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

[data-ds="eos"] .sp-picker-empty {
  padding: 10px 12px;
  color: var(--ink-3);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .sp-picker-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-ds="eos"] .sp-picker-item {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 7px 12px;
  cursor: pointer;
  gap: 1px;
}

[data-ds="eos"] .sp-picker-item:hover,
[data-ds="eos"] .sp-picker-item:focus-visible {
  background: var(--surface-2);
  outline: none;
}

[data-ds="eos"] .sp-picker-item.is-selected {
  background: var(--surface-3);
}

[data-ds="eos"] .sp-picker-name {
  font-size: var(--fs-sm);
  color: var(--ink);
  font-weight: 500;
}

[data-ds="eos"] .sp-picker-meta {
  display: flex;
  gap: 8px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  flex-wrap: wrap;
}

[data-ds="eos"] .sp-picker-code {
  font-family: var(--font-mono);
}

[data-ds="eos"] .sp-picker-email {
  font-family: var(--font-mono);
}

[data-ds="eos"] .sp-picker-overflow {
  padding: 8px 12px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  border-top: 1px solid var(--border);
}
/* EOS Admin — Card-based layout with contained content
   Scoped under [data-ds="eos"] to avoid leaking. */

/* ========== Main layout ========== */

[data-ds="eos"] .admin-main {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--surface);
}

/* Layout primitive lives in `shared/contained-page.css` (.cp-frame /
   .cp-toolbar / .cp-toolbar-inner / .cp-body[.contained]). */

/* ========== Card grid ========== */

[data-ds="eos"] .admin-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 3px;
  overflow: hidden;
}

/* ========== Action card ========== */

[data-ds="eos"] .admin-card {
  padding: 14px 16px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[data-ds="eos"] .admin-card:nth-child(2n) {
  border-right: none;
}

[data-ds="eos"] .admin-card:nth-last-child(-n+2) {
  border-bottom: none;
}

[data-ds="eos"] .admin-card:last-child:nth-child(odd) {
  border-bottom: none;
  grid-column: span 2;
}

[data-ds="eos"] .admin-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

[data-ds="eos"] .admin-card-title {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .admin-card-badge {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  background: var(--surface-3);
  padding: 1px 6px;
  border-radius: 2px;
  font-weight: 500;
  flex-shrink: 0;
}

[data-ds="eos"] .admin-card-desc {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  line-height: 1.5;
}

[data-ds="eos"] .admin-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
}

/* ---- Status indicator ---- */

[data-ds="eos"] .admin-status {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .admin-status .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ink-4);
  flex-shrink: 0;
}

[data-ds="eos"] .admin-status.running .dot {
  background: var(--accent);
  animation: admin-pulse 1s ease-in-out infinite;
}

[data-ds="eos"] .admin-status.success .dot {
  background: var(--pos);
}

[data-ds="eos"] .admin-status.error .dot {
  background: var(--neg);
}

[data-ds="eos"] .admin-status .label {
  font-weight: 500;
}

[data-ds="eos"] .admin-status.running .label { color: var(--accent-ink); }
[data-ds="eos"] .admin-status.success .label { color: var(--pos); }
[data-ds="eos"] .admin-status.error .label { color: var(--neg); }

@keyframes admin-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* ---- Result chips ---- */

[data-ds="eos"] .admin-results {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}

/* ---- Last run info ---- */

[data-ds="eos"] .admin-last-run {
  font-size: var(--fs-xs);
  color: var(--ink-4);
  margin-top: 2px;
}

/* ---- Error box ---- */

[data-ds="eos"] .admin-error-box {
  margin-top: 4px;
  padding: 6px 8px;
  background: var(--neg-soft);
  border-radius: 2px;
  font-size: var(--fs-xs);
  font-family: var(--font-mono);
  color: var(--neg);
  word-break: break-word;
}

/* ---- Progress bar ---- */

[data-ds="eos"] .admin-progress {
  height: 2px;
  background: var(--border);
  border-radius: 1px;
  overflow: hidden;
  width: 100%;
}

[data-ds="eos"] .admin-progress-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 1px;
  transition: width 300ms ease;
}

[data-ds="eos"] .admin-progress.running .admin-progress-fill {
  background: var(--accent);
  animation: admin-indeterminate 1.5s ease-in-out infinite;
  width: 30% !important;
}

@keyframes admin-indeterminate {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(430%); }
}

/* ========== Form elements in cards ========== */

[data-ds="eos"] .admin-card-form {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

[data-ds="eos"] .admin-card-form label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--fs-xs);
  color: var(--ink-2);
  cursor: pointer;
}

[data-ds="eos"] .admin-card-form label input[type="checkbox"] {
  accent-color: var(--accent);
}

[data-ds="eos"] .admin-card-form .admin-number-input {
  width: 90px;
}

/* ========== Stats display ========== */

[data-ds="eos"] .admin-stats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

[data-ds="eos"] .admin-stat {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

[data-ds="eos"] .admin-stat .num {
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .admin-stat .lbl {
  color: var(--ink-3);
}

/* ========== Section label ========== */

[data-ds="eos"] .admin-section-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
  padding: 10px 16px 6px;
}

/* ========== Supplier feed detail header ========== */

[data-ds="eos"] .spl-detail-bar {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .spl-detail-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

[data-ds="eos"] .spl-detail-header {
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

[data-ds="eos"] .spl-detail-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
}

/* ---- Field mapping block ---- */

[data-ds="eos"] .spl-field-mapping {
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 3px;
  margin-top: 12px;
}

/* ---- Runs: offers a run did not contain (EOS-184) ---- */

[data-ds="eos"] .spl-run-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

[data-ds="eos"] .spl-run-check .ds-btn {
  flex-shrink: 0;
}

/* `span.` outranks `.ds-flag`'s inline-flex, which would stop the ellipsis. */
[data-ds="eos"] span.spl-run-check-text {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--fs-xs);
}

[data-ds="eos"] .spl-incomplete-hint {
  margin-bottom: 12px;
}

[data-ds="eos"] .spl-incomplete-hint .ds-btn {
  margin-left: auto;
  flex-shrink: 0;
}

/* ========== Empty state ========== */

[data-ds="eos"] .admin-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
  padding: 40px;
  text-align: center;
}

[data-ds="eos"] .admin-empty .big {
  font-size: 15px;
  font-weight: 600;
  color: var(--ink-2);
  margin-bottom: 4px;
}
/* Shared searchable picker for `manufacturers`.
   Mirrors sales-person-picker.css — pattern-equivalent, separate class
   prefix so the two can coexist on a page. */

[data-ds="eos"] .mfr-picker {
  position: relative;
}

[data-ds="eos"] .mfr-picker-input {
  position: relative;
  display: flex;
  align-items: center;
}

[data-ds="eos"] .mfr-picker-input .ds-input {
  width: 100%;
  padding-right: 26px;
}

[data-ds="eos"] .mfr-picker-clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  color: var(--ink-3);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 2px 4px;
}

[data-ds="eos"] .mfr-picker-clear:hover {
  color: var(--neg);
}

[data-ds="eos"] .mfr-picker-popover {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 20;
  max-height: 280px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 3px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

[data-ds="eos"] .mfr-picker-empty {
  padding: 10px 12px;
  color: var(--ink-3);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .mfr-picker-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-ds="eos"] .mfr-picker-item {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 7px 12px;
  cursor: pointer;
  gap: 1px;
}

[data-ds="eos"] .mfr-picker-item:hover,
[data-ds="eos"] .mfr-picker-item:focus-visible {
  background: var(--surface-2);
  outline: none;
}

[data-ds="eos"] .mfr-picker-item.is-selected {
  background: var(--surface-3);
}

[data-ds="eos"] .mfr-picker-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

[data-ds="eos"] .mfr-picker-name {
  font-size: var(--fs-sm);
  color: var(--ink);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .mfr-picker-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  flex-shrink: 0;
}

[data-ds="eos"] .mfr-picker-meta {
  display: flex;
  gap: 8px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  flex-wrap: wrap;
}

[data-ds="eos"] .mfr-picker-code {
  font-family: var(--font-mono);
}

[data-ds="eos"] .mfr-picker-overflow {
  padding: 8px 12px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  border-top: 1px solid var(--border);
}
/* Specifications review queue
   Density-first list view with grouped sections, rich sample-item context,
   multi-select and a sticky bulk action bar. */

[data-ds="eos"] .sp-page {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* ── Toolbar ─────────────────────────────────────────────────────── */

[data-ds="eos"] .sp-toolbar {
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  flex-shrink: 0;
}

[data-ds="eos"] .sp-toolbar-inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

[data-ds="eos"] .sp-toolbar .sp-filter-mfr {
  min-width: 240px;
}

[data-ds="eos"] .sp-toolbar .sp-filter-search {
  width: 220px;
}

[data-ds="eos"] .sp-toolbar .sp-filter-min {
  width: 96px;
}

[data-ds="eos"] .sp-toolbar-spacer {
  flex: 1 1 auto;
}

[data-ds="eos"] .sp-label {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
}

/* ── Extraction status pill ─────────────────────────────────────── */

[data-ds="eos"] .sp-extraction {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-xs);
  color: var(--ink-2);
  background: var(--accent-soft);
  border: 1px solid var(--border);
  padding: 3px 8px;
  border-radius: 3px;
}

[data-ds="eos"] .sp-extraction .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  animation: sp-pulse 1.2s ease-in-out infinite;
}

@keyframes sp-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

[data-ds="eos"] .sp-extraction-num {
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--accent-ink);
}

/* ── Tab strip wrapper (so tabnav spans full width but with inner cap) ── */

[data-ds="eos"] .sp-tabs {
  flex-shrink: 0;
}

/* ── Body ───────────────────────────────────────────────────────── */

[data-ds="eos"] .sp-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  background: var(--surface-2);
}

[data-ds="eos"] .sp-body-inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 12px 20px 60px;
}

/* ── Section (manufacturer group, or attribute group) ───────────── */

[data-ds="eos"] .sp-section {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 3px;
  margin-bottom: 10px;
  overflow: hidden;
}

[data-ds="eos"] .sp-section-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: var(--surface-3);
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .sp-section-title {
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .sp-section-meta {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
}

[data-ds="eos"] .sp-section-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ── Row ────────────────────────────────────────────────────────── */

[data-ds="eos"] .sp-row {
  display: grid;
  grid-template-columns: 26px 1fr auto;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  align-items: start;
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds="eos"] .sp-row:last-child {
  border-bottom: none;
}

[data-ds="eos"] .sp-row.is-child {
  background: var(--surface-2);
  padding-left: 36px;
  grid-template-columns: 26px 1fr auto;
}

[data-ds="eos"] .sp-row.is-selected {
  background: var(--accent-soft);
}

[data-ds="eos"] .sp-row-check {
  padding-top: 2px;
}

[data-ds="eos"] .sp-row-check input[type="checkbox"] {
  cursor: pointer;
  accent-color: var(--accent);
}

[data-ds="eos"] .sp-row-check input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-ds="eos"] .sp-row-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

[data-ds="eos"] .sp-row-title {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

[data-ds="eos"] .sp-crumb {
  color: var(--ink-3);
  font-size: var(--fs-xs);
}

[data-ds="eos"] .sp-name {
  color: var(--ink);
  font-weight: 600;
  font-size: var(--fs-md);
  word-break: break-word;
}

[data-ds="eos"] .sp-attr {
  color: var(--ink-3);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .sp-conflict {
  font-size: var(--fs-xs);
  color: var(--warn);
  background: var(--warn-soft);
  padding: 1px 6px;
  border-radius: 2px;
  font-family: var(--font-mono);
}

/* Item-count badge — colour escalates with size */

[data-ds="eos"] .sp-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  padding: 1px 6px;
  border-radius: 2px;
  background: var(--surface-3);
  color: var(--ink-2);
  border: 1px solid var(--border);
  white-space: nowrap;
}

[data-ds="eos"] .sp-count.med {
  background: var(--warn-soft);
  border-color: var(--warn-soft);
  color: var(--warn);
}

[data-ds="eos"] .sp-count.high {
  background: var(--neg-soft);
  border-color: var(--neg-soft);
  color: var(--neg);
}

/* ── Samples ─────────────────────────────────────────────────────── */

[data-ds="eos"] .sp-samples {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  line-height: 1.5;
  min-width: 0;
}

[data-ds="eos"] .sp-samples-list {
  display: inline;
}

[data-ds="eos"] .sp-samples-more {
  background: none;
  border: none;
  color: var(--accent-ink);
  font-size: var(--fs-xs);
  cursor: pointer;
  padding: 0 0 0 4px;
  font-family: inherit;
}

[data-ds="eos"] .sp-samples-more:hover {
  text-decoration: underline;
}

[data-ds="eos"] .sp-samples-expanded {
  margin-top: 6px;
  padding: 8px 10px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

[data-ds="eos"] .sp-samples-expanded .item {
  font-size: var(--fs-xs);
  color: var(--ink-2);
  font-family: var(--font-mono);
}

[data-ds="eos"] .sp-samples-expanded .item code {
  color: var(--ink-4);
  font-size: 10px;
  margin-right: 6px;
}

/* ── Row actions ─────────────────────────────────────────────────── */

[data-ds="eos"] .sp-row-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

/* ── Empty / loading states ──────────────────────────────────────── */

[data-ds="eos"] .sp-empty {
  background: var(--surface);
  border: 1px dashed var(--border);
  border-radius: 3px;
  padding: 40px 20px;
  text-align: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .sp-empty .big {
  font-size: 14px;
  color: var(--ink-2);
  font-weight: 600;
  margin-bottom: 6px;
}

/* ── Sticky bulk action bar ──────────────────────────────────────── */

[data-ds="eos"] .sp-bulkbar {
  position: sticky;
  bottom: 0;
  z-index: 4;
  background: var(--surface);
  border-top: 1px solid var(--border-strong);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.10);
  flex-shrink: 0;
}

[data-ds="eos"] .sp-bulkbar-inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

[data-ds="eos"] .sp-bulkbar-count {
  font-weight: 600;
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds="eos"] .sp-bulkbar-breakdown {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
}

[data-ds="eos"] .sp-bulkbar-spacer {
  flex: 1;
}

/* ── Merge preview (used inside merge-modal) ─────────────────────── */

[data-ds="eos"] .sp-merge-preview {
  background: var(--surface-2);
  border: 1px solid var(--border);
  padding: 10px;
  border-radius: 2px;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  line-height: 1.5;
  white-space: pre-wrap;
  color: var(--ink-2);
  max-height: 200px;
  overflow: auto;
}

/* ── Imports tab ─────────────────────────────────────────────────── */

[data-ds="eos"] .sp-imports {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1100px;
}

[data-ds="eos"] .sp-imports-card {
  background: var(--surface);
  border: 1px solid var(--border);
  padding: 16px 18px;
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

[data-ds="eos"] .sp-imports-title {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink-1);
  margin: 0;
}

[data-ds="eos"] .sp-imports-help {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  line-height: 1.5;
  margin: 0;
}

[data-ds="eos"] .sp-imports-row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  flex-wrap: wrap;
}

[data-ds="eos"] .sp-imports-actions {
  align-items: center;
}

[data-ds="eos"] .sp-imports-spacer {
  flex: 1 1 auto;
}

[data-ds="eos"] .sp-imports-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 200px;
}

[data-ds="eos"] .sp-imports-field-grow {
  flex: 1 1 320px;
}

[data-ds="eos"] .sp-imports-label {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
}

[data-ds="eos"] .sp-imports-select {
  height: 28px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--ink-1);
  font-size: var(--fs-sm);
  padding: 0 8px;
  border-radius: 2px;
}

[data-ds="eos"] .sp-imports-file {
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

[data-ds="eos"] .sp-imports-fileinfo {
  display: flex;
  gap: 10px;
  font-size: var(--fs-xs);
  color: var(--ink-2);
  align-items: baseline;
}

[data-ds="eos"] .sp-imports-fieldset {
  flex: 1 1 320px;
  border: 1px solid var(--border);
  padding: 8px 12px 10px;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

[data-ds="eos"] .sp-imports-fieldset legend {
  padding: 0 4px;
}

[data-ds="eos"] .sp-imports-radio {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: var(--fs-sm);
  color: var(--ink-1);
  cursor: pointer;
}

[data-ds="eos"] .sp-imports-radio input {
  margin-top: 3px;
}

[data-ds="eos"] .sp-imports-radio-label {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

[data-ds="eos"] .sp-imports-radio-label .sp-imports-muted {
  font-size: var(--fs-xs);
}

[data-ds="eos"] .sp-imports-toggle {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: var(--fs-sm);
  color: var(--ink-2);
  cursor: pointer;
}

[data-ds="eos"] .sp-imports-muted {
  color: var(--ink-3);
  font-size: var(--fs-xs);
}

[data-ds="eos"] .sp-imports-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

[data-ds="eos"] .sp-imports-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 2px;
}

[data-ds="eos"] .sp-imports-stat-muted {
  opacity: 0.7;
}

[data-ds="eos"] .sp-imports-stat-label {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

[data-ds="eos"] .sp-imports-stat-value {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--ink-1);
  font-variant-numeric: tabular-nums;
}

[data-ds="eos"] .sp-imports-details {
  border-top: 1px dashed var(--border);
  padding-top: 8px;
}

[data-ds="eos"] .sp-imports-details summary {
  font-size: var(--fs-sm);
  color: var(--ink-2);
  cursor: pointer;
  padding: 4px 0;
}

[data-ds="eos"] .sp-imports-reasons {
  margin: 6px 0 0;
  padding-left: 18px;
  font-size: var(--fs-xs);
  color: var(--ink-2);
}

[data-ds="eos"] .sp-imports-table-wrap {
  max-height: 480px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 2px;
  margin-top: 8px;
}

[data-ds="eos"] .sp-imports-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-xs);
}

[data-ds="eos"] .sp-imports-table th,
[data-ds="eos"] .sp-imports-table td {
  padding: 4px 8px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

[data-ds="eos"] .sp-imports-table thead th {
  position: sticky;
  top: 0;
  background: var(--surface-2);
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  font-size: 10px;
}

[data-ds="eos"] .sp-imports-table code {
  font-family: var(--font-mono);
  color: var(--ink-1);
}

[data-ds="eos"] .sp-imports-tag {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 2px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .sp-imports-tag-ok {
  background: var(--accent-soft);
  color: var(--accent);
}

[data-ds="eos"] .sp-imports-tag-skip {
  background: var(--surface-2);
  color: var(--ink-3);
}

[data-ds="eos"] .sp-imports-new {
  display: inline-block;
  margin-left: 4px;
  padding: 0 4px;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: var(--accent-soft);
  color: var(--accent);
  border-radius: 2px;
}

[data-ds="eos"] .sp-imports-table td.sp-imports-num {
  text-align: right;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
/* ContainedPage — full-frame layout primitive with a centered 1200px column.
   Scoped under [data-ds="eos"]. */

[data-ds="eos"] .cp-frame {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

[data-ds="eos"] .cp-toolbar {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  background: var(--surface);
}

[data-ds="eos"] .cp-toolbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

[data-ds="eos"] .cp-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

[data-ds="eos"] .cp-body.contained {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 20px;
  width: 100%;
}

/* `wide` — drop the 1200px cap entirely. Used by dense data tables that
   want every available pixel; the body itself runs flush so the table
   spans the full viewport. */
[data-ds="eos"] .cp-toolbar-inner.wide {
  max-width: none;
}

[data-ds="eos"] .cp-body.wide {
  padding: 0;
  width: 100%;
}
/* EOS Internal v2 — Roles management
   All selectors scoped under [data-ds="eos"] */

/* Page layout uses ContainedPage (`shared/contained-page.css`). */

[data-ds="eos"] .roles-toolbar-content {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

[data-ds="eos"] .roles-title {
  font-size: var(--fs-lg);
  font-weight: 600;
  margin: 0;
  color: var(--ink);
}

[data-ds="eos"] .roles-count {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
  margin-right: auto;
}

[data-ds="eos"] .roles-empty {
  padding: 32px;
  text-align: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .roles-table {
  width: 100%;
}

[data-ds="eos"] .roles-row {
  cursor: pointer;
}

[data-ds="eos"] .roles-row:hover {
  background: var(--surface-2);
}

[data-ds="eos"] .roles-name {
  font-weight: 600;
}

[data-ds="eos"] .roles-system-pill {
  margin-left: 6px;
}

[data-ds="eos"] .roles-desc {
  color: var(--ink-2);
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .roles-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

/* ========== Role editor ========== */

[data-ds="eos"] .role-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[data-ds="eos"] .role-form-error {
  margin: 0;
}

[data-ds="eos"] .role-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

[data-ds="eos"] .role-field-label {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}


[data-ds="eos"] .role-scope {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

[data-ds="eos"] .role-scope-option {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
  padding: 8px 10px;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: var(--surface);
  cursor: pointer;
}

[data-ds="eos"] .role-scope-option strong {
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds="eos"] .role-scope-option span {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .role-scope-option.active {
  border-color: var(--accent);
  background: color-mix(in oklch, var(--accent) 8%, var(--surface));
}

[data-ds="eos"] .role-scope-option:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

[data-ds="eos"] .role-perms {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[data-ds="eos"] .role-perm-group {
  border: 1px solid var(--border);
  border-radius: 3px;
  overflow: hidden;
}

[data-ds="eos"] .role-perm-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink-2);
}

[data-ds="eos"] .role-perm-group-toggle {
  border: none;
  background: transparent;
  color: var(--accent);
  cursor: pointer;
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}

[data-ds="eos"] .role-perm-group-toggle:disabled {
  color: var(--ink-3);
  cursor: not-allowed;
}

[data-ds="eos"] .role-perm-item {
  display: flex;
  gap: 8px;
  padding: 7px 10px;
  cursor: pointer;
  align-items: flex-start;
}

[data-ds="eos"] .role-perm-item + .role-perm-item {
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .role-perm-item input {
  margin-top: 2px;
  cursor: pointer;
}

[data-ds="eos"] .role-perm-text {
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .role-perm-name {
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds="eos"] .role-perm-desc {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}
/* EOS Internal v2 — User management
   All selectors scoped under [data-ds="eos"] */

/* Page layout uses ContainedPage (`shared/contained-page.css`). The toolbar
   slot only needs to lay its own children out — width and the bottom border
   come from `.cp-toolbar*`. */

[data-ds="eos"] .users-toolbar-content {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

[data-ds="eos"] .users-title {
  font-size: var(--fs-lg);
  font-weight: 600;
  margin: 0;
  color: var(--ink);
}

[data-ds="eos"] .users-count {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
  margin-left: auto;
}

[data-ds="eos"] .users-filter-tabs {
  margin-left: 8px;
}

[data-ds="eos"] .users-search {
  width: 220px;
}

[data-ds="eos"] .users-empty {
  padding: 32px;
  text-align: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .users-table {
  width: 100%;
}

[data-ds="eos"] .users-row {
  cursor: pointer;
}

[data-ds="eos"] .users-row:hover {
  background: var(--surface-2);
}

[data-ds="eos"] .users-email {
  font-weight: 600;
  font-family: var(--font-mono);
}

[data-ds="eos"] .users-role-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

[data-ds="eos"] .users-role-chip,
[data-ds="eos"] .user-bp-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 1px 7px;
  border-radius: 3px;
  background: var(--surface-3);
  border: 1px solid var(--border);
  font-size: var(--fs-xs);
  color: var(--ink);
  white-space: nowrap;
}

[data-ds="eos"] .users-muted,
[data-ds="eos"] .user-muted {
  color: var(--ink-3);
  font-size: var(--fs-xs);
}

[data-ds="eos"] .users-actions {
  text-align: right;
}

/* ========== Access editor ========== */

[data-ds="eos"] .user-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[data-ds="eos"] .user-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

[data-ds="eos"] .user-field-label {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .user-roles {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: 3px;
}

[data-ds="eos"] .user-roles .user-muted {
  padding: 8px 10px;
}

[data-ds="eos"] .user-role-item {
  display: flex;
  gap: 8px;
  padding: 7px 10px;
  cursor: pointer;
  align-items: flex-start;
}

[data-ds="eos"] .user-role-item + .user-role-item {
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .user-role-item input {
  margin-top: 2px;
  cursor: pointer;
}

[data-ds="eos"] .user-role-text {
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .user-role-name {
  font-size: var(--fs-sm);
  color: var(--ink);
  font-weight: 500;
}

[data-ds="eos"] .user-role-meta {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .user-bp-add {
  display: flex;
  gap: 6px;
}

[data-ds="eos"] .user-bp-add .ds-input {
  flex: 1;
}

[data-ds="eos"] .user-bp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}

[data-ds="eos"] .user-bp-chip {
  font-family: var(--font-mono);
}

[data-ds="eos"] .user-bp-chip button {
  border: none;
  background: transparent;
  color: var(--ink-3);
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  padding: 0;
}

[data-ds="eos"] .user-bp-chip button:hover {
  color: var(--neg);
}

/* Sales-person picker styles moved to
   `src/modules/internal-v2/shared/sales-person-picker.css` and imported by
   the component directly so it works outside the users page. */
/* EOS Email Builder — page-specific layout and components.
   Scoped under [data-ds="eos"] to avoid leaking. Prefix: eb- */

/* ========== Layout ========== */

[data-ds="eos"] .eb-main {
  height: 100%;
  min-height: 0;
}

[data-ds="eos"] .eb-pane {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

[data-ds="eos"] .eb-resize-handle {
  width: 2px;
  background: var(--border-strong);
  cursor: col-resize;
}

[data-ds="eos"] .eb-resize-handle[data-separator]:hover,
[data-ds="eos"] .eb-resize-handle[data-separator]:active {
  background: var(--accent);
  width: 3px;
}

/* ========== Editor pane ========== */

[data-ds="eos"] .eb-editor {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: var(--surface);
}

[data-ds="eos"] .eb-editor-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds="eos"] .eb-blocks {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--bg);
}

/* Keep each child at its natural height. Without this the flex column
   shrinks the cards to fit the pane, squashing block content behind
   .eb-block-card's overflow:hidden instead of scrolling the list. */
[data-ds="eos"] .eb-blocks > * {
  flex-shrink: 0;
}

[data-ds="eos"] .eb-blocks-empty {
  padding: 24px 12px;
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--ink-3);
}

/* ========== Fields ========== */

[data-ds="eos"] .eb-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds="eos"] .eb-field-label {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

[data-ds="eos"] .eb-field-hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
}

[data-ds="eos"] .eb-empty-hint {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-3);
  font-style: italic;
}

[data-ds="eos"] .eb-textarea {
  min-height: 72px;
}

/* ---- Ansprechpartner (contact-person) meta block ---- */

[data-ds="eos"] .eb-cp {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 4px;
  border-top: 1px dashed var(--border);
}

[data-ds="eos"] .eb-cp-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

[data-ds="eos"] .eb-cp-toggle input {
  margin: 0;
  accent-color: var(--accent);
}

[data-ds="eos"] .eb-cp-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[data-ds="eos"] .eb-cp-summary {
  margin: 0;
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 10px;
  row-gap: 2px;
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface-2);
}

[data-ds="eos"] .eb-cp-row {
  display: contents;
}

[data-ds="eos"] .eb-cp-row dt {
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--ink-3);
  align-self: center;
}

[data-ds="eos"] .eb-cp-row dd {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink);
  word-break: break-word;
}

[data-ds="eos"] .eb-cp-empty {
  margin: 0;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-style: italic;
}

[data-ds="eos"] .eb-range {
  width: 100%;
  accent-color: var(--accent);
}

/* ---- Segmented control ---- */

[data-ds="eos"] .eb-segmented {
  display: inline-flex;
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
  width: fit-content;
}

[data-ds="eos"] .eb-segmented button {
  appearance: none;
  border: none;
  border-right: 1px solid var(--border);
  background: var(--surface);
  color: var(--ink-2);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  padding: 4px 12px;
  cursor: pointer;
}

[data-ds="eos"] .eb-segmented button:last-child {
  border-right: none;
}

[data-ds="eos"] .eb-segmented button:hover {
  background: var(--surface-2);
}

[data-ds="eos"] .eb-segmented button.active {
  background: var(--accent);
  color: #fff;
}

/* ========== Block card ========== */

[data-ds="eos"] .eb-block-card {
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface);
  overflow: hidden;
}

[data-ds="eos"] .eb-block-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
}

[data-ds="eos"] .eb-block-index {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  background: var(--surface-3);
  border-radius: 3px;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eb-block-label {
  flex: 1;
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-block-actions {
  display: flex;
  gap: 4px;
}

[data-ds="eos"] .eb-block-body {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ---- Icon buttons ---- */

[data-ds="eos"] .eb-icon-btn {
  appearance: none;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--surface);
  color: var(--ink-2);
  font-size: var(--fs-sm);
  cursor: pointer;
}

[data-ds="eos"] .eb-icon-btn:hover:not(:disabled) {
  background: var(--surface-2);
  border-color: var(--border-strong);
}

[data-ds="eos"] .eb-icon-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

[data-ds="eos"] .eb-icon-btn-danger:hover:not(:disabled) {
  color: var(--neg);
  border-color: var(--neg);
}

/* ========== Rich-text editor ========== */

[data-ds="eos"] .eb-rte {
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
}

[data-ds="eos"] .eb-rte:focus-within {
  border-color: var(--accent);
}

[data-ds="eos"] .eb-rte-toolbar {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
}

[data-ds="eos"] .eb-rte-btn {
  appearance: none;
  min-width: 26px;
  height: 24px;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: var(--ink-2);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  cursor: pointer;
}

[data-ds="eos"] .eb-rte-btn:hover {
  background: var(--surface-3);
}

[data-ds="eos"] .eb-rte-btn.active {
  background: var(--accent);
  color: #fff;
}

[data-ds="eos"] .eb-rte-sep {
  width: 1px;
  height: 16px;
  background: var(--border);
  margin: 0 3px;
}

[data-ds="eos"] .eb-rte-content {
  min-height: 84px;
  padding: 8px 10px;
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  line-height: 1.55;
  color: var(--ink);
  white-space: pre-wrap;
  outline: none;
}

[data-ds="eos"] .eb-rte-content p {
  margin: 0 0 8px 0;
}

[data-ds="eos"] .eb-rte-content p:last-child {
  margin-bottom: 0;
}

[data-ds="eos"] .eb-rte-content ul,
[data-ds="eos"] .eb-rte-content ol {
  margin: 0 0 8px 0;
  padding-left: 1.4em;
}

[data-ds="eos"] .eb-rte-content ul {
  list-style: disc;
}

[data-ds="eos"] .eb-rte-content ol {
  list-style: decimal;
}

[data-ds="eos"] .eb-rte-content a {
  color: var(--accent-ink);
  text-decoration: underline;
}

/* ========== Add-block menu ========== */

[data-ds="eos"] .eb-add {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[data-ds="eos"] .eb-add-trigger {
  width: 100%;
}

[data-ds="eos"] .eb-add-menu {
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

[data-ds="eos"] .eb-add-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

[data-ds="eos"] .eb-add-group-label {
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--ink-3);
  padding: 2px 4px;
}

[data-ds="eos"] .eb-add-item {
  appearance: none;
  text-align: left;
  border: none;
  background: transparent;
  border-radius: 3px;
  padding: 5px 8px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

[data-ds="eos"] .eb-add-item:hover {
  background: var(--accent-soft);
}

[data-ds="eos"] .eb-add-item-label {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-add-item-desc {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

/* ========== Product list item rows ========== */

[data-ds="eos"] .eb-list-item {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface-2);
}

[data-ds="eos"] .eb-list-item-fields {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds="eos"] .eb-list-item-row {
  display: flex;
  gap: 4px;
}

[data-ds="eos"] .eb-list-item-row .ds-input {
  flex: 1;
  min-width: 0;
}

/* ========== Preview pane ========== */

[data-ds="eos"] .eb-preview {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: var(--surface-3);
}

[data-ds="eos"] .eb-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds="eos"] .eb-preview-title {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-preview-status {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eb-preview-stage {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 16px;
  display: flex;
  justify-content: center;
}

[data-ds="eos"] .eb-preview-frame {
  width: 100%;
  max-width: 640px;
  height: 100%;
  border: none;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

[data-ds="eos"] .eb-preview-message {
  margin: auto;
  max-width: 320px;
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--ink-3);
}

/* ========== Item picker (inside DsModal) ========== */

[data-ds="eos"] .eb-picker {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 420px;
}

[data-ds="eos"] .eb-picker-list {
  max-height: 360px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 4px;
}

[data-ds="eos"] .eb-picker-state {
  padding: 20px 12px;
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--ink-3);
}

[data-ds="eos"] .eb-picker-error {
  color: var(--neg);
}

[data-ds="eos"] .eb-picker-row {
  appearance: none;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  border: none;
  border-bottom: 1px solid var(--border);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

[data-ds="eos"] .eb-picker-row:last-child {
  border-bottom: none;
}

[data-ds="eos"] .eb-picker-row:hover {
  background: var(--accent-soft);
}

[data-ds="eos"] .eb-picker-thumb {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: #fff;
  overflow: hidden;
}

[data-ds="eos"] .eb-picker-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

[data-ds="eos"] .eb-picker-thumb-empty {
  color: var(--ink-4);
  font-size: var(--fs-sm);
}

[data-ds="eos"] .eb-picker-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .eb-picker-name {
  font-size: var(--fs-md);
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .eb-picker-meta {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .eb-picker-price {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
  flex-shrink: 0;
}

/* ========== View mode bar (Editor / KI-Assistent) ========== */

[data-ds="eos"] .eb-modebar {
  display: flex;
  gap: 2px;
  padding: 0 6px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds="eos"] .eb-mode {
  appearance: none;
  border: none;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 12px;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink-3);
  cursor: pointer;
}

[data-ds="eos"] .eb-mode svg {
  width: 13px;
  height: 13px;
}

[data-ds="eos"] .eb-mode:hover {
  color: var(--ink-2);
}

[data-ds="eos"] .eb-mode.is-active {
  color: var(--ink);
  border-bottom-color: var(--accent);
}

[data-ds="eos"] .eb-mode-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
}

[data-ds="eos"] .eb-views {
  flex: 1;
  min-height: 0;
  display: flex;
}

[data-ds="eos"] .eb-view {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .eb-view[hidden] {
  display: none;
}

[data-ds="eos"] .eb-view > * {
  flex: 1;
  min-height: 0;
}

/* ========== AI assistant pane ========== */

[data-ds="eos"] .eb-ai {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background:
    radial-gradient(110% 58% at 50% 0%, var(--accent-soft) 0%, transparent 62%),
    var(--bg);
}

[data-ds="eos"] .eb-ai-head {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds="eos"] .eb-ai-mark {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  border-radius: 4px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eb-ai-mark svg {
  width: 15px;
  height: 15px;
}

[data-ds="eos"] .eb-ai-id {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

[data-ds="eos"] .eb-ai-name {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-ai-role {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--ink-3);
}

[data-ds="eos"] .eb-ai-reset {
  appearance: none;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--ink-2);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  border-radius: 3px;
  padding: 3px 8px;
  cursor: pointer;
}

[data-ds="eos"] .eb-ai-reset:hover {
  border-color: var(--accent);
  color: var(--accent-ink);
}

/* ---- Message thread ---- */

[data-ds="eos"] .eb-ai-thread {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

[data-ds="eos"] .eb-msg {
  display: flex;
  gap: 8px;
  animation: eb-rise 140ms ease both;
}

[data-ds="eos"] .eb-msg.is-user {
  flex-direction: row-reverse;
}

[data-ds="eos"] .eb-msg-avatar {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 4px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eb-msg-avatar svg {
  width: 13px;
  height: 13px;
}

[data-ds="eos"] .eb-msg-main {
  min-width: 0;
  max-width: 86%;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds="eos"] .eb-msg.is-user .eb-msg-main {
  align-items: flex-end;
}

[data-ds="eos"] .eb-msg-meta {
  display: flex;
  gap: 6px;
  align-items: baseline;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
}

[data-ds="eos"] .eb-msg-who {
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--ink-2);
}

[data-ds="eos"] .eb-msg-bubble {
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 8px 11px;
  white-space: pre-wrap;
  word-break: break-word;
}

[data-ds="eos"] .eb-msg.is-user .eb-msg-bubble {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* ---- Streamed markdown (assistant replies) ---- */

[data-ds="eos"] .eb-md {
  white-space: normal;
}

[data-ds="eos"] .eb-md :first-child {
  margin-top: 0;
}

[data-ds="eos"] .eb-md :last-child {
  margin-bottom: 0;
}

[data-ds="eos"] .eb-md p {
  margin: 0 0 8px;
}

[data-ds="eos"] .eb-md ul,
[data-ds="eos"] .eb-md ol {
  margin: 0 0 8px;
  padding-left: 20px;
}

[data-ds="eos"] .eb-md li {
  margin: 2px 0;
}

[data-ds="eos"] .eb-md li::marker {
  color: var(--ink-3);
}

[data-ds="eos"] .eb-md a {
  color: var(--accent-ink);
  text-decoration: underline;
}

/* Streamdown renders bold as <span data-streamdown="strong"> carrying a
   Tailwind `font-semibold` class — this project has no Tailwind, so the class
   is inert and the span must be targeted directly. The bare `strong` selector
   stays for raw <strong> / future Streamdown versions. */
[data-ds="eos"] .eb-md strong,
[data-ds="eos"] .eb-md [data-streamdown="strong"] {
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-md em {
  font-style: italic;
}

[data-ds="eos"] .eb-md h1,
[data-ds="eos"] .eb-md h2,
[data-ds="eos"] .eb-md h3 {
  margin: 12px 0 6px;
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-md code {
  font-family: var(--font-mono);
  font-size: 0.92em;
  background: var(--surface-3);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 1px 4px;
}

[data-ds="eos"] .eb-md pre {
  margin: 0 0 8px;
  padding: 8px 10px;
  background: var(--surface-3);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow-x: auto;
}

[data-ds="eos"] .eb-md pre code {
  background: none;
  border: none;
  padding: 0;
}

[data-ds="eos"] .eb-md blockquote {
  margin: 0 0 8px;
  padding-left: 10px;
  border-left: 2px solid var(--border-strong);
  color: var(--ink-2);
}

[data-ds="eos"] .eb-md hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 10px 0;
}

/* Streamdown wraps tables in <div data-streamdown="table-wrapper"> and styles
   the table, cells and header with Tailwind classes, which are inert without
   Tailwind. Style the real elements directly; let wide tables scroll in the
   panel rather than overflow it. */
[data-ds="eos"] .eb-md [data-streamdown="table-wrapper"] {
  margin: 0 0 8px;
  overflow-x: auto;
}

[data-ds="eos"] .eb-md table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95em;
}

[data-ds="eos"] .eb-md th,
[data-ds="eos"] .eb-md td {
  border: 1px solid var(--border);
  padding: 4px 8px;
  text-align: left;
  vertical-align: top;
}

[data-ds="eos"] .eb-md th {
  background: var(--surface-3);
  font-weight: 600;
  color: var(--ink);
}

/* ---- Thinking indicator ---- */

[data-ds="eos"] .eb-think {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

[data-ds="eos"] .eb-think-dots {
  display: inline-flex;
  gap: 3px;
}

[data-ds="eos"] .eb-think-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
  animation: eb-blink 1s infinite ease-in-out;
}

[data-ds="eos"] .eb-think-dot:nth-child(2) {
  animation-delay: 0.15s;
}

[data-ds="eos"] .eb-think-dot:nth-child(3) {
  animation-delay: 0.3s;
}

[data-ds="eos"] .eb-think-label {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

/* ---- Empty state ---- */

[data-ds="eos"] .eb-ai-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: auto 0;
  padding: 8px 14px;
  text-align: center;
}

[data-ds="eos"] .eb-ai-empty-mark {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-ds="eos"] .eb-ai-empty-mark svg {
  width: 20px;
  height: 20px;
}

[data-ds="eos"] .eb-ai-empty-text {
  margin: 0;
  max-width: 320px;
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--ink-2);
}

/* ---- Tool activity card ---- */

[data-ds="eos"] .eb-tool {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface-2);
  padding: 7px 10px;
}

[data-ds="eos"] .eb-tool.is-done {
  border-color: var(--pos);
}

[data-ds="eos"] .eb-tool.is-error {
  border-color: var(--neg);
  background: var(--neg-soft);
}

[data-ds="eos"] .eb-tool-icon {
  flex-shrink: 0;
  width: 16px;
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  font-weight: 700;
}

[data-ds="eos"] .eb-tool.is-done .eb-tool-icon {
  color: var(--pos);
}

[data-ds="eos"] .eb-tool.is-error .eb-tool-icon {
  color: var(--neg);
}

[data-ds="eos"] .eb-tool-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

[data-ds="eos"] .eb-tool-title {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-tool-detail {
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--ink-2);
  word-break: break-word;
}

/* ---- Error row ---- */

[data-ds="eos"] .eb-ai-error {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  border: 1px solid var(--neg);
  background: var(--neg-soft);
  border-radius: 4px;
  padding: 8px 10px;
}

[data-ds="eos"] .eb-ai-error-text {
  flex: 1;
  min-width: 0;
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--ink);
}

/* ---- Footer: suggestions + composer ---- */

[data-ds="eos"] .eb-ai-foot {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 12px;
  background: var(--surface);
  border-top: 1px solid var(--border);
}

[data-ds="eos"] .eb-ai-suggest {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

[data-ds="eos"] .eb-ai-suggest-card {
  appearance: none;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 4px;
  padding: 8px 9px;
  cursor: pointer;
  animation: eb-rise 160ms ease both;
  animation-delay: calc(var(--i, 0) * 45ms);
  transition:
    border-color 120ms ease,
    background 120ms ease,
    transform 120ms ease;
}

[data-ds="eos"] .eb-ai-suggest-card:hover:not(:disabled) {
  border-color: var(--accent);
  background: var(--accent-soft);
  transform: translateY(-1px);
}

[data-ds="eos"] .eb-ai-suggest-card:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

[data-ds="eos"] .eb-ai-suggest-label {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .eb-ai-suggest-hint {
  font-size: var(--fs-xs);
  line-height: 1.4;
  color: var(--ink-3);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

[data-ds="eos"] .eb-ai-composer {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  padding: 5px 5px 5px 9px;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  transition: border-color 120ms ease;
}

[data-ds="eos"] .eb-ai-composer:focus-within {
  border-color: var(--accent);
}

[data-ds="eos"] .eb-ai-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  resize: none;
  padding: 4px 0;
  /* The autosize JS sets `style.height = scrollHeight + 'px'`, which for an
     empty single line is ~28px — too small to click comfortably. min-height
     wins against the inline height, so the empty state stays ≈2 lines tall
     while autosize is still free to grow up to max-height. */
  min-height: 44px;
  max-height: 132px;
  font-family: var(--font-ui);
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--ink);
}

[data-ds="eos"] .eb-ai-input::placeholder {
  color: var(--ink-4);
}

[data-ds="eos"] .eb-ai-send {
  appearance: none;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 3px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 120ms ease;
}

[data-ds="eos"] .eb-ai-send svg {
  width: 15px;
  height: 15px;
}

[data-ds="eos"] .eb-ai-send:hover:not(:disabled) {
  background: var(--accent-ink);
}

[data-ds="eos"] .eb-ai-send:disabled {
  background: var(--surface-3);
  color: var(--ink-4);
  cursor: not-allowed;
}

[data-ds="eos"] .eb-ai-stop {
  background: var(--ink-2);
}

[data-ds="eos"] .eb-ai-stop:hover:not(:disabled) {
  background: var(--ink);
}

@keyframes eb-rise {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes eb-blink {
  0%,
  80%,
  100% {
    opacity: 0.25;
    transform: scale(0.85);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-ds="eos"] .eb-msg,
  [data-ds="eos"] .eb-ai-suggest-card {
    animation: none;
  }
  [data-ds="eos"] .eb-think-dot {
    animation-duration: 0.01ms;
  }
}

/* ========== Variables (chips, menu, unfilled markers) ========== */

/* Inline chip rendered for each `{{token}}` variable node inside the
   TipTap rich-text editor. Read-only — atomicity comes from the TipTap
   node config, the CSS just makes the chip look like an inseparable
   token (not text the cursor can land inside). */
[data-ds="eos"] .eb-var-chip {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  padding: 0 4px;
  margin: 0 1px;
  border-radius: 3px;
  background: color-mix(in oklch, var(--accent) 14%, transparent);
  color: var(--accent);
  font-size: 0.92em;
  font-family: var(--font-mono);
  line-height: 1.4;
  white-space: nowrap;
  user-select: all;
  cursor: default;
  border: 1px solid color-mix(in oklch, var(--accent) 28%, transparent);
}

[data-ds="eos"] .eb-var-chip.ProseMirror-selectednode {
  background: color-mix(in oklch, var(--accent) 28%, transparent);
}

[data-ds="eos"] .eb-var-chip-marker {
  color: color-mix(in oklch, var(--accent) 60%, transparent);
}

[data-ds="eos"] .eb-var-chip-label {
  font-family: var(--font-ui);
  font-weight: 500;
}

/* Token that the backend render endpoint could not resolve — shown in
   the preview pane so the author sees the slot. `dangerouslySetInnerHTML`
   in the preview iframe receives the chip markup verbatim. */
[data-ds="eos"] .eb-var-unfilled,
.eb-var-unfilled {
  display: inline-block;
  padding: 0 4px;
  border-radius: 3px;
  background: color-mix(in oklch, var(--warning, #c08400) 16%, transparent);
  color: color-mix(in oklch, var(--warning, #c08400) 70%, black);
  font-family: var(--font-mono);
  font-size: 0.92em;
  border: 1px dashed color-mix(in oklch, var(--warning, #c08400) 50%, transparent);
}

/* Variable popover menu (used by the RTE toolbar and the inline
   {{ }} button next to plain-text inputs). The component portals into
   the design-system root and uses `position: fixed` measured from the
   anchor's bounding rect — escapes overflow ancestors (the rich-text
   textbox, the scrollable block list) that would otherwise clip it. */
[data-ds="eos"] .eb-var-menu {
  position: fixed;
  z-index: 200;
  min-width: 280px;
  max-width: 360px;
  max-height: 360px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.18);
  padding: 6px 0;
  font-size: 12px;
}

[data-ds="eos"] .eb-var-menu-header {
  padding: 4px 12px 6px;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--fg-muted);
  border-bottom: 1px solid var(--border);
  margin-bottom: 4px;
}

[data-ds="eos"] .eb-var-menu-group {
  padding: 2px 0 4px;
}

[data-ds="eos"] .eb-var-menu-group-label {
  padding: 4px 12px 2px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--fg-muted);
  font-weight: 600;
}

[data-ds="eos"] .eb-var-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-ds="eos"] .eb-var-menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 1px 8px;
  width: 100%;
  padding: 6px 12px;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

[data-ds="eos"] .eb-var-menu-item:hover,
[data-ds="eos"] .eb-var-menu-item:focus-visible {
  background: color-mix(in oklch, var(--accent) 8%, transparent);
  outline: none;
}

[data-ds="eos"] .eb-var-menu-item-label {
  font-weight: 500;
  grid-column: 1;
  grid-row: 1;
}

[data-ds="eos"] .eb-var-menu-item-token {
  grid-column: 2;
  grid-row: 1;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--accent);
}

[data-ds="eos"] .eb-var-menu-item-desc {
  grid-column: 1 / -1;
  grid-row: 2;
  font-size: 11px;
  color: var(--fg-muted);
  line-height: 1.35;
}

/* Trigger button wrappers — both the RTE toolbar `{{ }}` button and the
   inline button next to plain-text inputs need the popover anchored to
   them, so they get `position: relative`. */
[data-ds="eos"] .eb-rte-variable-wrap,
[data-ds="eos"] .eb-var-insert-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

[data-ds="eos"] .eb-var-insert-btn {
  height: 28px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--surface);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-muted);
  cursor: pointer;
  white-space: nowrap;
}

[data-ds="eos"] .eb-var-insert-btn:hover,
[data-ds="eos"] .eb-var-insert-btn.is-open {
  background: color-mix(in oklch, var(--accent) 10%, transparent);
  color: var(--accent);
  border-color: color-mix(in oklch, var(--accent) 40%, transparent);
}

/* Row wrapper for inputs that carry a trailing `{{ }}` button. */
[data-ds="eos"] .eb-field-row {
  display: flex;
  align-items: stretch;
  gap: 6px;
}

[data-ds="eos"] .eb-field-row .ds-input {
  flex: 1;
}

/* ========== Preview-pane recipient picker ========== */

[data-ds="eos"] .eb-preview-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

[data-ds="eos"] .eb-preview-recipient {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 220px;
  font-size: 11px;
}

[data-ds="eos"] .eb-preview-recipient-label {
  color: var(--fg-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 10px;
  white-space: nowrap;
}

[data-ds="eos"] .eb-preview-recipient-search {
  position: relative;
  display: inline-flex;
  flex: 1;
  min-width: 180px;
  max-width: 320px;
}

[data-ds="eos"] .eb-preview-recipient-search .ds-input {
  width: 100%;
  height: 26px;
  font-size: 11px;
}

[data-ds="eos"] .eb-preview-recipient-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 50;
  max-height: 260px;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 4px 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  box-shadow: 0 6px 18px -4px rgba(0, 0, 0, 0.18);
}

[data-ds="eos"] .eb-preview-recipient-option {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 5px 10px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

[data-ds="eos"] .eb-preview-recipient-option:hover,
[data-ds="eos"] .eb-preview-recipient-option:focus-visible {
  background: color-mix(in oklch, var(--accent) 8%, transparent);
  outline: none;
}

[data-ds="eos"] .eb-preview-recipient-option-name {
  font-weight: 500;
}

[data-ds="eos"] .eb-preview-recipient-option-bp {
  font-size: 10.5px;
  color: var(--fg-muted);
}

[data-ds="eos"] .eb-preview-recipient-selected {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 6px;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--surface);
  font-size: 11px;
  max-width: 360px;
}

[data-ds="eos"] .eb-preview-recipient-name {
  font-weight: 500;
}

[data-ds="eos"] .eb-preview-recipient-bp {
  color: var(--fg-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .eb-preview-recipient-clear {
  border: none;
  background: transparent;
  color: var(--fg-muted);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0 2px;
}

[data-ds="eos"] .eb-preview-recipient-clear:hover {
  color: var(--fg);
}

/* ========== Recipients pane (third left-pane tab) ========== */

[data-ds="eos"] .eb-mode-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 16px;
  padding: 0 5px;
  margin-left: 4px;
  font: 600 10px/1 var(--font-mono);
  color: var(--ink);
  background: color-mix(in oklch, var(--accent) 18%, transparent);
  border-radius: 8px;
}

[data-ds="eos"] .eb-recipients {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 14px 14px 18px;
  overflow-y: auto;
  background: var(--bg);
  height: 100%;
}

[data-ds="eos"] .eb-recipients-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface);
  /* Never shrink a card below its content — otherwise the recipient rows
   * spill past the card border instead of the card growing and the
   * `.eb-recipients` container scrolling. */
  flex-shrink: 0;
}

[data-ds="eos"] .eb-recipients-section-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

[data-ds="eos"] .eb-recipients-section-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--fg-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-ds="eos"] .eb-recipients-section-hint {
  font-size: 11px;
  color: var(--fg-muted);
}

[data-ds="eos"] .eb-recipients-empty {
  padding: 8px 4px;
  font-size: 12px;
  color: var(--fg-muted);
}

[data-ds="eos"] .eb-recipients-empty em {
  font-style: normal;
  color: var(--ink);
}

/* ----- Verteiler chip row ----- */
[data-ds="eos"] .eb-vt-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

[data-ds="eos"] .eb-vt-chip {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--surface);
  cursor: pointer;
  font: inherit;
  font-size: 11.5px;
  color: var(--ink);
}

[data-ds="eos"] .eb-vt-chip:hover {
  border-color: color-mix(in oklch, var(--accent) 40%, var(--border));
}

[data-ds="eos"] .eb-vt-chip.is-picked {
  border-color: var(--accent);
  background: color-mix(in oklch, var(--accent) 10%, transparent);
}

[data-ds="eos"] .eb-vt-chip-name {
  font-weight: 500;
}

[data-ds="eos"] .eb-vt-chip-count {
  font: 11px/1 var(--font-mono);
  color: var(--fg-muted);
  padding: 1px 5px;
  border-radius: 8px;
  background: color-mix(in oklch, var(--ink) 6%, transparent);
}

/* ----- Merged recipient list ----- */
[data-ds="eos"] .eb-recipients-list-section {
  /* grow to fill spare height when the list is short, but never shrink below
   * its content (shrink:0) so a long list grows the card + scrolls the pane. */
  flex: 1 0 auto;
  min-height: 120px;
}

[data-ds="eos"] .eb-recipient-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .eb-recipient-row {
  display: grid;
  grid-template-columns: 28px 14px minmax(80px, max-content) minmax(0, 1fr) auto 24px;
  align-items: center;
  gap: 6px;
  padding: 4px 4px;
  border-bottom: 1px solid color-mix(in oklch, var(--border) 60%, transparent);
  font-size: 11.5px;
}

[data-ds="eos"] .eb-recipient-row:last-child {
  border-bottom: none;
}

[data-ds="eos"] .eb-recipient-row.is-missing {
  color: var(--fg-muted);
}

[data-ds="eos"] .eb-recipient-origin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 16px;
  padding: 0 4px;
  font: 600 9.5px/1 var(--font-mono);
  text-transform: uppercase;
  border-radius: 2px;
  color: var(--ink);
}
[data-ds="eos"] .eb-recipient-origin[data-origin="verteiler"] {
  background: color-mix(in oklch, var(--accent) 14%, transparent);
}
[data-ds="eos"] .eb-recipient-origin[data-origin="adhoc"] {
  background: color-mix(in oklch, var(--ink) 8%, transparent);
}
[data-ds="eos"] .eb-recipient-origin[data-origin="both"] {
  background: color-mix(in oklch, var(--accent) 22%, transparent);
}

/* ----- Mailempfang consent (SUP-40) ----- */
[data-ds="eos"] .eb-consent-toggle {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--fg-muted);
  cursor: pointer;
  user-select: none;
}
[data-ds="eos"] .eb-consent-toggle input {
  margin: 0;
  cursor: pointer;
  accent-color: var(--accent);
}
[data-ds="eos"] .eb-consent-toggle.is-on {
  color: var(--accent);
}

[data-ds="eos"] .eb-recipient-consent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 11px/1 var(--font-mono);
  color: var(--fg-muted);
}
[data-ds="eos"] .eb-recipient-consent.is-on {
  color: color-mix(in oklch, var(--ok, var(--accent)) 80%, var(--ink));
}

[data-ds="eos"] .eb-recipient-name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .eb-recipient-bp {
  color: var(--fg-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .eb-recipient-email {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--fg-muted);
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-ds="eos"] .eb-recipient-no-email {
  font-style: italic;
}

[data-ds="eos"] .eb-recipient-remove {
  appearance: none;
  border: none;
  background: transparent;
  color: var(--fg-muted);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0;
  width: 18px;
  height: 18px;
}

[data-ds="eos"] .eb-recipient-remove:hover {
  color: var(--ink);
}

/* ----- Actions ----- */
[data-ds="eos"] .eb-recipients-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 2px;
}

/* ----- Recent sends ----- */
[data-ds="eos"] .eb-recent-sends {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .eb-recent-send {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  font-size: 11px;
  border-bottom: 1px solid color-mix(in oklch, var(--border) 50%, transparent);
}

[data-ds="eos"] .eb-recent-send:last-child {
  border-bottom: none;
}

[data-ds="eos"] .eb-recent-when {
  font-family: var(--font-mono);
  color: var(--fg-muted);
  font-size: 10.5px;
}

[data-ds="eos"] .eb-recent-subject {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-ds="eos"] .eb-recent-test-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  font: 600 9px/1 var(--font-mono);
  color: var(--ink);
  background: color-mix(in oklch, var(--ink) 8%, transparent);
  border-radius: 2px;
}

[data-ds="eos"] .eb-recent-counts {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--fg-muted);
  display: inline-flex;
  gap: 6px;
}

[data-ds="eos"] .eb-recent-counts strong {
  color: var(--ink);
}

[data-ds="eos"] .eb-recent-send[data-tone="failed"] .eb-recent-counts {
  color: var(--danger, #c33);
}

[data-ds="eos"] .eb-recent-send[data-tone="partial"] .eb-recent-counts {
  color: color-mix(in oklch, var(--accent) 80%, var(--fg-muted));
}
/* Sourcing page — all selectors scoped under [data-ds="eos"]. Prefix: sc- */

[data-ds='eos'] .sc-main {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--surface);
}

/* Toolbar bar + list use ContainedPage (`shared/contained-page.css`). */

[data-ds='eos'] .sc-search {
  flex: 0 0 240px;
}

[data-ds='eos'] .sc-spacer {
  flex: 1;
}

[data-ds='eos'] .sc-detail-page {
  background: var(--surface);
}

[data-ds='eos'] .sc-detail-back-row {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds='eos'] .sc-detail-back-row-inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  padding: 6px 20px;
}

[data-ds='eos'] .sc-detail-frame {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

[data-ds='eos'] .sc-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--ink-3);
  font-size: var(--fs-sm);
  padding: 40px;
}
[data-ds='eos'] .sc-empty-big {
  font-size: 15px;
  font-weight: 600;
  color: var(--ink-2);
  margin-bottom: 4px;
}

/* --- Detail ------------------------------------------------------------ */

[data-ds='eos'] .sc-detail {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

[data-ds='eos'] .sc-detail-head {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

[data-ds='eos'] .sc-detail-head-inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  padding: 12px 20px;
}

[data-ds='eos'] .sc-detail-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

[data-ds='eos'] .sc-detail-ref {
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

[data-ds='eos'] .sc-detail-actions {
  margin-left: auto;
  display: flex;
  gap: 6px;
}

[data-ds='eos'] .sc-detail-name {
  margin: 6px 0 4px;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
}

[data-ds='eos'] .sc-detail-meta {
  display: flex;
  gap: 16px;
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-family: var(--font-mono);
}

[data-ds='eos'] .sc-detail-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

[data-ds='eos'] .sc-detail-body-inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  padding: 12px 20px;
}

[data-ds='eos'] .sc-section {
  margin-bottom: 20px;
}

[data-ds='eos'] .sc-description {
  font-size: var(--fs-sm);
  color: var(--ink-2);
  white-space: pre-wrap;
  margin: 6px 0;
}

[data-ds='eos'] .sc-hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  margin: 8px 0;
}

/* --- Forms ------------------------------------------------------------- */

[data-ds='eos'] .sc-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 520px;
}

[data-ds='eos'] .sc-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

[data-ds='eos'] .sc-field-label {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-2);
}


/* --- Inner tables ------------------------------------------------------ */

[data-ds='eos'] .sc-inner-table {
  width: 100%;
  margin-top: 6px;
}

[data-ds='eos'] .sc-mono {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
}

[data-ds='eos'] .sc-qty-input {
  width: 70px;
  text-align: right;
}

[data-ds='eos'] .sc-row-action {
  text-align: right;
}

[data-ds='eos'] .sc-link-btn {
  background: none;
  border: none;
  color: var(--neg);
  font-size: var(--fs-xs);
  cursor: pointer;
  padding: 0;
}
[data-ds='eos'] .sc-link-btn:hover {
  text-decoration: underline;
}

/* --- Pickers ----------------------------------------------------------- */

[data-ds='eos'] .sc-picker {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 460px;
}

[data-ds='eos'] .sc-picker-list {
  max-height: 320px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 4px;
}

[data-ds='eos'] .sc-picker-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
}
[data-ds='eos'] .sc-picker-row:last-child {
  border-bottom: none;
}
[data-ds='eos'] .sc-picker-row.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

[data-ds='eos'] .sc-picker-main {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

[data-ds='eos'] .sc-picker-title {
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds='eos'] .sc-picker-sub {
  font-size: var(--fs-xs);
  font-family: var(--font-mono);
  color: var(--ink-3);
}

[data-ds='eos'] .sc-checkbox-col {
  width: 28px;
  text-align: center;
}

[data-ds='eos'] .sc-supplier-messages {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed var(--border);
}

[data-ds='eos'] .sc-supplier-message {
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
[data-ds='eos'] .sc-supplier-message:last-child {
  border-bottom: none;
}

[data-ds='eos'] .sc-supplier-message-from {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  margin-bottom: 4px;
}

[data-ds='eos'] .sc-supplier-message-body {
  font-size: var(--fs-sm);
  color: var(--ink);
  white-space: pre-wrap;
}

[data-ds='eos'] .sc-picker-modebar {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid var(--border);
  margin: -4px -4px 8px;
  padding: 0 4px;
}

[data-ds='eos'] .sc-picker-mode {
  appearance: none;
  border: none;
  background: transparent;
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink-3);
  cursor: pointer;
}

[data-ds='eos'] .sc-picker-mode:hover {
  color: var(--ink-2);
}

[data-ds='eos'] .sc-picker-mode.is-active {
  color: var(--ink);
  border-bottom-color: var(--accent);
}

[data-ds='eos'] .sc-picker-bulk-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

[data-ds='eos'] .sc-picker-unresolved {
  padding: 8px 10px;
  background: var(--bg-2);
  border-top: 1px dashed var(--border);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

/* --- Offer matrix ------------------------------------------------------ */

[data-ds='eos'] .sc-matrix-wrap {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 4px;
  margin-top: 6px;
}

[data-ds='eos'] .sc-matrix {
  width: 100%;
  border-collapse: collapse;
}

[data-ds='eos'] .sc-matrix th,
[data-ds='eos'] .sc-matrix td {
  border: 1px solid var(--border);
  padding: 6px 8px;
  vertical-align: top;
  font-size: var(--fs-xs);
}

[data-ds='eos'] .sc-matrix-corner,
[data-ds='eos'] .sc-matrix-line {
  text-align: left;
  min-width: 180px;
}

[data-ds='eos'] .sc-matrix-line-name {
  display: block;
  font-weight: 500;
  color: var(--ink);
  font-size: var(--fs-sm);
}
[data-ds='eos'] .sc-matrix-line-sub {
  display: block;
  font-family: var(--font-mono);
  color: var(--ink-3);
}

[data-ds='eos'] .sc-matrix-noresp {
  color: var(--ink-4);
  font-weight: 400;
}

[data-ds='eos'] .sc-matrix-cell {
  text-align: center;
  min-width: 110px;
}
[data-ds='eos'] .sc-matrix-cell.is-clickable {
  cursor: pointer;
}
[data-ds='eos'] .sc-matrix-cell.is-best {
  background: oklch(0.96 0.05 150);
}
[data-ds='eos'] .sc-matrix-cell.is-picked {
  outline: 2px solid var(--warn);
  outline-offset: -2px;
}
[data-ds='eos'] .sc-matrix-cell.is-winner {
  background: oklch(0.93 0.08 150);
}

[data-ds='eos'] .sc-matrix-price {
  display: block;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: var(--fs-sm);
  color: var(--ink);
}
[data-ds='eos'] .sc-matrix-detail {
  display: block;
  font-family: var(--font-mono);
  color: var(--ink-3);
}
[data-ds='eos'] .sc-matrix-empty {
  color: var(--ink-4);
}

/* ---- Verteiler links (sourcing tender) ---- */

[data-ds='eos'] .sc-vt-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 0 4px;
}

[data-ds='eos'] .sc-vt-bar-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 600;
  margin-right: 2px;
}

[data-ds='eos'] .sc-vt-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px 2px 8px;
  border: 1px solid var(--border-strong);
  border-radius: 2px;
  background: var(--accent-soft);
  color: var(--accent-ink);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.2;
}

[data-ds='eos'] .sc-vt-chip.muted {
  background: var(--surface-2);
  color: var(--ink-3);
  border-color: var(--border);
}

[data-ds='eos'] .sc-vt-chip-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds='eos'] .sc-vt-chip-x {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0 4px;
  cursor: pointer;
  color: var(--ink-3);
  font-size: 14px;
  line-height: 1;
}

[data-ds='eos'] .sc-vt-chip-x:hover:not(:disabled) {
  color: var(--neg);
}

[data-ds='eos'] .sc-vt-chip-x:disabled {
  opacity: 0.4;
  cursor: default;
}

[data-ds='eos'] .sc-vt-tag {
  margin-left: 6px;
  font-size: 10px;
  letter-spacing: 0.04em;
}

/* Verteiler picker modal */

[data-ds='eos'] .sc-vt-picker {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 420px;
}

[data-ds='eos'] .sc-vt-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: 2px;
  max-height: 360px;
  overflow-y: auto;
}

[data-ds='eos'] .sc-vt-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--border);
}

[data-ds='eos'] .sc-vt-row:last-child {
  border-bottom: 0;
}

[data-ds='eos'] .sc-vt-row-main {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex: 1;
  cursor: pointer;
}

[data-ds='eos'] .sc-vt-row-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

[data-ds='eos'] .sc-vt-row-name {
  font-weight: 500;
  color: var(--ink);
}

[data-ds='eos'] .sc-vt-row-desc {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds='eos'] .sc-vt-row-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  white-space: nowrap;
}
/* EOS Rechner — pricing calculators.
   Scoped under [data-ds="eos"] so styles don't leak. */

[data-ds="eos"] .calc-toolbar-content {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

[data-ds="eos"] .calc-title {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .calc-subtitle {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds="eos"] .calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: start;
}

@media (max-width: 900px) {
  [data-ds="eos"] .calc-grid {
    grid-template-columns: 1fr;
  }
}

[data-ds="eos"] .calc-card {
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
}

[data-ds="eos"] .calc-card-head {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
}

[data-ds="eos"] .calc-card-head h3 {
  margin: 0;
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}

[data-ds="eos"] .calc-card-desc {
  margin: 4px 0 0;
  font-size: var(--fs-xs);
  line-height: 1.5;
  color: var(--ink-3);
}

[data-ds="eos"] .calc-card-body {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[data-ds="eos"] .calc-row {
  display: flex;
  gap: 10px;
}

[data-ds="eos"] .calc-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
}

[data-ds="eos"] .calc-field label {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--ink-2);
}

[data-ds="eos"] .calc-field .ds-input {
  width: 100%;
  box-sizing: border-box;
}

[data-ds="eos"] .calc-pair {
  display: flex;
  gap: 8px;
  align-items: flex-end;
}

[data-ds="eos"] .calc-pair-remove {
  flex-shrink: 0;
  height: 26px;
}

[data-ds="eos"] .calc-result {
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

[data-ds="eos"] .calc-result-value {
  font-family: var(--font-mono);
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  white-space: nowrap;
}

[data-ds="eos"] .calc-result-label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--accent-ink);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: right;
}
[data-ds='eos'] .ann-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 0;
}

[data-ds='eos'] .ann-toolbar-content {
  display: flex;
  align-items: center;
  gap: 12px;
}
[data-ds='eos'] .ann-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}
[data-ds='eos'] .ann-count {
  color: var(--text-muted, #64748b);
  font-size: 13px;
  margin-right: auto;
}

[data-ds='eos'] .ann-card {
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 4px;
  padding: 16px;
  background: var(--surface, #fff);
}
[data-ds='eos'] .ann-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
[data-ds='eos'] .ann-card__title {
  font-size: 14px;
  font-weight: 700;
}

[data-ds='eos'] .ann-empty {
  padding: 24px;
  text-align: center;
  color: var(--text-muted, #64748b);
}

[data-ds='eos'] .ann-row {
  cursor: pointer;
}
[data-ds='eos'] .ann-row .num {
  text-align: right;
  font-family: var(--font-mono, monospace);
}
[data-ds='eos'] .ann-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

/* Editor form */
[data-ds='eos'] .ann-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
[data-ds='eos'] .ann-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
[data-ds='eos'] .ann-field-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted, #475569);
}
[data-ds='eos'] .ann-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
[data-ds='eos'] .ann-checks {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
[data-ds='eos'] .ann-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
[data-ds='eos'] .ann-inline {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
[data-ds='eos'] .ann-datetime {
  font: inherit;
  padding: 6px 8px;
  border: 1px solid var(--border, #cbd5e1);
  border-radius: 4px;
  background: #fff;
}
[data-ds='eos'] .ann-maint-warn {
  margin-top: 12px;
}
/* Supplier portal — standalone, token-gated. Scoped under [data-ds="eos"]. */

[data-ds='eos'].sp-shell {
  min-height: 100vh;
  background: var(--bg, oklch(0.96 0.003 245));
  padding: 32px 16px;
  display: flex;
  justify-content: center;
  font-family: var(--font-ui);
  color: var(--ink);
}

[data-ds='eos'] .sp-card {
  width: 100%;
  max-width: 1100px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 24px;
}

[data-ds='eos'] .sp-state {
  text-align: center;
  color: var(--ink-3);
  padding: 48px;
}

[data-ds='eos'] .sp-head {
  border-bottom: 1px solid var(--border);
  padding-bottom: 16px;
  margin-bottom: 16px;
}

[data-ds='eos'] .sp-brand {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-3);
}

[data-ds='eos'] .sp-title {
  margin: 6px 0 2px;
  font-size: 18px;
  font-weight: 600;
}

[data-ds='eos'] .sp-recipient {
  margin: 0 0 8px;
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

[data-ds='eos'] .sp-description {
  margin: 8px 0;
  font-size: var(--fs-sm);
  color: var(--ink-2);
  white-space: pre-wrap;
}

[data-ds='eos'] .sp-deadline {
  margin: 8px 0 0;
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds='eos'] .sp-alert {
  margin-bottom: 16px;
}

[data-ds='eos'] .sp-table-wrap {
  overflow-x: auto;
}

[data-ds='eos'] .sp-table {
  width: 100%;
  border-collapse: collapse;
}

[data-ds='eos'] .sp-table th,
[data-ds='eos'] .sp-table td {
  border: 1px solid var(--border);
  padding: 6px 8px;
  font-size: var(--fs-xs);
  vertical-align: top;
}

[data-ds='eos'] .sp-line-name {
  display: block;
  font-weight: 500;
  font-size: var(--fs-sm);
  color: var(--ink);
}

[data-ds='eos'] .sp-line-sub {
  display: block;
  font-family: var(--font-mono);
  color: var(--ink-3);
}

[data-ds='eos'] .sp-line-note {
  display: block;
  color: var(--ink-3);
  font-style: italic;
}

[data-ds='eos'] .sp-mono {
  font-family: var(--font-mono);
}

[data-ds='eos'] .sp-input {
  width: 100%;
  min-width: 88px;
}

[data-ds='eos'] .sp-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
}

[data-ds='eos'] .sp-hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}

[data-ds='eos'] .sp-message-block {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

[data-ds='eos'] .sp-message-label {
  font-size: var(--fs-sm);
  color: var(--ink-2);
}

.no-arrows {
  /* Chrome, Safari, Edge, Opera */
  input::-webkit-outer-spin-button,
  input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  /* Firefox */
  input[type=number] {
    -moz-appearance: textfield;
  }
}

body {
  background-color: #e9e9e9;
}

.base-Popper-root {
  z-index: 9999;
}

.page {
  position: relative;
}

.page-enter {
  opacity: 0;
}

.page-enter-active {
  opacity: 1;
  transition: opacity 100ms ease-in;
}

.page-exit {
  opacity: 1;
}

.page-exit-active {
  opacity: 0;
  transition: opacity 100ms ease-in;
}