:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#122033;background:linear-gradient(180deg,#eef4f8,#f8fbfd);line-height:1.5;font-weight:400;--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--border: #d6e2ea;--primary: #0c5a6b;--primary-soft: #dceff3;--success: #257942;--danger: #a23b3b;--warning: #b77b21;--text-muted: #5c7182;--shadow: 0 18px 45px rgba(11, 40, 56, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}#app{min-height:100vh}.eyebrow{margin:0 0 .4rem;color:var(--primary);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:2rem;padding:2rem;background:#0f2530;color:#f4f9fb}.sidebar__brand{font-size:1.35rem;font-weight:700}.sidebar__nav{display:grid;gap:.75rem}.sidebar__nav a{padding:.8rem 1rem;border-radius:12px;color:#d5e5eb;background:#ffffff0a}.sidebar__nav a.router-link-active{background:#7ddbf224;color:#fff}.sidebar__context{padding:1rem;border-radius:16px;background:#ffffff0f}.sidebar__label{display:block;margin-bottom:.25rem;color:#9ab6c2;font-size:.8rem}.shell__content{display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:2rem 2rem 1rem}.app-header h1{margin:0;font-size:2rem}.app-header__actions{display:flex;align-items:center;gap:1rem}.app-header__user{color:var(--text-muted)}.shell__main{padding:0 2rem 2rem}.panel,.login-card,.resource-card,.widget-card,.state-card,.detail-card,.scada-panel,.scada-meta-card,.scada-status-card{border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.panel{padding:1.5rem}.section-heading,.resource-card__header,.widget-card__header,.login-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.card-grid,.widget-grid,.detail-grid,.scada-panel__meta,.scada-status-grid{display:grid;gap:1rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.widget-grid,.detail-grid,.scada-panel__meta,.scada-status-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.widget-grid{margin-bottom:1rem}.resource-card,.widget-card,.state-card,.detail-card,.scada-meta-card,.scada-status-card{padding:1.25rem}.resource-card{text-align:left}.resource-card h3,.widget-card h3,.detail-card strong,.scada-panel h3,.scada-meta-card strong,.scada-status-card strong{margin:0}.resource-card p,.widget-card p,.placeholder-note,.login-card__text,.state-message,.detail-card__label,.scada-panel__subtitle,.scada-meta-card__label,.scada-status-card__label{color:var(--text-muted)}.state-message{margin:0;padding:1rem 0}.state-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.state-card--error{border-color:#efc0c0;background:#fff6f6}.state-card--success{border-color:#cfe8d7;background:#f3fbf5}.detail-card,.scada-meta-card,.scada-status-card{display:grid;gap:.35rem}.detail-card__label,.scada-meta-card__label,.scada-status-card__label{font-size:.85rem}.status-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:700}.status-badge--active{color:var(--success);background:#e0f5e7}.status-badge--inactive{color:var(--danger);background:#f9e3e3}.widget-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 0}.widget-card__meta dt{font-weight:700}.widget-card__meta dd{margin:.25rem 0 0;color:var(--text-muted)}.login-view{display:grid;place-items:center;min-height:100vh;padding:1.5rem}.login-card{width:min(100%,420px);padding:2rem}.login-form{display:grid;gap:1rem}.login-form label,.language-switcher{display:grid;gap:.5rem;font-weight:600}.login-form input,.language-switcher select{width:100%;padding:.9rem 1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong)}.password-field{position:relative}.login-form .password-field__toggle{position:absolute;top:50%;right:.65rem;transform:translateY(-50%);display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:999px;background:transparent;color:var(--primary)}.login-form .password-field__toggle:hover{background:var(--primary-soft)}.login-form .password-field__toggle svg{width:1.35rem;height:1.35rem}.password-field input{padding-right:3.75rem}.login-form button,.ghost-button,.scada-command-button{border:0;border-radius:14px;padding:.9rem 1rem}.login-form button,.scada-command-button{background:var(--primary);color:#fff;font-weight:700}.login-form .password-field__toggle{color:var(--primary)}.ghost-button,.scada-command-button--secondary{background:var(--primary-soft);color:var(--primary);font-weight:700}.scada-command-button{`r`n flex: 1 1 220px;`r`n}`r`n`r`n.scada-command-button:disabled{opacity:.65;cursor:not-allowed}.scada-command-bar{display:flex;gap:1rem;margin:0 0 1rem}.form-error{margin:0;color:var(--danger)}.placeholder-note{padding:1rem;border-radius:18px;background:#f3f8fa}.scada-panel{display:grid;gap:1rem;margin:1rem 0;padding:1.25rem}.scada-panel__header{align-items:center}.scada-panel__subtitle{margin:0;max-width:28rem;text-align:right}.scada-stage-wrapper{width:100%;overflow:hidden;border-radius:22px}.scada-status-card--normal{border-color:#d4e7d8;background:#f3fbf5}.scada-status-card--warning{border-color:#f0dfbf;background:#fff9ef}.scada-status-card--danger{border-color:#efc0c0;background:#fff6f6}@media(max-width:920px){.shell{grid-template-columns:1fr}.sidebar{gap:1rem}.app-header,.app-header__actions,.login-card__header,.state-card,.section-heading,.scada-panel__header,.scada-command-bar{align-items:stretch;flex-direction:column}.scada-panel__subtitle{max-width:none;text-align:left}}.scada-latest-stack{display:grid;gap:1rem}.scada-latest-group{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.scada-latest-group__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.scada-latest-table-wrapper{overflow-x:auto}.scada-latest-table{width:100%;border-collapse:collapse;min-width:720px}.scada-latest-table th,.scada-latest-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);text-align:left}.scada-latest-table th{color:var(--text-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.scada-latest-table tbody tr:last-child td{border-bottom:0}.scada-latest-table tbody tr{transition:background-color .18s ease,box-shadow .18s ease}.scada-latest-table__row--changed{background:#eef8fb;box-shadow:inset 4px 0 #2f8fa6}@media(max-width:640px){.sidebar,.app-header,.shell__main,.panel,.login-card,.scada-panel,.scada-latest-group{padding-left:1rem;padding-right:1rem}.sidebar,.app-header,.shell__main{padding-top:1rem}.shell__main{padding-bottom:1.25rem}.panel,.login-card,.scada-panel,.scada-latest-group,.resource-card,.widget-card,.state-card,.detail-card,.scada-meta-card,.scada-status-card{border-radius:18px}.app-header h1,.section-heading h2,.resource-card h3,.widget-card h3,.scada-panel h3{overflow-wrap:anywhere}.app-header h1{font-size:1.55rem;line-height:1.15}.app-header__actions{justify-content:stretch}.app-header__actions>*{max-width:100%}.widget-card__meta{grid-template-columns:1fr}.scada-latest-group__header{flex-direction:column;align-items:flex-start}}.shell__content,.shell__main{min-width:0}.app-header__actions{flex-wrap:wrap;justify-content:flex-end}.scada-command-button{flex:1 1 220px}.scada-command-bar{flex-wrap:wrap}.scada-stage-wrapper{overflow-x:auto;overflow-y:hidden}
