:root{--bg:#eaf1f4;--bg-accent:hsla(0,0%,100%,.5);--surface:hsla(0,0%,100%,.62);--ink:#002237;--muted:#536f7b;--brand:#002237;--brand-strong:#001828;--accent:#75b991;--accent-dark:#1e5055;--line:rgba(0,34,55,.1);--ok:#1e5055;--danger:#d92d20;--control-h:2.6rem;--font-display:"Source Sans 3","Segoe UI",sans-serif;--font-body:"Source Sans 3","Segoe UI",sans-serif;--glass:hsla(0,0%,100%,.55);--glass-strong:hsla(0,0%,100%,.74);--glass-border:hsla(0,0%,100%,.7);--glass-blur:saturate(180%) blur(22px);--glass-shadow:0 12px 32px rgba(0,34,55,.1),0 2px 6px rgba(0,34,55,.04);--glass-inset:inset 0 1px 0 hsla(0,0%,100%,.75);--r-xl:28px;--r-lg:22px;--r-md:16px;--r-sm:12px;--r-pill:999px;--ease:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 15% -10%,rgba(117,185,145,.16),transparent 60%),radial-gradient(900px 500px at 100% 0,rgba(0,34,55,.08),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:650;letter-spacing:-.024em;margin:0 0 .5rem;color:var(--brand)}.muted{color:var(--muted)}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h);border:1px solid transparent;border-radius:var(--r-pill);background:linear-gradient(180deg,#093249,#002237);color:#fff;padding:0 1.15rem;line-height:1;cursor:pointer;font-weight:600;letter-spacing:-.01em;box-shadow:0 6px 18px rgba(0,34,55,.22),inset 0 1px 0 hsla(0,0%,100%,.14);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);white-space:nowrap;box-sizing:border-box}.btn:hover:not(:disabled){background:linear-gradient(180deg,#0d3d58,#001828);transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,34,55,.28),inset 0 1px 0 hsla(0,0%,100%,.18)}.btn:active:not(:disabled){transform:translateY(0) scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--glass-strong);color:var(--brand);border-color:var(--glass-border);box-shadow:0 4px 14px rgba(0,34,55,.08),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.btn-secondary:hover:not(:disabled){background:#fff;border-color:rgba(117,185,145,.6);box-shadow:0 8px 20px rgba(0,34,55,.12),var(--glass-inset)}.btn-danger{background:linear-gradient(180deg,#e8483c,#c5271c);box-shadow:0 6px 18px rgba(217,45,32,.28)}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#ef564a,#b21f15)}.btn-accent{background:linear-gradient(180deg,#8ecaa6,#66ab84);color:#00261a;box-shadow:0 6px 18px rgba(117,185,145,.35),inset 0 1px 0 hsla(0,0%,100%,.4)}.btn-accent:hover:not(:disabled){background:linear-gradient(180deg,#83c39c,#5c9e78)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;min-width:0}.field>label{font-size:.85rem;color:var(--muted);line-height:1.2;min-height:1.05rem;font-weight:550}.field input,.field select{border:1px solid var(--glass-border);border-radius:var(--r-sm);height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h);padding:0 .85rem;line-height:calc(var(--control-h) - 2px);transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}.field input,.field select,.field textarea{background:var(--glass-strong);color:var(--ink);width:100%;box-sizing:border-box;box-shadow:var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.field textarea{border:1px solid var(--glass-border);border-radius:var(--r-md);height:auto;min-height:5rem;max-height:none;padding:.7rem .85rem}.field input:focus,.field select:focus,.field textarea:focus{outline:none;background:#fff;border-color:rgba(117,185,145,.85);box-shadow:0 0 0 4px rgba(117,185,145,.22)}.field-action{margin-bottom:0;justify-content:flex-end}.field-action>label{visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.field-action .btn,.field-action>.btn{width:100%}.table-wrap{overflow:auto;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}table.data td,table.data th{text-align:left;padding:.8rem 1rem;border-bottom:1px solid rgba(0,34,55,.07);white-space:nowrap}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr{transition:background .16s var(--ease)}table.data tbody tr:hover{background:hsla(0,0%,100%,.55)}table.data th{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:hsla(0,0%,100%,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:1}table.data td a{color:var(--accent-dark);font-weight:620;border-bottom:1px solid transparent;transition:border-color .16s var(--ease),color .16s var(--ease)}table.data td a:hover{color:var(--brand);border-bottom-color:currentColor}.badge{padding:.22rem .6rem;font-size:.78rem;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:color-mix(in srgb,currentColor 12%,#fff)}.badge,.tag-resp{display:inline-block;font-weight:600}.tag-resp{margin-left:.4rem;padding:.1rem .45rem;font-size:.7rem;letter-spacing:.02em;color:#0b4a6f;background:rgba(117,185,145,.22);border-radius:var(--r-pill);vertical-align:middle}.compare-row,.create-row,.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.create-row.glass{padding:1rem 1.2rem;gap:.9rem}.filters{padding:.95rem 1.05rem;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.compare-row .field,.create-row .field,.filters .field{margin-bottom:0;min-width:140px;flex:1 1 140px}.compare-row .field-action,.create-row .field-action,.filters .field-action{flex:0 0 auto;min-width:auto}.error{color:var(--danger);margin:.5rem 0;font-weight:550}.success{color:var(--ok);font-weight:550}label.btn{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h);min-height:var(--control-h);max-height:var(--control-h);padding:0 1.15rem;line-height:1;box-sizing:border-box}.brand-logo{display:block;width:auto;max-width:100%;height:auto;object-fit:contain}.admin-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh;width:100%;background:transparent;padding:.85rem;grid-gap:.85rem;gap:.85rem}.sidebar{background:linear-gradient(170deg,#06344c,#002237 55%,#001b2c);color:#e8f1f4;padding:1.1rem .85rem 1.15rem;gap:1.1rem;border:1px solid hsla(0,0%,100%,.09);border-radius:var(--r-xl);box-shadow:0 18px 40px rgba(0,24,40,.28),inset 0 1px 0 hsla(0,0%,100%,.1);position:-webkit-sticky;position:sticky;top:.85rem;height:calc(100vh - 1.7rem)}.brand,.sidebar{display:flex;flex-direction:column}.brand{background:transparent;padding:.35rem .35rem .5rem;align-items:stretch;gap:.55rem}.sidebar-logo{display:block;width:100%;height:auto!important;max-width:100%;aspect-ratio:auto;object-fit:contain;object-position:left center;overflow:visible;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}.brand-sub{color:rgba(232,241,244,.68);font-size:.78rem;opacity:1;line-height:1.2;padding-left:.1rem;letter-spacing:.01em}.sidebar nav{display:flex;flex-direction:column;gap:.4rem;flex:1 1;overflow:auto;padding:.1rem}.sidebar nav a{position:relative;padding:.68rem .85rem;border-radius:16px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.07);color:rgba(232,241,244,.86);font-weight:550;letter-spacing:-.01em;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06);transition:transform .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease)}.sidebar nav a:hover{background:hsla(0,0%,100%,.12);border-color:rgba(117,185,145,.5);color:#fff;transform:translateY(-2px) scale(1.015);box-shadow:0 10px 22px rgba(0,12,20,.35),inset 0 1px 0 hsla(0,0%,100%,.16)}.sidebar nav a:active{transform:translateY(0) scale(.99)}.sidebar nav a.active{background:linear-gradient(180deg,rgba(117,185,145,.32),rgba(117,185,145,.18));border-color:rgba(117,185,145,.62);color:#fff;box-shadow:0 8px 20px rgba(0,12,20,.3),inset 0 1px 0 hsla(0,0%,100%,.22)}.sidebar nav a.active:before{content:"";position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:3px;height:42%;border-radius:999px;background:#9fdcb8;box-shadow:0 0 10px rgba(159,220,184,.8)}.sidebar-foot{display:flex;flex-direction:column;gap:.7rem;padding:.8rem .7rem .2rem;border-top:1px solid hsla(0,0%,100%,.09)}.sidebar-safety-logo{display:block;width:104px;height:auto;margin:0 auto .15rem;border-radius:50%;background:#000;box-shadow:0 10px 24px rgba(0,0,0,.35)}.sidebar-foot .user-name{font-size:.85rem;color:rgba(232,241,244,.78);text-align:center;font-weight:550}.sidebar-foot .user-role{font-size:.72rem;color:rgba(232,241,244,.55);text-align:center;margin-top:-.15rem}.sidebar-foot .btn-secondary{background:hsla(0,0%,100%,.08);color:#e8f1f4;border-color:rgba(117,185,145,.4);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1)}.sidebar-foot .btn-secondary:hover:not(:disabled){background:hsla(0,0%,100%,.16);border-color:rgba(159,220,184,.75)}.admin-main{position:relative;isolation:isolate;padding:1.35rem 1.5rem 2.5rem;width:100%;max-width:none;min-width:0;min-height:calc(100vh - 1.7rem);display:flex;flex-direction:column;background:linear-gradient(180deg,#eef4f6,#e6eef2 50%,#e9f1f4);border-radius:var(--r-xl);overflow:hidden}.corner-halos{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(circle 280px at 0 0,rgba(117,185,145,.5),transparent 72%),radial-gradient(circle 260px at 100% 0,rgba(117,185,145,.4),transparent 72%),radial-gradient(circle 280px at 0 100%,rgba(30,80,85,.3),transparent 72%),radial-gradient(circle 260px at 100% 100%,rgba(117,185,145,.45),transparent 72%)}.admin-main>:not(.corner-halos){position:relative;z-index:1}@media (max-width:860px){.admin-shell{grid-template-columns:1fr;padding:.6rem}.sidebar{position:static;height:auto;padding:.9rem}.sidebar nav{flex-direction:row;flex-wrap:wrap}.admin-main{padding:1rem .35rem 2rem}}.plan-folders{display:flex;flex-direction:column;gap:.6rem;margin-top:.75rem}.plan-folder{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-lg);padding:.6rem .7rem;box-shadow:var(--glass-shadow),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.plan-folder:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,34,55,.14),var(--glass-inset);border-color:rgba(117,185,145,.5)}.plan-folder.prepared{border-color:rgba(117,185,145,.65);background:linear-gradient(180deg,rgba(238,250,243,.8),hsla(0,0%,100%,.55))}.plan-folder-main{flex:1 1 280px;display:flex;align-items:center;gap:.8rem;min-width:0;padding:.4rem .5rem;border-radius:var(--r-md);transition:background .18s var(--ease)}.plan-folder-main:hover{background:hsla(0,0%,100%,.6)}.plan-folder-icon{flex:0 0 auto;width:2.1rem;height:1.6rem;border-radius:6px 6px 5px 5px;background:linear-gradient(180deg,#f0c65c,#d4a017);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 4px 10px rgba(180,130,10,.28);position:relative}.plan-folder-icon:before{content:"";position:absolute;left:0;top:-.28rem;width:.9rem;height:.35rem;border-radius:4px 4px 0 0;background:#c4920f}.plan-folder-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.plan-folder-meta strong{font-size:1rem;color:var(--brand);letter-spacing:-.01em}.plan-folder-badge{margin-left:auto;flex:0 0 auto;font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--accent-dark);background:hsla(0,0%,100%,.75);border:1px solid rgba(117,185,145,.4);padding:.22rem .6rem;border-radius:var(--r-pill)}.plan-folder-actions{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.3rem .35rem .15rem;border-top:1px solid rgba(0,34,55,.08)}@media (min-width:1100px){.plan-folder-actions{flex:1 1 320px;border-top:none;justify-content:flex-end}}.float-head{text-shadow:0 1px 2px hsla(0,0%,100%,.75),0 8px 26px hsla(0,0%,100%,.55)}table.data tbody tr.row-focus{background:linear-gradient(90deg,rgba(117,185,145,.22),rgba(117,185,145,.07));box-shadow:inset 3px 0 0 var(--accent-dark)}table.data tbody tr.row-focus:hover{background:linear-gradient(90deg,rgba(117,185,145,.3),rgba(117,185,145,.12))}table.data tbody tr.row-focus td:first-child,table.data tbody tr.row-focus td:nth-child(2){font-weight:650;color:var(--accent-dark)}table.data tbody tr.row-focus-danger{background:linear-gradient(90deg,rgba(217,45,32,.18),rgba(217,45,32,.05));box-shadow:inset 3px 0 0 var(--danger)}table.data tbody tr.row-focus-danger:hover{background:linear-gradient(90deg,rgba(217,45,32,.26),rgba(217,45,32,.09))}table.data tbody tr.row-focus-danger td:first-child,table.data tbody tr.row-focus-danger td:nth-child(2){font-weight:650;color:#a3160c}.home{position:relative;isolation:isolate;flex:1 1 auto;min-height:calc(100vh - 1.7rem);margin:-1.35rem -1.5rem -2.5rem;padding:1.75rem 1.5rem 2.5rem;border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;background:transparent}.home-equans{position:absolute;left:50%;top:48%;z-index:0;width:min(58vw,560px);transform:translate3d(-50%,-50%,0);opacity:.22;pointer-events:none;will-change:top,transform}.home-equans img{display:block;width:100%;height:auto;filter:saturate(1.04) contrast(.98);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 50%,#000 28%,rgba(0,0,0,.55) 52%,transparent 78%);mask-image:radial-gradient(ellipse 72% 62% at 50% 50%,#000 28%,rgba(0,0,0,.55) 52%,transparent 78%)}.home>:not(.home-equans){position:relative;z-index:1}.home-head h1{font-size:clamp(1.9rem,3vw,2.6rem);margin:0}.home-sub{color:var(--brand);opacity:.72;margin:.2rem 0 0;font-weight:550}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.7rem}.tile{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:150px;padding:1.15rem 1rem;border-radius:30px;background:linear-gradient(160deg,hsla(0,0%,100%,.56),hsla(0,0%,100%,.28) 55%,hsla(0,0%,100%,.42));border:1px solid hsla(0,0%,100%,.72);box-shadow:0 16px 38px rgba(0,34,55,.14),inset 0 1px 0 hsla(0,0%,100%,.85),inset 0 -14px 26px hsla(0,0%,100%,.22);backdrop-filter:saturate(190%) blur(24px);-webkit-backdrop-filter:saturate(190%) blur(24px);overflow:hidden;animation:tileIn .55s var(--ease) both;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}.tile:before{inset:-42% -20% auto -20%;height:80%;background:radial-gradient(ellipse at 50% 100%,hsla(0,0%,100%,.72),hsla(0,0%,100%,0) 70%);transform:rotate(-4deg)}.tile:after,.tile:before{content:"";position:absolute;z-index:-1;pointer-events:none}.tile:after{inset:0;border-radius:inherit;background:linear-gradient(135deg,hsla(0,0%,100%,.42),transparent 38%,transparent 62%,hsla(0,0%,100%,.3));opacity:0;transition:opacity .3s var(--ease)}.tile:hover{transform:translateY(-6px) scale(1.02);border-color:hsla(0,0%,100%,.95);box-shadow:0 26px 54px rgba(0,34,55,.2),inset 0 1px 0 hsla(0,0%,100%,.95)}.tile:hover:after{opacity:1}.tile:active{transform:translateY(-1px) scale(.985)}.tile-value{font-family:var(--font-display);font-size:2.9rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--brand);text-shadow:0 1px 0 hsla(0,0%,100%,.8)}.tile-label{margin-top:.55rem;font-size:.95rem;font-weight:650;letter-spacing:-.015em;color:var(--brand)}.tile-hint{margin-top:.1rem;font-size:.78rem;color:var(--muted);opacity:.85}.tile-alert{background:linear-gradient(160deg,hsla(5,100%,96%,.6),hsla(5,100%,91%,.32) 55%,hsla(5,100%,94%,.46));border-color:hsla(4,100%,82%,.82);box-shadow:0 16px 38px rgba(217,45,32,.22),inset 0 1px 0 hsla(0,0%,100%,.8);animation:tileIn .55s var(--ease) both,alertPulse 2.8s ease-in-out .9s infinite}.tile-alert:hover{border-color:hsla(5,100%,75%,.95);box-shadow:0 26px 54px rgba(217,45,32,.3),inset 0 1px 0 hsla(0,0%,100%,.9)}.tile-alert .tile-value{color:#c5271c}.tile-alert .tile-label{color:#a3160c}.tile-alert .tile-hint{color:#b8342a;opacity:.92}.tile-skeleton{animation:none;opacity:.5}.home-section{margin-top:4.25rem;flex:1 1 auto;display:flex;flex-direction:column}.home-section .table-wrap{flex:1 1 auto}.home-section h2{font-size:clamp(1.3rem,2vw,1.7rem);margin:0}@keyframes tileIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertPulse{0%,to{box-shadow:0 16px 38px rgba(217,45,32,.22),inset 0 1px 0 hsla(0,0%,100%,.8)}50%{box-shadow:0 16px 46px rgba(217,45,32,.38),inset 0 1px 0 hsla(0,0%,100%,.85)}}@media (prefers-reduced-motion:reduce){.tile,.tile-alert{animation:none}}.focus-banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.7rem .95rem;margin:0 0 1rem;border-radius:var(--r-lg);background:var(--glass-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.focus-banner.danger{border-color:rgba(217,45,32,.4);background:linear-gradient(180deg,hsla(4,100%,97%,.9),hsla(0,0%,100%,.7))}.focus-banner strong{color:var(--brand)}.module-nav{gap:.5rem}.module-folder-head,.module-folder-items a,.module-global a,.sidebar nav.module-nav>a{display:block}.module-hub{display:flex!important;align-items:center;gap:.55rem}.module-hub-icon{width:16px;height:16px;flex:0 0 16px;border-radius:4px;background:currentColor;opacity:.75;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 11.2 12 4l9 7.2V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 11.2 12 4l9 7.2V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.module-folder{display:flex;flex-direction:column;gap:.3rem}.module-folder-head{position:relative;display:flex;align-items:stretch;border-radius:16px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.07);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06);color:rgba(232,241,244,.86);font-weight:640;letter-spacing:.01em;transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease),box-shadow .22s var(--ease)}.module-folder-head:hover{background:hsla(0,0%,100%,.12);border-color:rgba(117,185,145,.5);color:#fff;box-shadow:0 10px 22px rgba(0,12,20,.35),inset 0 1px 0 hsla(0,0%,100%,.16)}.module-folder.open .module-folder-head{background:hsla(0,0%,100%,.14);border-color:rgba(159,220,184,.45);color:#fff}.sidebar nav .module-folder-link{flex:1 1;min-width:0;display:flex;align-items:center;gap:.55rem;padding:.68rem .4rem .68rem .85rem;border:0;border-radius:15px 0 0 15px;background:none;box-shadow:none;color:inherit;font-weight:inherit;letter-spacing:inherit}.sidebar nav .module-folder-link:active,.sidebar nav .module-folder-link:hover{background:none;border-color:transparent;color:inherit;transform:none;box-shadow:none}.module-folder-toggle{display:grid;place-items:center;width:2.2rem;flex:0 0 2.2rem;padding:0;border:0;border-radius:0 15px 15px 0;background:none;color:inherit;cursor:pointer;transition:background .22s var(--ease)}.module-folder-toggle:hover{background:hsla(0,0%,100%,.14)}.module-folder-toggle:focus-visible{outline:2px solid rgba(159,220,184,.8);outline-offset:-2px}.module-folder-icon{width:17px;height:17px;flex:0 0 17px;background:currentColor;opacity:.8;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 6a2 2 0 0 1 2-2h4l2 2.4h8a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 6a2 2 0 0 1 2-2h4l2 2.4h8a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.module-folder-label{flex:1 1}.module-folder-chevron{width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;opacity:.55;transform:rotate(-45deg);transition:transform .22s var(--ease)}.module-folder.open .module-folder-chevron{transform:rotate(45deg)}.module-folder-items{display:flex;flex-direction:column;gap:.28rem;padding-left:.85rem;margin-left:.35rem;border-left:1px solid hsla(0,0%,100%,.14);animation:module-unfold .24s var(--ease) both}@keyframes module-unfold{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.sidebar nav .module-folder-items a{padding:.5rem .7rem;font-size:.9rem;font-weight:520;border-radius:13px}.module-global{gap:.4rem;margin-top:auto;padding-top:.6rem;border-top:1px solid hsla(0,0%,100%,.09)}.hub,.module-global{display:flex;flex-direction:column}.hub{gap:1.9rem}.hub-head h1{font-size:clamp(1.9rem,3vw,2.6rem);margin:0}.hub-section>h2{margin-bottom:.15rem}.hub-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:1rem;gap:1rem;margin-top:.9rem}.hub-module{display:flex;flex-direction:column;gap:.75rem;padding:1.15rem 1.25rem 1rem;border-radius:var(--r-xl);background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease);animation:tileIn .5s var(--ease) both}.hub-module:hover{transform:translateY(-3px);border-color:rgba(117,185,145,.6);box-shadow:0 20px 44px rgba(0,34,55,.16),var(--glass-inset)}.hub-module-main{display:flex;align-items:center;gap:.9rem}.hub-module-icon{width:46px;height:46px;flex:0 0 46px;border-radius:var(--r-md);background:linear-gradient(160deg,#093249,#002237);box-shadow:0 8px 18px rgba(0,34,55,.26),inset 0 1px 0 hsla(0,0%,100%,.16);position:relative}.hub-module-icon:after{content:"";position:absolute;inset:12px;background:#9fdcb8;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.hub-module-pdp .hub-module-icon:after{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 2h8l6 6v14H6z' fill='none' stroke='black' stroke-width='2'/><path d='M9 13h7M9 17h7' stroke='black' stroke-width='2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 2h8l6 6v14H6z' fill='none' stroke='black' stroke-width='2'/><path d='M9 13h7M9 17h7' stroke='black' stroke-width='2'/></svg>")}.hub-module-scada .hub-module-icon:after{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 18l5-7 4 4 3-5 6 8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/><circle cx='7' cy='6' r='2.4' fill='none' stroke='black' stroke-width='2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 18l5-7 4 4 3-5 6 8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/><circle cx='7' cy='6' r='2.4' fill='none' stroke='black' stroke-width='2'/></svg>")}.hub-module-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hub-module-text strong{font-family:var(--font-display);font-size:1.12rem;letter-spacing:-.02em;color:var(--brand)}.hub-module-text .muted{font-size:.88rem}.hub-module-links{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.7rem;border-top:1px solid var(--line)}.hub-module-links a{padding:.32rem .7rem;border-radius:var(--r-pill);font-size:.84rem;font-weight:570;color:var(--accent-dark);background:hsla(0,0%,100%,.6);border:1px solid var(--glass-border);transition:background .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}.hub-module-links a:hover{background:#fff;border-color:rgba(117,185,145,.7);transform:translateY(-1px)}.hub-notices{margin-top:.9rem}.tile-badge{font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.16rem .5rem;border-radius:var(--r-pill);color:var(--accent-dark);background:rgba(117,185,145,.18);border:1px solid rgba(117,185,145,.4);margin-bottom:.3rem}.tile-alert .tile-badge{color:var(--danger);background:rgba(217,45,32,.12);border-color:rgba(217,45,32,.35)}.hub-news{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.9rem;gap:.9rem;margin-top:.9rem}.hub-news-item{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}#modules{scroll-margin-top:1.5rem}.hub-news-link{color:inherit;transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}.hub-news-link:hover{transform:translateY(-3px);border-color:rgba(117,185,145,.6);box-shadow:0 20px 44px rgba(0,34,55,.16),var(--glass-inset)}.hub-news-go{margin-top:auto;padding-top:.55rem;font-size:.84rem;font-weight:600;color:var(--accent-dark)}.hub-news-go:after{content:"→";margin-left:.35rem;transition:transform .18s var(--ease);display:inline-block}.hub-news-link:hover .hub-news-go:after{transform:translateX(3px)}.hub-news-meta{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.hub-news-module{font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:.66rem;padding:.14rem .5rem;border-radius:var(--r-pill);color:var(--accent-dark);background:rgba(117,185,145,.18);border:1px solid rgba(117,185,145,.4)}.hub-news-item strong{font-family:var(--font-display);font-size:1rem;color:var(--brand)}.hub-news-item p{margin:0;font-size:.9rem;line-height:1.45}.combo{position:relative;display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1 1 260px}.combo-label{font-size:.85rem;color:var(--muted);font-weight:550}.combo-control{position:relative;display:flex;align-items:center}.combo-control input{width:100%;height:var(--control-h);padding:0 2.2rem 0 .9rem;border-radius:var(--r-sm);border:1px solid var(--glass-border);background:var(--glass-strong);color:var(--ink);box-shadow:var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}.combo-control input:focus{outline:none;background:#fff;border-color:rgba(117,185,145,.85);box-shadow:0 0 0 4px rgba(117,185,145,.22)}.combo-clear{position:absolute;right:.5rem;width:1.4rem;height:1.4rem;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(0,34,55,.08);color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}.combo-clear:hover{background:rgba(0,34,55,.16);color:var(--brand)}.combo-list{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:30;margin:0;padding:.3rem;list-style:none;max-height:19rem;overflow:auto;border-radius:var(--r-md);background:hsla(0,0%,100%,.97);border:1px solid var(--glass-border);box-shadow:0 18px 40px rgba(0,34,55,.18),var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);animation:combo-in .16s var(--ease) both}@keyframes combo-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.combo-list li button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.5rem .7rem;border:0;border-radius:var(--r-sm);background:transparent;text-align:left;cursor:pointer;color:var(--ink)}.combo-list li button.highlight{background:rgba(117,185,145,.2)}.combo-option-label{font-weight:570;letter-spacing:-.01em}.combo-option-hint{font-size:.78rem;color:var(--muted)}.combo-empty{padding:.6rem .7rem;font-size:.9rem}.scada-query{display:flex;flex-wrap:wrap;gap:1rem;padding:1.1rem 1.2rem;margin:1.2rem 0;position:relative;z-index:20}.scada-answer-slot{position:relative;z-index:1;min-height:9rem}.scada-hint{padding:1.4rem .2rem}.scada-answer{padding:1.15rem 1.3rem 1.25rem;border-radius:var(--r-xl);animation:tileIn .32s var(--ease) both}.scada-answer.empty{border-style:dashed}.scada-answer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.scada-answer-head>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.scada-answer-head strong{font-family:var(--font-display);font-size:1.05rem;color:var(--brand)}.scada-answer-head .muted{font-size:.86rem}.scada-answer-actions{display:flex;gap:.5rem;flex-shrink:0}.scada-answer-list{list-style:none;margin:0;padding:0}.scada-answer-row{display:grid;grid-template-columns:minmax(9rem,15rem) 1fr auto;align-items:baseline;grid-gap:.5rem 1rem;gap:.5rem 1rem;padding:.62rem 0;border-bottom:1px solid var(--line)}.scada-answer-row:last-child{border-bottom:none}.scada-answer-key{font-size:.86rem;font-weight:600;color:var(--muted)}.scada-answer-cell{font-size:1rem;font-weight:600;color:var(--brand);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.scada-answer-cell.masked{letter-spacing:.18em;color:var(--muted)}.scada-answer-cell.masked,.scada-answer-cell.muted{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scada-answer-cell.muted{font-weight:500}.scada-answer-row .scada-answer-actions{opacity:0;transition:opacity .16s var(--ease)}.scada-answer-row:focus-within .scada-answer-actions,.scada-answer-row:hover .scada-answer-actions{opacity:1}.scada-answer-row .btn{padding:.2rem .62rem;font-size:.78rem;min-height:0}@media (max-width:720px){.scada-answer-row{grid-template-columns:1fr}.scada-answer-row .scada-answer-actions{opacity:1}}.scada-answer-value{margin:.9rem 0 0;font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:620;letter-spacing:-.015em;color:var(--brand);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.scada-answer-value.masked{letter-spacing:.18em;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.scada-grid-wrap{max-height:calc(100vh - 19rem)}table.data.scada-grid td,table.data.scada-grid th{max-width:17rem;overflow:hidden;text-overflow:ellipsis;vertical-align:top}table.data.scada-grid thead th{white-space:normal;min-width:9rem;line-height:1.25;z-index:2}.scada-grid{--scada-band-h:2.15rem;--scada-band-tint:rgba(0,34,55,.05);--scada-rule:rgba(0,34,55,.14);--scada-rule-strong:rgba(0,34,55,.34)}table.data.scada-grid td,table.data.scada-grid th{border-bottom:2px solid var(--scada-rule);border-right:1px solid var(--scada-rule)}table.data.scada-grid .scada-band-alt{background:var(--scada-band-tint)}table.data.scada-grid .scada-band-start{border-left:3px solid var(--scada-rule-strong)}table.data.scada-grid thead .scada-band-head{height:var(--scada-band-h);padding-top:0;padding-bottom:0;top:0;font-size:.72rem;font-weight:700;color:var(--accent-dark);background:hsla(0,0%,100%,.72);border-bottom:2px solid var(--scada-rule-strong)}table.data.scada-grid thead .scada-band-head.scada-band-alt{background:rgba(0,34,55,.07)}table.data.scada-grid thead tr:nth-child(2) th{top:var(--scada-band-h)}table.data.scada-grid tbody tr:hover .scada-band-alt{background:hsla(0,0%,100%,.45)}table.data.scada-grid .scada-grid-corner,table.data.scada-grid .scada-grid-site{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:hsla(0,0%,100%,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-right:3px solid var(--scada-rule-strong);min-width:14rem}table.data.scada-grid .scada-grid-corner{z-index:4}table.data.scada-grid .scada-grid-site{font-size:.88rem;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--brand);white-space:normal}.scada-impl-section{margin-top:1.1rem}.scada-impl .create-row .field>label{padding-left:.85rem}.scada-impl .create-row .field-action>label,.scada-impl .create-row .field-check>label{padding-left:0}.scada-impl .create-row .field-grow{flex:1 1 20rem}.scada-group{padding:1.05rem 1.2rem .5rem;margin-bottom:1rem}.scada-group h3{margin:0 0 .85rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.scada-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:.85rem 1rem;gap:.85rem 1rem}.scada-fields textarea{min-height:2.7rem;resize:vertical;font-size:.92rem}.scada-fields textarea.dirty{border-color:rgba(117,185,145,.85);background:#fff}.scada-secret-tag{margin-left:.4rem;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .4rem;border-radius:var(--r-pill);color:var(--danger);background:rgba(217,45,32,.1);border:1px solid rgba(217,45,32,.3)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0}.segmented{display:inline-flex;padding:.22rem;gap:.2rem;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-inset);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.segmented button{border:0;background:transparent;border-radius:var(--r-pill);padding:.42rem 1rem;font-weight:570;color:var(--muted);cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.segmented button:hover{color:var(--brand)}.segmented button.active{background:linear-gradient(180deg,#093249,#002237);color:#fff;box-shadow:0 4px 12px rgba(0,34,55,.24)}.field-grow{flex:2 1 240px}.field-check{flex:0 0 auto;align-items:flex-start}.field-check-box{display:flex;align-items:center;height:var(--control-h)}.field-check input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--accent-dark);margin:0}th.th-actions{text-align:right}td.row-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}td.row-actions .btn{height:2.1rem;min-height:2.1rem;max-height:2.1rem;padding:0 .8rem;font-size:.85rem}