@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/oxanium-latin-ext-700-normal-BSlCClLu.woff2)format("woff2"),url(/spa/assets/oxanium-latin-ext-700-normal-CPlnVieJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/oxanium-latin-700-normal-l0hKEjh4.woff2)format("woff2"),url(/spa/assets/oxanium-latin-700-normal-b_KP-pae.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:800;src:url(/spa/assets/oxanium-latin-ext-800-normal-BAseU-U5.woff2)format("woff2"),url(/spa/assets/oxanium-latin-ext-800-normal-T45cF6jC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:800;src:url(/spa/assets/oxanium-latin-800-normal-C_tm0Sz6.woff2)format("woff2"),url(/spa/assets/oxanium-latin-800-normal-7VoEFedH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/spa/assets/rubik-arabic-400-normal-B6c_9tGI.woff2)format("woff2"),url(/spa/assets/rubik-arabic-400-normal-Dci85dQr.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/spa/assets/rubik-cyrillic-ext-400-normal-D-KNTwvG.woff2)format("woff2"),url(/spa/assets/rubik-cyrillic-ext-400-normal-CTkTGo13.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/spa/assets/rubik-cyrillic-400-normal-C5G8_8ug.woff2)format("woff2"),url(/spa/assets/rubik-cyrillic-400-normal-D5R8xuhl.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/spa/assets/rubik-hebrew-400-normal-Dp0lvSRB.woff2)format("woff2"),url(/spa/assets/rubik-hebrew-400-normal-BQDoxs6C.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/spa/assets/rubik-latin-ext-400-normal-BtzQ7olK.woff2)format("woff2"),url(/spa/assets/rubik-latin-ext-400-normal-E7wwwcV8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/spa/assets/rubik-latin-400-normal-j0pmKyiQ.woff2)format("woff2"),url(/spa/assets/rubik-latin-400-normal-BV1Ho3GG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/spa/assets/rubik-arabic-500-normal-soGt7v5W.woff2)format("woff2"),url(/spa/assets/rubik-arabic-500-normal-DNk3Rzpj.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/spa/assets/rubik-cyrillic-ext-500-normal-DVRnamQw.woff2)format("woff2"),url(/spa/assets/rubik-cyrillic-ext-500-normal-CnfIzV8i.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/spa/assets/rubik-cyrillic-500-normal-Didq2w9O.woff2)format("woff2"),url(/spa/assets/rubik-cyrillic-500-normal-BH_pkKR0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/spa/assets/rubik-hebrew-500-normal-B_5jqoVI.woff2)format("woff2"),url(/spa/assets/rubik-hebrew-500-normal--anb7y8_.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/spa/assets/rubik-latin-ext-500-normal-CKoAoPpD.woff2)format("woff2"),url(/spa/assets/rubik-latin-ext-500-normal-BUryUc8T.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/spa/assets/rubik-latin-500-normal-1os41rQk.woff2)format("woff2"),url(/spa/assets/rubik-latin-500-normal-LZYVHeqz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/rubik-arabic-700-normal-DNWlnGaX.woff2)format("woff2"),url(/spa/assets/rubik-arabic-700-normal-BJDbbalN.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/rubik-cyrillic-ext-700-normal-3CKVJqgg.woff2)format("woff2"),url(/spa/assets/rubik-cyrillic-ext-700-normal-CEbQMks9.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/rubik-cyrillic-700-normal-DFnztZBh.woff2)format("woff2"),url(/spa/assets/rubik-cyrillic-700-normal-C_jxLOfU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/rubik-hebrew-700-normal-Da14F88e.woff2)format("woff2"),url(/spa/assets/rubik-hebrew-700-normal-B2Hm7hpE.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/rubik-latin-ext-700-normal-D5I4eEgK.woff2)format("woff2"),url(/spa/assets/rubik-latin-ext-700-normal-CQ1www4I.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:700;src:url(/spa/assets/rubik-latin-700-normal-D-tMm-eS.woff2)format("woff2"),url(/spa/assets/rubik-latin-700-normal-KHOtubUA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Rubik,Segoe UI,sans-serif;font-weight:400;line-height:1.5}html,body,#root{min-height:100%;margin:0}body{background:var(--app-bg);min-height:100vh;color:var(--text-main);transition:background-color .18s,color .18s}body.theme-light{--app-bg:#edf3f8;--app-bg-soft:#e4edf4;--topbar-bg:#fff;--topbar-border:#cfdceb;--sidebar-bg:#f8fbfd;--sidebar-border:#d8e4ef;--sidebar-text:#36506d;--sidebar-muted:#7287a3;--sidebar-active-bg:#7287a31f;--page-surface:#f2f7fb;--module-surface:linear-gradient(180deg, #fffffffa, #f6fafffa);--card-surface:#fff;--card-surface-soft:#f4f8fc;--card-border:#6a7f9a2e;--shadow-lg:0 14px 34px #1c32541a;--shadow-md:0 10px 24px #1c325414;--text-main:#18324d;--text-soft:#4f6884;--text-muted:#7287a3;--line-strong:#617d9e38;--line-soft:#7896be29;--input-bg:#fff;--input-border:#6883a43d;--modal-backdrop:#182b4d3d;--danger-soft:#fff0f0;--danger-text:#a24b61;--success-soft:#e6f7f0;--success-text:#267a57;--pill-muted-bg:#eef3f8;--pill-muted-text:#5f748f}body.theme-dark{--app-bg:#121a27;--app-bg-soft:#0f1723;--topbar-bg:#1a2432;--topbar-border:#2b3950;--sidebar-bg:#131d2a;--sidebar-border:#26354a;--sidebar-text:#e4ecf8;--sidebar-muted:#8ea3c3;--sidebar-active-bg:#91a7c31f;--page-surface:#0f1723;--module-surface:linear-gradient(180deg, #1d2a3ff5, #182539f2);--card-surface:#1c2940;--card-surface-soft:#162234;--card-border:#7b98c42e;--shadow-lg:0 18px 34px #0000003d;--shadow-md:0 12px 22px #0003;--text-main:#edf4ff;--text-soft:#c7d5ea;--text-muted:#93a9c5;--line-strong:#7b98c447;--line-soft:#7896be29;--input-bg:#152132;--input-border:#7d9bc63d;--modal-backdrop:#040910b3;--danger-soft:#9c40542e;--danger-text:#ff9ab0;--success-soft:#27755438;--success-text:#8ef0c4;--pill-muted-bg:#ffffff0f;--pill-muted-text:#d8e2f2}body.theme-default{--accent:#7287a3;--accent-strong:#516884;--accent-soft:#7287a324}body.theme-green{--accent:#36b37e;--accent-strong:#1d8d5d;--accent-soft:#36b37e29}body.theme-red{--accent:#d96a7a;--accent-strong:#b64d5d;--accent-soft:#d96a7a29}body.theme-blue{--accent:#5d8fd6;--accent-strong:#3f6eb1;--accent-soft:#5d8fd629}body.theme-purple{--accent:#9368d8;--accent-strong:#7248b7;--accent-soft:#9368d829}body.theme-megna{--accent:#31b8bc;--accent-strong:#218a8d;--accent-soft:#31b8bc29}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at top right, #ffffff3d, transparent 18%), linear-gradient(180deg, #ffffff0f, transparent 20%), var(--app-bg);grid-template-rows:68px 1fr auto;min-height:100vh;display:grid}.app-boot,.auth-shell{background:radial-gradient(circle at top right, #ffffff2e, transparent 18%), linear-gradient(180deg, #ffffff0a, transparent 20%), var(--app-bg);min-height:100vh}.app-boot{place-items:center;padding:1.5rem;display:grid}.app-boot-panel{border:1px solid var(--card-border);background:var(--module-surface);min-width:min(360px,100%);box-shadow:var(--shadow-lg);border-radius:22px;justify-items:center;gap:.85rem;padding:1.8rem;display:grid}.app-boot-panel strong{color:var(--text-main);font-family:Oxanium,Rubik,sans-serif;font-size:1.6rem}.app-boot-panel span{color:var(--text-soft)}.auth-shell{grid-template-rows:76px 1fr;padding:0 1rem 1rem;display:grid}.auth-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.auth-brand{align-self:center}.auth-grid{grid-template-columns:minmax(320px,1.1fr) minmax(320px,.9fr);align-items:center;gap:1.25rem;display:grid}.auth-grid-centered{grid-template-columns:1fr;justify-items:center}.auth-panel{border:1px solid var(--card-border);background:var(--module-surface);box-shadow:var(--shadow-lg);border-radius:24px}.auth-form-panel{justify-self:center;width:min(520px,100%);padding:1.2rem}.auth-form-header h2{color:var(--text-main);margin:.35rem 0;font-family:Oxanium,Rubik,sans-serif;font-size:2rem}.auth-form{gap:1rem;display:grid}.auth-form label{gap:.45rem;display:grid}.auth-form label>span{color:var(--text-muted);font-size:.85rem;font-weight:500}.auth-input-wrap{border:1px solid var(--input-border);background:var(--input-bg);border-radius:14px;grid-template-columns:48px 1fr;align-items:center;min-height:48px;transition:border-color .14s,box-shadow .14s,background-color .14s;display:grid}.auth-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-input-wrap-password{grid-template-columns:48px 1fr 48px}.auth-input-icon{color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.auth-input-wrap input{min-width:0;min-height:48px;color:var(--text-main);background:0 0;border:0;outline:none;padding:0 1rem 0 0}.auth-password-toggle{width:48px;height:48px;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:color .14s,transform .14s;display:inline-flex}.auth-password-toggle:hover,.auth-password-toggle:focus-visible{color:var(--text-main)}.auth-password-toggle:hover{transform:translateY(-1px)}.auth-password-toggle:focus-visible{outline:none}.auth-submit{width:100%;min-height:46px;margin-top:.35rem}.topbar{border-bottom:1px solid var(--topbar-border);background:var(--topbar-bg);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:0 1.25rem;display:grid;box-shadow:0 2px 12px #0a14240f}.topbar-left,.topbar-actions{align-items:center;gap:.75rem;display:flex}.topbar-actions{justify-content:flex-end}.language-switcher{position:relative}.language-switcher-trigger{border:1px solid var(--line-strong);background:var(--card-surface);min-height:40px;color:var(--text-main);letter-spacing:.06em;border-radius:12px;align-items:center;gap:.55rem;padding:0 .8rem;font-size:.83rem;font-weight:800;transition:background-color .14s,border-color .14s,transform .14s,box-shadow .14s;display:inline-flex}.language-switcher-trigger:hover{transform:translateY(-1px)}.language-switcher.is-open .language-switcher-trigger{border-color:color-mix(in srgb, var(--accent-strong) 34%, var(--line-strong));box-shadow:0 14px 34px #0a142529}.language-switcher-flag{object-fit:cover;border:1px solid #0a142524;border-radius:.28rem;width:1.3rem;height:.95rem;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff3d}.language-switcher-code{min-width:1.8rem}.language-switcher-caret{color:var(--text-soft);transition:transform .14s}.language-switcher.is-open .language-switcher-caret{transform:rotate(180deg)}.language-switcher-menu{z-index:60;border:1px solid var(--line-strong);background:linear-gradient(180deg, color-mix(in srgb, var(--card-surface) 92%, white), var(--card-surface));border-radius:16px;min-width:190px;padding:.4rem;display:none;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 20px 40px #0a14252e}.language-switcher-menu.is-open{gap:.2rem;display:grid}.language-switcher-option{width:100%;color:var(--text-main);text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem .75rem;transition:background-color .14s,border-color .14s,transform .14s;display:grid}.language-switcher-option:hover{background:color-mix(in srgb, var(--accent-soft) 60%, transparent);transform:translateY(-1px)}.language-switcher-option.is-active{border-color:var(--line-soft);background:var(--accent-soft);color:var(--accent-strong)}.language-switcher-option-copy{gap:.05rem;display:grid}.language-switcher-option-name{font-size:.9rem;font-weight:700}.language-switcher-option-code{letter-spacing:.08em;color:var(--text-soft);font-size:.72rem;font-weight:700}.topbar-mini-button,.topbar-action,.ghost-button,.primary-button{border:1px solid var(--line-strong);border-radius:12px;justify-content:center;align-items:center;min-height:38px;transition:background-color .14s,border-color .14s,transform .14s,box-shadow .14s,color .14s;display:inline-flex}.topbar-mini-button,.topbar-action,.ghost-button{background:var(--card-surface);color:var(--text-main)}.topbar-mini-button{border-radius:50%;width:38px;padding:0}.topbar-action{padding:0 .95rem}.topbar-mini-button svg,.topbar-action svg,.ghost-button svg,.theme-fab svg,.mode-icon-button svg{flex:none}.icon-only-button{width:40px;min-width:40px;padding:0}.topbar-mini-button:hover,.topbar-action:hover,.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.topbar-brand,.sidebar-brand{align-items:center;gap:.8rem;min-width:0;display:inline-flex}.topbar-brand{color:var(--text-main);justify-self:center;max-width:min(100%,42rem)}.topbar-brand .brand-copy,.sidebar-brand .brand-copy{min-width:0}.topbar-brand strong,.sidebar-brand strong{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;line-height:1;display:block;overflow:hidden}.topbar-brand strong{font-size:clamp(1.3rem,1rem + 1.2vw,2rem)}.sidebar-brand strong{font-size:clamp(1.55rem,1.15rem + 1vw,2rem)}.brand-mark{grid-template-columns:repeat(3,1fr);gap:2px;width:24px;height:24px;display:grid}.brand-mark span{background:var(--accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 1px #ffffff1f}.user-chip{align-items:center;gap:.6rem;display:inline-flex}.user-chip-button{border:1px solid var(--line-strong);background:var(--card-surface);min-height:40px;color:var(--text-main);border-radius:14px;padding:.3rem .45rem .3rem .35rem;transition:border-color .14s,background-color .14s,transform .14s,box-shadow .14s}.user-chip-button:hover,.user-chip-button.is-open{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 10px 18px #0a16281f}.user-chip-button .user-name{color:var(--text-main);font-weight:500}.user-chip-caret{color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.topbar-user-menu{position:relative}.user-dropdown{z-index:100;border:1px solid var(--line-strong);background:var(--module-surface);width:220px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;border-radius:16px;gap:.25rem;padding:.45rem;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + .6rem);right:0;transform:translateY(-6px)}.user-dropdown.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.user-dropdown-item{width:100%;min-height:42px;color:var(--text-main);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:.7rem;padding:0 .85rem;display:inline-flex}.user-dropdown-item:hover{background:var(--card-surface-soft);border-color:var(--line-soft)}.user-dropdown-item.danger{color:var(--danger-text)}.user-dropdown-item.danger:hover{background:var(--danger-soft);border-color:#c9576f29}.user-avatar-shell,.user-avatar-fallback{border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.user-avatar-shell{border:1px solid var(--card-border);background:linear-gradient(180deg, #ffffff14, transparent), var(--card-surface-soft);overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.user-avatar-image,.user-avatar-fallback{width:100%;height:100%}.user-avatar-fallback{background:radial-gradient(circle at top, #ffffff24, transparent 60%), linear-gradient(180deg, var(--accent-soft), transparent 90%);color:var(--text-main);font-weight:700}.user-avatar-image{object-fit:cover;display:block}.user-avatar-initials{letter-spacing:.04em;font-family:Oxanium,Rubik,sans-serif;font-size:.84rem}.user-avatar-shell.is-chip{width:34px;height:34px}.user-name{color:var(--text-soft);font-size:.92rem}.workspace{grid-template-columns:250px 1fr;min-height:0;display:grid}.sidebar{border-right:1px solid var(--sidebar-border);background:var(--sidebar-bg);flex-direction:column;gap:1.4rem;padding:1.2rem 0;display:flex}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);justify-content:center;padding:0 1.15rem 1rem;display:flex}.brand-kicker{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;display:block;overflow:hidden}.sidebar-profile{border-bottom:1px solid var(--sidebar-border);justify-items:center;gap:.35rem;padding:0 1rem 1.1rem;display:grid}.user-avatar-shell.is-sidebar{width:52px;height:52px}.user-avatar-shell.is-card{flex:0 0 76px;width:76px;height:76px}.user-avatar-shell.is-preview{flex:0 0 124px;width:124px;height:124px}.sidebar-profile strong{color:var(--sidebar-text)}.sidebar-profile span{color:var(--sidebar-muted);font-size:.84rem}.nav-stack{gap:1rem;padding:0 .7rem;display:grid}.nav-section{gap:.38rem;display:grid}.nav-section+.nav-section{border-top:1px solid var(--line-soft);padding-top:.15rem}.nav-section-title{color:var(--sidebar-muted);letter-spacing:.16em;text-transform:uppercase;padding:0 .95rem .22rem;font-size:.72rem;font-weight:700}.nav-section-links{gap:.2rem;display:grid}.nav-link{min-height:46px;color:var(--sidebar-text);border:1px solid #0000;border-radius:12px;align-items:center;gap:.8rem;padding:0 .95rem;display:flex}.nav-link-icon{width:30px;height:30px;color:var(--sidebar-muted);background:#ffffff08;border:1px solid #0000;border-radius:10px;flex:0 0 30px;justify-content:center;align-items:center;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.nav-link:hover,.nav-link.active{background:var(--sidebar-active-bg);border-color:var(--line-soft);color:var(--text-main)}.nav-link:hover .nav-link-icon,.nav-link.active .nav-link-icon,.solution-badge,.page-header-rule{background:var(--accent)}.nav-link:hover .nav-link-icon,.nav-link.active .nav-link-icon{color:#fff;border-color:#ffffff14;transform:translateY(-1px)}.page-wrapper{min-width:0;padding:1rem}.page-frame{background:var(--page-surface);border:1px solid var(--line-soft);border-radius:20px;min-height:calc(100vh - 122px - 2rem);padding:.85rem}.module-shell,.dashboard-shell{gap:1.5rem;display:grid}.module-panel,.module-hero,.entity-card,.entity-empty,.solution-card,.modal-panel{background:var(--module-surface);border:1px solid var(--card-border);box-shadow:var(--shadow-lg)}.module-panel,.module-hero{border-radius:18px;padding:1.5rem 1.6rem}.page-header{gap:.35rem;display:grid}.page-header-main{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header-copy{gap:.35rem;min-width:0;display:grid}.page-header-toolbar{flex:none;justify-content:flex-end;display:flex}.eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700}.page-title{color:var(--text-main);letter-spacing:.02em;text-transform:uppercase;text-shadow:-1px 0 #0a142447,0 2px #ffffff1f;margin:0;font-family:Oxanium,Rubik,sans-serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1}.page-header p{color:var(--text-soft);margin:0}.page-header-rule{opacity:.85;border-radius:999px;width:100%;height:3px;margin-top:.55rem}.module-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.module-toolbar-tight{margin-top:.35rem}.module-toolbar-actions{justify-content:flex-end}.module-inline-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:inline-flex}.module-inline-toolbar select,.toolbar-search-input{border:1px solid var(--input-border);background:var(--input-bg);min-height:38px;color:var(--text-main);border-radius:10px;outline:none;padding:0 .95rem;transition:border-color .14s,box-shadow .14s,background-color .14s}.module-inline-toolbar select,.entity-form select,.sensor-history-window-filter select{appearance:none}.module-inline-toolbar select{min-width:190px;padding-right:2.7rem}.toolbar-search-input{width:190px}.module-inline-toolbar select:focus,.toolbar-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.toolbar-icon-button{width:38px;min-width:38px;min-height:38px;padding:0}.toolbar-export{position:relative}.toolbar-export-dropdown{z-index:50;border:1px solid var(--line-strong);background:var(--module-surface);width:180px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;border-radius:14px;gap:.25rem;padding:.45rem;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + .55rem);right:0;transform:translateY(-6px)}.toolbar-export-dropdown.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.toolbar-export-item{text-align:left;min-height:40px;color:var(--text-main);background:0 0;border:1px solid #0000;border-radius:10px;padding:0 .85rem}.toolbar-export-item:hover{background:var(--card-surface-soft);border-color:var(--line-soft)}.module-stat-card,.module-kpi-card{border:1px solid var(--card-border);background:var(--card-surface-soft);border-radius:16px;min-width:180px;padding:1rem 1.1rem;box-shadow:inset 0 1px #ffffff0a}.module-stat-card strong,.module-kpi-value{color:var(--text-main);margin-top:.35rem;font-family:Oxanium,Rubik,sans-serif;font-size:2.1rem;line-height:1;display:block}.module-stat-label,.module-kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;display:block}.module-kpi-row{flex-wrap:wrap;gap:.9rem;display:flex}.primary-button{background:var(--accent);color:#fff;border-color:#0000;padding:0 1.1rem;box-shadow:0 10px 18px #0c1d361f}.primary-button:hover{background:var(--accent-strong)}.primary-button.danger{background:#d05f78;border-color:#0000;box-shadow:0 12px 22px #a03e572e}.primary-button.danger:hover,.primary-button.danger:focus-visible{background:#b84b63}.primary-button:disabled{opacity:.6;cursor:not-allowed}.ghost-button{padding:0 1rem}.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.ghost-button.danger{background:var(--danger-soft);color:var(--danger-text);border-color:#c9576f29}.status-copy{color:var(--text-soft);margin:0}.status-copy.success{color:var(--success-text)}.status-copy.error{color:var(--danger-text)}.toast-viewport{z-index:1400;pointer-events:none;gap:.75rem;width:min(380px,100vw - 1.5rem);display:grid;position:fixed;top:1rem;right:1rem}.toast-card{border:1px solid var(--card-border);background:var(--module-surface);box-shadow:var(--shadow-lg);pointer-events:auto;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:flex-start;gap:.8rem;padding:.9rem .95rem;display:grid}.toast-card.is-success{border-color:#27755447}.toast-card.is-error{border-color:#c9576f47}.toast-card.is-info{border-color:var(--line-strong)}.toast-icon{background:var(--card-surface-soft);width:34px;height:34px;color:var(--text-main);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.toast-card.is-success .toast-icon{background:var(--success-soft);color:var(--success-text)}.toast-card.is-error .toast-icon{background:var(--danger-soft);color:var(--danger-text)}.toast-copy{gap:.15rem;display:grid}.toast-copy strong{color:var(--text-main);font-size:.92rem}.toast-copy p{color:var(--text-soft);margin:0;line-height:1.35}.toast-close{width:30px;height:30px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast-close:hover{background:var(--card-surface-soft);color:var(--text-main)}.solution-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.solution-card{text-align:center;border-radius:16px;justify-items:center;gap:.8rem;min-height:260px;padding:1.25rem;display:grid;position:relative;overflow:hidden}.solution-badge{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;font-weight:700;display:inline-flex;position:absolute;top:.8rem;right:.8rem;box-shadow:0 8px 16px #0f1d312e}.solution-visual{place-items:center;width:150px;height:150px;margin-top:1.4rem;display:grid;position:relative}.solution-visual:before,.solution-visual:after,.solution-visual-core{border-radius:50%}.solution-visual:before{content:"";border:1px solid var(--line-soft);background:radial-gradient(circle,#ffffff38,#0000 70%);position:absolute;inset:16px}.solution-visual:after{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-strong));opacity:.22;position:absolute;inset:36px}.solution-visual-core{background:linear-gradient(180deg, var(--accent), var(--accent-strong));width:70px;height:70px;box-shadow:0 14px 28px #0f1d312e}.solution-card h3{color:var(--text-main);margin:0;font-size:1.55rem;font-weight:500}.solution-card p,.solution-status{color:var(--text-soft);margin:0}.solution-status{background:var(--accent-soft);min-height:30px;color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;padding:0 .85rem;font-size:.78rem;font-weight:700;display:inline-flex}.entity-card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.entity-card,.entity-empty{border-radius:18px;padding:1.15rem}.entity-card{gap:1rem;display:grid}.entity-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.entity-card-brand{align-items:center;gap:.9rem;min-width:0;display:flex}.entity-card-header h3{color:var(--text-main);margin:.35rem 0;font-family:Oxanium,Rubik,sans-serif;font-size:1.4rem;line-height:1.1}.entity-card-header p{color:var(--text-soft);word-break:break-word;margin:0}.device-status-indicator{color:var(--text-soft);align-items:center;gap:.45rem;margin-top:.5rem;font-size:.78rem;font-weight:600;display:inline-flex}.device-status-indicator.is-online{color:var(--success-text)}.device-status-indicator.is-silent{color:#cf8b1f}.device-status-indicator.is-offline{color:var(--danger-text)}.device-status-dot{background:#93a4b8;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 3px #93a4b824}.device-status-indicator.is-online .device-status-dot{background:#2ea66f;box-shadow:0 0 0 3px #2ea66f29}.device-status-indicator.is-silent .device-status-dot{background:#cf8b1f;box-shadow:0 0 0 3px #cf8b1f24}.device-status-indicator.is-offline .device-status-dot{background:#c9576f;box-shadow:0 0 0 3px #c9576f24}.company-logo-shell{border:1px solid var(--card-border);background:linear-gradient(180deg, #ffffff14, transparent), var(--card-surface-soft);border-radius:18px;flex:0 0 76px;width:76px;height:76px;padding:.45rem;box-shadow:inset 0 1px #ffffff0a}.company-logo-shell.is-sidebar-brand{width:150px;height:150px;box-shadow:none;background:0 0;border:none;border-radius:24px;flex-basis:150px;place-items:center;padding:.2rem;display:grid;overflow:hidden}.company-logo-shell.is-topbar-brand{width:56px;height:56px;box-shadow:none;background:0 0;border:none;border-radius:12px;flex-basis:56px;padding:.1rem}.company-logo-shell.is-preview{border-radius:22px;flex-basis:124px;width:124px;height:124px}.gateway-badge,.sensor-badge{border:1px solid var(--card-border);background:radial-gradient(circle at top, #ffffff24, transparent 65%), linear-gradient(180deg, #ffffff14, transparent), var(--card-surface-soft);width:76px;height:76px;color:var(--accent-strong);text-align:center;border-radius:18px;flex:0 0 76px;place-items:center;gap:.2rem;padding:.5rem;display:grid;box-shadow:inset 0 1px #ffffff0a}.gateway-badge.has-image{padding:.35rem}.sensor-badge.has-image{box-shadow:none;background:0 0;border:none;border-radius:18px;justify-content:center;align-items:center;padding:.35rem;display:flex;overflow:hidden}.gateway-badge span,.sensor-badge span{color:var(--text-main);letter-spacing:.06em;text-transform:uppercase;font-family:Oxanium,Rubik,sans-serif;font-size:.86rem;font-weight:700}.gateway-badge.preview,.sensor-badge.preview{border-radius:22px;flex-basis:124px;width:124px;height:124px}.sensor-type-badge,.sensor-type-schema-preview{text-align:center;border:1px solid var(--card-border);background:radial-gradient(circle at top, #ffffff24, transparent 65%), linear-gradient(180deg, #ffffff14, transparent), var(--card-surface-soft);color:var(--accent-strong);place-items:center;display:grid;box-shadow:inset 0 1px #ffffff0a}.sensor-type-badge{border-radius:18px;flex:0 0 76px;width:76px;height:76px;padding:.5rem}.sensor-type-badge span,.sensor-type-schema-preview strong{color:var(--text-main);letter-spacing:.06em;text-transform:uppercase;font-family:Oxanium,Rubik,sans-serif;font-size:.86rem;font-weight:700}.sensor-type-schema-preview{border-radius:18px;align-content:center;gap:.25rem;min-width:min(100%,220px);padding:1rem 1.1rem}.sensor-type-schema-preview span{color:var(--text-soft);font-size:.82rem}.gateway-badge.detail{flex-basis:96px;width:96px;height:96px}.gateway-model-image{object-fit:contain;width:100%;height:100%;display:block}.sensor-model-image{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.company-logo-image,.company-logo-fallback{border-radius:inherit;width:100%;height:100%}.company-logo-image{object-fit:contain;transform-origin:50%;display:block}.company-logo-shell.is-sidebar-brand .company-logo-image.is-landscape-logo{transform:scale(1.55)}.company-logo-shell.is-sidebar-brand .company-logo-image.is-portrait-logo{transform:scale(1.18)}.company-logo-fallback{text-align:center;background:radial-gradient(circle at top, #ffffff1f, transparent 60%), linear-gradient(180deg, var(--accent-soft), transparent 90%);place-items:center;gap:.2rem;padding:.65rem;display:grid}.company-logo-initials{color:var(--text-main);letter-spacing:.04em;text-transform:uppercase;font-family:Oxanium,Rubik,sans-serif;font-size:1.35rem;font-weight:700}.company-logo-caption,.field-help{color:var(--text-soft)}.company-logo-caption{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.entity-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.entity-meta div{border:1px solid var(--card-border);background:var(--card-surface-soft);border-radius:14px;padding:.85rem .9rem}.entity-meta dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .3rem;font-size:.7rem;font-weight:700}.entity-meta dd{color:var(--text-main);margin:0}.mono-wrap{word-break:break-all}.entity-actions,.form-actions{flex-wrap:wrap;gap:.65rem;display:flex}.entity-empty{place-items:center;min-height:180px;display:grid}.empty-state{color:var(--text-soft);text-align:center}.pill{letter-spacing:.04em;border-radius:999px;align-items:center;min-height:28px;padding:0 .75rem;font-size:.76rem;font-weight:700;display:inline-flex}.pill.active,.pill.success{background:var(--success-soft);color:var(--success-text)}.pill.info{background:var(--accent-soft);color:var(--accent-strong)}.pill.warning{color:#b88b00;background:#e8c42e2e}.pill.caution{color:#cf6700;background:#e5801829}.pill.danger{background:color-mix(in srgb, var(--danger-soft) 74%, var(--card-surface-soft));color:var(--danger-text)}.pill.muted{background:var(--pill-muted-bg);color:var(--pill-muted-text)}.capitalize{text-transform:capitalize}.modal-backdrop{z-index:1100;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:flex-start center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.profile-layout{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.profile-form-panel{align-self:start}.modal-panel{border-radius:18px;flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 2rem);margin:0 auto;padding:1.4rem;display:flex}.modal-panel-wide{width:min(1120px,100%)}.modal-header{flex:none;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.modal-header h2{color:var(--text-main);margin:.3rem 0 .4rem;font-family:Oxanium,Rubik,sans-serif;font-size:1.7rem}.modal-header p{color:var(--text-soft);margin:0}.modal-close{flex:none;width:40px;min-width:40px;padding:0}.modal-content{scrollbar-gutter:stable;gap:1rem;min-height:0;padding-right:.35rem;display:grid;overflow-y:auto}.confirm-dialog{gap:1rem;display:grid}.confirm-dialog-banner{border:1px solid var(--line-soft);background:var(--card-surface-soft);border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1rem 1.05rem;display:grid}.confirm-dialog-banner.is-danger{background:linear-gradient(180deg, #c9576f14, transparent 62%), var(--card-surface-soft);border-color:#c9576f3d}.confirm-dialog-banner-icon{background:var(--danger-soft);width:42px;height:42px;color:var(--danger-text);border:1px solid #c9576f33;border-radius:14px;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.confirm-dialog-banner strong{color:var(--text-main);margin:0;font-family:Oxanium,Rubik,sans-serif;font-size:1.15rem;line-height:1.05;display:block}.confirm-dialog-banner p{color:var(--text-soft);margin:.35rem 0 0;line-height:1.45}.confirm-dialog-actions{justify-content:flex-end;gap:.7rem;display:flex}.entity-form{gap:1rem;display:grid}.logo-input-panel,.avatar-input-panel,.gateway-avatar-panel{border:1px solid var(--card-border);background:var(--card-surface-soft);border-radius:16px;gap:.9rem;padding:1rem;display:grid}.field-label{color:var(--text-muted);font-size:.85rem;font-weight:600;display:block}.field-help{margin:.3rem 0 0;font-size:.9rem}.logo-input-layout,.avatar-input-layout,.gateway-avatar-layout{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.gateway-detail-shell{gap:1rem;display:grid}.gateway-detail-hero{border:1px solid var(--card-border);background:var(--card-surface);box-shadow:var(--panel-shadow);border-radius:20px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem;display:flex}.gateway-detail-brand{align-items:center;gap:1rem;display:flex}.gateway-detail-brand h2{color:var(--text-main);margin:.15rem 0;font-family:Oxanium,Rubik,sans-serif;font-size:clamp(1.45rem,2vw,2rem)}.gateway-detail-brand p{color:var(--text-soft);margin:0}.gateway-detail-grid,.gateway-detail-topic-grid,.gateway-detail-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.gateway-detail-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gateway-detail-card,.gateway-detail-section{border:1px solid var(--card-border);background:var(--card-surface);box-shadow:var(--panel-shadow);border-radius:16px;gap:.55rem;padding:.95rem 1rem;display:grid}.gateway-detail-card strong{color:var(--text-main);font-size:1rem;font-weight:600}.gateway-detail-section-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gateway-detail-section-header strong{color:var(--text-main);font-family:Oxanium,Rubik,sans-serif}.gateway-detail-catalog-list{gap:.55rem;max-height:320px;padding-right:.2rem;display:grid;overflow:auto}.gateway-detail-catalog-item{border:1px solid var(--card-border);background:var(--card-surface-soft);border-radius:12px;gap:.2rem;padding:.75rem .85rem;display:grid}.gateway-detail-catalog-item strong{color:var(--text-main);font-size:.94rem}.gateway-detail-catalog-item span,.gateway-detail-empty,.gateway-detail-notes{color:var(--text-soft);word-break:break-word;font-size:.84rem}.gateway-detail-empty,.gateway-detail-notes{margin:0}.file-input-field{min-width:min(100%,320px)}.entity-form label{gap:.45rem;display:grid}.entity-form label.locked-field{position:relative}.entity-form span{color:var(--text-muted);font-size:.85rem;font-weight:500}.entity-form label.locked-field>span:first-child{align-items:center;gap:.55rem;display:inline-flex}.entity-form label.locked-field>span:first-child:after{content:"Solo lectura";border:1px solid color-mix(in srgb, var(--accent-strong) 18%, transparent);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.12rem .45rem;font-size:.66rem;font-weight:700}.entity-form input,.entity-form select,.entity-form textarea{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-main);border-radius:12px;outline:none;transition:border-color .14s,box-shadow .14s,background-color .14s}.entity-form input,.entity-form select{min-height:46px;padding:0 .95rem}.entity-form select,.sensor-history-window-filter select{padding-right:2.85rem}.module-inline-toolbar select,.entity-form select,.sensor-history-window-filter select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371869f' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:calc(100% - .95rem);background-repeat:no-repeat;background-size:1rem 1rem}.entity-form textarea{resize:vertical;min-height:120px;padding:.85rem .95rem}.prefixed-input{border:1px solid var(--input-border);background:var(--input-bg);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;min-height:46px;transition:border-color .14s,box-shadow .14s,background-color .14s;display:grid}.prefixed-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.prefixed-input-addon{border-right:1px solid var(--input-border);color:var(--text-soft);letter-spacing:.01em;align-self:stretch;align-items:center;padding:0 .9rem 0 1rem;font-size:.95rem;font-weight:700;display:inline-flex}.prefixed-input input{min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:0 12px 12px 0}.prefixed-input input:focus{box-shadow:none}.country-select{position:relative}.country-select-trigger{border:1px solid var(--line-soft);background:var(--card-surface);width:100%;min-height:44px;color:var(--text-strong);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;padding:.72rem 2.8rem .72rem .95rem;transition:border-color .14s,box-shadow .14s,background-color .14s;display:flex}.country-select-trigger:hover{border-color:var(--line-strong)}.country-select-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.country-select-trigger:disabled{cursor:not-allowed;opacity:.72}.country-select.is-open .country-select-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.country-select-label,.country-select-placeholder,.country-select-option-label{flex:1;min-width:0}.country-select-placeholder{color:var(--text-soft)}.country-select-caret{color:var(--text-soft);pointer-events:none;transition:transform .18s;position:absolute;top:50%;right:.95rem;transform:translateY(-50%)}.country-select.is-open .country-select-caret{transform:translateY(-50%)rotate(180deg)}.country-select-menu{z-index:80;border:1px solid var(--line-soft);background:linear-gradient(180deg, color-mix(in srgb, var(--card-surface) 96%, white), var(--card-surface));border-radius:14px;max-height:18rem;padding:.35rem;display:none;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow-y:auto;box-shadow:0 20px 40px #0a14252e}.country-select-menu.is-open{gap:.2rem;display:grid}.country-select-option{width:100%;color:var(--text-strong);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.75rem;padding:.7rem .85rem;transition:background-color .14s;display:flex}.country-select-option:hover,.country-select-option.is-selected{background:color-mix(in srgb, var(--accent-soft) 55%, var(--card-surface))}.country-select-flag{object-fit:cover;border:1px solid color-mix(in srgb, var(--line-soft) 75%, white 25%);background:#ffffffb3;border-radius:.2rem;flex:none;width:1.25rem;height:.95rem}.entity-form input:disabled,.entity-form select:disabled,.entity-form textarea:disabled{border-color:color-mix(in srgb, var(--input-border) 78%, var(--topbar-border));background:linear-gradient(135deg, color-mix(in srgb, var(--surface-raised) 92%, transparent) 25%, transparent 25%) 0 0 / 12px 12px, linear-gradient(315deg, color-mix(in srgb, var(--surface-raised) 92%, transparent) 25%, transparent 25%) 0 0 / 12px 12px, color-mix(in srgb, var(--input-bg) 84%, var(--surface-raised));color:var(--text-soft);-webkit-text-fill-color:var(--text-soft);cursor:not-allowed;opacity:1}.entity-form input:focus,.entity-form select:focus,.entity-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.entity-form-full{grid-column:1/-1}.selection-card{border:1px solid var(--card-border);background:var(--card-surface-soft);border-radius:14px;gap:.75rem;padding:.9rem;display:grid}.selection-check-grid{gap:.65rem;display:grid}.selection-check-item{border:1px solid var(--line-soft);background:var(--card-surface);border-radius:12px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:.7rem;padding:.75rem .8rem;transition:border-color .14s,background-color .14s,box-shadow .14s,transform .14s;display:grid!important}.selection-check-item:hover{border-color:var(--accent);transform:translateY(-1px)}.selection-check-item.is-selected{border-color:var(--accent);background:color-mix(in srgb, var(--card-surface) 84%, var(--accent-soft));box-shadow:0 8px 18px #0a142514}.selection-check-item input{width:16px;height:16px;margin:.15rem 0 0}.selection-check-copy{gap:.18rem;min-width:0;display:grid}.selection-check-copy strong{color:var(--text-main);font-size:.94rem}.selection-check-copy small{color:var(--text-soft);overflow-wrap:anywhere;font-size:.82rem}.entity-form input[type=file]{padding:.5rem}.entity-form input[type=file]::file-selector-button{background:var(--accent-soft);min-height:34px;color:var(--accent-strong);font:inherit;border:0;border-radius:10px;margin-right:.8rem;padding:0 .9rem;font-weight:700}.toggle-row{align-items:center;gap:.75rem;display:flex!important}.toggle-row input{width:16px;height:16px}.footer-shell{border-top:1px solid var(--topbar-border);background:var(--topbar-bg);min-height:54px;color:var(--text-soft);justify-content:center;align-items:center;font-size:.92rem;display:flex}.theme-drawer-backdrop{z-index:1150;pointer-events:none;background:#04091000;transition:background-color .18s;position:fixed;inset:0}.theme-drawer-backdrop.is-open{pointer-events:auto;background:#04091047}.theme-drawer{z-index:1160;background:var(--topbar-bg);border-left:1px solid var(--topbar-border);width:min(360px,100%);height:100vh;padding:1.2rem;transition:transform .18s;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-12px 0 32px #040a122e}.theme-drawer.is-open{transform:translate(0)}.theme-drawer-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.theme-drawer-header h3{color:var(--text-main);margin:.35rem 0;font-family:Oxanium,Rubik,sans-serif;font-size:1.5rem}.theme-drawer-header p{color:var(--text-soft);margin:0}.theme-drawer-section{padding-top:1rem}.theme-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;font-size:.72rem;font-weight:700}.mode-picker{border:1px solid var(--line-strong);background:var(--card-surface);border-radius:999px;align-items:center;gap:.6rem;padding:.35rem;display:inline-flex}.mode-icon-button{width:42px;height:42px;color:var(--text-soft);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.mode-icon-button:hover{color:var(--text-main);transform:translateY(-1px)}.mode-icon-button.active{background:var(--accent-soft);border-color:var(--line-soft);color:var(--accent-strong)}.theme-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.theme-swatch{border:1px solid #0000;border-radius:12px;height:38px;box-shadow:inset 0 0 0 1px #ffffff1f}.theme-swatch.active{border-color:var(--text-main)}.swatch-default{background:linear-gradient(135deg,#7287a3,#516884)}.swatch-green{background:linear-gradient(135deg,#36b37e,#1d8d5d)}.swatch-red{background:linear-gradient(135deg,#d96a7a,#b64d5d)}.swatch-blue{background:linear-gradient(135deg,#5d8fd6,#3f6eb1)}.swatch-purple{background:linear-gradient(135deg,#9368d8,#7248b7)}.swatch-megna{background:linear-gradient(135deg,#31b8bc,#218a8d)}.dashboard-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-top:1.1rem;display:grid}.dashboard-kpi-card,.dashboard-device-card,.dashboard-list-card,.dashboard-activity-item{border:1px solid var(--card-border);background:var(--card-surface-soft);box-shadow:inset 0 1px #ffffff0a}.dashboard-kpi-card{border-radius:18px;gap:.45rem;min-height:148px;padding:1rem 1.05rem;display:grid}.dashboard-kpi-card span,.dashboard-kpi-card small{color:var(--text-soft)}.dashboard-kpi-card span{text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:700}.dashboard-kpi-card strong{color:var(--text-main);font-family:Oxanium,Rubik,sans-serif;font-size:clamp(2rem,3vw,2.5rem);line-height:1}.dashboard-kpi-card.danger strong,.dashboard-kpi-card.danger .dashboard-kpi-icon{color:var(--danger-text)}.dashboard-kpi-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.dashboard-layout{grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:1rem;display:grid}.dashboard-main-column,.dashboard-side-column{min-width:0}.dashboard-side-column{align-content:start;gap:1rem;display:grid}.dashboard-section-panel{gap:1rem;display:grid}.dashboard-section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dashboard-section-heading.compact{display:block}.dashboard-section-heading h2{color:var(--text-main);margin:.25rem 0 0;font-family:Oxanium,Rubik,sans-serif;font-size:1.45rem}.dashboard-section-heading p{color:var(--text-soft);max-width:460px;margin:0}.dashboard-featured-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.dashboard-device-card{border-radius:18px;gap:1rem;padding:1rem;display:grid}.dashboard-device-head,.dashboard-list-card-top,.dashboard-activity-head{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.dashboard-device-brand{align-items:center;gap:.9rem;min-width:0;display:flex}.dashboard-device-brand h3{color:var(--text-main);margin:.2rem 0 .25rem;font-family:Oxanium,Rubik,sans-serif;font-size:1.25rem;line-height:1.05}.dashboard-device-brand p{color:var(--text-soft);margin:0}.dashboard-device-main{grid-template-columns:minmax(0,150px) minmax(0,1fr);align-items:center;gap:1rem;display:grid}.dashboard-device-primary{gap:.35rem;display:grid}.dashboard-reading-label,.dashboard-reading-time,.dashboard-list-card span,.dashboard-activity-item span{color:var(--text-soft)}.dashboard-reading-label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.dashboard-device-primary strong,.dashboard-reading-chip strong{color:var(--text-main);font-family:Oxanium,Rubik,sans-serif}.dashboard-device-primary strong{align-items:baseline;gap:.35rem;font-size:clamp(1.9rem,3vw,2.4rem);line-height:1;display:inline-flex}.dashboard-device-primary strong small,.dashboard-reading-chip strong small{color:var(--text-soft);font-size:.72em}.dashboard-reading-time{font-size:.84rem}.dashboard-device-chart{border:1px solid var(--line-soft);background:linear-gradient(180deg, #ffffff0a, transparent), var(--card-surface);border-radius:16px;align-items:center;min-width:0;min-height:86px;padding:.2rem .35rem;display:grid}.dashboard-sparkline{width:100%;height:86px;overflow:visible}.dashboard-sparkline-empty,.dashboard-list-empty{color:var(--text-soft);font-size:.92rem}.dashboard-sparkline-empty{place-items:center;min-height:70px;display:grid}.dashboard-reading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.dashboard-reading-chip,.dashboard-list-card,.dashboard-activity-item{border-radius:14px}.dashboard-reading-chip{border:1px solid var(--line-soft);background:var(--card-surface);gap:.35rem;padding:.75rem .85rem;display:grid}.dashboard-reading-chip span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:700}.dashboard-reading-chip.is-empty{grid-column:1/-1}.dashboard-device-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.dashboard-device-meta div{border:1px solid var(--line-soft);background:var(--card-surface);border-radius:14px;padding:.75rem .85rem}.dashboard-device-meta dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .3rem;font-size:.68rem;font-weight:700}.dashboard-device-meta dd{color:var(--text-main);margin:0}.dashboard-list,.dashboard-activity-list{gap:.75rem;display:grid}.dashboard-list-card,.dashboard-activity-item{gap:.45rem;padding:.85rem .9rem;display:grid}.dashboard-list-card strong,.dashboard-activity-item strong{color:var(--text-main)}.dashboard-list-card p,.dashboard-activity-item p{color:var(--text-soft);margin:0}.dashboard-list-card.danger{background:linear-gradient(180deg, #c9576f14, transparent 48%), var(--card-surface-soft);border-color:#c9576f38}.dashboard-list-card.info{border-color:color-mix(in srgb, var(--accent-strong) 20%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 80%, transparent), transparent 48%), var(--card-surface-soft)}.dashboard-list-card.success{border-color:color-mix(in srgb, var(--success-text) 22%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--success-soft) 82%, transparent), transparent 48%), var(--card-surface-soft)}.dashboard-list-card.warning{background:linear-gradient(180deg, #e8c42e1f, transparent 48%), var(--card-surface-soft);border-color:#e8c42e57}.dashboard-list-card.caution{background:linear-gradient(180deg, #e580181f, transparent 48%), var(--card-surface-soft);border-color:#e5801857}.dashboard-event-pill{letter-spacing:.06em;text-transform:uppercase;background:var(--pill-muted-bg);min-height:26px;color:var(--pill-muted-text);border-radius:999px;align-items:center;padding:0 .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.dashboard-event-pill.uplink,.dashboard-event-pill.join,.dashboard-event-pill.ack{background:var(--accent-soft);color:var(--accent-strong)}.dashboard-event-pill.muted{background:var(--pill-muted-bg);color:var(--pill-muted-text)}.dashboard-event-pill.success{background:var(--success-soft);color:var(--success-text)}.dashboard-event-pill.info{background:var(--accent-soft);color:var(--accent-strong)}.dashboard-event-pill.error{background:var(--danger-soft);color:var(--danger-text)}.dashboard-event-pill.warning{color:#b88b00;background:#e8c42e2e}.dashboard-event-pill.caution{color:#cf6700;background:#e5801829}.dashboard-pill-stack,.entity-card-pill-stack{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.alert-summary-badge{isolation:isolate;align-items:center;display:inline-flex;position:relative}.alert-summary-tooltip{z-index:24;border:1px solid var(--card-border);background:linear-gradient(180deg, #ffffff0d, transparent 28%), var(--module-surface);min-width:250px;max-width:min(300px,100vw - 3rem);box-shadow:var(--shadow-lg);color:var(--text-main);opacity:0;pointer-events:none;transform-origin:100% 0;border-radius:16px;gap:.8rem;padding:.85rem .9rem .9rem;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + .7rem);right:0;overflow:visible;transform:translateY(-6px)scale(.98)}.alert-summary-tooltip:before{content:"";border-top:1px solid var(--card-border);border-left:1px solid var(--card-border);background:color-mix(in srgb, var(--card-surface) 92%, transparent);width:12px;height:12px;position:absolute;top:-7px;right:18px;transform:rotate(45deg)}.alert-summary-tooltip-placement-top{transform-origin:100% 100%;top:auto;bottom:calc(100% + .7rem)}.alert-summary-tooltip-placement-top:before{border-top:0;border-left:0;border-right:1px solid var(--card-border);border-bottom:1px solid var(--card-border);top:auto;bottom:-7px}.alert-summary-badge:hover .alert-summary-tooltip,.area-card:focus-visible .alert-summary-tooltip,.zone-card-main:focus-visible .alert-summary-tooltip{opacity:1;transform:translateY(0)scale(1)}.alert-summary-tooltip-muted{border-color:var(--card-border)}.alert-summary-tooltip-info{border-color:color-mix(in srgb, var(--accent-strong) 24%, transparent)}.alert-summary-tooltip-success{border-color:color-mix(in srgb, var(--success-text) 26%, transparent)}.alert-summary-tooltip-warning{border-color:#e8c42e57}.alert-summary-tooltip-caution{border-color:#e5801857}.alert-summary-tooltip-danger{border-color:#c9576f4d}.alert-summary-tooltip-header,.alert-summary-tooltip-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.alert-summary-tooltip-copy{gap:.25rem;min-width:0;display:grid}.alert-summary-tooltip-title{color:var(--text-main);font-size:.92rem;line-height:1.35}.alert-summary-tooltip-subtitle{color:var(--text-soft);font-size:.78rem;line-height:1.45}.alert-summary-tooltip-breakdown{border-top:1px solid var(--line-soft);gap:.45rem;padding-top:.15rem;display:grid}.alert-summary-tooltip-label{color:var(--text-soft);font-size:.8rem;font-weight:600}.alert-summary-tooltip-row-success .alert-summary-tooltip-label{color:var(--success-text)}.alert-summary-tooltip-row-warning .alert-summary-tooltip-label{color:#b88b00}.alert-summary-tooltip-row-caution .alert-summary-tooltip-label{color:#cf6700}.alert-summary-tooltip-row-danger .alert-summary-tooltip-label{color:var(--danger-text)}.area-card-grid,.zone-card-grid{gap:1rem;display:grid}.area-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.zone-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,420px));justify-content:flex-start}.area-card,.zone-card,.zone-device-card,.sensor-assignment-card{border:1px solid var(--card-border);background:var(--module-surface);box-shadow:var(--shadow-lg)}.area-card,.zone-card{isolation:isolate;border-radius:18px;gap:1rem;padding:1.1rem;transition:transform .14s,border-color .14s,box-shadow .14s;display:grid;position:relative}.area-card:hover,.zone-card:hover{border-color:var(--accent);transform:translateY(-2px)}.area-card-top,.area-card-footer,.zone-card-meta{z-index:4;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:relative}.area-card h3,.zone-card h3,.zone-device-card h3{color:var(--text-main);margin:0;font-family:Oxanium,Rubik,sans-serif;font-size:1.5rem}.area-card p,.zone-card p,.zone-device-card p{color:var(--text-soft);margin:0}.area-card-footer strong{color:var(--text-main);font-family:Oxanium,Rubik,sans-serif;font-size:1.6rem}.area-card-footer span{color:var(--text-soft);text-align:right;font-size:.88rem}.area-visual{z-index:1;place-items:center;width:100%;display:grid;position:relative}.area-visual-card{min-height:146px}.area-visual-compact{flex:0 0 110px;width:110px;min-width:110px}.area-visual-image,.area-visual-fallback{width:100%;height:100%;display:block}.area-visual-image{object-fit:contain;filter:drop-shadow(0 12px 22px #060e1c2e)}.area-visual-fallback{border:1px solid var(--line-soft);background:var(--card-surface-soft);min-height:120px;color:var(--text-main);text-align:center;border-radius:18px;place-items:center;padding:1rem;font-family:Oxanium,Rubik,sans-serif;display:grid}.zone-card{padding:0;overflow:hidden}.zone-card-main{z-index:1;gap:.9rem;padding:1.1rem;display:grid;position:relative}.zone-card-actions{border-top:1px solid var(--line-soft);background:var(--card-surface-soft);border-bottom-right-radius:18px;border-bottom-left-radius:18px;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.85rem 1rem 1rem;display:grid}.zone-card-actions .ghost-button{border:1px solid var(--line-strong);background:var(--card-surface);min-height:48px;color:var(--text-main);letter-spacing:.02em;border-radius:14px;font-weight:700;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s;box-shadow:0 10px 20px #182b4d14}.zone-card-actions .ghost-button:hover,.zone-card-actions .ghost-button:focus-visible{background:var(--accent-soft);color:var(--accent-strong);border-color:#5d7baa47;transform:translateY(-1px);box-shadow:0 14px 24px #182b4d1f}.zone-card-actions .ghost-button:focus-visible{outline:none}.zone-card-actions .ghost-button.danger{background:var(--danger-soft);color:var(--danger-text);border-color:#c9576f33}.zone-card-actions .ghost-button.danger:hover,.zone-card-actions .ghost-button.danger:focus-visible{color:var(--danger-text);background:#c9576f24;border-color:#c9576f57;box-shadow:0 14px 28px #c9576f24}body.theme-dark .zone-card-actions .ghost-button{box-shadow:0 12px 22px #00000029}body.theme-dark .zone-card-actions .ghost-button:hover,body.theme-dark .zone-card-actions .ghost-button:focus-visible{box-shadow:0 16px 28px #0000003d}body.theme-dark .zone-card-actions .ghost-button.danger:hover,body.theme-dark .zone-card-actions .ghost-button.danger:focus-visible{background:#c9576f33}.sensor-assignment-panel{border:1px solid var(--card-border);background:var(--card-surface-soft);border-radius:16px;gap:.9rem;padding:1rem;display:grid}.sensor-assignment-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.sensor-assignment-card{border-radius:16px;align-items:center;gap:.8rem;padding:.85rem;display:flex}.sensor-assignment-card input{width:16px;height:16px}.sensor-assignment-card strong{color:var(--text-main);display:block}.sensor-assignment-card span{color:var(--text-soft);font-size:.85rem}.sensor-assignment-card.is-selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 65%, var(--card-surface-soft))}.zone-devices-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:1rem;display:grid}.zone-devices-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:1rem;display:grid}.zone-device-card{border-radius:18px;align-self:start;gap:1rem;padding:1rem;display:grid}.zone-device-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.zone-device-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:inline-flex}.battery-badge{border:1px solid var(--line-soft);background:var(--card-surface-soft);min-height:30px;color:var(--text-main);border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .6rem;display:inline-flex}.battery-badge.is-high{background:color-mix(in srgb, var(--success-soft) 78%, var(--card-surface-soft));color:var(--success-text);border-color:#2775543d}.battery-badge.is-medium{color:#e0b84f;background:#dca7371f;border-color:#dca73742}.battery-badge.is-low{background:color-mix(in srgb, var(--danger-soft) 74%, var(--card-surface-soft));color:var(--danger-text);border-color:#c9576f3d}.battery-badge.is-muted{color:var(--text-soft)}.battery-badge-value{font-family:Oxanium,Rubik,sans-serif;font-size:.92rem;font-weight:700;line-height:1}.battery-icon-shell{align-items:center;gap:2px;display:inline-flex}.battery-icon-body{border:1.6px solid;border-radius:4px;width:22px;height:12px;position:relative;overflow:hidden}.battery-icon-fill{opacity:.95;background:currentColor;border-radius:2px;max-width:calc(100% - 4px);position:absolute;inset:2px auto 2px 2px}.battery-icon-cap{opacity:.95;background:currentColor;border-radius:0 2px 2px 0;width:3px;height:6px}.zone-reading-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.zone-reading-card{border:1px solid var(--line-soft);background:var(--card-surface-soft);border-radius:14px;gap:.55rem;padding:.8rem .85rem;display:grid}.zone-reading-card span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:700}.zone-reading-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zone-reading-chart-button{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--card-surface) 92%, transparent);width:2rem;height:2rem;color:var(--text-soft);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:border-color .14s,color .14s,transform .14s,background .14s;display:inline-flex}.zone-reading-chart-button:hover{border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 12%, var(--card-surface));transform:translateY(-1px)}.zone-reading-chart-button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.zone-reading-card strong{color:var(--text-main);font-family:Oxanium,Rubik,sans-serif;font-size:1.6rem;line-height:1}.zone-reading-card strong small{color:var(--text-soft);font-size:.66em}.zone-reading-card.is-empty{grid-column:1/-1}.zone-alerts-panel{align-self:start}.sensor-history-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.sensor-history-toolbar{justify-content:flex-end;margin-bottom:.85rem;display:flex}.sensor-history-window-filter{gap:.35rem;min-width:min(240px,100%);display:grid}.sensor-history-window-filter span{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:700}.sensor-history-window-filter select{border:1px solid var(--line-soft);background:var(--card-surface-soft);color:var(--text-main);font:inherit;border-radius:14px;padding:.8rem .95rem}.sensor-history-window-filter select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.sensor-history-overview-item,.sensor-history-card,.sensor-history-stat{border:1px solid var(--card-border);background:var(--card-surface-soft);box-shadow:inset 0 1px #ffffff0a}.sensor-history-overview-item{border-radius:14px;gap:.35rem;padding:.85rem .9rem;display:grid}.sensor-history-overview-item span,.sensor-history-card-copy span,.sensor-history-stat span,.sensor-history-meta{color:var(--text-soft)}.sensor-history-overview-item span,.sensor-history-stat span{letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:700}.sensor-history-overview-item strong,.sensor-history-card-copy strong,.sensor-history-chip strong,.sensor-history-stat strong{color:var(--text-main)}.sensor-history-overview-item strong,.sensor-history-card-copy strong,.sensor-history-chip strong{font-family:Oxanium,Rubik,sans-serif}.sensor-history-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.sensor-history-focus-panel{border:1px solid color-mix(in srgb, var(--history-accent) 22%, var(--card-border));background:radial-gradient(circle at top left, color-mix(in srgb, var(--history-accent) 13%, transparent), transparent 58%), linear-gradient(180deg, #ffffff0a, transparent 64%), var(--module-surface);box-shadow:var(--shadow-lg);border-radius:20px;gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.sensor-history-focus-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.sensor-history-card{border-radius:18px;gap:.9rem;padding:1rem;display:grid}.sensor-history-card-header{justify-content:space-between;align-items:flex-start;gap:.9rem;display:flex}.sensor-history-card-copy{gap:.25rem;display:grid}.sensor-history-card-copy strong{font-size:1.05rem}.sensor-history-chip{border:1px solid color-mix(in srgb, var(--history-accent) 22%, var(--line-soft));background:color-mix(in srgb, var(--history-accent) 10%, var(--card-surface));border-radius:14px;gap:.18rem;min-width:110px;padding:.65rem .75rem;display:grid}.sensor-history-chip.is-active{border-color:color-mix(in srgb, var(--history-accent) 42%, var(--line-soft));background:color-mix(in srgb, var(--history-accent) 16%, var(--card-surface));box-shadow:inset 0 1px 0 #ffffff0d, 0 0 0 1px color-mix(in srgb, var(--history-accent) 12%, transparent)}.sensor-history-chip span{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.sensor-history-chip strong{align-items:baseline;gap:.25rem;font-size:1.45rem;line-height:1;display:inline-flex}.sensor-history-chip strong small{color:var(--text-soft);font-size:.62em}.sensor-history-chip-meta{color:var(--text-soft);font-size:.74rem;line-height:1.25}.sensor-history-card-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.sensor-history-focus-panel .sensor-history-card-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.sensor-history-stat{border-radius:14px;gap:.25rem;padding:.75rem .8rem;display:grid}.sensor-history-stat strong{font-family:Oxanium,Rubik,sans-serif;font-size:1.1rem;line-height:1.05}.sensor-history-chart-shell{border:1px solid var(--line-soft);background:radial-gradient(circle at top, color-mix(in srgb, var(--history-accent) 12%, transparent), transparent 58%), linear-gradient(180deg, #ffffff08, transparent 60%), var(--card-surface);border-radius:16px;padding:.65rem}.sensor-history-chart-shell.is-expanded{padding:.8rem}.sensor-history-plot{position:relative}.sensor-history-chart{width:100%;height:180px;display:block;overflow:visible}.sensor-history-chart.is-expanded{height:360px}.sensor-history-chart-gridline{stroke:var(--line-soft);stroke-width:.8px;stroke-dasharray:3.5 3.5}.sensor-history-chart-area{fill:var(--history-accent);opacity:.14}.sensor-history-chart-line{fill:none;stroke:var(--history-accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.sensor-history-chart-dot{fill:var(--history-accent);stroke:var(--card-surface);stroke-width:1.2px}.sensor-history-chart-guideline{stroke:color-mix(in srgb, var(--history-accent) 72%, white 12%);stroke-width:1px;stroke-dasharray:2.5 3.5;opacity:.95}.sensor-history-chart-active-dot{fill:var(--card-surface);stroke:var(--history-accent);stroke-width:1.8px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--history-accent) 48%, transparent))}.sensor-history-chart-hitbox{fill:#0000;cursor:crosshair}.sensor-history-tooltip{left:var(--tooltip-x);top:var(--tooltip-y);z-index:2;border:1px solid color-mix(in srgb, var(--history-accent) 28%, var(--line-soft));background:linear-gradient(180deg, #ffffff0f, transparent 55%), color-mix(in srgb, var(--card-surface) 92%, #08121f 8%);pointer-events:none;border-radius:12px;gap:.22rem;min-width:148px;max-width:min(220px,100% - 1rem);padding:.55rem .65rem;display:grid;position:absolute;transform:translate(-50%,calc(-100% - .8rem));box-shadow:0 16px 32px #030c184d}.sensor-history-tooltip:after{content:"";border-right:1px solid color-mix(in srgb, var(--history-accent) 28%, var(--line-soft));border-bottom:1px solid color-mix(in srgb, var(--history-accent) 28%, var(--line-soft));background:color-mix(in srgb, var(--card-surface) 92%, #08121f 8%);width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.sensor-history-tooltip strong{color:var(--text-main);align-items:baseline;gap:.28rem;font-family:Oxanium,Rubik,sans-serif;font-size:1.05rem;line-height:1;display:inline-flex}.sensor-history-tooltip strong small{color:var(--text-soft);font-size:.68em}.sensor-history-tooltip span{color:var(--text-soft);font-size:.75rem;line-height:1.35}.sensor-history-chart-caption{color:var(--text-soft);margin-top:.45rem;font-size:.74rem}.sensor-history-card-actions{justify-content:flex-end;display:flex}.sensor-history-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.sensor-history-empty{border:1px dashed var(--line-strong);background:color-mix(in srgb, var(--card-surface-soft) 90%, transparent);min-height:180px;color:var(--text-soft);text-align:center;border-radius:16px;place-items:center;padding:1rem;display:grid}.alerts-layout,.alerts-active-panel{gap:1rem;display:grid}.alerts-active-panel .dashboard-list{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.zone-alerts-panel .dashboard-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.active-alerts-heading{padding-right:4.5rem;display:block;position:relative}.active-alerts-heading>div{min-width:0}.active-alerts-heading p{color:var(--text-soft);max-width:28rem;margin:.35rem 0 0}.active-alert-card{border:1px solid var(--card-border);background:var(--card-surface-soft);border-radius:16px;gap:.6rem;min-width:0;padding:.8rem .85rem 0;display:grid;overflow:hidden;box-shadow:0 8px 18px #030c180f}.active-alert-card.success{border-color:color-mix(in srgb, var(--success-text) 28%, var(--card-border))}.active-alert-card.info{border-color:color-mix(in srgb, var(--accent) 30%, var(--card-border))}.active-alert-card.warning{border-color:#e8c42e5c}.active-alert-card.caution{border-color:#e5801861}.active-alert-card.danger{border-color:#c9576f52}.active-alert-card-head{grid-template-columns:auto auto;justify-content:space-between;align-items:start;gap:.65rem;display:grid}.active-alert-severity{border-radius:999px;min-height:26px;padding:0 .7rem;font-size:.74rem}.active-alert-severity.success{background:var(--success-soft);color:var(--success-text)}.active-alert-severity.info{background:var(--accent-soft);color:var(--accent-strong)}.active-alert-severity.warning{color:#b88b00;background:#e8c42e2e}.active-alert-severity.caution{color:#cf6700;background:#e5801829}.active-alert-severity.danger{color:var(--danger-text);background:#c9576f29}.active-alert-device-name{color:var(--text-main);white-space:normal;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;grid-column:1/-1;font-family:Oxanium,Rubik,sans-serif;font-size:1.02rem;line-height:1.1}.active-alert-pill-stack{flex-wrap:nowrap;justify-content:flex-end;justify-self:end;align-items:center;gap:.25rem;padding-right:.12rem;display:flex}.active-alert-dismiss-button{border:1px solid color-mix(in srgb, var(--danger-text) 20%, var(--line-soft));background:color-mix(in srgb, var(--card-surface) 92%, var(--danger-soft));width:28px;height:28px;color:color-mix(in srgb, var(--danger-text) 82%, var(--text-soft));border-radius:999px;flex:0 0 28px;justify-content:center;align-items:center;padding:0;transition:transform .14s,border-color .14s,background-color .14s,color .14s,box-shadow .14s;display:inline-flex;box-shadow:inset 0 1px #ffffff1f,0 4px 10px #18243a0f}.active-alert-dismiss-button.is-success{border-color:color-mix(in srgb, var(--success-text) 24%, var(--line-soft));background:color-mix(in srgb, var(--card-surface) 92%, var(--success-soft));color:color-mix(in srgb, var(--success-text) 86%, var(--text-soft))}.active-alert-dismiss-button.is-warning{background:color-mix(in srgb, var(--card-surface) 92%, #e8c42e24);color:#b88b00;border-color:#e8c42e4d}.active-alert-dismiss-button.is-caution{background:color-mix(in srgb, var(--card-surface) 92%, #e5801824);color:#cf6700;border-color:#e580184d}.active-alert-dismiss-button.is-danger{border-color:color-mix(in srgb, var(--danger-text) 20%, var(--line-soft));background:color-mix(in srgb, var(--card-surface) 92%, var(--danger-soft));color:color-mix(in srgb, var(--danger-text) 82%, var(--text-soft))}.active-alert-dismiss-button:hover,.active-alert-dismiss-button:focus-visible{border-color:color-mix(in srgb, var(--danger-text) 42%, transparent);background:color-mix(in srgb, var(--danger-soft) 86%, white);color:var(--danger-text);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff29,0 8px 18px #963e5629}.active-alert-dismiss-button.is-success:hover,.active-alert-dismiss-button.is-success:focus-visible{border-color:color-mix(in srgb, var(--success-text) 42%, transparent);background:color-mix(in srgb, var(--success-soft) 88%, white);color:var(--success-text);box-shadow:inset 0 1px #ffffff29,0 8px 18px #2c7c5724}.active-alert-dismiss-button.is-warning:hover,.active-alert-dismiss-button.is-warning:focus-visible{color:#b88b00;background:#f1dc834b;border-color:#e8c42e75;box-shadow:inset 0 1px #ffffff29,0 8px 18px #b88b0024}.active-alert-dismiss-button.is-caution:hover,.active-alert-dismiss-button.is-caution:focus-visible{color:#cf6700;background:#f0b3764b;border-color:#e5801875;box-shadow:inset 0 1px #ffffff29,0 8px 18px #cf670024}.active-alert-dismiss-button.is-danger:hover,.active-alert-dismiss-button.is-danger:focus-visible{border-color:color-mix(in srgb, var(--danger-text) 42%, transparent);background:color-mix(in srgb, var(--danger-soft) 86%, white);color:var(--danger-text);box-shadow:inset 0 1px #ffffff29,0 8px 18px #963e5629}.active-alert-dismiss-button:focus-visible{outline:none}.active-alert-dismiss-button:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff14,0 3px 10px #18243a14}.active-alert-dismiss-button:disabled{cursor:wait;opacity:.7;box-shadow:none;transform:none}.active-alert-facts{gap:.45rem;margin:0;display:grid}.active-alert-facts div{flex-wrap:wrap;gap:.35rem;display:flex}.active-alert-facts dt,.active-alert-facts dd{margin:0;font-size:.9rem;line-height:1.28}.active-alert-facts dt{color:var(--text-muted);font-weight:700}.active-alert-facts dd{color:var(--text-main)}.active-alert-footer{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:flex-end;gap:.65rem;padding:.65rem 0 .75rem;display:flex}.active-alert-footer span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;flex:none;font-size:.78rem;font-weight:700}.active-alert-footer.is-success .active-alert-reading{color:var(--success-text)}.active-alert-footer.is-info .active-alert-reading{color:var(--accent-strong)}.active-alert-footer.is-warning .active-alert-reading{color:#b88b00}.active-alert-footer.is-caution .active-alert-reading{color:#cf6700}.active-alert-footer.is-danger .active-alert-reading{color:var(--danger-text)}.active-alert-reading{letter-spacing:-.04em;text-align:right;overflow-wrap:anywhere;flex:auto;font-family:Oxanium,Rubik,sans-serif;font-size:clamp(1.45rem,2.1vw,2.15rem);line-height:.9}.active-alert-counter{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--card-border));background:color-mix(in srgb, var(--accent-soft) 70%, var(--card-surface-soft));min-width:42px;height:42px;color:var(--accent-strong);border-radius:999px;place-items:center;padding:0 .6rem;font-family:Oxanium,Rubik,sans-serif;font-size:1rem;font-weight:800;display:inline-grid;position:absolute;top:0;right:0}@media (width<=1500px){.alerts-active-panel .dashboard-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1240px){.alerts-active-panel .dashboard-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.alerts-active-panel .dashboard-list,.zone-alerts-panel .dashboard-list{grid-template-columns:1fr}.active-alert-card-head{grid-template-columns:auto auto}}.back-icon-button{background:linear-gradient(180deg, #c9576f24, transparent), var(--danger-soft);color:var(--danger-text);border-color:#c9576f38;box-shadow:0 10px 18px #78223724}.back-icon-button:hover,.back-icon-button:focus-visible{background:linear-gradient(180deg, #c9576f2e, transparent), var(--danger-soft);color:#fff;border-color:#c9576f52;box-shadow:0 14px 22px #7822372e}@media (width<=1100px){.auth-grid{grid-template-columns:1fr;align-items:stretch}.auth-form-panel{justify-self:stretch;width:100%}.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--sidebar-border)}.solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout,.dashboard-layout,.zone-devices-layout{grid-template-columns:1fr}.sensor-history-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.auth-shell{grid-template-rows:auto 1fr;padding:.85rem .75rem .75rem}.auth-topbar{flex-direction:column;align-items:stretch}.auth-grid,.auth-form-panel{grid-template-columns:1fr}.auth-form-panel{padding:1.25rem}.app-shell{grid-template-rows:auto 1fr auto}.topbar{grid-template-columns:1fr;justify-items:center;padding:.85rem 1rem}.topbar-left,.topbar-actions{justify-content:center;width:100%}.topbar-user-menu{width:100%}.user-chip-button{justify-content:center;width:100%}.user-dropdown{width:100%}.page-wrapper{padding:.75rem}.page-frame,.module-panel,.module-hero,.entity-card,.entity-empty,.solution-card{border-radius:16px}.solution-grid,.entity-meta,.dashboard-reading-grid,.dashboard-device-meta,.zone-reading-grid{grid-template-columns:1fr}.module-toolbar,.module-kpi-row,.entity-actions,.form-actions{align-items:stretch}.primary-button,.ghost-button{width:100%}.page-header-main{flex-direction:column;align-items:stretch}.page-header-toolbar,.module-inline-toolbar{width:100%}.module-inline-toolbar{grid-template-columns:1fr;display:grid}.module-inline-toolbar select,.toolbar-search-input,.toolbar-export,.toolbar-icon-button{width:100%}.entity-card-brand,.logo-input-layout,.avatar-input-layout,.gateway-avatar-layout,.gateway-detail-brand,.gateway-detail-hero,.dashboard-device-main{align-items:flex-start}.gateway-detail-grid,.gateway-detail-topic-grid,.gateway-detail-catalog-grid,.dashboard-device-main,.sensor-history-overview,.sensor-history-card-stats{grid-template-columns:1fr}.sensor-history-toolbar{justify-content:stretch}.sensor-history-window-filter{min-width:0}.sensor-history-focus-header,.sensor-history-card-header{flex-direction:column}.sensor-history-chip{width:100%;min-width:0}}
