:root{background:#f5f7fa;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{align-items:center;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(245,247,250,.94)),#f5f7fa;display:grid;min-height:100vh;padding:1.5rem}.login-panel{background:#ffffff;border:1px solid #dfe5ee;border-radius:8px;box-shadow:0 22px 70px rgba(23,32,51,.12);display:grid;grid-gap:1.35rem;gap:1.35rem;margin:0 auto;max-width:430px;padding:clamp(1.25rem,5vw,2rem);width:100%}.login-logo{display:block;height:auto;margin:0 auto .35rem;max-width:340px;width:min(100%,340px)}.login-form{display:grid;grid-gap:1rem;gap:1rem}label{color:#3d4658;font-size:.9rem;font-weight:750}.auth-source-selector,label{display:grid;grid-gap:.45rem;gap:.45rem}.auth-source-selector{border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.auth-source-selector legend{color:#3d4658;font-size:.9rem;font-weight:750;grid-column:1/-1;margin-bottom:.45rem;padding:0}.auth-source-selector label{align-items:center;background:#f8fafc;border:1px solid #ccd6e4;border-radius:8px;color:#3d4658;cursor:pointer;display:flex;gap:.45rem;justify-content:center;min-height:2.85rem;padding:.7rem .8rem}.auth-source-selector label.selected{background:#e8f0fb;border-color:#1f4f8f;color:#1f4f8f}.auth-source-selector input{height:1px;opacity:0;position:absolute;width:1px}.auth-source-selector label:has(input:focus-visible){box-shadow:0 0 0 3px rgba(31,79,143,.16)}input,select,textarea{background:#f8fafc;border:1px solid #ccd6e4;border-radius:8px;color:#172033;min-height:3rem;outline:none;padding:.85rem .95rem;width:100%}textarea{min-height:6rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#1f4f8f;box-shadow:0 0 0 3px rgba(31,79,143,.16)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}.logout-button,.mobile-menu,.primary-action{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;gap:.55rem;justify-content:center;min-height:3rem;padding:.85rem 1rem}.primary-action{background:#1f4f8f;color:#ffffff;width:100%}.logout-button:disabled,.primary-action:disabled{cursor:not-allowed;opacity:.7}.compact-action{min-width:12rem;width:auto}.forgot-password{color:#1f4f8f;font-size:.92rem;font-weight:800;justify-self:center;text-decoration:none}.forgot-password:hover{text-decoration:underline}.error-message{background:#fff2f2;border:1px solid #ffc9c9;border-radius:8px;color:#9a1b1b;line-height:1.45;margin:0;max-width:100%;overflow-wrap:anywhere;padding:.85rem 1rem}.dashboard-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:#111827;color:#ffffff;padding:1.25rem}.sidebar-logo{display:block;height:auto;margin-bottom:1.5rem;width:100%}.sidebar nav{display:grid;grid-gap:.35rem;gap:.35rem}.sidebar-nav-divider{color:#94a3b8;font-size:.72rem;font-weight:850;letter-spacing:.08em;margin:1rem 0 .2rem;padding:0 .9rem;text-transform:uppercase}.sidebar nav a,.sidebar nav button{align-items:center;background:transparent;border:0;border-radius:8px;color:#cbd5e1;display:flex;gap:.75rem;font-weight:750;padding:.85rem .9rem;text-align:left;text-decoration:none;width:100%}.sidebar nav a.active,.sidebar nav a:hover,.sidebar nav button.active,.sidebar nav button:hover{background:rgba(255,255,255,.11);color:#ffffff}.dashboard-main{padding:clamp(1rem,3vw,2rem)}.dashboard-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.dashboard-header h1,.dashboard-header p{margin:0}.dashboard-header p,.section-heading p{color:#65738a;font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.dashboard-header h1{color:#101828;font-size:clamp(1.6rem,3vw,2.45rem);line-height:1.1}.logout-button,.mobile-menu{background:#ffffff;border:1px solid #dfe5ee;color:#24324d}.mobile-menu{display:none}.summary-band{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.5rem}.access-banner,.control-row,.page-panel,.summary-band article,.system-card{background:#ffffff;border:1px solid #dfe5ee;border-radius:8px}.summary-band article{padding:1.2rem}.integration-summary-sections{display:grid;grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.integration-summary-section{display:grid;grid-gap:.65rem;gap:.65rem}.integration-summary-section h3{color:#3d4658;font-size:.88rem;font-weight:850;margin:0}.integration-summary-section .summary-band{margin-bottom:0}.integration-summary-band{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}.integration-summary-band article{border-left:4px solid #dfe5ee;min-height:7.8rem;min-width:0}.integration-summary-band article.connected{border-left-color:#2f855a}.integration-summary-band article.warning{border-left-color:#b7791f}.integration-summary-band article.error{border-left-color:#c53030}.integration-summary-band small{color:#65738a;display:block;font-size:.78rem;font-weight:650;line-height:1.45;margin-top:.55rem;overflow-wrap:anywhere}.summary-band span{color:#1f4f8f;display:block;font-size:2rem;font-weight:900;line-height:1}.integration-summary-band article.connected span{color:#17633a}.integration-summary-band article.warning span{color:#8a5a11}.integration-summary-band article.error span{color:#9a1b1b}.summary-band p{color:#526071;font-weight:800;margin:.45rem 0 0}.control-list,.page-panel,.settings-form,.systems-section,.toggle-list{display:grid;grid-gap:1rem;gap:1rem}.page-panel{padding:1.25rem}.section-heading h2{color:#101828;font-size:clamp(1.45rem,3vw,2rem);margin:.15rem 0 0}.field-grid,.security-layout,.systems-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.system-card{display:grid;grid-gap:.85rem;gap:.85rem;padding:1.25rem}.access-banner,.control-row,.form-actions,.integration-actions,.system-card-header,.toggle-row{align-items:center;display:flex}.form-actions,.system-card-header,.toggle-row{justify-content:space-between}.integration-actions{flex-wrap:wrap;gap:.5rem}.system-icon{background:#e8f0fb;border-radius:8px;color:#1f4f8f;height:2.6rem;justify-content:center;width:2.6rem}.status,.system-icon{align-items:center;display:inline-flex}.status{border-radius:999px;font-size:.78rem;font-weight:850;gap:.35rem;padding:.42rem .65rem}.status.connected{background:#e8f8ee;color:#17633a}.status.ready{background:#eef4ff;color:#1f4f8f}.system-card h3{color:#101828;font-size:1.2rem;margin:0}.access-banner p,.system-card p,.toggle-row small{color:#526071;line-height:1.6;margin:0}.system-category{color:#1f4f8f;font-size:.86rem;font-weight:850}.access-banner{gap:.85rem;margin-bottom:1.5rem;padding:1rem}.access-banner svg{color:#1f4f8f;flex:0 0 auto}.access-banner strong,.toggle-row strong{color:#101828}.control-row,.toggle-row{gap:1rem;padding:1rem}.toggle-row input[type=checkbox]{accent-color:#1f4f8f;flex:0 0 auto;height:1.3rem;min-height:1.3rem;padding:0;width:1.3rem}.form-actions{gap:1rem}.save-status{color:#17633a;font-weight:850}.control-row svg{color:#17633a;flex:0 0 auto}.control-row span{min-width:0;overflow-wrap:anywhere}.control-row small{color:#526071;line-height:1.45}.data-table{border:1px solid #dfe5ee;border-radius:8px;overflow:hidden}.data-row{background:#ffffff;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1.2fr 1.2fr 1.3fr .8fr;padding:1rem}.data-row+.data-row{border-top:1px solid #e5ebf3}.data-heading{background:#f8fafc;color:#65738a;font-size:.78rem;font-weight:850;text-transform:uppercase}dl{border-top:1px solid #e5ebf3;margin:.25rem 0 0;padding-top:.85rem}dt{color:#65738a;font-size:.78rem;text-transform:uppercase}dd,dt{font-weight:850}dd{color:#172033;margin:.2rem 0 0}@media (max-width:900px){.dashboard-shell,.data-row,.field-grid,.security-layout,.summary-band,.systems-grid{grid-template-columns:1fr}.sidebar{bottom:0;left:0;max-width:300px;position:fixed;top:0;transform:translateX(-100%);transition:transform .18s ease;width:82vw;z-index:10}.sidebar.open{transform:translateX(0)}.mobile-menu{display:inline-flex}}@media (max-width:620px){.dashboard-main,.login-page{padding:1rem}.dashboard-header{align-items:flex-start;flex-wrap:wrap}.compact-action,.logout-button{width:100%}.form-actions,.toggle-row{align-items:flex-start;flex-direction:column}}