:root{--c-solaire:246 180 10;--c-solaire-dark:216 154 0;--c-charbon:20 28 39;--c-charbon-dark:11 17 26;--c-ocean:18 68 122;--c-navy:13 25 43;--c-navy-light:27 42 65;--c-danger:248 113 113;--c-white:255 255 255;--color-bg:rgb(var(--c-charbon-dark));--color-text:rgb(var(--c-white));--color-text-muted:rgb(var(--c-white)/0.6);--color-text-subtle:rgb(var(--c-white)/0.4);--color-solaire:rgb(var(--c-solaire));--color-solaire-dark:rgb(var(--c-solaire-dark));--surface-glass:rgb(var(--c-charbon)/0.8);--surface-panel:rgb(var(--c-white)/0.05);--surface-hover:rgb(var(--c-white)/0.1);--sidebar-bg:rgb(var(--c-navy));--sidebar-active:rgb(var(--c-navy-light));--border-hairline:rgb(var(--c-white)/0.1);--focus-ring:rgb(var(--c-solaire)/0.3);--content-bg:#f5f4f0;--content-surface:#ffffff;--content-border:rgb(var(--c-charbon)/0.12);--radius-xs:0.375rem;--radius-sm:0.375rem;--radius-md:0.375rem;--radius-lg:0.375rem;--radius-full:9999px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-3xl:1.875rem;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--shadow-card:0 25px 50px -12px rgb(0 0 0/0.5);--blur:16px;--header-height:10rem;--sidebar-width:16rem;color-scheme:dark}*,:after,:before{box-sizing:border-box}*{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}body,html{min-height:100%}body{min-height:100vh;min-height:100dvh;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button:disabled{cursor:not-allowed}input{font:inherit}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}@keyframes tb-spin{to{transform:rotate(1turn)}}.spin{animation:tb-spin 1s linear infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:6px 14px;font-size:var(--text-sm);border-radius:var(--radius-sm);font-weight:600;transition:background-color .15s ease,color .15s ease,opacity .15s ease}.btn:disabled{opacity:.7}.btn--block{width:100%}.btn--primary{background-color:var(--color-solaire);color:rgb(var(--c-charbon))}.btn--primary:hover:not(:disabled){background-color:var(--color-solaire-dark)}.btn--secondary{border:1px solid rgb(var(--c-white)/.15);background-color:var(--surface-panel);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background-color:var(--surface-hover)}.form{gap:var(--space-4)}.field,.form{display:flex;flex-direction:column}.field{gap:.375rem}.field__label{font-size:var(--text-sm);font-weight:500;color:rgb(var(--c-white)/.8)}.field__control{width:100%;padding:.625rem .75rem;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background-color:var(--surface-panel);color:#fff;transition:border-color .15s ease,box-shadow .15s ease}.field__control::-moz-placeholder{color:rgb(var(--c-white)/.3)}.field__control::placeholder{color:rgb(var(--c-white)/.3)}.field__control:focus{outline:none;border-color:rgb(var(--c-solaire)/.6);box-shadow:0 0 0 2px var(--focus-ring)}.field__control::-webkit-inner-spin-button,.field__control::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field__control[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.field__password{position:relative}.field__password .field__control{padding-right:2.75rem}.field__toggle{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);display:flex;color:rgb(var(--c-white)/.5);transition:color .15s ease}.field__toggle:hover{color:rgb(var(--c-white)/.8)}.alert{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.alert--error{border:1px solid rgb(var(--c-danger)/.4);background-color:rgb(var(--c-danger)/.1);color:rgb(254 202 202)}.card{background-color:var(--surface-glass);box-shadow:var(--shadow-card);backdrop-filter:blur(var(--blur))}.card,.panel{border:1px solid var(--border-hairline);border-radius:var(--radius-lg)}.panel{background-color:var(--surface-panel)}.panel__title{margin-bottom:var(--space-5);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-solaire)}.info-grid{display:grid;gap:var(--space-5)}.info__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle)}.info__value{margin-top:var(--space-1);font-size:var(--text-lg);font-weight:500;color:#fff}.badge{display:inline-flex;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:var(--radius-full);background-color:rgb(239 68 68);font-size:var(--text-xs);font-weight:600;color:#fff}.badge,.login{align-items:center;justify-content:center}.login{position:relative;display:flex;min-height:100vh;min-height:100dvh;width:100%;padding:var(--space-4);overflow:hidden}.login__bg{position:absolute;inset:0;z-index:-1}.login__bg-img{-o-object-fit:cover;object-fit:cover}.login__overlay{position:absolute;inset:0;background-color:rgb(var(--c-charbon-dark)/.15)}.login__card{width:100%;max-width:28rem;padding:var(--space-8)}.login__brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.75rem}.login__logo{width:10rem;height:auto;margin-bottom:var(--space-2)}.login__subtitle{font-size:var(--text-sm);color:var(--color-text-muted)}.login__forgot{color:rgb(var(--c-white)/.5);cursor:not-allowed}.login__forgot,.login__forgot-link{text-align:center;font-size:var(--text-sm)}.login__forgot-link{display:block;color:rgb(var(--c-white)/.7);transition:color .15s ease}.login__forgot-link:hover{color:var(--color-solaire);text-decoration:underline}.auth-hint{text-align:center;font-size:var(--text-sm);color:rgb(var(--c-white)/.6)}.auth-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.auth-result__icon{color:var(--color-solaire)}.auth-result__text{font-size:var(--text-sm);color:rgb(var(--c-white)/.8)}.login__notice{margin-top:var(--space-6);color:var(--color-text-subtle)}.login__footer,.login__notice{text-align:center;font-size:var(--text-xs)}.login__footer{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3);border-top:1px solid var(--border-hairline);background-color:var(--surface-glass);backdrop-filter:blur(var(--blur));color:rgb(var(--c-white)/.5)}.app{min-height:100vh;min-height:100dvh;background-color:var(--color-bg)}.app,.hub{display:flex}.hub{flex:1;min-width:0;flex-direction:column;background-color:var(--content-bg)}.hub__header{position:relative;height:var(--header-height);width:100%;overflow:hidden;border-bottom:1px solid var(--border-hairline)}.hub__header-bg{-o-object-fit:cover;object-fit:cover}.hub__header-overlay{position:absolute;inset:0;background-color:rgb(var(--c-charbon-dark)/.15)}.hub__header-inner{position:relative;display:flex;height:100%;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6)}.hub__header-title{color:rgb(var(--c-white));font-size:var(--text-3xl);font-weight:700;line-height:1.1;text-shadow:0 1px 3px rgb(var(--c-charbon-dark,0 0 0)/.35);padding-left:var(--space-3);border-left:3px solid rgb(var(--c-solaire))}.hub__main{width:100%;padding:var(--space-10) var(--space-8)}.hub__title{font-size:var(--text-3xl);font-weight:700;color:rgb(var(--c-charbon))}.hub__subtitle{margin-top:var(--space-2);color:rgb(var(--c-charbon)/.6)}.hub__session{padding:var(--space-6)}.hub__logout,.hub__session{margin-top:var(--space-8)}.hub__main .panel{background-color:var(--content-surface);border-color:var(--content-border);box-shadow:0 1px 3px rgb(0 0 0/.06)}.hub__main .info__label,.hub__main .panel__title{color:rgb(var(--c-charbon)/.5)}.hub__main .btn--secondary,.hub__main .info__value{color:rgb(var(--c-charbon))}.hub__main .btn--secondary{border-color:rgb(var(--c-charbon)/.2);background-color:var(--content-surface)}.hub__main .btn--secondary:hover:not(:disabled){background-color:rgb(var(--c-charbon)/.05)}.module-empty{margin-top:var(--space-8);padding:var(--space-8);border:1px dashed var(--content-border);border-radius:var(--radius-lg);background-color:var(--content-surface);color:rgb(var(--c-charbon)/.6);text-align:center}.module-empty__title{margin-bottom:var(--space-2);font-size:var(--text-lg);font-weight:600;color:rgb(var(--c-charbon))}.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-4)}.link-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--content-border);border-radius:var(--radius-lg);background-color:var(--content-surface);box-shadow:0 1px 3px rgb(0 0 0/.05);transition:box-shadow .15s ease,transform .15s ease}.link-card:hover{box-shadow:0 8px 22px rgb(0 0 0/.09);transform:translateY(-1px)}.link-card__title{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;color:rgb(var(--c-charbon))}.link-card__title:hover{color:rgb(var(--c-ocean))}.link-card__desc{font-size:var(--text-sm);color:rgb(var(--c-charbon)/.65)}.link-card__url{font-size:var(--text-xs);color:rgb(var(--c-charbon)/.45)}.link-card__actions{display:flex;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid rgb(var(--c-charbon)/.06)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.chip{padding:.35rem .85rem;border-radius:var(--radius-full);border:1px solid var(--content-border);background-color:var(--content-surface);font-size:var(--text-sm);color:rgb(var(--c-charbon)/.7);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.chip:hover{border-color:rgb(var(--c-charbon)/.25)}.chip--active{background-color:rgb(var(--c-charbon));border-color:rgb(var(--c-charbon));color:#fff}.status-select{padding:.2rem .5rem;border-radius:var(--radius-full);border:1px solid transparent;font-size:var(--text-xs);font-weight:600;cursor:pointer}.status-badge--a_planifier{background-color:rgb(var(--c-charbon)/.1);color:rgb(var(--c-charbon)/.6)}.status-badge--planifie{background-color:rgb(30 90 168/.15);color:rgb(30 90 168)}.status-badge--en_cours{background-color:rgb(216 154 0/.18);color:rgb(160 108 0)}.status-badge--termine{background-color:rgb(34 197 94/.15);color:rgb(21 128 61)}.status-badge--annule{background-color:rgb(239 68 68/.12);color:rgb(220 38 38)}.admin-section{margin-top:var(--space-8)}.admin-section__title{margin-bottom:var(--space-4);font-size:var(--text-lg);font-weight:600;color:rgb(var(--c-charbon))}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.admin-toolbar .btn{width:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6);background:#fff;border:1px solid rgb(var(--c-charbon)/.08);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);box-shadow:0 1px 2px rgb(var(--c-charbon)/.05)}.page-header__titles{min-width:0}.page-header .btn{width:auto;flex-shrink:0}.hub__main .field__label{color:rgb(var(--c-charbon)/.75)}.hub__main .field__control{border-color:rgb(var(--c-charbon)/.2);background-color:#fff;color:rgb(var(--c-charbon))}.hub__main .field__control::-moz-placeholder{color:rgb(var(--c-charbon)/.4)}.hub__main .field__control::placeholder{color:rgb(var(--c-charbon)/.4)}.hub__main .field__control:focus{border-color:rgb(var(--c-solaire)/.7);box-shadow:0 0 0 2px var(--focus-ring)}.hub__main .checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:rgb(var(--c-charbon)/.85)}.table-wrap{overflow-x:auto;border:1px solid rgb(var(--c-charbon)/.12);border-radius:var(--radius-md);background-color:rgb(var(--c-white))}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm);color:rgb(var(--c-charbon))}.table thead{background-color:rgb(var(--c-ocean)/.07)}.table th{text-align:left;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgb(var(--c-ocean));border-bottom:2px solid rgb(var(--c-ocean)/.2);white-space:nowrap}.table td,.table th{padding:var(--space-3) var(--space-4)}.table td{border-bottom:1px solid rgb(var(--c-charbon)/.08)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:rgb(var(--c-charbon)/.025)}.table__empty{text-align:center;color:rgb(var(--c-charbon)/.5)}.table__actions{text-align:right;white-space:nowrap}.table__actions .icon-btn+.icon-btn{margin-left:var(--space-1)}.status{display:inline-block;padding:.1rem .55rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.status--on{background-color:rgb(34 197 94/.15);color:rgb(21 128 61)}.status--off{background-color:rgb(var(--c-charbon)/.1);color:rgb(var(--c-charbon)/.55)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;padding:0;width:2rem;height:2rem;border-radius:var(--radius-sm);color:rgb(var(--c-charbon)/.6);transition:background-color .15s ease,color .15s ease}.icon-btn:hover:not(:disabled){background-color:rgb(var(--c-charbon)/.06);color:rgb(var(--c-charbon))}.icon-btn--danger:hover:not(:disabled){background-color:rgb(239 68 68/.12);color:rgb(220 38 38)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal__backdrop{position:absolute;inset:0;background-color:rgb(0 0 0/.45)}.modal__card{position:relative;width:100%;max-width:30rem;max-height:90vh;overflow-y:auto;padding:var(--space-6);border-radius:var(--radius-lg);background-color:var(--content-surface);box-shadow:0 20px 45px rgb(0 0 0/.3)}.modal__title{margin-bottom:var(--space-5);font-size:var(--text-lg);font-weight:700;color:rgb(var(--c-charbon))}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.modal__actions .btn{width:auto}.matrix__hint{margin-bottom:var(--space-4);font-size:var(--text-sm);color:rgb(var(--c-charbon)/.6)}.matrix{width:100%}.matrix thead th{text-align:center}.matrix thead th.matrix__corner{text-align:left}.matrix__sector{text-align:left;font-weight:600;color:rgb(var(--c-charbon))}.matrix__cell{text-align:center}.matrix input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:rgb(var(--c-solaire));color-scheme:light;cursor:pointer}.user-chip{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background-color:rgb(var(--c-charbon)/.7);backdrop-filter:blur(8px)}.user-chip,.user-chip__avatar{display:flex;align-items:center}.user-chip__avatar{justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-full);background-color:var(--color-solaire);color:rgb(var(--c-charbon));font-size:var(--text-sm);font-weight:700}.user-chip__meta{text-align:right;padding-right:var(--space-1)}.user-chip__name{font-size:var(--text-sm);font-weight:600;line-height:1.25;color:#fff}.user-chip__role{font-size:var(--text-xs);color:rgb(var(--c-white)/.7)}.user-chip__sector{font-size:var(--text-xs);line-height:1.2;color:rgb(var(--c-white)/.5)}.sidebar{position:sticky;top:0;display:none;height:100dvh;width:var(--sidebar-width);overflow:hidden;background-color:var(--sidebar-bg);border-right:1px solid var(--border-hairline)}.sidebar,.sidebar__brand{flex-direction:column;flex-shrink:0}.sidebar__brand{display:flex;align-items:center;padding:var(--space-5) var(--space-4);text-align:center}.sidebar__logo{width:7rem;height:auto}.sidebar__tagline{margin-top:var(--space-3);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.sidebar__accent{margin-top:var(--space-2);width:3rem;height:2px;border-radius:var(--radius-xs);background-color:var(--color-solaire)}.sidebar__nav{display:flex;flex:1;flex-direction:column;gap:var(--space-1);overflow-y:auto;padding:0 var(--space-3) var(--space-4)}.sidebar__section{padding:var(--space-5) var(--space-3) var(--space-2);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle)}.bi-config-page .vps-panel{margin-bottom:var(--space-5)}.dict-summary{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4);font-size:var(--text-sm);color:rgb(var(--c-charbon)/.8)}.dict-summary span{display:inline-flex;align-items:center;gap:6px}.dict-role{display:inline-block;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:700}.dict-role--dim{background:rgb(var(--c-ocean)/.12);color:rgb(var(--c-ocean))}.dict-role--measure{background:rgb(34 197 94/.14);color:#15803d}.dict-role--date{background:rgb(245 158 11/.16);color:#b45309}.dict-detail{font-size:12px;color:rgb(var(--c-charbon)/.7);word-break:break-word}.dict-desc{min-width:220px}.dict-desc-input{width:100%;border:1px solid rgb(var(--c-charbon)/.16);padding:4px 8px;color:rgb(var(--c-charbon));background:#fff}.bi-status,.dict-desc-input{border-radius:var(--radius-md);font-size:var(--text-sm)}.bi-status{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:var(--space-3)}.bi-status--ok{background:rgb(34 197 94/.12);color:#15803d}.bi-status--warn{background:rgb(245 158 11/.14);color:#b45309}.bi-status--err{background:rgb(239 68 68/.12);color:#b91c1c}.bi-pickers{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-3)}.bi-pickers .dx__row{gap:8px}.bi-input{border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);padding:4px 8px;font-size:var(--text-sm);color:rgb(var(--c-charbon));background:#fff;width:100%;max-width:280px}.bi-color{width:40px;height:26px;padding:0;border:1px solid rgb(var(--c-charbon)/.16);border-radius:6px;background:#fff;cursor:pointer}.bi-chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700}.bi-datasets{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-3)}.bi-ds{border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);padding:var(--space-3)}.bi-ds__title{font-weight:700;margin-bottom:6px;color:rgb(var(--c-charbon))}.bi-ds__cols{font-size:var(--text-sm);color:rgb(var(--c-charbon)/.75);margin-top:3px}.dx{display:grid;grid-template-columns:350px 1fr;gap:var(--space-4);align-items:start}@media (max-width:980px){.dx{grid-template-columns:1fr}}.dx__controls{background:#fff;border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-4);position:sticky;top:var(--space-3)}.dx__controls,.dx__field{display:flex;flex-direction:column}.dx__field{gap:6px}.dx__group{display:flex;flex-direction:column;gap:var(--space-3)}.dx__group:not(:first-child){padding-top:var(--space-4);border-top:2px solid rgb(var(--c-charbon)/.1)}.dx__group--analyze{gap:var(--space-3);padding:var(--space-3);background:rgb(var(--c-ocean)/.05);border:1px solid rgb(var(--c-ocean)/.18);border-radius:var(--radius-md)}.dx__group--analyze:not(:first-child){border-top:none;padding-top:var(--space-3)}.dx__group-title{font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:rgb(var(--c-ocean))}.dx__group-toggle{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:none;cursor:pointer;padding:0;text-align:left;color:rgb(var(--c-ocean))}.dx__group-toggle .dx__group-title{margin:0}.dx__group-dot{width:7px;height:7px;border-radius:50%;background:rgb(var(--c-solaire));margin-left:auto;flex-shrink:0}.dx__group>.dx__field+.dx__field,.dx__group>.dx__field+.dx__row,.dx__group>.dx__row+.dx__field{padding-top:var(--space-3);border-top:1px dashed rgb(var(--c-charbon)/.12)}.dx-calc{display:flex;flex-direction:column;gap:6px}.dx-calc>.bi-input{width:100%}.dx-calc__row{display:flex;gap:6px;align-items:center}.dx-calc__row>.bi-input,.dx-calc__row>.cm-select{flex:1;min-width:0}.dx-calc__row>.dx-calc__op{flex:0 0 56px;min-width:56px;text-align:center}.table tfoot td{border-top:2px solid rgb(var(--c-charbon)/.22);background:rgb(var(--c-charbon)/.03)}.dx-status__chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.dx-stat{font-size:var(--text-sm);border:1px solid rgb(var(--c-charbon)/.2);background:#fff;color:rgb(var(--c-charbon)/.5);border-radius:999px;padding:3px 9px;cursor:pointer}.dx-stat.is-on{background:rgb(var(--c-ocean)/.12);border-color:rgb(var(--c-ocean)/.45);color:rgb(var(--c-ocean));font-weight:600}.dx-stat:not(.is-on){text-decoration:line-through}.dx-status-badge{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:rgb(var(--c-ocean));background:rgb(var(--c-ocean)/.12);border:1px solid rgb(var(--c-ocean)/.25);border-radius:999px;padding:1px 9px;vertical-align:middle}.dx-savew__row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.dx-savew__row .bi-input{flex:1;min-width:200px}.dw-dash{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.dw-rgl{position:relative}.dw-cell{min-width:0}.dw-rgl .react-grid-item.react-grid-placeholder{background:rgb(var(--c-ocean)/.15);border:1px dashed rgb(var(--c-ocean)/.5);border-radius:var(--radius-lg);opacity:1}.dw-rgl .react-grid-item.react-draggable-dragging{z-index:5}.dw-rgl .react-grid-item>.react-resizable-handle{z-index:3}.dw-rgl:not(.is-editing) .react-resizable-handle{display:none}.dw-rgl.is-editing .react-resizable-handle:after{border-color:rgb(var(--c-ocean)/.5)}.dw-widget{background:#fff;border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);min-width:0;height:100%;overflow:hidden}.dw-widget.is-editing{border-style:dashed;border-color:rgb(var(--c-ocean)/.4)}.dw-widget__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-shrink:0}.dw-widget__drag{display:inline-flex;align-items:center;cursor:grab;color:rgb(var(--c-charbon)/.4);flex-shrink:0}.dw-widget__drag:active{cursor:grabbing}.dw-widget__title{font-size:var(--text-base);font-weight:700;color:rgb(var(--c-charbon));display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 auto 0 0}.dw-widget__title svg{color:rgb(var(--c-charbon)/.4);flex-shrink:0}.dw-widget__actions{display:flex;gap:2px;flex-shrink:0}.dw-widget__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.dw-widget__body .dx-chart{flex:1;min-height:0;padding:4px 8px 4px 0;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto}.dw-widget__body .dx-chart__yax{position:relative;left:auto;top:auto;width:auto;height:auto;grid-column:1;grid-row:1}.dw-widget__body .dx-chart__plot{height:auto;min-height:0;grid-column:2;grid-row:1}.dw-widget__body .dx-chart__xax{position:relative;left:auto;right:auto;bottom:auto;height:14px;grid-column:2;grid-row:2}.dw-widget__body .dx-chart__legend{grid-column:1/-1;grid-row:3;padding-left:46px;margin-top:4px}.dw-widget__body .cm-metrics{align-content:center}.dw-widget__body .dx-hbar,.dw-widget__body .dx-pie{overflow:auto}.dw-widget__msg{display:flex;align-items:center;gap:8px;padding:var(--space-4);color:rgb(var(--c-charbon)/.6)}.dw-widget__table{flex:1;min-height:0;overflow:auto}.dw-empty{text-align:center;padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:6px}.dw-empty p{margin:0}.dw-add__list{display:flex;flex-direction:column;gap:6px}.dw-add__item{display:flex;align-items:center;gap:var(--space-3);padding:6px 10px;border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);background:#fff}.dw-add__title{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:rgb(var(--c-charbon));min-width:0}.dw-add__title svg{color:rgb(var(--c-charbon)/.4);flex-shrink:0}.dw-add__meta{margin-left:auto;font-size:var(--text-sm)}.dx__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgb(var(--c-charbon)/.5)}.dx__checks{display:flex;flex-direction:column;gap:4px}.dx__check{display:flex;align-items:center;gap:7px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.85);cursor:pointer}.dx__check input{accent-color:rgb(var(--c-ocean))}.dx__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm)}.dx__hint{font-size:11px}.dx__dates{display:flex;align-items:center;gap:6px}.dx__dates input[type=date],.dx__filter input,.dx__row input[type=number]{color-scheme:light;background:#fff;border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);padding:4px 7px;font-size:var(--text-sm);color:rgb(var(--c-charbon))}.dx-date,.dx__dates input[type=date]{flex:1;min-width:0}.dx-date{position:relative}.dx-date__trigger{width:100%;text-align:left;cursor:pointer;background:#fff;border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);padding:4px 7px;font-size:var(--text-sm);color:rgb(var(--c-charbon))}.dx-date__trigger:hover{border-color:rgb(var(--c-ocean)/.5)}.dx-date__pop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:248px;max-width:80vw;background:#fff;border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-lg);box-shadow:0 10px 30px rgb(0 0 0/.14);padding:8px}.dx-date__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dx-date__month{font-weight:600;font-size:var(--text-sm);text-transform:capitalize}.dx-date__nav{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:rgb(var(--c-charbon)/.7);border-radius:var(--radius-sm);padding:3px}.dx-date__nav:hover{background:rgb(var(--c-charbon)/.08);color:rgb(var(--c-charbon))}.dx-date__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dx-date__dow{margin-bottom:2px}.dx-date__dow span{text-align:center;font-size:11px;color:rgb(var(--c-charbon)/.5);padding:2px 0}.dx-date__day{aspect-ratio:1;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm);color:rgb(var(--c-charbon))}.dx-date__day:hover:not(:disabled){background:rgb(var(--c-ocean)/.12)}.dx-date__day.is-we{color:#c0392b}.dx-date__day.is-today{outline:1px solid rgb(var(--c-ocean)/.5)}.dx-date__day.is-sel{background:rgb(var(--c-ocean));color:#fff;font-weight:600;outline:none}.dx-date__day:disabled{opacity:.3;cursor:default}.dx-date__foot{display:flex;justify-content:flex-end;margin-top:6px}.dx__filter{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.dx__filter-field{width:100%}.dx__filter-row{display:flex;align-items:center;gap:4px}.dx__filter-op{flex:0 0 auto;padding:4px 6px}.dx__filter-val{flex:1;min-width:0;border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);padding:5px 8px;font-size:var(--text-sm);color:rgb(var(--c-charbon));background:#fff}.dx__filter-vals{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.dx__filter-vals .dx-picker{flex:1 1 110px;min-width:110px}.dx__filter-x{flex:0 0 auto;border:none;background:transparent;cursor:pointer;color:rgb(var(--c-charbon)/.5);padding:3px}.dx__filter-x:hover{color:#b91c1c}.dx-live{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);margin-left:auto}.dx-viz-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.dx-viz-bar .cm-select{padding:5px 8px}.dx-seg{flex-wrap:wrap}.dx-seg .cm-seg__btn{padding:4px 9px}.dm-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.dm-card{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;padding:var(--space-3);border:1px solid rgb(var(--c-ocean)/.18);border-radius:var(--radius-md);background:rgb(var(--c-ocean)/.04);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.dm-card:hover{border-color:rgb(var(--c-ocean)/.4);background:rgb(var(--c-ocean)/.08)}.dm-card.is-active{border-color:rgb(var(--c-solaire));background:rgb(var(--c-solaire)/.12)}.dm-card--add{border-style:dashed;background:transparent}.dm-card__actions{position:absolute;top:6px;right:6px;display:none;gap:2px;background:rgb(255 255 255/.9);border-radius:8px}.dm-card:hover .dm-card__actions,.me-field{display:flex}.me-field{flex-wrap:wrap;gap:6px;align-items:center;padding:5px;border:1px solid rgb(var(--c-charbon)/.08);border-radius:var(--radius-md);background:#fff}.me-field .bi-input,.me-field .cm-select{min-width:110px}.me-field>.cm-select:first-child{flex:1;min-width:150px}.me-field.is-missing{background:rgb(192 57 43/.05);border-color:rgb(192 57 43/.3)}.dm-card__title{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:rgb(var(--c-charbon))}.dm-card__desc{font-size:var(--text-sm);color:rgb(var(--c-charbon)/.6);line-height:1.35}.dm-period{display:inline-flex;align-items:center;gap:6px}.dm-period input[type=month]{color-scheme:light;background:#fff;border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);padding:4px 7px;font-size:var(--text-sm);color:rgb(var(--c-charbon))}.bi-conn__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0}.bi-conn__head .vps-panel__title{margin:0}.bi-conn__status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);padding:3px 10px;border-radius:999px}.bi-conn__status--ok{background:rgb(91 184 148/.16);color:#2e7d58}.bi-conn__status--warn{background:rgb(224 164 87/.18);color:#b26a00}.bi-conn__status--err{background:rgb(192 57 43/.12);color:#c0392b}.bi-conn__status code{background:rgb(var(--c-charbon)/.08);padding:0 4px;border-radius:4px}.se-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3)}.se-tab{border:1px solid rgb(var(--c-charbon)/.16);background:#fff;color:rgb(var(--c-charbon)/.75);border-radius:999px;padding:5px 12px;font-size:var(--text-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.se-tab:hover{border-color:rgb(var(--c-ocean)/.4)}.se-tab.is-active{background:rgb(var(--c-ocean));border-color:rgb(var(--c-ocean));color:#fff}.se-tab--custom.is-active{background:rgb(var(--c-solaire));border-color:rgb(var(--c-solaire));color:rgb(var(--c-charbon))}.se-tab--add{border-style:dashed}.se-dsbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3);padding:6px 2px}.se-dsbar .se-badge{margin-left:6px}.se-dsbar .se-del{color:#c0392b}.se-head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;padding:var(--space-3);background:rgb(var(--c-ocean)/.04);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.se-head .se-field{min-width:180px}.se-field{display:flex;flex-direction:column;gap:4px;min-width:0}.se-field>span{font-size:var(--text-sm);color:rgb(var(--c-charbon)/.6)}.se-field>input,.se-field>select,.se-field>textarea{width:100%}.se-del{margin-left:auto;color:#c0392b}.se-block{margin-top:var(--space-3)}.se-block__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.se-block__head h4{margin:0;font-size:var(--text-base);color:rgb(var(--c-charbon))}.se-block__toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;cursor:pointer;padding:0;color:rgb(var(--c-charbon))}.se-block__toggle:hover h4{color:rgb(var(--c-ocean))}.vps-collapse{display:flex;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;padding:0;flex:1;min-width:0;text-align:left;color:rgb(var(--c-charbon))}.vps-collapse__chevron{display:inline-flex;flex-shrink:0;color:rgb(var(--c-charbon)/.55)}.vps-collapse__title{margin:0;display:inline-flex;align-items:center;gap:7px;min-width:0}.vps-collapse__icon{display:inline-flex;flex-shrink:0;color:rgb(var(--c-ocean))}.vps-collapse__title svg{margin:0;vertical-align:0}.vps-collapse:hover .vps-panel__title{color:rgb(var(--c-ocean))}.se-list{display:flex;flex-direction:column;gap:4px}.se-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);background:#fff;color:rgb(var(--c-charbon))}.se-row.is-dim{opacity:.5}.se-row.is-accent{border-color:rgb(var(--c-solaire)/.5);background:rgb(var(--c-solaire)/.06)}.se-row__main{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.se-row__sub{font-size:11px;color:rgb(var(--c-charbon)/.5)}.se-badge{font-size:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;color:rgb(var(--c-ocean));background:rgb(var(--c-ocean)/.1);border-radius:4px;padding:1px 5px}.se-row__actions{display:flex;gap:2px;flex-shrink:0}.se-removed{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed rgb(var(--c-charbon)/.12)}.se-removed>span,.se-removed__chip{font-size:var(--text-sm)}.se-removed__chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgb(var(--c-charbon)/.16);background:#fff;color:rgb(var(--c-charbon)/.55);border-radius:999px;padding:2px 9px;cursor:pointer}.se-removed__chip:hover{color:rgb(var(--c-ocean));border-color:rgb(var(--c-ocean)/.4)}.se-ico{display:inline-flex;border:none;background:transparent;cursor:pointer;color:rgb(var(--c-charbon)/.6);padding:4px;border-radius:6px}.se-ico:hover{background:rgb(var(--c-charbon)/.08);color:rgb(var(--c-charbon))}.se-ico--danger:hover{background:rgb(192 57 43/.12);color:#c0392b}.se-form{margin-top:var(--space-3);padding:var(--space-3);border:1px solid rgb(var(--c-ocean)/.3);border-radius:var(--radius-md);background:rgb(var(--c-ocean)/.04)}.se-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.se-mode{margin:var(--space-2) 0;display:inline-flex}.se-raw{display:block}.se-textarea{width:100%;font-family:ui-monospace,monospace;resize:vertical}.se-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:var(--space-2)}.dwb{display:grid;grid-template-columns:240px 1fr;gap:var(--space-3)}.dwb__tables{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow:auto;border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);padding:6px}.dwb__table{display:flex;align-items:center;justify-content:space-between;gap:8px;border:none;background:transparent;cursor:pointer;padding:5px 8px;border-radius:6px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.8);text-align:left}.dwb__table:hover{background:rgb(var(--c-ocean)/.08)}.dwb__table.is-active{background:rgb(var(--c-ocean)/.14);color:rgb(var(--c-ocean));font-weight:600}.dwb__table-name{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dwb__detail{min-width:0}.dwb__h{margin:var(--space-2) 0 6px;font-size:var(--text-base);color:rgb(var(--c-charbon))}.dwb__cols{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-2)}.dwb__col{font-size:var(--text-sm);border:1px solid rgb(var(--c-charbon)/.12);border-radius:6px;padding:2px 8px;background:#fff;color:rgb(var(--c-charbon))}.dwb__sample{max-height:320px;overflow:auto}@media (max-width:720px){.dwb{grid-template-columns:1fr}}.dx-chart__dot{position:absolute;width:8px;height:8px;border-radius:50%;border:1.5px solid #fff;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .1s}.dx-hbar{display:flex;flex-direction:column;gap:6px;padding:var(--space-2) 0}.dx-hbar__row{display:grid;grid-template-columns:minmax(90px,26%) 1fr auto;align-items:center;gap:10px}.dx-hbar__lbl{font-size:var(--text-sm);color:rgb(var(--c-charbon)/.85);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dx-hbar__track{height:18px;background:rgb(var(--c-charbon)/.06);border-radius:5px;overflow:hidden}.dx-hbar__bar{display:block;height:100%;border-radius:5px;transition:width .25s ease}.dx-hbar__val{font-size:var(--text-sm);font-weight:700;color:rgb(var(--c-charbon));font-variant-numeric:tabular-nums;white-space:nowrap}.dx-pie{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap;padding:var(--space-3)}.dx-pie__svg{width:200px;height:200px;flex:0 0 auto}.dx-pie__svg path{cursor:pointer;transition:fill-opacity .12s}.dx-pie__total{font-size:18px;font-weight:800;fill:rgb(var(--c-charbon))}.dx-pie__totlbl{font-size:10px;fill:rgb(var(--c-charbon)/.5);text-transform:uppercase;letter-spacing:.06em}.dx-pie__legend{display:flex;flex-direction:column;gap:4px;flex:1;min-width:200px}.dx-pie__leg{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);padding:3px 6px;border-radius:var(--radius-md)}.dx-pie__leg.is-hover{background:rgb(var(--c-charbon)/.05)}.dx-pie__dot{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.dx-pie__leg-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--c-charbon)/.85)}.dx-pie__leg-val{margin-left:auto;font-weight:700;color:rgb(var(--c-charbon));font-variant-numeric:tabular-nums;white-space:nowrap}.dx__result{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.dx__result.is-updating{opacity:.45;transition:opacity .12s ease}.dx-colors{margin:2px 0 10px;padding:10px 12px;border:1px solid rgb(var(--c-charbon)/.12);border-radius:var(--radius-md);background:rgb(var(--c-charbon)/.03)}.dx-colors__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:var(--text-sm)}.dx-colors__note{color:rgb(var(--c-ocean));font-weight:600}.dx-colors__list{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.dx-colors__item{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.88);max-width:220px}.dx-colors__lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--c-charbon)/.88)}.dx-colors__ctl{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.7)}.dx-colors__ctl .cm-select{min-width:0}.dx-colors__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px}.dx-colors__more{margin:8px 0 0;font-size:var(--text-sm)}.dw-widget__colors{margin:0 10px 8px}.dx-kpi__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px}.dx-kpi__win{font-size:var(--text-sm)}.kpi-tile{position:relative}.kpi-delta{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:var(--text-sm);font-weight:600}.kpi-delta--up{color:#1e874b}.kpi-delta--down{color:#c0392b}.kpi-delta--flat{color:rgb(var(--c-charbon)/.55)}.kpi-delta__lbl{font-weight:400;margin-left:2px}.dx-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.dx-chip{display:inline-flex;align-items:center;gap:5px;background:rgb(var(--c-ocean)/.1);border:1px solid rgb(var(--c-ocean)/.22);color:rgb(var(--c-ocean));border-radius:999px;padding:3px 6px 3px 9px;font-size:var(--text-sm);font-weight:600}.dx-chip--dim{background:rgb(var(--c-charbon)/.06);border-color:rgb(var(--c-charbon)/.14);color:rgb(var(--c-charbon)/.85)}.dx-chip--cross{background:rgb(180 120 230/.14);border-color:rgb(180 120 230/.4);color:#7a3fb0}.dx-tag{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:rgb(180 120 230/.16);color:#7a3fb0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.dx-chip__dot{width:9px;height:9px;border-radius:50%}.dx-chip__x{display:inline-flex;border:none;background:transparent;cursor:pointer;color:inherit;opacity:.6;padding:1px}.dx-chip__x:hover{opacity:1}.dx-chip__mv{display:inline-flex;border:none;background:transparent;cursor:pointer;color:inherit;opacity:.5;padding:1px}.dx-chip__mv:hover:not(:disabled){opacity:1}.dx-chip__mv:disabled{opacity:.18;cursor:default}.dx-picker{position:relative;display:flex;align-items:center}.dx-picker__ico{position:absolute;left:8px;color:rgb(var(--c-charbon)/.4);pointer-events:none}.dx-picker__input{width:100%;border:1px dashed rgb(var(--c-charbon)/.22);border-radius:var(--radius-md);padding:5px 8px 5px 26px;font-size:var(--text-sm);color:rgb(var(--c-charbon));background:#fff}.dx-picker__input:focus{border-style:solid;border-color:rgb(var(--c-ocean)/.4);outline:none}.dx-picker__menu{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:240px;overflow-y:auto;background:#fff;border:1px solid rgb(var(--c-charbon)/.14);border-radius:var(--radius-md);box-shadow:0 8px 24px rgb(var(--c-charbon)/.14);padding:3px}.dx-picker__opt{display:block;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font-size:var(--text-sm);color:rgb(var(--c-charbon));padding:6px 9px;border-radius:calc(var(--radius-md) - 2px)}.dx-picker__opt:hover{background:rgb(var(--c-ocean)/.08);color:rgb(var(--c-ocean))}.dx-picker__empty{padding:8px 9px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.5)}.dx-issue{display:flex;align-items:center;gap:8px;padding:var(--space-3) var(--space-4);margin:var(--space-2);background:rgb(245 158 11/.1);color:#92600b;border-radius:var(--radius-md);font-size:var(--text-sm)}.dx-issue svg{flex:0 0 auto}.dx-badge{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.dx__result .vps-panel{margin:0}.dx-chart{position:relative;padding:4px 8px 20px 46px}.dx-chart__plot{position:relative;height:200px;cursor:crosshair}.dx-chart__svg{width:100%;height:100%;display:block}.dx-chart__grid{stroke:rgb(var(--c-charbon)/.08);stroke-width:1;vector-effect:non-scaling-stroke}.dx-chart__bar{fill:rgb(var(--c-ocean)/.72)}.dx-chart__bar.is-hover{fill:rgb(var(--c-ocean))}.dx-chart__yax{position:absolute;left:0;top:4px;width:42px;height:200px}.dx-chart__yax span{position:absolute;right:6px;transform:translateY(-50%);font-size:10px;color:rgb(var(--c-charbon)/.45);font-variant-numeric:tabular-nums}.dx-chart__yax--right{left:auto;right:0}.dx-chart__yax--right span{right:auto;left:6px}.dx-dual{padding-right:48px}.dx-chart__xax{position:absolute;left:46px;right:8px;bottom:2px;height:14px}.dx-chart__xax span{transform:translateX(-50%);font-size:10px;color:rgb(var(--c-charbon)/.45)}.dx-chart__tip,.dx-chart__xax span{position:absolute;white-space:nowrap}.dx-chart__tip{top:6px;transform:translateX(10px);background:#fff;border:1px solid rgb(var(--c-charbon)/.12);border-radius:var(--radius-md);box-shadow:0 6px 18px rgb(var(--c-charbon)/.14);padding:7px 10px;font-size:11px;pointer-events:none;z-index:2}.dx-chart__tip--left{transform:translateX(calc(-100% - 10px))}.dx-chart__tip-cat{font-weight:700;color:rgb(var(--c-charbon)/.6);margin-bottom:4px}.dx-chart__tip-row{display:flex;align-items:center;gap:6px;line-height:1.7}.dx-chart__tip-dot{display:inline-block;width:9px;height:9px;border-radius:2px;background:rgb(var(--c-ocean));flex:0 0 auto}.dx-chart__tip-lbl{color:rgb(var(--c-charbon)/.7)}.dx-chart__tip-val{margin-left:auto;padding-left:14px;font-weight:700;color:rgb(var(--c-charbon));font-variant-numeric:tabular-nums}.dx-chart__cursor{top:0;bottom:0;width:1px;background:rgb(var(--c-charbon)/.28);transform:translateX(-.5px)}.dx-chart__cursor,.dx-chart__vlabel{position:absolute;pointer-events:none}.dx-chart__vlabel{transform:translate(-50%,-100%);margin-top:-3px;font-size:10px;font-weight:700;color:rgb(var(--c-charbon)/.7);font-variant-numeric:tabular-nums;white-space:nowrap}.dx-chart__legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);padding-left:46px}.dx-chart__leg{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.8)}.dx-chart__leg-dot{width:10px;height:10px;border-radius:2px}.sidebar__section-info{display:inline-flex;align-items:center;margin-right:auto;margin-left:6px;color:var(--color-text-subtle);opacity:.65;cursor:help}.sidebar__section-info:hover{opacity:1;color:rgb(var(--c-white)/.85)}.sidebar__section-group{margin-top:var(--space-2)}.sidebar__section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-3) var(--space-1);cursor:pointer;color:var(--color-text-subtle);transition:color .15s ease}.sidebar__section-toggle:hover{color:rgb(var(--c-white)/.85)}.sidebar__section-toggle .sidebar__section{padding:0}.sidebar__section-chevron{flex-shrink:0;opacity:.7;transition:transform .2s ease}.sidebar__section-chevron--open{transform:rotate(180deg)}.sidebar__footer{flex-shrink:0;padding:var(--space-3);border-top:1px solid var(--border-hairline)}.nav-item{display:flex;width:100%;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:rgb(var(--c-white)/.8);transition:background-color .15s ease,color .15s ease}.nav-item:hover{background-color:rgb(var(--c-white)/.05);color:#fff}.nav-item__label{flex:1;text-align:left;white-space:nowrap}.nav-item__chevron{color:var(--color-text-subtle)}.nav-item--active{position:relative;background-color:var(--sidebar-active);color:var(--color-solaire);font-weight:600}.nav-item--active:before{content:"";position:absolute;left:0;top:50%;height:1.5rem;width:4px;transform:translateY(-50%);border-radius:0 4px 4px 0;background-color:var(--color-solaire)}.nav-item__chevron{transition:transform .15s ease}.nav-item__chevron--open{transform:rotate(90deg)}.sidebar__subnav-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.sidebar__subnav-wrap--open{grid-template-rows:1fr}.sidebar__subnav{display:flex;flex-direction:column;gap:2px;min-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity .22s ease,transform .22s ease}.sidebar__subnav-wrap--open .sidebar__subnav{opacity:1;transform:translateY(0);padding:2px 0}.nav-subitem{display:flex;align-items:center;gap:var(--space-2);padding:.45rem .75rem .45rem 2rem;border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;color:rgb(var(--c-white)/.65);transition:background-color .15s ease,color .15s ease}.nav-subitem:hover{background-color:rgb(var(--c-white)/.05);color:#fff}.nav-subitem--active{background-color:rgb(var(--c-navy-light));color:var(--color-solaire);font-weight:600}@media (min-width:640px){.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.sidebar{display:flex}}.config-card{background:rgb(var(--c-white));border:1px solid rgb(var(--c-charbon)/.08);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgb(var(--c-charbon)/.06);padding:var(--space-8)}.config-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-6)}.config-card__headline{display:flex;gap:var(--space-4);align-items:center;min-width:0}.config-card__icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-md);background:rgb(var(--c-ocean)/.12);color:rgb(var(--c-ocean));flex-shrink:0}.config-card__title{font-size:var(--text-3xl);font-weight:700;color:rgb(var(--c-charbon))}.config-card__desc{margin-top:2px;color:rgb(var(--c-charbon)/.6)}.config-card__actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.config-note{display:flex;gap:var(--space-3);align-items:flex-start;background:rgb(var(--c-ocean)/.07);border:1px solid rgb(var(--c-ocean)/.15);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);max-width:24rem}.config-note>svg{color:rgb(var(--c-ocean));flex-shrink:0;margin-top:2px}.config-note__title{font-weight:600;color:rgb(var(--c-charbon));font-size:.9rem}.config-note__text{color:rgb(var(--c-charbon)/.65);font-size:.82rem;line-height:1.4}.role-badge{display:inline-flex;align-items:center;gap:var(--space-3)}.role-badge__dot{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:rgb(var(--c-ocean)/.12);color:rgb(var(--c-ocean));flex-shrink:0}.role-badge__body{display:flex;flex-direction:column;line-height:1.25}.role-badge__name{font-weight:600;color:rgb(var(--c-charbon));display:inline-flex;align-items:center;gap:var(--space-2)}.role-badge__meta{font-size:.78rem;color:rgb(var(--c-charbon)/.5)}.role-tag{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgb(var(--c-charbon)/.55);background:rgb(var(--c-charbon)/.07);padding:2px 7px;border-radius:var(--radius-full)}.role-tag--custom{color:rgb(var(--c-ocean)/.85);background:rgb(var(--c-ocean)/.1)}.cap-cell{text-align:center}.cap-check{width:18px;height:18px;accent-color:rgb(var(--c-ocean));color-scheme:light;cursor:pointer}.cap-check:disabled{cursor:not-allowed;opacity:.45}.cap-list{display:grid;gap:var(--space-2)}.cap-list__item{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;color:rgb(var(--c-charbon)/.85)}.perms-modal{max-width:34rem}.perms-presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.perms-tree{display:flex;flex-direction:column;gap:var(--space-4);max-height:55vh;overflow-y:auto}.perms-group__title{font-weight:700;color:rgb(var(--c-ocean));font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.perms-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid rgb(var(--c-charbon)/.06)}.perms-item__label{color:rgb(var(--c-charbon))}.perms-item__actions{display:flex;gap:var(--space-4)}.perms-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.8);cursor:pointer}.perm-hub{display:flex;flex-direction:column;gap:var(--space-4)}.perm-hub__tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.perm-hub__tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);background:#fff;border:1px solid rgb(var(--c-charbon)/.12);color:rgb(var(--c-charbon)/.7);font-weight:600;cursor:pointer}.perm-hub__tab--active{background:rgb(var(--c-ocean)/.1);border-color:rgb(var(--c-ocean)/.35);color:rgb(var(--c-ocean))}.vps-tab__edit{display:inline-flex;align-items:center;margin-left:2px;padding:2px;border-radius:4px;opacity:.55;cursor:pointer}.vps-tab__edit:hover{opacity:1;background:rgb(var(--c-ocean)/.15)}.vps-tab--editing{cursor:default}.cm-header .page-header__titles{margin-right:auto}.cm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:56px var(--space-4);color:rgb(var(--c-charbon)/.5);font-style:italic;border:1px dashed rgb(var(--c-charbon)/.15);border-radius:var(--radius-md)}.cm-empty svg{color:rgb(var(--c-charbon)/.3)}.cm-gads__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.cm-demo{font-size:var(--text-sm);font-weight:600;color:#b45309;background:rgb(245 158 11/.12);padding:2px 10px;border-radius:999px}.cm-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.cm-metric{background:#fff;border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.cm-metric__label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:rgb(var(--c-charbon)/.5);font-weight:600}.cm-metric__value{font-size:1.5rem;font-weight:700;color:rgb(var(--c-charbon));font-variant-numeric:tabular-nums;margin-top:2px}.cm-status{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.cm-status--ok{background:rgb(34 197 94/.15);color:#15803d}.cm-status--warn{background:rgb(245 158 11/.16);color:#b45309}.cm-status--muted{background:rgb(var(--c-charbon)/.08);color:rgb(var(--c-charbon)/.6)}.vps-panel__head:has(.cm-toolbar){align-items:center;flex-wrap:wrap}.cm-toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.cm-search{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid rgb(var(--c-charbon)/.14);border-radius:var(--radius-md);padding:4px 10px;color:rgb(var(--c-charbon)/.5)}.cm-search input{border:none;outline:none;background:transparent;font-size:var(--text-sm);color:rgb(var(--c-charbon));min-width:180px}.cm-search input::-moz-placeholder{color:rgb(var(--c-charbon)/.4)}.cm-search input::placeholder{color:rgb(var(--c-charbon)/.4)}.cm-seg{display:inline-flex;background:rgb(var(--c-charbon)/.06);border-radius:var(--radius-md);padding:2px}.cm-seg__btn{border:none;background:transparent;cursor:pointer;font-size:var(--text-sm);font-weight:600;color:rgb(var(--c-charbon)/.6);padding:4px 12px;border-radius:calc(var(--radius-md) - 3px)}.cm-seg__btn:hover{color:rgb(var(--c-charbon))}.cm-seg__btn.is-active{background:#fff;color:rgb(var(--c-ocean));box-shadow:0 1px 2px rgb(var(--c-charbon)/.12)}.vps-panel__sub{margin:2px 0 var(--space-2);font-size:var(--text-sm)}.cm-sort{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;cursor:pointer;font:inherit;color:inherit;padding:0}.cell-num .cm-sort{flex-direction:row-reverse}.cm-sort.is-active,.cm-sort:hover{color:rgb(var(--c-ocean))}.cm-sort svg{opacity:.85}.cm-syncbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3);font-size:var(--text-sm)}.cm-syncbar__btn{margin-left:auto}.cm-syncbar__note{color:rgb(var(--c-charbon)/.7)}.cm-header__actions{display:inline-flex;align-items:center;gap:var(--space-3);margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.cm-header__sync{font-size:var(--text-sm);white-space:nowrap}.cm-header__period{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.cm-metric__sub{font-weight:500;text-transform:none;letter-spacing:0;color:rgb(var(--c-charbon)/.35)}.cm-cmp-note{font-size:var(--text-sm);margin-bottom:var(--space-2)}.cm-cmp-note b{color:rgb(var(--c-charbon)/.75);font-weight:700}.cm-neg{color:#b91c1c!important}.cm-period{position:relative}.cm-period__btn{gap:6px}.cm-period__backdrop{position:fixed;inset:0;z-index:20;background:transparent;border:none;cursor:default}.cm-period__menu{position:absolute;right:0;top:calc(100% + 4px);z-index:21;background:#fff;border:1px solid rgb(var(--c-charbon)/.14);border-radius:var(--radius-md);box-shadow:0 8px 24px rgb(var(--c-charbon)/.14);padding:4px;min-width:180px}.cm-period__item{display:block;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font-size:var(--text-sm);color:rgb(var(--c-charbon));padding:7px 10px;border-radius:calc(var(--radius-md) - 3px)}.cm-period__item:hover{background:rgb(var(--c-charbon)/.06)}.cm-period__item.is-active{color:rgb(var(--c-ocean));font-weight:700;background:rgb(var(--c-ocean)/.08)}.cm-chart{margin-bottom:var(--space-4)}.cm-chart__head,.cm-chart__metric{align-items:center}.cm-chart__metric{display:inline-flex;gap:8px}.cm-select{border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);background:#fff;color:rgb(var(--c-charbon));font-size:var(--text-sm);font-weight:600;padding:5px 10px;cursor:pointer}.cm-chart__legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-3)}.cm-chip{display:inline-flex;align-items:center;gap:6px;background:rgb(var(--c-charbon)/.05);border:1px solid rgb(var(--c-charbon)/.1);border-radius:999px;padding:3px 10px;font-size:var(--text-sm);font-weight:600;color:rgb(var(--c-charbon)/.8)}.cm-chip--primary{background:rgb(var(--c-ocean)/.1);border-color:rgb(var(--c-ocean)/.25);color:rgb(var(--c-ocean))}.cm-chip__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.cm-chip__x{display:inline-flex;border:none;background:transparent;cursor:pointer;color:inherit;opacity:.55;padding:0;margin-left:2px}.cm-chip__x:hover{opacity:1}.cm-chip--add{border-style:dashed;padding:0 0 0 8px}.cm-chip--add,.cm-chip__add-select{background:transparent;color:rgb(var(--c-ocean))}.cm-chip__add-select{border:none;font:inherit;font-weight:600;cursor:pointer;padding:3px 8px 3px 4px;outline:none}.cm-chip--btn{cursor:pointer;gap:4px;padding:3px 12px}.cm-chip--btn:hover{background:rgb(var(--c-ocean)/.08)}.cm-cmp-custom{color-scheme:light;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;background:rgb(var(--c-charbon)/.04);border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);padding:5px 8px}.cm-cmp-custom input[type=date]{background:#fff;color-scheme:light;border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);padding:3px 6px;font-size:var(--text-sm);color:rgb(var(--c-charbon))}.cm-gads button:not(:disabled),.cm-gads select,.cm-header__period button,.cm-header__period select,.vps-focus button:not(:disabled),.vps-focus select{cursor:pointer}.cm-gads .btn:disabled,.cm-header__period .btn:disabled{cursor:not-allowed}.cm-metric__delta{margin-top:4px}.cm-metric__foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.cm-metric__cmp{font-size:11px}.cm-kv__cmp{margin-left:8px;font-size:10px}.cm-delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.cm-delta--good{color:#15803d;background:rgb(34 197 94/.13)}.cm-delta--bad{color:#b91c1c;background:rgb(239 68 68/.12)}.cm-delta--flat{color:rgb(var(--c-charbon)/.5);background:rgb(var(--c-charbon)/.07)}.vps-kv dd .cm-delta{margin-left:8px;padding:0 6px;font-size:10px}.cm-period__custom{color-scheme:light;border-top:1px solid rgb(var(--c-charbon)/.1);margin-top:4px;padding:8px 10px 6px;display:flex;flex-direction:column;gap:6px}.cm-period__custom-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgb(var(--c-charbon)/.45)}.cm-period__custom-row{display:flex;align-items:center;gap:6px}.cm-period__custom-row input[type=date]{background:#fff;color-scheme:light;border:1px solid rgb(var(--c-charbon)/.16);border-radius:var(--radius-md);padding:4px 6px;font-size:var(--text-sm);color:rgb(var(--c-charbon));width:100%}.cm-chart2{position:relative;padding:4px 8px 20px 42px}.cm-chart2__plot{position:relative;height:190px;cursor:crosshair}.cm-chart2__svg{width:100%;height:100%;display:block;overflow:visible}.cm-chart2__grid{stroke:rgb(var(--c-charbon)/.08);stroke-width:1;vector-effect:non-scaling-stroke}.cm-chart2__grid--zero{stroke:rgb(var(--c-charbon)/.24)}.cm-chart2__yax{position:absolute;left:0;top:4px;width:38px;height:190px}.cm-chart2__yax span{position:absolute;right:6px;transform:translateY(-50%);font-size:10px;color:rgb(var(--c-charbon)/.45);font-variant-numeric:tabular-nums}.cm-chart2__xax{position:absolute;left:42px;right:8px;bottom:2px;height:14px}.cm-chart2__xax span{position:absolute;transform:translateX(-50%);font-size:10px;color:rgb(var(--c-charbon)/.45)}.cm-chart2__guide{top:0;bottom:0;width:1px;background:rgb(var(--c-charbon)/.3);transform:translateX(-.5px)}.cm-chart2__guide,.cm-chart2__pt{position:absolute;pointer-events:none}.cm-chart2__pt{width:8px;height:8px;border-radius:50%;border:1.5px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 0 1px rgb(var(--c-charbon)/.08)}.cm-chart2__tip{position:absolute;top:6px;transform:translateX(10px);background:#fff;border:1px solid rgb(var(--c-charbon)/.12);border-radius:var(--radius-md);box-shadow:0 6px 18px rgb(var(--c-charbon)/.14);padding:7px 10px;font-size:11px;pointer-events:none;z-index:2;white-space:nowrap}.cm-chart2__tip--left{transform:translateX(calc(-100% - 10px))}.cm-chart2__tip-day{font-weight:700;color:rgb(var(--c-charbon)/.6);margin-bottom:4px}.cm-chart2__tip-row{display:flex;align-items:center;gap:6px;line-height:1.6}.cm-chart2__tip-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.cm-chart2__tip-lbl{color:rgb(var(--c-charbon)/.7)}.cm-chart2__tip-val{margin-left:auto;padding-left:12px;font-weight:700;color:rgb(var(--c-charbon));font-variant-numeric:tabular-nums}.vps-tab__input{border:none;outline:none;background:transparent;color:rgb(var(--c-ocean));font:inherit;font-weight:600;width:11ch;min-width:60px;border-bottom:1px solid rgb(var(--c-ocean)/.5)}.vps-hub__note{margin:2px 0 0;font-size:var(--text-sm)}.vps-hub__host{align-self:flex-start;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);color:rgb(var(--c-ocean));background:rgb(var(--c-ocean)/.08);padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap}.vps-dash{display:flex;flex-direction:column;gap:var(--space-4)}.vps-head.page-header{justify-content:flex-start}.vps-head__titles{margin-right:auto}.vps-head__right{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.vps-head__right,.vps-wifi{display:inline-flex;align-items:center}.vps-wifi--ok{color:#16a34a}.vps-wifi--wait{color:rgb(var(--c-ocean))}.vps-wifi--err{color:#dc2626}.vps-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-2) 0 var(--space-3)}.vps-controls__field{display:inline-flex;flex-direction:row;align-items:center;gap:6px}.vps-controls__field>span{font-size:.72rem;font-weight:600;color:rgb(var(--c-charbon)/.6);white-space:nowrap}.vps-controls__field .field__control{padding:5px 9px;font-size:var(--text-sm);min-width:90px}.vps-controls__right{margin-left:auto;display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.vps-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:220px;color:rgb(var(--c-charbon)/.55);font-size:var(--text-sm)}.vps-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}@media (max-width:900px){.vps-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.vps-metrics{grid-template-columns:1fr}}.vps-gauge{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);background:#fff}.vps-gauge__svg{width:116px;height:116px}.vps-gauge__track{fill:none;stroke:rgb(var(--c-charbon)/.1);stroke-width:9}.vps-gauge__arc{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.vps-gauge__pct{text-anchor:middle;font-size:20px;font-weight:700;fill:rgb(var(--c-charbon))}.vps-gauge__lbl{text-anchor:middle;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;fill:rgb(var(--c-charbon)/.5)}.vps-gauge__foot{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.7)}.vps-gauge__note{margin-top:2px;font-size:.68rem;color:rgb(var(--c-charbon)/.45);text-transform:uppercase;letter-spacing:.03em}.vps-diskbar{display:flex;height:22px;border-radius:5px;overflow:hidden;margin-top:var(--space-2);background:rgb(var(--c-charbon)/.06)}.vps-diskbar__seg{height:100%}.vps-diskbar__seg:not(:last-child){border-right:1px solid #fff}.vps-diskbar__val{font-variant-numeric:tabular-nums;color:rgb(var(--c-charbon)/.55);margin-left:2px}.vps-gauge--ok .vps-gauge__arc{stroke:#16a34a}.vps-gauge--warn .vps-gauge__arc{stroke:#f6b40a}.vps-gauge--crit .vps-gauge__arc{stroke:#dc2626}.vps-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);background:#fff}.vps-info__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-sm);background:rgb(var(--c-ocean)/.1);color:rgb(var(--c-ocean))}.vps-info__label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--c-charbon)/.5)}.vps-info__value{font-size:1.15rem;font-weight:700;color:rgb(var(--c-charbon))}.vps-info--specs{align-items:flex-start}.vps-specs{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.vps-specs__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);min-width:0}.vps-specs__row>span{color:rgb(var(--c-charbon)/.5);flex-shrink:0}.vps-specs__row>b{color:rgb(var(--c-charbon));font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vps-panel{border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius-md);background:#fff;padding:var(--space-4)}.vps-panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.vps-panel__title{margin:0 0 var(--space-3);font-size:.95rem;font-weight:700;color:rgb(var(--c-charbon)/.8)}.vps-panel__head .vps-panel__title{margin-bottom:0}.vps-charts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width:900px){.vps-charts{grid-template-columns:1fr}}.vps-chart-wrap{position:relative;padding:var(--space-3) 0 18px 34px}.vps-chart-plot{position:relative;height:150px;cursor:crosshair}.vps-chart{width:100%;height:100%;display:block}.vps-chart__grid{stroke:rgb(var(--c-charbon)/.08);stroke-width:1}.vps-chart__guide{top:0;bottom:0;width:1px;background:rgb(var(--c-charbon)/.4);transform:translateX(-.5px)}.vps-chart__guide,.vps-chart__pt{position:absolute;pointer-events:none}.vps-chart__pt{width:9px;height:9px;border-radius:50%;border:2px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 0 1px rgb(var(--c-charbon)/.15)}.vps-chart__tip{position:absolute;top:6px;transform:translateX(8px);background:#fff;border:1px solid rgb(var(--c-charbon)/.15);border-radius:var(--radius-sm);box-shadow:0 4px 16px rgb(var(--c-charbon)/.18);padding:8px 10px;min-width:190px;pointer-events:none;z-index:5;font-size:var(--text-sm)}.vps-chart__tip--left{transform:translateX(calc(-100% - 8px))}.vps-chart__tip-time{font-weight:700;margin-bottom:5px;color:rgb(var(--c-charbon))}.vps-chart__tip-row{display:flex;align-items:center;gap:6px;line-height:1.7}.vps-chart__tip-dot{width:9px;height:9px;border-radius:2px;flex:0 0 auto}.vps-chart__tip-lbl{color:rgb(var(--c-charbon)/.7);white-space:nowrap}.vps-chart__tip-val{margin-left:auto;padding-left:var(--space-3);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;color:rgb(var(--c-charbon))}.vps-chart__yax{left:0;top:var(--space-3);height:150px;width:30px;flex-direction:column;align-items:flex-end}.vps-chart__xax,.vps-chart__yax{position:absolute;display:flex;justify-content:space-between;font-size:10px;color:rgb(var(--c-charbon)/.45)}.vps-chart__xax{left:34px;right:0;bottom:0}.vps-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm);color:rgb(var(--c-charbon)/.7)}.vps-legend__item{display:inline-flex;align-items:center;gap:6px}.vps-legend__dot{width:10px;height:10px;border-radius:2px;display:inline-block}.vps-bars{display:flex;flex-direction:column;gap:8px;margin-top:var(--space-2)}.vps-bar-row{display:grid;grid-template-columns:minmax(120px,240px) 1fr auto;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.vps-bar-row__lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--c-charbon)/.8)}.vps-bar-row__track{height:14px;background:rgb(var(--c-charbon)/.06);border-radius:4px;overflow:hidden}.vps-bar-row__fill{height:100%;border-radius:4px;min-width:2px}.vps-bar-row__val{font-variant-numeric:tabular-nums;color:rgb(var(--c-charbon)/.7);white-space:nowrap}.vps-pm2__empty{padding:var(--space-2) 0}.vps-pm2-badge--online{background:rgb(34 197 94/.16);color:#15803d}.vps-pm2-badge--stopped{background:rgb(var(--c-charbon)/.1);color:rgb(var(--c-charbon)/.6)}.vps-pm2-badge--errored{background:rgb(239 68 68/.14);color:#b91c1c}.vps-dash__note{font-size:var(--text-sm);font-style:italic}.vps-panel__title svg{vertical-align:-2px;margin-right:6px}.vps-cron__head-right{display:inline-flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.vps-cron__toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:rgb(var(--c-charbon)/.7);cursor:pointer}.vps-cron__table td{vertical-align:top}.vps-cron__src{font-weight:600}.vps-cron__tag{margin-left:6px;border-radius:999px;font-size:11px;background:rgb(var(--c-charbon)/.08);color:rgb(var(--c-charbon)/.55)}.vps-cron__expr,.vps-cron__tag{display:inline-block;padding:1px 6px}.vps-cron__expr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:rgb(var(--c-ocean)/.08);color:rgb(var(--c-ocean));border-radius:4px;white-space:nowrap}.vps-cron__human{display:block;font-size:11px;color:rgb(var(--c-charbon)/.55);margin-top:3px}.vps-cron__cmd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:rgb(var(--c-charbon)/.85);word-break:break-all}.vps-cron__sys{opacity:.66}.vps-row--click{cursor:pointer;transition:background .12s}.vps-row--click:hover{background:rgb(var(--c-ocean)/.06)}.vps-row__link{display:inline-flex;align-items:center;gap:4px;color:rgb(var(--c-ocean));font-weight:600}.vps-row--click:hover .vps-row__link{text-decoration:underline}.vps-row__link svg{opacity:.5}.vps-focus{display:flex;flex-direction:column;gap:var(--space-4);color:rgb(var(--c-charbon));width:100%}.vps-focus__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.vps-focus__titles{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.vps-focus__title{font-size:var(--text-lg);font-weight:700;margin:0}.btn--ghost{border:1px solid rgb(var(--c-charbon)/.15);color:rgb(var(--c-charbon)/.8);display:inline-flex;align-items:center;gap:5px}.btn--ghost:hover{background:rgb(var(--c-charbon)/.05)}.vps-focus__grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--space-3);width:100%}.vps-card{background:#fff;border:1px solid rgb(var(--c-charbon)/.1);border-radius:var(--radius);padding:var(--space-3) var(--space-4);flex:1 1 260px;min-width:240px}.vps-card--wide{flex-basis:100%}.vps-card__title{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:700;margin:0 0 var(--space-2);color:rgb(var(--c-charbon)/.85)}.vps-card__title svg{color:rgb(var(--c-ocean))}.vps-kv{display:grid;grid-template-columns:auto 1fr;gap:4px var(--space-3);margin:0;font-size:var(--text-sm)}.vps-kv dt{color:rgb(var(--c-charbon)/.55)}.vps-kv dd{text-align:left;font-weight:600;word-break:break-word}.vps-kv dd,.vps-list{margin:0;color:rgb(var(--c-charbon))}.vps-list{padding-left:var(--space-4);font-size:var(--text-sm)}.vps-list li{margin:2px 0}.vps-health{display:flex;flex-wrap:wrap;gap:var(--space-2)}.vps-stat{flex:1 1 120px;min-width:100px;background:rgb(var(--c-charbon)/.04);border-radius:var(--radius);padding:var(--space-2) var(--space-3);border-left:3px solid rgb(var(--c-charbon)/.25)}.vps-stat--ok{border-left-color:#22c55e;background:rgb(34 197 94/.07)}.vps-stat--warn{border-left-color:#f59e0b;background:rgb(245 158 11/.08)}.vps-stat--crit{border-left-color:#ef4444;background:rgb(239 68 68/.08)}.vps-stat--info{border-left-color:rgb(var(--c-ocean));background:rgb(var(--c-ocean)/.06)}.vps-http{display:inline-block;min-width:34px;text-align:center;padding:1px 7px;border-radius:999px;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}.vps-http--ok{background:rgb(34 197 94/.15);color:#15803d}.vps-http--info{background:rgb(var(--c-ocean)/.12);color:rgb(var(--c-ocean))}.vps-http--warn{background:rgb(245 158 11/.16);color:#b45309}.vps-http--crit{background:rgb(239 68 68/.14);color:#b91c1c}.vps-rt{font-variant-numeric:tabular-nums;font-weight:600}.vps-rt--ok{color:#15803d}.vps-rt--warn{color:#b45309}.vps-rt--crit{color:#b91c1c}.vps-stat__v{display:block;font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}.vps-stat__l{gap:4px;font-size:11px;color:rgb(var(--c-charbon)/.6);margin-top:2px}.vps-health__err,.vps-stat__l{display:flex;align-items:center}.vps-health__err{gap:8px;color:#b91c1c;font-weight:600}.vps-health__ssl{margin-top:var(--space-2);font-size:var(--text-sm)}.vps-cron__cmdblock{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:rgb(var(--c-charbon)/.05);padding:var(--space-2) var(--space-3);border-radius:var(--radius);overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:0}.vps-site-status{display:inline-flex;align-items:center;gap:6px;font-weight:600}.vps-site-status__dot{width:8px;height:8px;border-radius:50%;display:inline-block}.vps-site-status--active{color:#15803d}.vps-site-status--active .vps-site-status__dot{background:#22c55e}.vps-site-status--inactive{color:rgb(var(--c-charbon)/.55)}.vps-site-status--inactive .vps-site-status__dot{background:rgb(var(--c-charbon)/.4)}.page-shell{background:rgb(var(--c-white));border:1px solid rgb(var(--c-charbon)/.08);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgb(var(--c-charbon)/.06);padding:var(--space-6)}.page-shell>.page-header{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0 0 var(--space-4);margin-bottom:var(--space-5);border-bottom:1px solid rgb(var(--c-charbon)/.08);justify-content:flex-end}.cap-head{text-align:center}.page-shell__title{margin:0 auto 0 0;font-size:1.15rem;font-weight:700;color:rgb(var(--c-charbon))}.invoice-page{display:flex;flex-direction:column;gap:var(--space-4)}.invoice-topbar{justify-content:space-between;flex-wrap:wrap}.invoice-topbar,.invoice-topbar__actions{display:flex;align-items:center;gap:var(--space-3)}.invoice-topbar .btn{padding:6px 14px;font-size:var(--text-sm)}.invoice-saved{display:inline-flex;align-items:center;gap:4px;color:#16a34a;font-size:var(--text-sm);font-weight:600}.btn--ghost{background:transparent;border:1px solid rgb(var(--c-charbon)/.2);color:rgb(var(--c-charbon))}.btn--ghost:hover:not(:disabled){background:rgb(var(--c-charbon)/.05)}.btn--sm{padding:6px 12px;font-size:var(--text-sm);font-weight:600}.btn--success{background:#16a34a;color:#fff;border:1px solid #16a34a}.btn--success:hover:not(:disabled){background:#15803d;border-color:#15803d}.btn--danger{background:#dc2626;color:#fff;border:1px solid #dc2626}.btn--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.modal__card .modal__title{margin-bottom:var(--space-2)}.modal__message{margin:0 0 var(--space-5);color:rgb(var(--c-charbon)/.75);line-height:1.5}.inv-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.inv-badge--draft{background:rgb(var(--c-solaire)/.18);color:#8a5a06}.inv-badge--final{background:rgb(34 197 94/.16);color:#15803d}.inv-badge--readonly{background:rgb(var(--c-charbon)/.1);color:rgb(var(--c-charbon)/.7)}.invoice-form__fieldset{border:0;margin:0;padding:0;min-width:0}.row-click{cursor:pointer}.row-click:hover{background:rgb(var(--c-ocean)/.05)}.muted{color:rgb(var(--c-charbon)/.4)}.invoice-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}@media (max-width:1000px){.invoice-cols{grid-template-columns:1fr}}.invoice-col{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.invoice-col__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.invoice-col__title{margin:0;font-size:1.1rem;font-weight:700;color:rgb(var(--c-charbon))}.invoice-col__header .btn{white-space:nowrap}.invoice-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-6);align-items:start}@media (max-width:1200px){.invoice-layout{grid-template-columns:1fr}}.invoice-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}.invoice-form .field--full{grid-column:1/-1}.invoice-form__subtitle{margin:var(--space-6) 0 var(--space-3);font-weight:700;color:rgb(var(--c-charbon))}.invoice-form__addline{margin-top:var(--space-3);width:auto}.invoice-form__totals{margin-top:var(--space-6);grid-template-columns:repeat(3,1fr)}.invoice-form__export{margin-top:var(--space-6);width:100%}.invoice-lines th{font-size:.65rem}.cell-input{width:100%;min-width:60px;border:1px solid rgb(var(--c-charbon)/.15);background:#fff;padding:4px 6px;font-size:var(--text-sm);color:rgb(var(--c-charbon))}.cell-input--num{text-align:right}.cell-input--num::-webkit-inner-spin-button,.cell-input--num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cell-input--num{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cell-num,.table th.cell-num{text-align:right;white-space:nowrap}.invoice-preview-pane{position:sticky;top:var(--space-6);display:flex;justify-content:center;align-items:flex-start;min-width:0}.invoice-viewport{overflow:hidden;flex:0 0 auto}.invoice-scale{transform-origin:top left;width:794px}.invoice-doc{display:flex;flex-direction:column;width:794px;min-height:1123px;background:#fff;color:#141c27;border:1px solid #e2e8f0;box-shadow:0 1px 6px rgba(20,28,39,.1);padding:45px;font-size:11px;line-height:1.4}.inv__spacer{flex:1 1 auto;min-height:40px}.inv__head{display:flex;justify-content:space-between;gap:16px}.inv__brand{font-size:22px;font-weight:800;color:#141c27;max-width:45%}.inv__logo{max-height:97px;max-width:45%}.inv__logo,.inv__logo-footer{-o-object-fit:contain;object-fit:contain}.inv__logo-footer{max-height:60px;max-width:100%;width:auto;align-self:center}.inv__emitter{font-size:13px;text-align:left;width:calc(55% - 16px)}.inv__meta{display:flex;justify-content:space-between;gap:16px;margin-top:18px}.inv__doctype{width:45%}.inv__doctype-title{background:var(--accent,#f6b40a);color:#fff;font-weight:700;font-size:15px;text-align:center;padding:6px}.inv__doctype-row{display:flex;align-items:stretch}.inv__doctype-nlabel{white-space:nowrap}.inv__doctype-nlabel,.inv__doctype-nvalue{display:flex;align-items:center;border:1px solid var(--accent,#f6b40a);padding:4px 8px;font-weight:700}.inv__doctype-nvalue{flex:1;border-left:none;min-height:1em;font-size:15px}.inv__doctype-date{margin-top:6px;font-weight:700;font-size:14px}.inv__client{flex:1;border:1px solid #141c27;padding:8px;min-height:90px}.inv__client-row{display:flex;gap:12px;font-size:14px}.inv__client-row>span{flex:1 1 0}.inv__client-name{margin-top:10px;font-weight:700}.inv__client-addr{font-size:14px;margin:2px 0}.inv__lines-frame{flex:1 1 auto;display:flex;flex-direction:column;margin-top:16px;border:1px solid #cbd5e1}.inv__lines{width:100%;border-collapse:collapse;table-layout:auto}.inv__lines td,.inv__lines th{white-space:nowrap}.inv__lines td:nth-child(2),.inv__lines th:nth-child(2){width:100%;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.inv__lines th{border-bottom:1px solid #141c27;border-left:1px solid #141c27;padding:4px 5px;font-size:9px;font-weight:700;text-align:left;background:#fff}.inv__lines th:first-child{border-left:none}.inv__lines th:nth-child(n+3){text-align:center}.inv__lines td{border-left:1px solid #e2e8f0;border-bottom:1px solid #eef2f6;padding:4px 5px}.inv__lines td:first-child{border-left:none}.inv__lines .r{text-align:right}.inv__lines .c{text-align:center}.inv__foot{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px;margin-top:16px;align-items:start}.inv__foot-left{display:flex;flex-direction:column;gap:6px;font-size:11px}.inv__foot-eco{font-size:11px}.inv__foot-logos{gap:10px;align-items:flex-start;max-width:100%}.inv__foot-logos,.inv__foot-mid{display:flex;flex-direction:column}.inv__foot-mid{gap:6px}.inv__tva{width:100%;border-collapse:collapse;font-size:10px;align-self:start}.inv__tva th{white-space:nowrap}.inv__tva td,.inv__tva th{border:1px solid #cbd5e1;padding:3px 6px}.inv__tva .r{text-align:right}.inv__tva .c{text-align:center}.inv__totals{border:1px solid #141c27;padding:8px;display:flex;flex-direction:column;gap:4px}.inv__totals>div{display:flex;justify-content:space-between;gap:12px}.inv__totals-strong{font-weight:700;border-top:1px solid #cbd5e1;padding-top:4px}.inv__pay{font-size:12px;display:flex;flex-direction:column;gap:6px;margin-top:4px}.inv__acompte,.inv__net{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;color:#0065bd;font-weight:700}.inv__net{background:#fff59d}.inv__legal{margin-top:22px;font-size:8.5px;text-align:center;color:#475569}@media print{body{margin:0!important}.hub__header,.invoice-form,.invoice-topbar,.sidebar{display:none!important}.app,.hub,.hub__main,.invoice-layout,.invoice-page,.invoice-preview-pane,.invoice-scale,.invoice-viewport{display:block!important;position:static!important;transform:none!important;margin:0!important;padding:0!important;gap:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}#invoice-doc{width:100%!important;max-width:none!important;border:none!important;box-shadow:none!important;margin:0!important;padding:12mm!important;min-height:293mm!important}#invoice-doc,#invoice-doc *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page{size:A4;margin:0}}.tpl-list{display:grid;gap:var(--space-4)}.tpl-card{border:1px solid rgb(var(--c-charbon)/.12);padding:var(--space-4)}.tpl-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.tpl-card__name{font-weight:700;color:rgb(var(--c-charbon))}.tpl-card__logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.logo-slot{display:flex;flex-direction:column;gap:var(--space-2)}.logo-slot__label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:rgb(var(--c-charbon)/.55)}.logo-slot__preview{display:grid;place-items:center;height:110px;border:1px dashed rgb(var(--c-charbon)/.2);background:rgb(var(--c-charbon)/.02)}.logo-slot__preview img{max-height:96px;max-width:90%;-o-object-fit:contain;object-fit:contain}.logo-slot__empty{color:rgb(var(--c-charbon)/.4);font-size:var(--text-sm)}.logo-slot__actions{display:flex;gap:var(--space-2)}.logo-slot__btn{width:auto;padding:4px 10px;font-size:var(--text-xs)}.icon-btn--active{background:rgb(var(--c-solaire)/.18);color:rgb(var(--c-charbon))}.tpl-edit{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgb(var(--c-charbon)/.12);display:flex;flex-direction:column;gap:var(--space-2)}.tpl-edit__subtitle{margin:2px 0 0;font-size:.8rem;font-weight:700;color:rgb(var(--c-charbon)/.75)}.tpl-edit__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2) var(--space-3)}.tpl-edit__grid--cols{grid-template-columns:repeat(4,1fr)}.tpl-edit .field--full{grid-column:1/-1}.tpl-edit .field{gap:.2rem}.tpl-edit .field__label{font-size:.75rem}.tpl-edit .field__control{padding:5px 9px;font-size:var(--text-sm)}.tpl-edit textarea.field__control{padding:5px 9px}.tpl-edit__color{display:flex;gap:var(--space-2);align-items:center}.tpl-edit__color .field__control--color{flex:0 0 34px;padding:2px;height:32px;cursor:pointer}.tpl-edit__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1)}@media (max-width:1200px){.tpl-edit__grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.tpl-edit__grid--cols{grid-template-columns:1fr 1fr}}@media (max-width:620px){.tpl-edit__grid,.tpl-edit__grid--cols{grid-template-columns:1fr}}.config-card .alert,.config-card .config-note,.config-card .panel,.config-card .table-wrap,.config-card__icon,.page-shell .alert,.page-shell .config-note,.page-shell .panel,.page-shell .table-wrap{border-radius:0}