:root{
  --ui-bg:#f4f6f5;
  --ui-surface:#fff;
  --ui-surface-soft:#f8faf9;
  --ui-sidebar:#17343e;
  --ui-sidebar-deep:#102a33;
  --ui-ink:#182b30;
  --ui-muted:#687b80;
  --ui-subtle:#8b9a9e;
  --ui-line:#dce4e2;
  --ui-line-strong:#cbd7d4;
  --ui-accent:#376f67;
  --ui-accent-dark:#28564f;
  --ui-accent-soft:#e7f0ee;
  --ui-lime:#F5F5DC;
  --ui-danger:#a84940;
  --ui-warning:#b27725;
  --ui-success:#2d8059;
  --ui-radius:14px;
  --ui-shadow:0 10px 32px rgba(23,52,62,.06);
  color-scheme:light;
}

html{background:var(--ui-bg);font-size:16px}
body{min-height:100vh;background:var(--ui-bg);color:var(--ui-ink);font-family:Inter,Aptos,"Segoe UI",system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
body>main{max-width:none;padding:0}
body>main>header{display:none}
body[data-auth="authenticated"] #auth-shell{display:none}
[hidden]{display:none!important}

/* Login en sessiecontrole */
.auth-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:100vh;background:#fbfcfb}
.auth-visual{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:center;padding:64px clamp(56px,7vw,120px);overflow:hidden;background:radial-gradient(circle at 15% 10%,#527a82 0,transparent 33%),radial-gradient(circle at 85% 88%,#385c61 0,transparent 30%),linear-gradient(145deg,var(--ui-sidebar),var(--ui-sidebar-deep));color:#fff}
.auth-visual:before{content:"";position:absolute;inset:auto -14% -22% auto;width:520px;height:520px;border:1px solid #ffffff14;border-radius:50%;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff03}
.auth-visual-copy{position:relative;z-index:1;max-width:620px;margin-bottom:38px}
.auth-visual-copy>span,.auth-kicker{display:block;margin-bottom:12px;color:var(--ui-lime);font-size:11px;font-weight:800;letter-spacing:.16em}
.auth-visual-copy h1{max-width:600px;margin:0 0 18px;color:#fff;font-size:clamp(38px,4vw,60px);font-weight:720;line-height:1.06;letter-spacing:-.045em}
.auth-visual-copy p{max-width:520px;margin:0;color:#d6e2e4;font-size:17px;line-height:1.65}
.auth-preview{position:relative;z-index:1;display:grid;grid-template-columns:72px 1fr;width:min(620px,92%);height:285px;border:1px solid #ffffff36;border-radius:18px;background:#f8faf9;box-shadow:0 28px 70px #071b2255;overflow:hidden;transform:perspective(1100px) rotateY(4deg) rotateX(1deg);transform-origin:left center}
.auth-preview-side{display:grid;align-content:start;gap:13px;padding:25px 15px;background:#112d36}
.auth-preview-side:before{content:"TUCON";margin-bottom:20px;color:#fff;font-size:9px;font-weight:850;letter-spacing:.08em}
.auth-preview-side i{display:block;height:8px;border-radius:4px;background:#ffffff25}.auth-preview-side i:first-of-type{background:var(--ui-lime)}
.auth-preview-main{padding:25px;background:#f6f8f7}.auth-preview-main>b{display:block;width:34%;height:15px;margin-bottom:22px;border-radius:6px;background:#213a42}.auth-preview-main>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.auth-preview-main>div i{height:64px;border:1px solid #dce5e2;border-radius:10px;background:#fff}.auth-preview-main>span{display:block;height:34px;margin-top:8px;border:1px solid #e0e7e5;border-radius:8px;background:#fff}
.auth-panel{display:grid;place-items:center;padding:48px;background:#fbfcfb}
.auth-panel-inner{width:min(430px,100%);padding:42px 44px;border:1px solid #e4e9e7;border-radius:20px;background:#fff;box-shadow:0 22px 70px rgba(22,48,56,.11)}
.auth-panel-logo{display:block;width:240px;max-width:100%;margin:0 auto 45px;filter:none}
.auth-panel h2{margin:0 0 7px;color:var(--ui-ink);font-size:32px;line-height:1.2;letter-spacing:-.035em}.auth-panel p{margin:0 0 26px;color:var(--ui-muted);font-size:14px}
.auth-panel form{display:grid;gap:18px}.auth-panel label{display:grid;gap:7px;margin:0;color:#34494e;font-size:13px;font-weight:700}.auth-panel input{height:48px;padding:0 14px;border:1px solid var(--ui-line-strong);border-radius:10px;background:#f8faf9;color:var(--ui-ink);font-size:15px;outline:0}.auth-panel input:focus{border-color:var(--ui-accent);background:#fff;box-shadow:0 0 0 4px rgba(55,111,103,.1)}.auth-panel button{height:49px;margin-top:5px;border:0;border-radius:10px;background:var(--ui-accent);color:#fff;font-size:14px;font-weight:800;box-shadow:none}.auth-panel button:hover{background:var(--ui-accent-dark)}.auth-panel .error{min-height:22px;margin:13px 0 0;color:var(--ui-danger);font-size:13px}.auth-help{display:block;margin-top:22px;padding-top:20px;border-top:1px solid var(--ui-line);color:var(--ui-subtle);font-size:12px;text-align:center}.auth-loading{padding:35px 0;text-align:center}.auth-loading .auth-spinner{border-color:#dce5e2;border-top-color:var(--ui-accent)}

/* Applicatieschil */
body.portal-authenticated{background:var(--ui-bg);color:var(--ui-ink)}
body.portal-authenticated .portal-shell{grid-template-columns:260px minmax(0,1fr);background:var(--ui-bg)}
.portal-sidebar{padding:30px 18px 22px;background:linear-gradient(180deg,var(--ui-sidebar),var(--ui-sidebar-deep));border-right:0;box-shadow:none;color:#fff;backdrop-filter:none}
.portal-logo{height:auto;margin:0 10px 25px;padding:2px 0 27px;border-bottom:1px solid #ffffff20}.portal-logo img{width:184px;max-height:54px;object-fit:contain;object-position:left center}
.side-nav{gap:4px}.side-label{padding:19px 13px 8px;color:#89a6ad;font-size:10px;letter-spacing:.16em}.side-nav button{min-height:44px;padding:10px 13px;border:0;border-radius:9px;background:transparent;color:#cbdade;font-size:14px;font-weight:650;box-shadow:none}.side-nav button:hover{background:#ffffff0d;color:#fff}.side-nav button.active{border:0;background:#ffffff18;color:#fff;box-shadow:none}.side-nav button.active:before{width:5px;height:5px;background:var(--ui-lime);box-shadow:none}.nav-icon{width:22px;color:#b8cbd0;font-size:15px}.sidebar-status{margin:16px 7px 10px;padding:13px;border-color:#ffffff17;background:#ffffff08}.sidebar-status span{font-size:12px}.sidebar-status small{color:#91aab0;font-size:11px}.sidebar-logout{color:#a9bec3!important;font-size:13px!important}
.portal-main{background:var(--ui-bg)}.portal-topbar{height:82px;padding:0 38px;background:#fff;border-bottom:1px solid var(--ui-line);backdrop-filter:none;box-shadow:none}.portal-topbar h1{color:var(--ui-ink);font-size:22px;font-weight:750}.portal-topbar p{margin-top:3px;color:var(--ui-muted);font-size:13px}.top-actions button{width:38px;height:38px;border:1px solid var(--ui-line);border-radius:9px;background:#fff;color:var(--ui-accent);box-shadow:none}.portal-content{max-width:1540px;padding:34px 38px 72px}.content-heading{align-items:flex-end;margin-bottom:24px}.content-heading h2{margin:3px 0 5px;color:var(--ui-ink);font-size:30px;font-weight:750;letter-spacing:-.035em;text-shadow:none}.content-heading p{color:var(--ui-muted);font-size:14px}.eyebrow{color:var(--ui-accent);font-size:10px;font-weight:850;letter-spacing:.14em}

/* Buttons, cards en status */
.portal-content button,.detail-dialog button,dialog button{min-height:38px;padding:9px 14px;border:1px solid var(--ui-accent);border-radius:9px;background:var(--ui-accent);color:#fff;font-size:13px;font-weight:750;box-shadow:none}.portal-content button:hover,.detail-dialog button:hover,dialog button:hover{background:var(--ui-accent-dark)}.portal-content button.secondary,.detail-dialog button.secondary,dialog button.secondary{border-color:var(--ui-line-strong);background:#fff;color:#344c50}.portal-content button.secondary:hover,.detail-dialog button.secondary:hover,dialog button.secondary:hover{background:var(--ui-surface-soft)}.portal-content .text-button{border:0!important;background:transparent!important;color:var(--ui-accent)!important;box-shadow:none!important}
.portal-card,.metric{border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow);backdrop-filter:none}.portal-card{padding:23px;margin-bottom:18px}.metric{padding:20px 21px}.metric:after{display:none}.metric>span{color:var(--ui-muted);font-size:11px}.metric>strong{margin:7px 0 3px;color:var(--ui-ink);font-size:31px;text-shadow:none}.metric>small{color:var(--ui-subtle);font-size:12px}.metric.success:before{background:var(--ui-success)}.metric.warning:before{background:#d09a40}.section-head{padding-bottom:14px;border-color:var(--ui-line)}.section-head h3{color:var(--ui-ink);font-size:18px}.section-head>span,.table-tools>span{color:var(--ui-muted);font-size:12px}
.activity-row,.attention-row,.entity-row,.green-row{min-height:66px!important;border:0!important;border-bottom:1px solid #e8eeec!important;border-radius:0!important;background:transparent!important;color:var(--ui-ink)!important;box-shadow:none!important}.activity-row:hover,.attention-row:hover,.entity-row:hover,.green-row:hover{background:var(--ui-surface-soft)!important}.activity-row strong,.attention-row strong,.entity-row strong,.green-row strong{font-size:14px}.activity-row small,.attention-row small,.entity-row small,.green-row small,.audit-row small{color:var(--ui-muted);font-size:12px}.row-icon,.green-device,.avatar{border:1px solid #d9e4e1;background:var(--ui-accent-soft);color:var(--ui-accent-dark)}.healthy-state{color:var(--ui-ink)}.healthy-state>span{background:#e5f3ea;color:var(--ui-success)}.healthy-state small,.muted,.portal-empty p{color:var(--ui-muted);font-size:13px}.audit-row{min-height:58px;border-color:#e7edeb}.audit-row time{color:var(--ui-muted);font-size:12px}
.soft-status,.portal-status{padding:5px 9px;font-size:11px;font-weight:750}.soft-status.active,.portal-status.online{background:#e4f3ea;color:#23734d}.soft-status.warning{background:#fff0d7;color:#98671c}.soft-status.neutral{background:#edf1f0;color:#647579}.portal-status.offline{background:#fbe8e5;color:#954a42}

/* Tabellen */
.table-card{padding:0;overflow:hidden}.table-tools{min-height:68px;padding:14px 18px;border-bottom:1px solid var(--ui-line);background:#fff}.portal-search{min-width:260px;padding:0 12px;border:1px solid var(--ui-line-strong);border-radius:9px;background:#f8faf9;color:var(--ui-muted)}.portal-search input{height:40px;padding:0 8px;background:transparent;color:var(--ui-ink);font-size:14px}.portal-search input::placeholder{color:#89989b}.table-wrap{overflow:auto}.portal-table{min-width:780px}.portal-table th{height:45px;padding:11px 14px;border-color:var(--ui-line);background:#f0f3f2;color:#586b70;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.portal-table td{height:60px;padding:12px 14px;border-color:#e7edeb;color:#293d42;font-size:13.5px;vertical-align:middle}.portal-table tbody tr:hover{background:#fafcfc}.table-primary{color:var(--ui-ink)!important;font-size:13.5px!important;box-shadow:none!important}.table-primary small{color:var(--ui-muted);font-size:12px}.icon-action{min-width:36px!important;border-color:var(--ui-line)!important;background:#fff!important;color:var(--ui-accent)!important;box-shadow:none!important}

/* Formulieren en dialogs */
#app label,.detail-dialog label,dialog label{color:#40555a;font-size:13px;font-weight:700}#app input,#app select,#app textarea,.detail-dialog input,.detail-dialog select,.detail-dialog textarea,dialog input,dialog select,dialog textarea{min-height:43px;padding:10px 12px;border:1px solid var(--ui-line-strong);border-radius:9px;background:#fff;color:var(--ui-ink);font:inherit;font-size:14px;outline:0}#app input:focus,#app select:focus,#app textarea:focus,.detail-dialog input:focus,.detail-dialog select:focus,.detail-dialog textarea:focus,dialog input:focus,dialog select:focus,dialog textarea:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px rgba(55,111,103,.1)}
dialog,#rbac-dialog,#ops-dialog{border:1px solid var(--ui-line);border-radius:16px;background:#fff;color:var(--ui-ink);box-shadow:0 28px 90px rgba(15,35,41,.2)}dialog::backdrop{background:#102a3370;backdrop-filter:blur(3px)}.rbac-form,.ops-form{gap:16px}.rbac-form h2,.ops-form h2{color:var(--ui-ink);font-size:25px}.rbac-form p,.ops-form p{color:var(--ui-muted);font-size:13px}.rbac-form label,.ops-form label{color:#40555a;font-size:13px}.rbac-form input,.rbac-form select,.ops-form input,.ops-form select,.ops-form textarea{border-color:var(--ui-line-strong);background:#fff;color:var(--ui-ink)}.invite-result{border-color:var(--ui-line);background:var(--ui-surface-soft)}.invite-result small{color:var(--ui-muted);font-size:12px}

/* Studio */
.studio-page-bar{min-height:52px;padding:10px 18px;border-color:var(--ui-line);background:#fff;color:var(--ui-muted)}#dashboard-studio-page{border:1px solid var(--ui-line);border-radius:16px;background:#fff;box-shadow:var(--ui-shadow);overflow:hidden}#dashboard-studio-page .dw-shell{color:var(--ui-ink)}#dashboard-studio-page .dw-side{background:var(--ui-sidebar);color:#fff}#dashboard-studio-page .dw-side nav button{border:0;background:transparent;color:#a9bec3;box-shadow:none}#dashboard-studio-page .dw-side nav button.active{background:#ffffff18;color:#fff}#dashboard-studio-page .dw-side nav small{color:#88a2a9;font-size:11px}#dashboard-studio-page .dw-main,#dashboard-studio-page .dw-stage{background:#f6f8f7}#dashboard-studio-page .dw-head,#dashboard-studio-page .dw-progress,#dashboard-studio-page .dw-main>footer{border-color:var(--ui-line);background:#fff}#dashboard-studio-page .dw-head h2{color:var(--ui-ink);font-size:27px}#dashboard-studio-page .dw-head p,#dashboard-studio-page .dw-title p{color:var(--ui-muted);font-size:13px}#dashboard-studio-page .dw-head span,#dashboard-studio-page .dw-title em,#dashboard-studio-page .dw-intro>em{color:var(--ui-accent)}#dashboard-studio-page .dw-main button{border-color:var(--ui-accent);background:var(--ui-accent);color:#fff;box-shadow:none}#dashboard-studio-page .dw-main button.secondary{border-color:var(--ui-line-strong);background:#fff;color:var(--ui-ink)}#dashboard-studio-page .dw-method>button,#dashboard-studio-page .dw-library>button,#dashboard-studio-page .dw-work>aside{border-color:var(--ui-line);background:#fff;color:var(--ui-ink)}#dashboard-studio-page .dw-method>button.chosen,#dashboard-studio-page .dw-library>button.selected{border-color:var(--ui-accent);background:var(--ui-accent-soft);box-shadow:none}#dashboard-studio-page .dw-library small,#dashboard-studio-page .dw-library em,#dashboard-studio-page .dw-work aside small{color:var(--ui-muted);font-size:11px}
.studio-panel,.configuration-manager{border:1px solid var(--ui-line);background:#f7f9f8;color:var(--ui-ink)}.source-palette,.room-row,.studio-config-card,.integration-card,.integration-form,.publish-grid article{border-color:var(--ui-line);background:#fff;color:var(--ui-ink);box-shadow:none}.studio-config-card label,.mapping-row label{font-size:13px}.source-item{border-color:#d8e5e1!important;background:var(--ui-accent-soft)!important;color:var(--ui-accent-dark)!important;box-shadow:none!important}.configuration-message{font-size:13px}.studio-navigation button span{font-size:13px}.studio-navigation button small{font-size:11px}.spatial-side-head,.spatial-floor span,.spatial-device strong,.spatial-toolbar small,.spatial-side-note{font-size:11px}.spatial-floor small,.spatial-device small{font-size:10px}
.diagnostic-row small,.ops-alert small,.diagnostic-cards small{font-size:12px}.diagnostic-cards span{font-size:10px}.plan-grid .portal-card p{font-size:13px}.detail-card dt{color:var(--ui-muted);font-size:12px}.detail-card dd{color:var(--ui-ink);font-size:14px}

@media(max-width:1050px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.ops-grid{grid-template-columns:1fr}}
@media(max-width:820px){body.portal-authenticated .portal-shell{grid-template-columns:1fr}.portal-sidebar{position:relative;height:auto;padding:18px}.portal-logo{margin-bottom:10px;padding-bottom:16px}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.side-label{grid-column:1/-1}.sidebar-spacer,.sidebar-status{display:none}.portal-topbar{position:relative;padding:0 20px}.portal-content{padding:24px 18px 50px}.content-heading{align-items:flex-start;flex-direction:column}.metrics,.metrics.compact{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.auth-panel{padding:20px}.auth-panel-inner{padding:32px 25px}.auth-panel-logo{margin-bottom:34px}.metrics,.metrics.compact{grid-template-columns:1fr}.side-nav{grid-template-columns:1fr}.portal-topbar h1{font-size:19px}.portal-content{padding-inline:14px}.portal-card{padding:18px}.content-heading h2{font-size:26px}.table-tools{align-items:stretch;flex-direction:column}.portal-search{min-width:0;width:100%}}

/* Hoge-specificiteit reset voor de voormalige dark-loginregels. */
body:not(.portal-authenticated){background:#fbfcfb;color:var(--ui-ink)}
body:not(.portal-authenticated)>main{max-width:none;margin:0;padding:0}
body:not(.portal-authenticated)>main>header{display:none}
body:not(.portal-authenticated) .auth-panel input{height:48px;padding:0 14px;border:1px solid var(--ui-line-strong);border-radius:10px;background:#f8faf9;color:var(--ui-ink);font-size:15px;outline:0}
body:not(.portal-authenticated) .auth-panel input:focus{border-color:var(--ui-accent);background:#fff;box-shadow:0 0 0 4px rgba(55,111,103,.1)}

.auth-panel button,
.portal-content button:not(.secondary):not(.text-button):not(.icon-action),
.detail-dialog button:not(.secondary),
dialog button:not(.secondary),
#dashboard-studio-page .dw-main button:not(.secondary){background:#182b30}

/* Dashboard Studio als volwaardige Cloud-pagina, zonder tweede sidebar of buitenkader. */
.portal-studio-page{width:100%}
.portal-studio-page>.content-heading{margin-bottom:22px}
.portal-studio-page .content-actions{display:flex;align-items:center;gap:12px}
#dashboard-studio-page{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
#dashboard-studio-page .dw-shell{display:block;height:100%;min-height:0;background:transparent}
#dashboard-studio-page .dw-side{display:none}
#dashboard-studio-page .dw-main{height:100%;min-height:0;background:transparent;overflow:hidden}
#dashboard-studio-page .dw-stage{min-height:0;padding:22px 0;background:transparent;overflow-x:hidden;overflow-y:auto}
#dashboard-studio-page .dw-workflow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;flex:none}
#dashboard-studio-page .dw-workflow button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;min-height:72px;padding:12px 15px;border:1px solid var(--ui-line);border-radius:12px;background:#fff;color:var(--ui-ink);text-align:left;box-shadow:var(--ui-shadow)}
#dashboard-studio-page .dw-workflow button:hover{border-color:var(--ui-line-strong);background:#fff}
#dashboard-studio-page .dw-workflow button.active{border-color:var(--ui-accent);background:var(--ui-accent-soft)}
#dashboard-studio-page .dw-workflow button:disabled{opacity:.55}
#dashboard-studio-page .dw-workflow b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf2f0;color:var(--ui-accent);font-size:12px}
#dashboard-studio-page .dw-workflow button.active b{background:#182b30;color:#fff}
#dashboard-studio-page .dw-workflow span{display:block;font-size:14px;font-weight:750}
#dashboard-studio-page .dw-workflow small{display:block;margin-top:2px;color:var(--ui-muted);font-size:11px;font-weight:500}
#dashboard-studio-page .dw-progress{display:none}
#dashboard-studio-page .dw-main>footer{min-height:66px;margin-top:4px;padding:13px 16px;border:1px solid var(--ui-line);border-radius:12px;background:#fff;color:var(--ui-muted);font-size:12px;box-shadow:var(--ui-shadow)}
#dashboard-studio-page .dw-intro{margin:12px auto 24px}
#dashboard-studio-page .dw-title{margin-bottom:22px}
#dashboard-studio-page .dw-title h3,#dashboard-studio-page .dw-intro h3{color:var(--ui-ink);font-size:27px}
@media(max-width:760px){#dashboard-studio-page .dw-workflow{grid-template-columns:1fr}#dashboard-studio-page .dw-stage{padding-top:20px}.portal-studio-page .content-actions{align-items:flex-start;flex-direction:column}}

/* Studio UX: lichte lijsten, verticale flow, vaste navigatie en grote editor. */
.portal-main,.portal-content,.portal-studio-page,#dashboard-studio-page,#dashboard-studio-page .dw-shell,#dashboard-studio-page .dw-main,#dashboard-studio-page .dw-stage{min-width:0;max-width:100%;overflow-x:clip}
#dashboard-studio-page .dw-workflow button,#dashboard-studio-page .dw-workflow button.active{border-color:var(--ui-line)!important;background:#fff!important;color:var(--ui-ink)!important;box-shadow:var(--ui-shadow)!important}
#dashboard-studio-page .dw-workflow button.active{border-color:var(--ui-accent)!important;background:var(--ui-accent-soft)!important}
#dashboard-studio-page .dw-workflow b,#dashboard-studio-page .dw-workflow button.active b{background:#edf2f0;color:var(--ui-accent)}
#dashboard-studio-page .dw-method{grid-template-columns:1fr;max-width:760px;margin-inline:auto}
#dashboard-studio-page .dw-method>button,#dashboard-studio-page .dw-library>button,#dashboard-studio-page .dw-source-list>button{width:100%;min-width:0;border:1px solid var(--ui-line)!important;background:#fff!important;color:var(--ui-ink)!important;box-shadow:none!important}
#dashboard-studio-page .dw-method>button.chosen,#dashboard-studio-page .dw-library>button.selected{border-color:var(--ui-accent)!important;background:var(--ui-accent-soft)!important}
#dashboard-studio-page .dw-library{grid-template-columns:1fr;max-height:calc(100vh - 430px);min-height:220px;padding:2px 7px 2px 1px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#dashboard-studio-page .dw-library>button{display:grid;grid-template-columns:40px minmax(0,1fr) 28px;min-height:64px}
#dashboard-studio-page .dw-library span,#dashboard-studio-page .dw-library strong,#dashboard-studio-page .dw-library small,#dashboard-studio-page .dw-library em{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#dashboard-studio-page .dw-filters{grid-template-columns:minmax(0,1fr) minmax(180px,260px)}
#dashboard-studio-page .dw-unified{display:block;max-width:100%}
#dashboard-studio-page .dw-live-preview{width:100%;max-width:100%}
#dashboard-studio-page .dw-live-preview .dw-dashboard{width:100%;max-width:none}
#dashboard-studio-page .dw-unified-panel{width:100%;max-height:none;margin-top:20px;box-sizing:border-box;background:#fff}
#dashboard-studio-page .dw-source-list{grid-template-columns:1fr;max-height:320px;overflow-x:hidden;overflow-y:auto}
#dashboard-studio-page .dw-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(620px,100%);margin:0 0 18px auto;border:1px solid var(--ui-line);border-radius:12px;background:#fff}
#dashboard-studio-page .dw-mode-tabs button,#dashboard-studio-page .dw-mode-tabs button.active{min-width:0;border:0!important;border-radius:8px!important;background:#fff!important;color:var(--ui-muted)!important;box-shadow:none!important}
#dashboard-studio-page .dw-mode-tabs button.active{background:var(--ui-accent-soft)!important;color:var(--ui-ink)!important}
#dashboard-studio-page .dw-main>footer{position:relative;z-index:35;bottom:auto;flex:none;box-shadow:0 12px 35px rgba(23,52,62,.14)}
.dw-settings-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:rgba(16,42,51,.48);backdrop-filter:blur(4px)}
.dw-settings-dialog{position:relative;width:min(580px,100%);max-height:min(820px,88vh);border:1px solid var(--ui-line);border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(16,42,51,.28);overflow:hidden}
.dw-settings-scroll{max-height:min(820px,88vh);padding:28px;overflow-x:hidden;overflow-y:auto}
#dashboard-studio-page .dw-settings-close{position:absolute;z-index:2;right:14px;top:14px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--ui-line)!important;border-radius:50%;background:#fff!important;color:var(--ui-ink)!important;font-size:21px;box-shadow:var(--ui-shadow)!important}
.dw-settings-scroll>em{color:var(--ui-accent);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.14em}.dw-settings-scroll h3{margin:6px 45px 18px 0;font-size:24px}.dw-settings-scroll label{display:grid;gap:7px;margin:16px 0}.dw-settings-scroll hr{margin:22px 0;border:0;border-top:1px solid var(--ui-line)}.dw-settings-scroll .dw-delete{width:100%;margin-top:18px}
@media(max-width:700px){#dashboard-studio-page .dw-filters{grid-template-columns:1fr}#dashboard-studio-page .dw-mode-tabs{grid-template-columns:1fr}.dw-settings-backdrop{padding:10px}.dw-settings-dialog,.dw-settings-scroll{max-height:94vh}#dashboard-studio-page .dw-main>footer{bottom:6px;gap:8px}#dashboard-studio-page .dw-main>footer>span{display:none}}
