@scope (.pde-inline-emploi-du-temps) {
/* Static presentation extracted from resource HTML; values computed at runtime stay in the tool logic. */
:scope .pde-rs-bc308cf5ea8a.pde-rs-bc308cf5ea8a.pde-rs-bc308cf5ea8a{max-width:320px}
:scope .pde-rs-fad42ddaad55.pde-rs-fad42ddaad55.pde-rs-fad42ddaad55{color:#078ca6;text-decoration:none;}
:scope .pde-rs-cb5287170e32.pde-rs-cb5287170e32.pde-rs-cb5287170e32{color:#777;}
:scope .pde-rs-44d28f238518.pde-rs-44d28f238518.pde-rs-44d28f238518{flex:1;}
:scope .pde-rs-fbd60e1e1a5c.pde-rs-fbd60e1e1a5c.pde-rs-fbd60e1e1a5c{margin-top:10px;}
:scope .pde-rs-ba5f923578c0.pde-rs-ba5f923578c0.pde-rs-ba5f923578c0{margin-top:15px;}
:scope .pde-rs-b990988024a1.pde-rs-b990988024a1.pde-rs-b990988024a1{margin-top:12px; display:flex; gap:10px;}
:scope .pde-rs-46a132f95cc1.pde-rs-46a132f95cc1.pde-rs-46a132f95cc1{margin-top:20px;}
:scope .pde-rs-aba30ff67066.pde-rs-aba30ff67066.pde-rs-aba30ff67066{text-decoration:none;color:#078ca6;}
:scope .pde-rs-7ed4bc9f9843.pde-rs-7ed4bc9f9843.pde-rs-7ed4bc9f9843{margin-top:0;font-size:1.4rem;color:#078ca6;}
:scope .pde-rs-6e136acb11ef.pde-rs-6e136acb11ef.pde-rs-6e136acb11ef{display:flex;justify-content:space-between;align-items:center;font-size:1.05rem;}
:scope .pde-rs-e67529666ce6.pde-rs-e67529666ce6.pde-rs-e67529666ce6{display:none;background:#f5fafc;padding:12px;border-radius:10px;}
:scope .pde-rs-fc88c9ef552e.pde-rs-fc88c9ef552e.pde-rs-fc88c9ef552e{margin-top:10px;}
:scope .pde-rs-9fce127fa9f7.pde-rs-9fce127fa9f7.pde-rs-9fce127fa9f7{margin:20px 0;}
:scope .pde-rs-93a5c39666b7.pde-rs-93a5c39666b7.pde-rs-93a5c39666b7{font-size:1.05rem;}
:scope .pde-rs-ef55ba24a472.pde-rs-ef55ba24a472.pde-rs-ef55ba24a472{background:#f5fafc;padding:12px;border-radius:10px;}
:scope .pde-rs-842a9a3eb6df.pde-rs-842a9a3eb6df.pde-rs-842a9a3eb6df{flex:1;}
:scope .pde-rs-42464e965047.pde-rs-42464e965047.pde-rs-42464e965047{color:#666;}
:scope .pde-rs-153e6b0c2a17.pde-rs-153e6b0c2a17.pde-rs-153e6b0c2a17{color:#0798b3;}
:scope .pde-rs-f53484bac1ea.pde-rs-f53484bac1ea.pde-rs-f53484bac1ea{display:inline;}
:scope .pde-rs-b22fe69f7fda.pde-rs-b22fe69f7fda.pde-rs-b22fe69f7fda{background:none;color:#d9534f;padding:0;}
:scope .pde-rs-b04e3710dbce.pde-rs-b04e3710dbce.pde-rs-b04e3710dbce{position:fixed;left:-9999px;top:-9999px}
:scope .pde-rs-0c1b5fa040aa.pde-rs-0c1b5fa040aa.pde-rs-0c1b5fa040aa{font-family:Arial,sans-serif;line-height:1.55;color:#1f2937;max-width:680px}
:scope .pde-rs-076f2e4378a4.pde-rs-076f2e4378a4.pde-rs-076f2e4378a4{font-size:16px}
:scope .pde-rs-bb586760f703.pde-rs-bb586760f703.pde-rs-bb586760f703{margin-top:24px}
:scope .pde-rs-b11fd1b9ea45.pde-rs-b11fd1b9ea45.pde-rs-b11fd1b9ea45{display:inline-block;margin:0 10px 10px 0;padding:12px 18px;background:#15803d;color:#ffffff;text-decoration:none;border-radius:8px;font-weight:700}
:scope .pde-rs-b9cb57fa64f9.pde-rs-b9cb57fa64f9.pde-rs-b9cb57fa64f9{display:inline-block;margin:0 0 10px 0;padding:12px 18px;background:#b91c1c;color:#ffffff;text-decoration:none;border-radius:8px;font-weight:700}
:scope .pde-rs-ef864b030f8e.pde-rs-ef864b030f8e.pde-rs-ef864b030f8e{font-family:system-ui;padding:24px;line-height:1.5}
:scope .pde-rs-03c76c4a1e21.pde-rs-03c76c4a1e21.pde-rs-03c76c4a1e21{justify-content:center;}
:scope .pde-rs-b7e26df43912.pde-rs-b7e26df43912.pde-rs-b7e26df43912{font-size:26px;}
:scope .pde-rs-e4a61337b4be.pde-rs-e4a61337b4be.pde-rs-e4a61337b4be{font-family:Arial; font-size:15px;}
:scope .pde-rs-417ac91dfe99.pde-rs-417ac91dfe99.pde-rs-417ac91dfe99{background:#2ecc71; color:#fff; padding:10px 15px; border-radius:5px; text-decoration:none; font-size:16px;}
:scope .pde-rs-a75e8cfddb5d.pde-rs-a75e8cfddb5d.pde-rs-a75e8cfddb5d{border-radius:8px; margin:10px 0;}
:scope .pde-rs-a1c85f21bbbc.pde-rs-a1c85f21bbbc.pde-rs-a1c85f21bbbc{max-width:90px}
:scope .pde-rs-1da3acaf2f5c.pde-rs-1da3acaf2f5c.pde-rs-1da3acaf2f5c{padding:16px 16px 0 16px}
:scope .pde-rs-9538ccbc2718.pde-rs-9538ccbc2718.pde-rs-9538ccbc2718{padding:16px}
:scope .pde-rs-f2fc63fc419f.pde-rs-f2fc63fc419f.pde-rs-f2fc63fc419f{margin:0 0 12px;font-size:20px}
:scope .pde-rs-a6b7cb72a2c2.pde-rs-a6b7cb72a2c2.pde-rs-a6b7cb72a2c2{margin:0 0 6px;font-size:22px}
:scope .pde-rs-9d9eec85e62d.pde-rs-9d9eec85e62d.pde-rs-9d9eec85e62d{margin:16px 0}
:scope .pde-rs-d31372a47adc.pde-rs-d31372a47adc.pde-rs-d31372a47adc{margin:0;padding:0;background:#f6f7fb;font-family:Arial,sans-serif;color:#333}
:scope .pde-rs-4b5fd38ae20e.pde-rs-4b5fd38ae20e.pde-rs-4b5fd38ae20e{max-width:620px;margin:0 auto;padding:24px 16px}
:scope .pde-rs-6157a19dead9.pde-rs-6157a19dead9.pde-rs-6157a19dead9{background:#fff;border:1px solid #e3e4ea;border-radius:14px;padding:26px}
:scope .pde-rs-f96080581dbf.pde-rs-f96080581dbf.pde-rs-f96080581dbf{margin:0 0 18px}
:scope .pde-rs-d190504eb4dd.pde-rs-d190504eb4dd.pde-rs-d190504eb4dd{margin:0 0 22px}
:scope .pde-rs-0a9dcb91767a.pde-rs-0a9dcb91767a.pde-rs-0a9dcb91767a{margin:0 0 22px;text-align:center}
:scope .pde-rs-d5ca95094d13.pde-rs-d5ca95094d13.pde-rs-d5ca95094d13{display:inline-block;padding:14px 22px;border-radius:10px;background:#6d50bd;color:#fff;text-decoration:none;font-weight:bold}
:scope .pde-rs-2e83d073df8b.pde-rs-2e83d073df8b.pde-rs-2e83d073df8b{margin:0}
:scope .pde-rs-7d1d4115faa9.pde-rs-7d1d4115faa9.pde-rs-7d1d4115faa9{color:#563c9d}
:scope .pde-rs-d1384321a2d8.pde-rs-d1384321a2d8.pde-rs-d1384321a2d8{--swatch:#000000}
:scope .pde-rs-68f7347d9152.pde-rs-68f7347d9152.pde-rs-68f7347d9152{--swatch:#1f2937}
:scope .pde-rs-cdc568d12111.pde-rs-cdc568d12111.pde-rs-cdc568d12111{--swatch:#475569}
:scope .pde-rs-886bb2b3a3c5.pde-rs-886bb2b3a3c5.pde-rs-886bb2b3a3c5{--swatch:#64748b}
:scope .pde-rs-815acc4c48fe.pde-rs-815acc4c48fe.pde-rs-815acc4c48fe{--swatch:#94a3b8}
:scope .pde-rs-4d1dec26188b.pde-rs-4d1dec26188b.pde-rs-4d1dec26188b{--swatch:#cbd5e1}
:scope .pde-rs-98ede1d2e2c8.pde-rs-98ede1d2e2c8.pde-rs-98ede1d2e2c8{--swatch:#e2e8f0}
:scope .pde-rs-25ae4b5f2d04.pde-rs-25ae4b5f2d04.pde-rs-25ae4b5f2d04{--swatch:#ffffff}
:scope .pde-rs-3ec3bf238a3c.pde-rs-3ec3bf238a3c.pde-rs-3ec3bf238a3c{--swatch:#7f1d1d}
:scope .pde-rs-b13e0b55b6e8.pde-rs-b13e0b55b6e8.pde-rs-b13e0b55b6e8{--swatch:#991b1b}
:scope .pde-rs-8f95a793abbe.pde-rs-8f95a793abbe.pde-rs-8f95a793abbe{--swatch:#b91c1c}
:scope .pde-rs-0d6f68338a31.pde-rs-0d6f68338a31.pde-rs-0d6f68338a31{--swatch:#dc2626}
:scope .pde-rs-f02db4335e55.pde-rs-f02db4335e55.pde-rs-f02db4335e55{--swatch:#ef4444}
:scope .pde-rs-26cd97138cf9.pde-rs-26cd97138cf9.pde-rs-26cd97138cf9{--swatch:#f87171}
:scope .pde-rs-8d39a77958e8.pde-rs-8d39a77958e8.pde-rs-8d39a77958e8{--swatch:#fca5a5}
:scope .pde-rs-69052338e40e.pde-rs-69052338e40e.pde-rs-69052338e40e{--swatch:#fecaca}
:scope .pde-rs-7d77806fc229.pde-rs-7d77806fc229.pde-rs-7d77806fc229{--swatch:#7c2d12}
:scope .pde-rs-8f2a1ba98408.pde-rs-8f2a1ba98408.pde-rs-8f2a1ba98408{--swatch:#9a3412}
:scope .pde-rs-fb8d19f3fafa.pde-rs-fb8d19f3fafa.pde-rs-fb8d19f3fafa{--swatch:#c2410c}
:scope .pde-rs-ae477f3ec146.pde-rs-ae477f3ec146.pde-rs-ae477f3ec146{--swatch:#ea580c}
:scope .pde-rs-d969706aa22a.pde-rs-d969706aa22a.pde-rs-d969706aa22a{--swatch:#f97316}
:scope .pde-rs-a18f624b5634.pde-rs-a18f624b5634.pde-rs-a18f624b5634{--swatch:#fb923c}
:scope .pde-rs-ef87928f817e.pde-rs-ef87928f817e.pde-rs-ef87928f817e{--swatch:#fdba74}
:scope .pde-rs-2f2faf890bd5.pde-rs-2f2faf890bd5.pde-rs-2f2faf890bd5{--swatch:#fed7aa}
:scope .pde-rs-d1a297526c14.pde-rs-d1a297526c14.pde-rs-d1a297526c14{--swatch:#78350f}
:scope .pde-rs-e2565b21afe1.pde-rs-e2565b21afe1.pde-rs-e2565b21afe1{--swatch:#92400e}
:scope .pde-rs-9f2205688c0a.pde-rs-9f2205688c0a.pde-rs-9f2205688c0a{--swatch:#b45309}
:scope .pde-rs-5d286abb16ab.pde-rs-5d286abb16ab.pde-rs-5d286abb16ab{--swatch:#d97706}
:scope .pde-rs-dad3f33b99c3.pde-rs-dad3f33b99c3.pde-rs-dad3f33b99c3{--swatch:#f59e0b}
:scope .pde-rs-d6c37c5d1961.pde-rs-d6c37c5d1961.pde-rs-d6c37c5d1961{--swatch:#fbbf24}
:scope .pde-rs-72203610fa16.pde-rs-72203610fa16.pde-rs-72203610fa16{--swatch:#fcd34d}
:scope .pde-rs-47f396ec5e16.pde-rs-47f396ec5e16.pde-rs-47f396ec5e16{--swatch:#fde68a}
:scope .pde-rs-0131ee43e169.pde-rs-0131ee43e169.pde-rs-0131ee43e169{--swatch:#713f12}
:scope .pde-rs-58924f1a0a98.pde-rs-58924f1a0a98.pde-rs-58924f1a0a98{--swatch:#854d0e}
:scope .pde-rs-2338420f5ea5.pde-rs-2338420f5ea5.pde-rs-2338420f5ea5{--swatch:#a16207}
:scope .pde-rs-9a194e4e57ca.pde-rs-9a194e4e57ca.pde-rs-9a194e4e57ca{--swatch:#ca8a04}
:scope .pde-rs-14e690dce664.pde-rs-14e690dce664.pde-rs-14e690dce664{--swatch:#eab308}
:scope .pde-rs-6e01905e34cc.pde-rs-6e01905e34cc.pde-rs-6e01905e34cc{--swatch:#facc15}
:scope .pde-rs-249ba3e5f14b.pde-rs-249ba3e5f14b.pde-rs-249ba3e5f14b{--swatch:#fde047}
:scope .pde-rs-2a24af17fae2.pde-rs-2a24af17fae2.pde-rs-2a24af17fae2{--swatch:#fef08a}
:scope .pde-rs-d65327a470eb.pde-rs-d65327a470eb.pde-rs-d65327a470eb{--swatch:#365314}
:scope .pde-rs-1fc95be04afb.pde-rs-1fc95be04afb.pde-rs-1fc95be04afb{--swatch:#3f6212}
:scope .pde-rs-5107ef0c5780.pde-rs-5107ef0c5780.pde-rs-5107ef0c5780{--swatch:#4d7c0f}
:scope .pde-rs-6b9a46158d7c.pde-rs-6b9a46158d7c.pde-rs-6b9a46158d7c{--swatch:#65a30d}
:scope .pde-rs-64f5a55022b9.pde-rs-64f5a55022b9.pde-rs-64f5a55022b9{--swatch:#84cc16}
:scope .pde-rs-ce592849084f.pde-rs-ce592849084f.pde-rs-ce592849084f{--swatch:#a3e635}
:scope .pde-rs-d600989058fc.pde-rs-d600989058fc.pde-rs-d600989058fc{--swatch:#bef264}
:scope .pde-rs-62a30279fcc8.pde-rs-62a30279fcc8.pde-rs-62a30279fcc8{--swatch:#d9f99d}
:scope .pde-rs-7ced173f8e6a.pde-rs-7ced173f8e6a.pde-rs-7ced173f8e6a{--swatch:#14532d}
:scope .pde-rs-534d86aed9e5.pde-rs-534d86aed9e5.pde-rs-534d86aed9e5{--swatch:#166534}
:scope .pde-rs-9c2f55140f30.pde-rs-9c2f55140f30.pde-rs-9c2f55140f30{--swatch:#15803d}
:scope .pde-rs-fd0dce1e70de.pde-rs-fd0dce1e70de.pde-rs-fd0dce1e70de{--swatch:#16a34a}
:scope .pde-rs-2d573b50b040.pde-rs-2d573b50b040.pde-rs-2d573b50b040{--swatch:#22c55e}
:scope .pde-rs-8e2d922f9943.pde-rs-8e2d922f9943.pde-rs-8e2d922f9943{--swatch:#4ade80}
:scope .pde-rs-12f58111b8ba.pde-rs-12f58111b8ba.pde-rs-12f58111b8ba{--swatch:#86efac}
:scope .pde-rs-0a70010245a9.pde-rs-0a70010245a9.pde-rs-0a70010245a9{--swatch:#bbf7d0}
:scope .pde-rs-3b72a02e3ee2.pde-rs-3b72a02e3ee2.pde-rs-3b72a02e3ee2{--swatch:#064e3b}
:scope .pde-rs-9984fb046661.pde-rs-9984fb046661.pde-rs-9984fb046661{--swatch:#065f46}
:scope .pde-rs-850dcc4803b1.pde-rs-850dcc4803b1.pde-rs-850dcc4803b1{--swatch:#047857}
:scope .pde-rs-6fa3ad3607c0.pde-rs-6fa3ad3607c0.pde-rs-6fa3ad3607c0{--swatch:#059669}
:scope .pde-rs-40da89dbc80e.pde-rs-40da89dbc80e.pde-rs-40da89dbc80e{--swatch:#10b981}
:scope .pde-rs-70f76e03dbf0.pde-rs-70f76e03dbf0.pde-rs-70f76e03dbf0{--swatch:#34d399}
:scope .pde-rs-ef01d3cc31ff.pde-rs-ef01d3cc31ff.pde-rs-ef01d3cc31ff{--swatch:#6ee7b7}
:scope .pde-rs-4de59c9d8558.pde-rs-4de59c9d8558.pde-rs-4de59c9d8558{--swatch:#a7f3d0}
:scope .pde-rs-d36bdb36ca0a.pde-rs-d36bdb36ca0a.pde-rs-d36bdb36ca0a{--swatch:#134e4a}
:scope .pde-rs-3744e4963737.pde-rs-3744e4963737.pde-rs-3744e4963737{--swatch:#115e59}
:scope .pde-rs-3526f5316150.pde-rs-3526f5316150.pde-rs-3526f5316150{--swatch:#0f766e}
:scope .pde-rs-abf97083b453.pde-rs-abf97083b453.pde-rs-abf97083b453{--swatch:#0d9488}
:scope .pde-rs-bca92d36ba52.pde-rs-bca92d36ba52.pde-rs-bca92d36ba52{--swatch:#14b8a6}
:scope .pde-rs-eff7e70a2dc1.pde-rs-eff7e70a2dc1.pde-rs-eff7e70a2dc1{--swatch:#2dd4bf}
:scope .pde-rs-17efe9484315.pde-rs-17efe9484315.pde-rs-17efe9484315{--swatch:#5eead4}
:scope .pde-rs-7661399d455e.pde-rs-7661399d455e.pde-rs-7661399d455e{--swatch:#99f6e4}
:scope .pde-rs-d243498ffbab.pde-rs-d243498ffbab.pde-rs-d243498ffbab{--swatch:#164e63}
:scope .pde-rs-55bf71651bda.pde-rs-55bf71651bda.pde-rs-55bf71651bda{--swatch:#155e75}
:scope .pde-rs-9e1cc8d209cd.pde-rs-9e1cc8d209cd.pde-rs-9e1cc8d209cd{--swatch:#0e7490}
:scope .pde-rs-f6b9f9c256ad.pde-rs-f6b9f9c256ad.pde-rs-f6b9f9c256ad{--swatch:#0891b2}
:scope .pde-rs-0c75e037f4cd.pde-rs-0c75e037f4cd.pde-rs-0c75e037f4cd{--swatch:#06b6d4}
:scope .pde-rs-db44678f7654.pde-rs-db44678f7654.pde-rs-db44678f7654{--swatch:#22d3ee}
:scope .pde-rs-4a8dbbc8d01b.pde-rs-4a8dbbc8d01b.pde-rs-4a8dbbc8d01b{--swatch:#67e8f9}
:scope .pde-rs-e4dd375c0fb5.pde-rs-e4dd375c0fb5.pde-rs-e4dd375c0fb5{--swatch:#a5f3fc}
:scope .pde-rs-f47d3c341dd4.pde-rs-f47d3c341dd4.pde-rs-f47d3c341dd4{--swatch:#0c4a6e}
:scope .pde-rs-7c41decd67ba.pde-rs-7c41decd67ba.pde-rs-7c41decd67ba{--swatch:#075985}
:scope .pde-rs-f1acc9fb4973.pde-rs-f1acc9fb4973.pde-rs-f1acc9fb4973{--swatch:#0369a1}
:scope .pde-rs-ae7c8ea61336.pde-rs-ae7c8ea61336.pde-rs-ae7c8ea61336{--swatch:#0284c7}
:scope .pde-rs-1762963b2ddc.pde-rs-1762963b2ddc.pde-rs-1762963b2ddc{--swatch:#0ea5e9}
:scope .pde-rs-5ebeb62a47ce.pde-rs-5ebeb62a47ce.pde-rs-5ebeb62a47ce{--swatch:#38bdf8}
:scope .pde-rs-25b3632a0aff.pde-rs-25b3632a0aff.pde-rs-25b3632a0aff{--swatch:#7dd3fc}
:scope .pde-rs-06860397bf84.pde-rs-06860397bf84.pde-rs-06860397bf84{--swatch:#bae6fd}
:scope .pde-rs-9659a54996c4.pde-rs-9659a54996c4.pde-rs-9659a54996c4{--swatch:#1e3a8a}
:scope .pde-rs-f8bedb1a8e6f.pde-rs-f8bedb1a8e6f.pde-rs-f8bedb1a8e6f{--swatch:#1e40af}
:scope .pde-rs-83c0573e4d3d.pde-rs-83c0573e4d3d.pde-rs-83c0573e4d3d{--swatch:#1d4ed8}
:scope .pde-rs-f563783fdca0.pde-rs-f563783fdca0.pde-rs-f563783fdca0{--swatch:#2563eb}
:scope .pde-rs-64078cd5535b.pde-rs-64078cd5535b.pde-rs-64078cd5535b{--swatch:#3b82f6}
:scope .pde-rs-2ac7a7222a5d.pde-rs-2ac7a7222a5d.pde-rs-2ac7a7222a5d{--swatch:#60a5fa}
:scope .pde-rs-600adddb9270.pde-rs-600adddb9270.pde-rs-600adddb9270{--swatch:#93c5fd}
:scope .pde-rs-ce8630d09339.pde-rs-ce8630d09339.pde-rs-ce8630d09339{--swatch:#bfdbfe}
:scope .pde-rs-be37ae9b1c9a.pde-rs-be37ae9b1c9a.pde-rs-be37ae9b1c9a{--swatch:#312e81}
:scope .pde-rs-6af1efb1199b.pde-rs-6af1efb1199b.pde-rs-6af1efb1199b{--swatch:#3730a3}
:scope .pde-rs-d963810f218b.pde-rs-d963810f218b.pde-rs-d963810f218b{--swatch:#4338ca}
:scope .pde-rs-67d55008ce78.pde-rs-67d55008ce78.pde-rs-67d55008ce78{--swatch:#4f46e5}
:scope .pde-rs-6074e0f4247d.pde-rs-6074e0f4247d.pde-rs-6074e0f4247d{--swatch:#6366f1}
:scope .pde-rs-ccf3ab9de0c9.pde-rs-ccf3ab9de0c9.pde-rs-ccf3ab9de0c9{--swatch:#818cf8}
:scope .pde-rs-672dbbbd0d05.pde-rs-672dbbbd0d05.pde-rs-672dbbbd0d05{--swatch:#a5b4fc}
:scope .pde-rs-aa724a46ea71.pde-rs-aa724a46ea71.pde-rs-aa724a46ea71{--swatch:#c7d2fe}
:scope .pde-rs-2799aaa545f2.pde-rs-2799aaa545f2.pde-rs-2799aaa545f2{--swatch:#4c1d95}
:scope .pde-rs-269eb50d5ff4.pde-rs-269eb50d5ff4.pde-rs-269eb50d5ff4{--swatch:#5b21b6}
:scope .pde-rs-0cba0b3ea727.pde-rs-0cba0b3ea727.pde-rs-0cba0b3ea727{--swatch:#6d28d9}
:scope .pde-rs-9b8f66bd2447.pde-rs-9b8f66bd2447.pde-rs-9b8f66bd2447{--swatch:#7c3aed}
:scope .pde-rs-a3806b92b592.pde-rs-a3806b92b592.pde-rs-a3806b92b592{--swatch:#8b5cf6}
:scope .pde-rs-f287004e2efb.pde-rs-f287004e2efb.pde-rs-f287004e2efb{--swatch:#a78bfa}
:scope .pde-rs-380b82097cf2.pde-rs-380b82097cf2.pde-rs-380b82097cf2{--swatch:#c4b5fd}
:scope .pde-rs-4bd3ab8be43d.pde-rs-4bd3ab8be43d.pde-rs-4bd3ab8be43d{--swatch:#ddd6fe}
:scope .pde-rs-20c4dfbdae15.pde-rs-20c4dfbdae15.pde-rs-20c4dfbdae15{--swatch:#581c87}
:scope .pde-rs-278c54b1e096.pde-rs-278c54b1e096.pde-rs-278c54b1e096{--swatch:#6b21a8}
:scope .pde-rs-8f74ca70b372.pde-rs-8f74ca70b372.pde-rs-8f74ca70b372{--swatch:#7e22ce}
:scope .pde-rs-ce4c020e8749.pde-rs-ce4c020e8749.pde-rs-ce4c020e8749{--swatch:#9333ea}
:scope .pde-rs-87787a4bc3e8.pde-rs-87787a4bc3e8.pde-rs-87787a4bc3e8{--swatch:#a855f7}
:scope .pde-rs-4da30f07b373.pde-rs-4da30f07b373.pde-rs-4da30f07b373{--swatch:#c084fc}
:scope .pde-rs-1e401e6bff19.pde-rs-1e401e6bff19.pde-rs-1e401e6bff19{--swatch:#d8b4fe}
:scope .pde-rs-d92cca07ea9c.pde-rs-d92cca07ea9c.pde-rs-d92cca07ea9c{--swatch:#e9d5ff}
:scope .pde-rs-217ec53ec3b9.pde-rs-217ec53ec3b9.pde-rs-217ec53ec3b9{--swatch:#701a75}
:scope .pde-rs-a5d7c749e865.pde-rs-a5d7c749e865.pde-rs-a5d7c749e865{--swatch:#86198f}
:scope .pde-rs-141edeb10395.pde-rs-141edeb10395.pde-rs-141edeb10395{--swatch:#a21caf}
:scope .pde-rs-4436b25025ce.pde-rs-4436b25025ce.pde-rs-4436b25025ce{--swatch:#c026d3}
:scope .pde-rs-5f3a86ed375c.pde-rs-5f3a86ed375c.pde-rs-5f3a86ed375c{--swatch:#d946ef}
:scope .pde-rs-b5af9c6fb705.pde-rs-b5af9c6fb705.pde-rs-b5af9c6fb705{--swatch:#e879f9}
:scope .pde-rs-d71b98553b39.pde-rs-d71b98553b39.pde-rs-d71b98553b39{--swatch:#f0abfc}
:scope .pde-rs-65aa222e2c97.pde-rs-65aa222e2c97.pde-rs-65aa222e2c97{--swatch:#f5d0fe}
:scope .pde-rs-e1b10febba11.pde-rs-e1b10febba11.pde-rs-e1b10febba11{--swatch:#831843}
:scope .pde-rs-55faed3cbccc.pde-rs-55faed3cbccc.pde-rs-55faed3cbccc{--swatch:#9d174d}
:scope .pde-rs-d59906adb5cd.pde-rs-d59906adb5cd.pde-rs-d59906adb5cd{--swatch:#be185d}
:scope .pde-rs-a1bca96b352b.pde-rs-a1bca96b352b.pde-rs-a1bca96b352b{--swatch:#db2777}
:scope .pde-rs-ef7a9da7a746.pde-rs-ef7a9da7a746.pde-rs-ef7a9da7a746{--swatch:#ec4899}
:scope .pde-rs-4b57735e8dc8.pde-rs-4b57735e8dc8.pde-rs-4b57735e8dc8{--swatch:#f472b6}
:scope .pde-rs-542194b767cf.pde-rs-542194b767cf.pde-rs-542194b767cf{--swatch:#f9a8d4}
:scope .pde-rs-1f3869d2a9af.pde-rs-1f3869d2a9af.pde-rs-1f3869d2a9af{--swatch:#fbcfe8}
:scope .pde-rs-ded5c4960b6f.pde-rs-ded5c4960b6f.pde-rs-ded5c4960b6f{--swatch:#881337}
:scope .pde-rs-5eea7eb76e90.pde-rs-5eea7eb76e90.pde-rs-5eea7eb76e90{--swatch:#9f1239}
:scope .pde-rs-8829befd2dab.pde-rs-8829befd2dab.pde-rs-8829befd2dab{--swatch:#be123c}
:scope .pde-rs-f7d893ffd84c.pde-rs-f7d893ffd84c.pde-rs-f7d893ffd84c{--swatch:#e11d48}
:scope .pde-rs-afa6224ad7fb.pde-rs-afa6224ad7fb.pde-rs-afa6224ad7fb{--swatch:#f43f5e}
:scope .pde-rs-06bfd2ab232d.pde-rs-06bfd2ab232d.pde-rs-06bfd2ab232d{--swatch:#fb7185}
:scope .pde-rs-f56a5aa0f787.pde-rs-f56a5aa0f787.pde-rs-f56a5aa0f787{--swatch:#fda4af}
:scope .pde-rs-9e1a24627d99.pde-rs-9e1a24627d99.pde-rs-9e1a24627d99{--swatch:#fecdd3}
:scope .pde-rs-83891f2cbe98.pde-rs-83891f2cbe98.pde-rs-83891f2cbe98{--choice-color:var(--teal)}
:scope .pde-rs-e25c5b790368.pde-rs-e25c5b790368.pde-rs-e25c5b790368{--choice-color:var(--blue)}
:scope .pde-rs-1be4c1d75c0e.pde-rs-1be4c1d75c0e.pde-rs-1be4c1d75c0e{color:#d7374f}
:scope .pde-rs-5806b67a3923.pde-rs-5806b67a3923.pde-rs-5806b67a3923{color:#d7374f}
:scope .pde-rs-75ea9c50c636.pde-rs-75ea9c50c636.pde-rs-75ea9c50c636{--choice-color:#1769e0}
:scope .pde-rs-ba3d81d5c7aa.pde-rs-ba3d81d5c7aa.pde-rs-ba3d81d5c7aa{--choice-color:#7b55d9}
:scope .pde-rs-864d76b54fc1.pde-rs-864d76b54fc1.pde-rs-864d76b54fc1{--cat-color:#d89a12}
:scope .pde-rs-0cdb88f65705.pde-rs-0cdb88f65705.pde-rs-0cdb88f65705{--cat-color:#1769e0}
:scope .pde-rs-0eb3fa4da184.pde-rs-0eb3fa4da184.pde-rs-0eb3fa4da184{--cat-color:#8b55d9}
:scope .pde-rs-048b1a0dc00e.pde-rs-048b1a0dc00e.pde-rs-048b1a0dc00e{--cat-color:#2da65a}
:scope .pde-rs-c762a76b143a.pde-rs-c762a76b143a.pde-rs-c762a76b143a{--cat-color:#e05b5b}
:scope .pde-rs-f4b74615cf7d.pde-rs-f4b74615cf7d.pde-rs-f4b74615cf7d{--cat-color:#dc7a2d}
:scope .pde-rs-67816da2421b.pde-rs-67816da2421b.pde-rs-67816da2421b{--tone-color:#1769e0}
:scope .pde-rs-8cc8daa76d67.pde-rs-8cc8daa76d67.pde-rs-8cc8daa76d67{--tone-color:#2da65a}
:scope .pde-rs-462dd8f6a95d.pde-rs-462dd8f6a95d.pde-rs-462dd8f6a95d{--tone-color:#dc4c4c}
:scope .pde-rs-b09b6f666265.pde-rs-b09b6f666265.pde-rs-b09b6f666265{--tone-color:#f2b01e}
:scope .pde-rs-1d9f1cce3101.pde-rs-1d9f1cce3101.pde-rs-1d9f1cce3101{--choice-color:#2da65a}
:scope .pde-rs-30872f563622.pde-rs-30872f563622.pde-rs-30872f563622{--choice-color:#dc4c4c}
:scope .pde-rs-975df62dbb78.pde-rs-975df62dbb78.pde-rs-975df62dbb78{color:#d7374f}
:scope .pde-rs-075173e142e5.pde-rs-075173e142e5.pde-rs-075173e142e5{display:inline-block;margin-top:6px;padding:8px 16px;background:#1da1c2;color:#ffffff !important;text-decoration:none;border-radius:999px;font-size:13px;font-family:Arial,Helvetica,sans-serif;}
:scope .pde-rs-08b87ee77d2e.pde-rs-08b87ee77d2e.pde-rs-08b87ee77d2e{color:#22c55e}
:scope .pde-rs-6a83595de165.pde-rs-6a83595de165.pde-rs-6a83595de165{border:1px solid rgba(34,197,94,.6)}
:scope .pde-rs-1f4d85255a87.pde-rs-1f4d85255a87.pde-rs-1f4d85255a87{display:inline-block;margin-top:6px;padding:8px 16px;background:#22c55e;color:#ffffff !important;text-decoration:none;border-radius:999px;font-size:13px;font-family:Arial,Helvetica,sans-serif;}
:scope .pde-rs-a5c01271cf97.pde-rs-a5c01271cf97.pde-rs-a5c01271cf97{color:#f59e0b}
:scope .pde-rs-e1f65f0b0bb8.pde-rs-e1f65f0b0bb8.pde-rs-e1f65f0b0bb8{border:1px solid rgba(245,158,11,.6)}
:scope .pde-rs-fb5096f9f568.pde-rs-fb5096f9f568.pde-rs-fb5096f9f568{display:inline-block;margin-top:6px;padding:8px 16px;background:#f59e0b;color:#ffffff !important;text-decoration:none;border-radius:999px;font-size:13px;font-family:Arial,Helvetica,sans-serif;}
:scope .pde-rs-00e932c4314f.pde-rs-00e932c4314f.pde-rs-00e932c4314f{position:sticky;top:0;z-index:9999;padding:12px 16px;background:#162433;color:#fff;font:14px Arial,sans-serif;text-align:center}
:scope .pde-rs-6045b6176429.pde-rs-6045b6176429.pde-rs-6045b6176429{display:inline-flex;align-items:center;gap:10px;margin:0}
:scope .pde-rs-acc6df93bb21.pde-rs-acc6df93bb21.pde-rs-acc6df93bb21{border:0;border-radius:7px;padding:9px 14px;background:#0d95a8;color:#fff;font-weight:700;cursor:pointer}
:scope .pde-rs-c4e088d067db.pde-rs-c4e088d067db.pde-rs-c4e088d067db{margin:0;padding:10px;background:#dcfce7;color:#166534;font:14px Arial,sans-serif;text-align:center}
:scope .pde-rs-a744d3862f21.pde-rs-a744d3862f21.pde-rs-a744d3862f21{margin:0;padding:10px;background:#fee2e2;color:#991b1b;font:14px Arial,sans-serif;text-align:center}
:scope .pde-rs-5a91de0817e2.pde-rs-5a91de0817e2.pde-rs-5a91de0817e2{margin:0;padding:32px;background:#f4f7f6;font-family:Arial,sans-serif;color:#334155}
:scope .pde-rs-ed06619407a3.pde-rs-ed06619407a3.pde-rs-ed06619407a3{max-width:680px;margin:auto;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px}
:scope .pde-rs-3e930945596c.pde-rs-3e930945596c.pde-rs-3e930945596c{font-size:22px;margin-top:0;color:#dc2626}
:scope .pde-rs-4984ce377b3d.pde-rs-4984ce377b3d.pde-rs-4984ce377b3d{position:absolute;top:0;right:0;z-index:3;width:124px;height:124px;object-fit:contain;object-position:top right;pointer-events:none}
:scope .pde-rs-5ecce5ab10be.pde-rs-5ecce5ab10be.pde-rs-5ecce5ab10be{display:inline-block;padding:12px 18px;background:#289dcc;color:#fff;text-decoration:none;border-radius:8px;font-weight:700;}
:scope .pde-rs-a3f09beee2f8.pde-rs-a3f09beee2f8.pde-rs-a3f09beee2f8{display:none;}
:scope .pde-rs-79487e4b86a8.pde-rs-79487e4b86a8.pde-rs-79487e4b86a8{display:flex;align-items:center;gap:12px;}
:scope .pde-rs-3b85a8c8acc5.pde-rs-3b85a8c8acc5.pde-rs-3b85a8c8acc5{margin:0;flex:0 0 auto;}
:scope .pde-rs-dc857d94a1f1.pde-rs-dc857d94a1f1.pde-rs-dc857d94a1f1{flex:1 1 auto;}
:scope .pde-rs-2a2ffeeecdd0.pde-rs-2a2ffeeecdd0.pde-rs-2a2ffeeecdd0{display:flex;flex-direction:column;gap:8px;}
:scope .pde-rs-895964c957de.pde-rs-895964c957de.pde-rs-895964c957de{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0 16px;}
:scope .pde-rs-6945c4770ed8.pde-rs-6945c4770ed8.pde-rs-6945c4770ed8{font-family:Arial,sans-serif;padding:24px}
:scope .pde-rs-982ad1672b96.pde-rs-982ad1672b96.pde-rs-982ad1672b96{white-space:pre-wrap;background:#f6f8fa;padding:12px;border:1px solid #d0d7de;border-radius:8px}
:scope .pde-rs-fe22d2bad307.pde-rs-fe22d2bad307.pde-rs-fe22d2bad307{margin-bottom:8px}
:scope .pde-rs-e392cc9bb8e8.pde-rs-e392cc9bb8e8.pde-rs-e392cc9bb8e8{text-decoration:none}
:scope .pde-rs-aa13ef11eb97.pde-rs-aa13ef11eb97.pde-rs-aa13ef11eb97{margin:10px auto 0;width:min(100%,520px)}
:scope .pde-rs-fba561c46f12.pde-rs-fba561c46f12.pde-rs-fba561c46f12{gap:10px;align-items:flex-start}
:scope .pde-rs-74be9b92560f.pde-rs-74be9b92560f.pde-rs-74be9b92560f{flex:1;min-width:170px}
:scope .pde-rs-f9c06e04ae8d.pde-rs-f9c06e04ae8d.pde-rs-f9c06e04ae8d{cursor:default}
:scope .pde-rs-ffac5fd45e70.pde-rs-ffac5fd45e70.pde-rs-ffac5fd45e70{margin:0}
:scope .pde-rs-4fd7c0aab92a.pde-rs-4fd7c0aab92a.pde-rs-4fd7c0aab92a{margin-top:12px}
:scope .pde-rs-b83b7a0b22a0.pde-rs-b83b7a0b22a0.pde-rs-b83b7a0b22a0{display:block;margin:16px auto 0;width:min(100%,560px)}
:scope .pde-rs-e14ad249c345.pde-rs-e14ad249c345.pde-rs-e14ad249c345{display:flex;justify-content:center;margin-top:16px}
:scope .pde-rs-4d38aae324f8.pde-rs-4d38aae324f8.pde-rs-4d38aae324f8{white-space:nowrap;text-decoration:none}
:scope .pde-rs-afbbb9cce03f.pde-rs-afbbb9cce03f.pde-rs-afbbb9cce03f{text-align:center}
:scope .pde-rs-8169ad28819f.pde-rs-8169ad28819f.pde-rs-8169ad28819f{display:none}
:scope .pde-rs-486a4b84fff3.pde-rs-486a4b84fff3.pde-rs-486a4b84fff3{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px}
:scope .pde-rs-4789feae4345.pde-rs-4789feae4345.pde-rs-4789feae4345{background:#fff;color:#0f7fb2;display:none}
:scope .pde-rs-5b4e2e135c0f.pde-rs-5b4e2e135c0f.pde-rs-5b4e2e135c0f{gap:8px}
:scope .pde-rs-3bc82f64aca2.pde-rs-3bc82f64aca2.pde-rs-3bc82f64aca2{display:none;text-decoration:none}
:scope .pde-rs-e4f44efaf1cf.pde-rs-e4f44efaf1cf.pde-rs-e4f44efaf1cf{background:#fff;color:#c63b3b;border:1px solid #c63b3b}
:scope .pde-rs-bb051e37246b.pde-rs-bb051e37246b.pde-rs-bb051e37246b{background:#c63b3b}
:scope .pde-rs-0c425b3b1186.pde-rs-0c425b3b1186.pde-rs-0c425b3b1186{flex:1}
:scope .pde-rs-d40bc497d444.pde-rs-d40bc497d444.pde-rs-d40bc497d444{margin:0;padding-left:18px;}
:scope .pde-rs-59bf30831669.pde-rs-59bf30831669.pde-rs-59bf30831669{margin:14px 0 0;font-size:1.25rem;}
:scope .pde-rs-56da6a628a64.pde-rs-56da6a628a64.pde-rs-56da6a628a64{margin-bottom:10px;}
:scope .pde-rs-c9bef4101332.pde-rs-c9bef4101332.pde-rs-c9bef4101332{margin-top:18px;}
:scope .pde-rs-cd53558552d4.pde-rs-cd53558552d4.pde-rs-cd53558552d4{margin-top:18px}
:scope .pde-rs-3b59bbccbcb6.pde-rs-3b59bbccbcb6.pde-rs-3b59bbccbcb6{margin-top:14px}
:scope .pde-rs-7f929a19ea27.pde-rs-7f929a19ea27.pde-rs-7f929a19ea27{display:flex;gap:6px;margin-top:8px}
:scope .pde-rs-d74362d3fe69.pde-rs-d74362d3fe69.pde-rs-d74362d3fe69{margin-top:6px}
:scope .pde-rs-af911bc332b9.pde-rs-af911bc332b9.pde-rs-af911bc332b9{margin-top:10px;font-size:13px}
:scope .pde-rs-817e57be2cdd.pde-rs-817e57be2cdd.pde-rs-817e57be2cdd{margin-top:16px}
:scope .pde-rs-a5f522a99a2b.pde-rs-a5f522a99a2b.pde-rs-a5f522a99a2b{margin-top:10px;text-align:right}
:scope .pde-rs-c85d4ab34964.pde-rs-c85d4ab34964.pde-rs-c85d4ab34964{background:#0796a0}
:scope .pde-rs-da8e32fa6651.pde-rs-da8e32fa6651.pde-rs-da8e32fa6651{background:#ffbe20}
:scope .pde-rs-91c245a8df60.pde-rs-91c245a8df60.pde-rs-91c245a8df60{background:#f32638}
:scope .pde-rs-b946b9238d08.pde-rs-b946b9238d08.pde-rs-b946b9238d08{--control-color:#ffbe20}
:scope .pde-rs-e3a033366351.pde-rs-e3a033366351.pde-rs-e3a033366351{--control-color:#f32638}
:scope .pde-rs-56454b1a7376.pde-rs-56454b1a7376.pde-rs-56454b1a7376{--control-color:#7c4dff}
:scope .pde-rs-1ebecab0dee7.pde-rs-1ebecab0dee7.pde-rs-1ebecab0dee7{--control-color:#40556a}
:scope .pde-rs-2b427ffa471d.pde-rs-2b427ffa471d.pde-rs-2b427ffa471d{display:none}
:scope .pde-rs-7f9c8ae72a95.pde-rs-7f9c8ae72a95.pde-rs-7f9c8ae72a95{display:none}
:scope .pde-rs-ea3d1473a417.pde-rs-ea3d1473a417.pde-rs-ea3d1473a417{margin-top:8px}
:scope .pde-rs-eab0f1ec02b5.pde-rs-eab0f1ec02b5.pde-rs-eab0f1ec02b5{max-width:520px}
:scope .pde-rs-2dbd554f43d6.pde-rs-2dbd554f43d6.pde-rs-2dbd554f43d6{padding:8px 10px;border-radius:8px}
:scope .pde-rs-3cad1c578e8b.pde-rs-3cad1c578e8b.pde-rs-3cad1c578e8b{margin:0 0 10px}
:scope .pde-rs-b66d1715cec1.pde-rs-b66d1715cec1.pde-rs-b66d1715cec1{margin-top:12px}
:scope .pde-rs-733d96644be5.pde-rs-733d96644be5.pde-rs-733d96644be5{display:none;margin-top:10px}
:scope .pde-rs-d6ccfb6c89a8.pde-rs-d6ccfb6c89a8.pde-rs-d6ccfb6c89a8{max-width:420px}
:scope .pde-rs-b4652b151b5c.pde-rs-b4652b151b5c.pde-rs-b4652b151b5c{margin:8px 0 16px;font-weight:700}
:scope .pde-rs-8304515370bf.pde-rs-8304515370bf.pde-rs-8304515370bf{justify-content:flex-end}
:scope .pde-rs-dfacffb388bf.pde-rs-dfacffb388bf.pde-rs-dfacffb388bf{min-width:0}
:scope .pde-rs-7ff103ede7a3.pde-rs-7ff103ede7a3.pde-rs-7ff103ede7a3{display:inline-block;width:728px;height:90px}
:scope .pde-rs-fc0dcd209267.pde-rs-fc0dcd209267.pde-rs-fc0dcd209267{display:flex;justify-content:center;margin:12px 0}

:scope .pde-premium-progress-value.pde-premium-progress-value.pde-premium-progress-value{width:var(--pde-premium-progress)}
.dot{background:var(--pde-crypto-color)}

.pde-todo-parent-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.55);z-index:2147483000;pointer-events:none}


:scope {
	--ink: #17324d;
	--muted: #71839b;
	--line: #e4edf5;
	--surface: #fff;
	--soft: #f5fafc;
	--brand: #0798b3;
	--brand-dark: #078ca6;
	--shadow: 0 2px 10px rgba(23,50,77, .045);
	--radius: 20px;
	--block-gap: 9px;
}

* { box-sizing: border-box; }
:scope { min-width: 320px; background: #f5fafc; }
:scope {
	margin: 0;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 13px;
	color: var(--ink);
	background: #f5fafc;
}
button, input, select { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }
svg { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.app { width: min(1680px, 100%); margin: 0 auto; padding: 10px clamp(8px, 1.4vw, 20px) 18px; }
.app-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 0;
	padding: 9px 12px;
	border: 0;
	border-bottom: 1px solid var(--line);
	border-left: 0;
	border-radius: 0;
	background: rgba(255, 255, 255, .94);
	box-shadow: none;
}
.app-header__identity, .app-header__actions, .card__head, .timetable-card__head, .modal__head, .modal__actions { display: flex; align-items: center; }
.app-header__identity { min-width: 0; gap: 10px; }
.app-header__mark {
	display: grid;
	place-items: center;
	flex: 0 0 38px;
	height: 38px;
	border-radius: 50%;
	color: var(--brand);
	background: #eaf9fc;
}
.app-header__mark svg { width: 21px; height: 21px; }
.app-header h1 { overflow: hidden; margin: 1px 0 0; font-size: clamp(16px, 1.65vw, 22px); white-space: nowrap; text-overflow: ellipsis; }
.schedule-selector { display: inline-flex; min-width: 0; }
.schedule-selector select { min-height: 34px; max-width: 190px; padding: 6px 28px 6px 9px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #fff; font-size: 12px; font-weight: 700; }
.eyebrow { margin: 0; color: var(--brand-dark); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.app-header__actions { gap: 7px; }

.button, .icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 34px;
	border: 0;
	border-radius: 11px;
	font-weight: 700;
	cursor: pointer;
	transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.button { padding: 7px 11px; }
.button:hover, .icon-button:hover { transform: translateY(-1px); }
.button:focus-visible, .icon-button:focus-visible, .subject-chip:focus-visible, .slot:focus-visible { outline: 3px solid rgba(18, 149, 173, .24); outline-offset: 2px; }
.button--primary { color: #fff; background: var(--brand); box-shadow: 0 4px 12px rgba(18, 149, 173, .2); }
.button--primary:hover { background: var(--brand-dark); }
.button--soft { color: #334155; background: #edf2f7; }
.button--danger { color: #b4233a; background: #fff0f2; }
.icon-button { width: 30px; min-height: 30px; padding: 0; border: 1px solid var(--line); background: #fff; font-size: 19px; }
.save-status { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; padding: 7px; border-radius: 11px; color: #b4233a; background: #fff0f2; }
.save-status__icon { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.save-status.is-saving { color: #b4233a; background: #fff0f2; }
.save-status.is-saving .save-status__icon { animation: pulse 1s infinite; }
.save-status.pde-inline-loading .save-status__icon { display: none; }
.save-status.is-saved { color: #16834a; background: #eaf8f0; }
.save-status.is-error { color: #b4233a; background: #fff0f2; }
@keyframes pulse { 50% { opacity: .35; } }

.workspace { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--block-gap); }
.card { border: 1px solid rgba(203, 213, 225, .78); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.control-panel { width: 100%; min-width: 0; overflow: hidden; }
.control-panel__tools { display: grid; width: 100%; min-width: 0; }
.subject-card, .totals-card { width: 100%; min-width: 0; padding: 12px; }
.subject-card { border-top: 1px solid var(--line); }
.official-hours-link { display: inline-flex; align-items: center; min-height: 24px; margin-top: 0; padding: 3px 6px; border: 1px solid color-mix(in srgb, #7a4fd0 35%, white); border-radius: 8px; color: #6339b5; background: color-mix(in srgb, #7a4fd0 8%, white); font-size: 8px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.official-hours-link:hover { background: color-mix(in srgb, #7a4fd0 14%, white); }
.app-header__identity { min-width: 0; }
.app-header__identity .app-header__mark { display: none; }
.app-header__identity:empty { display: none; }
.button--danger svg { width: 1.15em; height: 1.15em; stroke-width: 1.9; }
.totals-card { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 14px; }
.totals-card__overview { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.totals-card__heading { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 5px 6px; }
.totals-card__heading h2 { margin: 0; font-size: 13px; }
.totals-card__icon { display: inline-grid; flex: 0 0 18px; place-items: center; width: 18px; height: 18px; color: #527ba3; }
.totals-card__icon svg { width: 17px; height: 17px; stroke-width: 1.8; }
.subject-card { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 8px; }
.subjects { grid-column: 1 / -1; }
.schedule-workspace { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(245px, 300px); align-items: stretch; gap: var(--block-gap); }
.timetable-card { min-width: 0; }
.card__head { justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.card h2 { margin: 1px 0 0; font-size: 15px; }
.compact-hint, .grid-help { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.compact-hint { margin-bottom: 8px; }

.subjects { display: grid; grid-column: 1 / -1; grid-template-columns: calc((100% - 44px) / 12) repeat(auto-fit, minmax(46px, 1fr)); gap: 4px; padding: 0; overflow: visible; }
.subject-chip {
	position: relative;
	display: grid;
	grid-template-rows: 24px minmax(0, 1fr);
	place-items: center;
	gap: 2px;
	width: 100%;
	min-width: 0;
	height: 52px;
	padding: 4px 3px 3px;
	border: 1px solid var(--line);
	border: 1px solid var(--subject-color);
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 1px 4px rgba(15, 23, 42, .04);
	text-align: center;
	cursor: pointer;
	touch-action: none;
	user-select: none;
	transition: background .14s ease, border-color .14s ease, transform .14s ease;
}
.subject-chip:hover { transform: translateY(-1px); }
.subject-chip.is-selected { border-color: var(--subject-color); background: color-mix(in srgb, var(--subject-color) 8%, white); box-shadow: 0 0 0 2px color-mix(in srgb, var(--subject-color) 18%, transparent); }
.subject-chip--level { display: flex; flex-direction: column; gap: 2px; padding: 3px; background: #f8fafc; cursor: default; touch-action: auto; }
.subject-chip--level:hover { transform: none; }
.school-type__option { flex: 1; min-height: 0; width: 100%; padding: 2px; border: 0; border-radius: 5px; color: var(--muted); background: transparent; font: inherit; font-size: 7.5px; font-weight: 700; line-height: 1; cursor: pointer; }
.school-type__option.is-active { color: #fff; background: var(--brand); }
.subject-chip__icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: var(--subject-color); background: color-mix(in srgb, var(--subject-color) 11%, white); font-weight: 800; }
.subject-chip__icon svg { width: 15px; height: 15px; stroke-width: 1.8; }
.subject-chip__text { min-width: 0; width: 100%; }
.subject-chip__text strong { display: -webkit-box; overflow: hidden; font-size: 8.5px; line-height: 1.08; white-space: normal; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.subject-chip__text small { color: var(--muted); font-size: 9px; }

.timetable-card { min-width: 0; overflow: hidden; border-color: #dce4ec; border-radius: 18px; box-shadow: 0 8px 24px rgba(15, 23, 42, .07); }
.timetable-card__head { justify-content: space-between; gap: 8px; min-height: 42px; padding: 7px 10px; border-bottom: 1px solid var(--line); }
.week-summary { color: #334155; font-size: 10px; font-weight: 700; }
.legend { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 9px; }
.legend span { display: inline-flex; align-items: center; gap: 4px; }
.legend i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; }
.legend__dot { background: var(--brand); }
.legend__break { background: #e5e9ee; }
.legend__lunch { background: #dce2e8; }
.schedule-scroll { max-width: 100%; height: auto; max-height: none; padding-bottom: 10px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; }
.schedule-grid { position: relative; display: grid; min-width: 632px; isolation: isolate; background: #fff; }
.grid-corner, .day-header { position: sticky; top: 0; z-index: 7; display: grid; place-items: center; border-right: 1px solid #dce4ec; border-bottom: 1px solid #d5dee8; }
.grid-corner { left: 0; z-index: 9; background: linear-gradient(135deg, #fbfcfe, #f5f8fb); }
.day-header { gap: 2px; padding: 7px 5px 6px; color: var(--day-color); background: color-mix(in srgb, var(--day-color) 7%, white); font-size: 12px; font-weight: 800; }
.day-header__title { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.day-header__title svg { width: 17px; height: 17px; stroke-width: 1.9; }
.day-header__title strong { font-size: 12px; line-height: 1; }
.day-header small { display: block; margin-top: 1px; color: #415169; font-size: 8px; font-weight: 600; }
.day-header.is-nonworking { color: #7b8797; background: #f1f4f7; }
.day-header.is-nonworking small { color: #98a3b2; }
.time-label {
	position: sticky;
	left: 0;
	z-index: 5;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 3px 2px;
	border-right: 1px solid #d5dee8;
	border-bottom: 1px solid #e8edf2;
	color: #334155;
	background: #fbfcfe;
	font-size: 9px;
	font-weight: 650;
	white-space: nowrap;
}
.time-label__time { font-size: 8.5px; font-variant-numeric: tabular-nums; text-align: center; }
.time-label--recess { color: #6740ad; background: #faf8ff; }
.time-label--lunch { color: #258244; background: #f7fbf7; }
.slot { z-index: 1; min-width: 0; padding: 0; border: 0; border-right: 1px solid #e3e9ef; border-bottom: 1px dashed #e8edf2; background: #fff; cursor: crosshair; }
.slot:nth-of-type(2n) { border-bottom-color: #dde5ed; }
.slot:hover { z-index: 2; background: rgba(18, 149, 173, .09); }
.slot.is-drop-target { z-index: 3; background: rgba(18, 149, 173, .2); box-shadow: inset 0 0 0 2px var(--brand); }
.slot.is-unavailable { background: #f5f7f9; border-bottom-color: #edf1f4; cursor: not-allowed; }
.slot.is-unavailable:hover { background: #f5f7f9; }
.slot.is-recess { background: linear-gradient(90deg, #faf8ff, #f5f1fc); border-bottom-color: #ebe4f7; cursor: not-allowed; }
.slot.is-lunch { background: linear-gradient(90deg, #f7fbf7, #edf7ef); border-bottom-color: #dceee0; cursor: not-allowed; }
.slot__pause-icon { display: grid; place-items: center; width: 100%; height: 100%; pointer-events: none; }
.slot__pause-icon svg { width: 23px; height: 23px; stroke-width: 1.7; }
.slot__pause-icon--recess { color: #7447bf; }
.slot__pause-icon--lunch { color: #2e9348; }
.event {
	position: relative;
	z-index: 4;
	min-width: 0;
	min-height: 0;
	margin: 1px 2px;
	padding: 3px 5px;
	border: 1px solid color-mix(in srgb, var(--event-color) 70%, #fff);
	border-radius: 7px;
	color: #162033;
	background: color-mix(in srgb, var(--event-color) 16%, white);
	box-shadow: 0 2px 7px rgba(15, 23, 42, .09);
	overflow: hidden;
	cursor: grab;
	touch-action: none;
	user-select: none;
}
.event:active { cursor: grabbing; }
.event.is-split { width: calc(50% - 3px); }
.event.is-split-left { justify-self: start; margin-right: 0; }
.event.is-split-right { justify-self: end; margin-left: 0; }
.event.is-dragging { opacity: .78; transform: none; box-shadow: 0 12px 28px rgba(15, 23, 42, .28); }
.event.is-resizing { opacity: .76; box-shadow: 0 8px 20px rgba(15, 23, 42, .2); }
.event.is-invalid-target { overflow: visible; cursor: not-allowed; }
.event.is-invalid-target::before { content: "⛔"; position: absolute; inset: 50% auto auto 50%; z-index: 10; transform: translate(-50%, -50%); font-size: 24px; line-height: 1; filter: drop-shadow(0 1px 2px rgba(255, 255, 255, .9)); pointer-events: none; }
.is-palette-dragging .event { pointer-events: none; }
.drag-preview { z-index: 8; display: grid; place-items: center; min-width: 0; margin: 1px 2px; border: 2px solid var(--brand); border-radius: 7px; background: rgba(18, 149, 173, .2); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); pointer-events: none; }
.drag-preview.is-invalid { border-color: #dc3545; background: rgba(220, 53, 69, .18); color: #b4233a; font-size: 22px; }
.event__resize { position: absolute; left: 50%; z-index: 6; width: 48px; height: 14px; transform: translateX(-50%); cursor: ns-resize; touch-action: none; }
.event__resize::after { content: ""; position: absolute; left: 50%; top: 50%; width: 28px; height: 4px; transform: translate(-50%, -50%); border-radius: 99px; background: #fff; box-shadow: 0 0 0 1px rgba(15, 23, 42, .2), 0 1px 2px rgba(15, 23, 42, .18); }
.event__resize--top { top: -6px; }
.event__resize--bottom { bottom: -6px; }
.event strong, .event small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.event strong { font-size: 9px; line-height: 1.15; }
.event small { margin-top: 2px; color: #475569; font-size: 7.5px; }
.event.is-single-slot { display: flex; align-items: center; justify-content: center; gap: 3px; }
.event.is-single-slot strong { min-width: 0; }
.event.is-single-slot small { flex: 0 0 auto; margin-top: 0; }
.event.is-minute-compact { padding-block: 0; }
.event.is-minute-compact small, .event.is-minute-compact .event__resize { display: none; }
.event.is-minute-compact strong { font-size: 8px; line-height: 1; }
.event.is-minute-tiny { padding: 0 3px; border-top-width: 0; border-bottom-width: 0; border-radius: 3px; }
.event.is-minute-tiny strong, .event.is-minute-tiny small, .event.is-minute-tiny .event__resize { display: none; }
.subject-chip.is-dragging { opacity: .65; transform: scale(.98); cursor: grabbing; }
.palette-drag-preview { position: fixed; z-index: 200; max-width: min(280px, calc(100vw - 16px)); margin: 0; opacity: .94; transform: scale(1.03); box-shadow: 0 14px 32px rgba(15, 23, 42, .28); pointer-events: none; }
.grid-help { padding: 6px 10px 7px; border-top: 1px solid var(--line); text-align: center; }

.total-ring { --progress: 0%; position: relative; display: grid; place-items: center; width: 94px; height: 94px; margin: 8px auto 10px; border-radius: 50%; background: conic-gradient(var(--brand) var(--progress), #e9f6f8 0); text-align: center; }
.total-ring::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: #fff; }
.total-ring__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: calc(100% - 18px); min-width: 0; max-width: 70px; text-align: center; }
.total-ring__content strong { display: block; color: var(--ink); font-size: 17px; line-height: 1; white-space: nowrap; }
.total-ring__content small { display: block; color: var(--muted); font-size: 8px; line-height: 1; white-space: nowrap; }
.totals-summary { display: grid; grid-template-columns: 1fr; gap: 6px; margin: 0; }
.totals-summary > div { padding: 8px; border-radius: 10px; background: var(--soft); text-align: center; }
.totals-summary strong { display: block; font-size: 12px; }
.totals-summary span { color: var(--muted); font-size: 9px; }
.subject-totals { display: grid; align-content: start; gap: 0; }
.subject-totals > .compact-hint { padding-top: 4px; }
.volume-row { --subject-color: #64748b; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 3px 8px; padding: 8px 2px; border-top: 1px solid var(--line); }
.volume-row__icon { display: grid; grid-row: 1 / span 2; place-items: center; width: 26px; height: 26px; border-radius: 8px; color: var(--subject-color); background: color-mix(in srgb, var(--subject-color) 10%, white); }
.volume-row__icon svg { width: 15px; height: 15px; stroke-width: 1.9; }
.volume-row__top { display: flex; justify-content: space-between; gap: 6px; margin: 0 0 3px; font-size: 9px; line-height: 1.2; }
.volume-row__top span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.volume-row__top strong { flex: none; }
.volume-row__bar { height: 4px; overflow: hidden; border-radius: 99px; background: #edf1f5; }
.volume-row__bar i { display: block; width: var(--volume); height: 100%; border-radius: inherit; background: var(--subject-color); }

label { display: grid; gap: 4px; color: #334155; font-size: 10px; font-weight: 700; }
input, select { width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 9px; color: var(--ink); background: #fff; }
input:focus, select:focus { outline: 3px solid rgba(18, 149, 173, .14); border-color: var(--brand); }
input[type="color"] { padding: 3px; }
.modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 12px; }
.modal__backdrop { position: fixed; inset: 0; background: rgba(15, 23, 42, .5); backdrop-filter: blur(3px); }
.modal__panel { position: relative; width: min(540px, 100%); max-height: calc(100vh - 24px); overflow: auto; border: 1px solid rgba(255,255,255,.75); border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(15,23,42,.28); }
.modal__panel--wide { width: min(1040px, 100%); }
.modal__head { position: sticky; top: 0; z-index: 2; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); }
.modal__head h2 { margin: 2px 0 0; font-size: 17px; }
.modal form { display: grid; gap: 12px; padding: 14px; }
.meta-fields { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.shared-schedule { display: grid; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; }
.shared-schedule__intro { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.shared-schedule__intro > div { display: grid; gap: 2px; }
.shared-schedule__intro > div strong { font-size: 12px; }
.shared-schedule__intro > div span { color: var(--muted); font-size: 9px; }
.working-days { display: grid; grid-template-columns: repeat(auto-fit, minmax(74px, 1fr)); gap: 5px; flex: 1; }
.schedule-toggle { display: flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; padding: 5px 6px; border: 1px solid #bde3e9; border-radius: 9px; background: #eefbfc; cursor: pointer; }
.schedule-toggle input { flex: 0 0 15px; width: 15px; min-height: 15px; accent-color: var(--brand); }
.schedule-toggle strong { color: var(--ink); font-size: 9px; white-space: nowrap; }
.schedule-groups { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.schedule-group { padding: 8px; border: 1px solid var(--line); border-left: 3px solid var(--brand); border-radius: 10px; background: #fff; }
.schedule-group:nth-child(2), .schedule-group:nth-child(4) { border-left-color: #7a4fd0; }
.schedule-group h3 { margin: 0 0 6px; font-size: 9px; }
.schedule-group > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.schedule-group label { font-size: 8px; }
.schedule-group input { min-height: 31px; padding: 4px; font-size: 10px; }
.schedule-step-note { margin: 0; color: var(--muted); font-size: 8px; text-align: right; }
.day-config { padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.day-config:not(.is-enabled) .day-config__times { opacity: .45; pointer-events: none; }
.day-config__toggle { display: flex; grid-column: 1 / -1; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 11px; }
.day-config__toggle input { width: 16px; min-height: 16px; }
.day-config__times { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.day-config__times h3 { grid-column: 1 / -1; margin: 5px 0 0; color: var(--muted); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.day-config__morning-only { grid-column: 1 / -1; margin: 8px 0 0; padding: 7px; border-radius: 8px; color: #64748b; background: #edf2f7; font-size: 8px; font-weight: 700; text-align: center; }
.day-config__times label { font-size: 8px; }
.day-config__times input { min-height: 29px; padding: 4px; font-size: 10px; }
.form-row { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 7px; }
.form-help { margin: -5px 0 0; color: var(--muted); font-size: 9px; }
.modal__actions { justify-content: flex-end; gap: 7px; padding-top: 3px; }
.modal__actions--split { display: grid; grid-template-columns: auto 1fr auto auto; }
.event-modal { width: min(680px, 100%); border-radius: 18px; }
.event-modal__head { display: grid; grid-template-columns: 38px 1fr 32px; gap: 10px; padding: 12px 16px; }
.event-modal__head > div { align-self: center; }
.event-modal__head h2 { margin: 2px 0 0; font-size: 18px; line-height: 1.05; }
.event-modal__head .eyebrow { color: #078da4; font-size: 11px; }
.event-modal__title-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #078da4; background: #eaf9fc; }
.event-modal__title-icon svg { width: 22px; height: 22px; stroke-width: 1.9; }
.event-modal__close { width: 32px; min-height: 32px; border-radius: 9px; font-size: 20px; }
.event-modal__close svg { width: 18px; height: 18px; stroke-width: 2.2; }
.modal .event-modal__form { gap: 0; padding: 0; }
.event-modal__primary { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1.05fr); gap: 10px; padding: 14px 16px 8px; }
.event-modal__primary .event-field:first-child { padding-right: 10px; border-right: 1px solid #e2e8f0; }
.event-color-picker { position: relative; min-width: 0; }
.event-color-trigger { display: grid; place-items: center; width: 100%; min-height: 44px; padding: 5px; border: 1px solid #d7dee7; border-radius: 14px; background: #fff; cursor: pointer; }
.event-color-trigger > span { width: 28px; height: 28px; border: 3px solid #fff; border-radius: 50%; background: var(--selected-color, #64748b); box-shadow: 0 0 0 1px #cbd5e1, 0 3px 9px rgba(15,23,42,.16); }
.event-color-palette { position: absolute; z-index: 8; top: calc(100% + 7px); left: 50%; display: grid; grid-template-columns: repeat(8, 27px); gap: 7px; width: max-content; max-height: 310px; overflow-y: auto; padding: 10px; border: 1px solid #dbe3ec; border-radius: 14px; background: #fff; box-shadow: 0 16px 38px rgba(15,23,42,.2); transform: translateX(-50%); }
.event-color-palette > button { width: 27px; height: 27px; padding: 0; border: 3px solid #fff; border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px #cbd5e1; cursor: pointer; }
.event-color-palette > button.is-selected { box-shadow: 0 0 0 2px #162033; }
.event-modal__schedule { display: grid; grid-template-columns: 1.05fr .82fr 20px .82fr; align-items: end; gap: 10px; padding: 8px 16px 14px; }
.event-field { display: grid; min-width: 0; gap: 5px; color: #334155; font-size: 12px; font-weight: 500; }
.event-field__label { display: flex; align-items: center; gap: 7px; min-width: 0; padding-left: 1px; }
.event-field__control { position: relative; display: block; min-width: 0; }
.event-field__control input, .event-field__control select { min-height: 44px; padding: 8px 28px 8px 10px; border: 1px solid #d7dee7; border-radius: 10px; color: #162033; background-color: #fff; font-size: 13px; font-weight: 700; }
.event-field__control input::placeholder { color: #929aaa; font-weight: 400; opacity: 1; }
.event-field__icon { --field-color: #1295ad; display: grid; flex: 0 0 20px; place-items: center; width: 20px; height: 20px; border-radius: 6px; color: var(--field-color); background: color-mix(in srgb, var(--field-color) 9%, white); pointer-events: none; }
.event-field__icon svg { width: 14px; height: 14px; stroke-width: 1.9; }
.event-field__icon--tag { --field-color: #914bea; }
.event-field__icon--calendar { --field-color: #078da4; }
.event-field__icon--start { --field-color: #2da33b; }
.event-field__icon--end { --field-color: #d20b39; }
.event-modal__arrow { display: grid; place-items: center; height: 44px; color: #8a94a6; }
.event-modal__arrow svg { width: 18px; height: 18px; stroke-width: 1.8; }
.event-modal__actions { justify-content: space-between; min-height: 68px; padding: 12px 16px; border-top: 1px solid #e2e8f0; }
.event-modal__actions .button { min-height: 40px; font-size: 13px; }
.event-modal__delete { padding: 5px 8px; color: #cf123f; background: transparent; }
.event-modal__delete-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #fff0f4; }
.event-modal__delete-icon svg { width: 18px; height: 18px; stroke-width: 2; }
.event-modal__save { min-width: 180px; border-radius: 10px; background: linear-gradient(135deg, #0797ac, #008aa1); box-shadow: 0 7px 18px rgba(0, 143, 164, .2); }
.event-modal__save svg { width: 24px; height: 24px; }
body.has-modal { overflow: hidden; }
.toast { position: absolute; right: 14px; bottom: 14px; z-index: 150; max-width: min(390px, calc(100% - 28px)); padding: 10px 13px; border-radius: 11px; color: #fff; background: #162033; box-shadow: 0 12px 30px rgba(15,23,42,.24); font-size: 11px; font-weight: 700; }
.toast.is-error { background: #b4233a; }

.auth-shell { min-height: min(720px, 100vh); display: grid; place-items: center; padding: 20px; }
.auth-card { width: min(560px, 100%); padding: clamp(24px, 5vw, 48px); border: 1px solid var(--line); border-left: 4px solid var(--brand); border-radius: 22px; background: #fff; box-shadow: var(--shadow); text-align: center; }
.auth-card__icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 13px; border-radius: 50%; background: #eaf9fc; font-size: 34px; }
.auth-card h1 { margin: 6px 0 9px; font-size: clamp(22px, 4vw, 34px); }
.auth-card p:not(.eyebrow) { margin: 0 auto 20px; color: var(--muted); line-height: 1.65; }

@media (max-width: 1150px) {
	.schedule-workspace { grid-template-columns: minmax(0, 1fr) 245px; }
	.total-ring { width: 76px; height: 76px; margin: 0; border-width: 6px; }
}

@media (max-width: 760px) {
	.app { padding: 6px 6px 12px; }
	.app-header { position: static; flex-wrap: wrap; padding: 9px 10px; border-radius: 12px; }
	.app-header__identity { flex: 1 1 auto; }
	.app-header__mark { flex-basis: 32px; height: 32px; }
	.schedule-selector select { max-width: 154px; min-height: 32px; padding-block: 5px; font-size: 11px; }
	.app-header__actions { gap: 3px; }
	.app-header__actions .button { min-width: 34px; padding: 7px; }
	.app-header__actions .button span { display: none; }
	.save-status { flex: 0 0 34px; }
	.workspace { display: flex; flex-direction: column; gap: var(--block-gap); }
	.subject-card, .totals-card { width: 100%; padding: 9px; }
	.subject-card { grid-template-columns: minmax(0, 1fr); padding: 6px; }
	.subjects { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.subject-chip { width: 100%; }
	.schedule-workspace { display: flex; flex-direction: column; gap: var(--block-gap); }
	.timetable-card { width: 100%; }
	.schedule-grid { min-width: 556px; }
	.totals-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.totals-card__overview { grid-template-columns: minmax(0, 1fr) auto; }
	.totals-card__heading { grid-column: 1 / -1; }
	.total-ring { width: 68px; height: 68px; grid-column: 2; grid-row: 1 / span 2; }
	.total-ring__content { gap: 3px; }
	.total-ring__content strong { max-width: 100%; font-size: 13px; letter-spacing: -.03em; }
	.total-ring__content small { font-size: 7px; }
	.totals-summary { grid-column: 1; margin: 0; }
	.subject-totals { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 12px; }
	.meta-fields { grid-template-columns: 1fr 1fr; }
	.shared-schedule__intro { align-items: stretch; flex-direction: column; }
	.schedule-groups { grid-template-columns: 1fr 1fr; }
	.modal { align-items: start; padding: 8px 0 0; }
	.modal__panel, .modal__panel--wide { box-sizing: border-box; width: calc(100% - 12px); max-width: calc(100% - 12px); max-height: calc(100dvh - 16px); overflow-x: hidden; border-radius: 18px; }
	.modal form, .shared-schedule, .working-days, .schedule-groups, .schedule-group, .modal__actions { min-width: 0; box-sizing: border-box; }
	.working-days { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
	.schedule-toggle { width: 100%; min-width: 0; overflow: hidden; }
	.schedule-toggle strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
	.schedule-group > div { min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.schedule-group input, .schedule-group select { box-sizing: border-box; min-width: 0; width: 100%; padding: 4px 0; font-size: 9px; letter-spacing: -.03em; text-align: center; font-variant-numeric: tabular-nums; }
	.modal__actions .button { min-width: 0; max-width: 100%; }
	.event-modal { width: 95%; }
	.event-modal__head { grid-template-columns: 32px 1fr 32px; gap: 8px; padding: 10px 12px; }
	.event-modal__title-icon { width: 32px; height: 32px; border-radius: 9px; }
	.event-modal__title-icon svg { width: 20px; height: 20px; }
	.event-modal__head .eyebrow { font-size: 10px; }
	.event-modal__close { width: 32px; min-height: 32px; border-radius: 9px; }
	.event-modal__primary { grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr); gap: 6px; padding: 10px 10px 6px; }
	.event-modal__primary .event-field:first-child { padding-right: 6px; }
	.event-color-trigger { min-height: 44px; padding: 5px; }
	.event-color-trigger > span { width: 26px; height: 26px; }
	.event-color-palette { left: 50%; grid-template-columns: repeat(8, 25px); gap: 6px; max-height: 285px; transform: translateX(-50%); }
	.event-color-palette > button { width: 25px; height: 25px; }
	.event-modal__schedule { grid-template-columns: 1.1fr .84fr 12px .84fr; gap: 3px; padding: 6px 8px 10px; }
	.event-field { gap: 5px; font-size: 10px; }
	.event-field__control input, .event-field__control select { max-width: 100%; min-width: 0; min-height: 44px; padding: 7px 20px 7px 8px; border-radius: 11px; font-size: 12px; }
	.event-modal__schedule input[type="time"] { padding-inline: 6px 2px; font-size: 10px; }
	.event-field__label { gap: 4px; }
	.event-field__icon { flex-basis: 20px; width: 20px; height: 20px; border-radius: 6px; }
	.event-field__icon svg { width: 13px; height: 13px; }
	.event-modal__arrow { height: 44px; }
	.event-modal__arrow svg { width: 15px; height: 15px; }
	.event-modal__actions { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 6px; min-height: 64px; padding: 10px; }
	.event-modal__actions .button { width: 100%; min-width: 0; min-height: 40px; padding-inline: 6px; font-size: 12px; }
	.event-modal__delete { gap: 5px; }
	.event-modal__delete-icon { width: 28px; height: 28px; flex: 0 0 28px; }
	.event-modal__save { min-width: 0; }
}

@media (max-width: 460px) {
	.app-header__identity .eyebrow { display: none; }
	.app-header h1 { max-width: 125px; font-size: 14px; }
	.save-status { width: 34px; height: 34px; padding: 7px; }
	.meta-fields, .schedule-groups { grid-template-columns: 1fr 1fr; }
	.form-row { grid-template-columns: 1fr 1fr; }
	.form-row label:first-child { grid-column: 1 / -1; }
	.modal__actions--split { grid-template-columns: auto 1fr auto; }
	.modal__actions--split .button--soft { display: none; }
}

@media print {
	.app-header__actions, .subject-card, .totals-card, .grid-help { display: none !important; }
	.workspace { display: block; }
	.card { box-shadow: none; }
}


}
