/* Compact portal skin. Existing content/controls remain intact. */
:root{--bg-color:#f5f7fa;--primary:#2563eb;--primary-hover:#1d4ed8;--text-primary:#263244;--text-secondary:#697586;--glass-bg:#fff;--glass-border:#dfe5ed;--shadow:none;--error:#b42318}
*{box-sizing:border-box}
html{font-size:14.4px}
body.bps-portal{margin:0;background:#f5f7fa!important;background-image:none!important;color:#263244!important;font:400 14.4px/1.45 "Segoe UI","Malgun Gothic",system-ui,sans-serif!important}
body.bps-portal :is(input,textarea,select,button){font-family:inherit!important;font-size:14.4px!important;font-weight:400!important;box-shadow:none!important;border-radius:4px!important}
body.bps-portal :is(input:not([type=checkbox]):not([type=radio]),select){min-height:28px!important;padding:4px 7px!important;border:1px solid #d7dfe9;color:#263244!important;background:#fff!important;max-width:100%}
body.bps-portal textarea{padding:6px 8px!important;min-height:72px!important;color:#263244!important;background:#fff!important;border:1px solid #d7dfe9;resize:vertical}
body.bps-portal input[type=checkbox]{width:14px!important;height:14px!important;min-height:14px!important;accent-color:#2563eb}
body.bps-portal :is(button,.btn-primary,.btn-ghost,.btn-outline,.home-btn){min-height:28px!important;padding:4px 10px!important;font-size:14.4px!important;font-weight:400!important;border-radius:4px!important;cursor:pointer;box-shadow:none!important;transform:none!important;line-height:1.4!important}
body.bps-portal button{border:1px solid #d7dfe9;background:#fff;color:#344054}
body.bps-portal .btn-primary{background:#2563eb!important;border:1px solid #2563eb!important;color:#fff!important}
body.bps-portal .btn-danger{background:#fff!important;color:#b42318!important;border:1px solid #f1b3ad!important}
body.bps-portal :is(.btn-ghost,.btn-outline,.home-btn){background:#fff!important;color:#475467!important;border:1px solid #d7dfe9!important;text-decoration:none}
body.bps-portal button:disabled{opacity:.55;cursor:not-allowed}
body.bps-portal :is(h1,h2,h3,h4,.content-title,.card-title,.brand){font-family:inherit!important;font-weight:500!important;letter-spacing:0!important;color:#263244!important}
body.bps-portal h1{font-size:21.6px!important;margin:0 0 4px!important}body.bps-portal h2,body.bps-portal .content-title{font-size:18px!important;margin:0 0 4px!important}body.bps-portal h3{font-size:15.6px!important;margin:8px 0!important}
body.bps-portal :is(p,.subtitle,.content-subtitle,label,td,th,.company-name,.product-summary,.card-desc){font-size:14.4px!important;font-weight:400!important;line-height:1.5!important}
body.bps-portal :is(strong,b){font-weight:500!important}body.bps-portal p{margin:5px 0 10px}
.hidden{display:none!important}.muted{color:#697586}.error,#portal-login-error{color:#b42318}.portal-logo{font-size:26.4px;font-weight:600;color:#2563eb;text-decoration:none;letter-spacing:-.6px;white-space:nowrap}.portal-logo small{font-size:12px;color:#8190a5;font-weight:400;letter-spacing:1px}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:168px;padding:18px 10px;background:#fff;border-right:1px solid #dfe5ed;display:flex;flex-direction:column;z-index:80}
.portal-sidebar .portal-logo{padding:0 10px 22px}.nav-caption{display:block;color:#8490a2;font-size:12px;padding:10px 10px 6px;letter-spacing:.5px}.portal-sidebar nav a{display:flex;align-items:center;gap:9px;padding:9px 10px;color:#475467;text-decoration:none;border-radius:4px;min-height:34px}.portal-sidebar nav a i{font-size:20.4px}.portal-sidebar nav a:hover{background:#f6f8fb}.portal-sidebar nav a.active{color:#2563eb;background:#eaf2ff;box-shadow:inset 2px 0 #2563eb}.sidebar-bottom{margin-top:auto;display:grid;gap:7px;padding:12px 8px 0}.sidebar-bottom a{color:#697586;text-decoration:none}.sidebar-bottom button{text-align:left;border:0!important;padding-left:0!important}
.portal-main{margin-left:168px;min-width:0}.portal-topbar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e0e6ed;background:#fff;position:sticky;top:0;z-index:70;gap:10px}
body.bps-portal #app-root{padding:16px;min-height:calc(100vh - 44px);display:block!important}
.portal-notice{padding:24px;color:#697586}.view-loader{padding:30px;text-align:center}.portal-login{width:min(360px,calc(100% - 32px));margin:12vh auto;background:#fff;padding:26px;border:1px solid #dfe5ed;border-radius:6px}.portal-login .portal-logo{display:block;margin-bottom:24px}.portal-login label{display:block;margin:12px 0 4px}.portal-login input{width:100%}.portal-login button{width:100%;margin-top:18px}
body.bps-portal #app-root :is(.glass-container,.glass-container.large,.container){width:100%!important;max-width:none!important;margin:0!important;padding:16px!important;border:1px solid #dfe5ed!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;backdrop-filter:none!important}
body.bps-portal #app-root :is(.app-header,.top-bar){padding:0 0 10px!important;margin:0 0 10px!important;min-height:0!important}
body.bps-portal #app-root :is(.title-section,.section-titlebar){margin-bottom:10px!important;text-align:left!important;padding:0!important}
body.bps-portal #app-root table{width:100%;border-collapse:collapse;margin-top:8px!important;font-size:14.4px!important}
body.bps-portal #app-root :is(th,td){padding:6px 9px!important;border-bottom:1px solid #e5e9ef!important;height:32px;line-height:1.45!important}
body.bps-portal #app-root th{background:#f5f7fa!important;color:#667085!important;text-align:left;white-space:nowrap}
body.bps-portal #app-root td{color:#344054!important}body.bps-portal #app-root :is(.status-badge,.contract-status){font-size:13.2px!important;padding:2px 7px!important;font-weight:400!important}
body.bps-portal #app-root :is(.form-grid,.lic-grid){gap:10px!important}
body.bps-portal #app-root :is(.form-group,.input-group){margin-bottom:8px!important}
body.bps-portal #app-root label{margin-bottom:3px!important;display:block}
body.bps-portal #app-root :is(.lic-card,.config-block){padding:12px!important;margin-bottom:12px!important;border-radius:5px!important}
body.bps-portal #app-root .lic-policy{padding:8px 10px!important;margin:8px 0!important}
body.bps-portal #app-root .selection-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important;gap:10px!important;margin:16px 0!important}
body.bps-portal #app-root .select-card{padding:14px!important;min-height:84px!important;border-radius:5px!important;box-shadow:none!important;gap:12px!important}
body.bps-portal #app-root .icon-box{width:34px!important;height:34px!important;font-size:22.8px!important;border-radius:5px!important}
body.bps-portal #app-root .card-title{font-size:16.8px!important;margin:2px 0!important}
body.bps-portal #app-root .card-kicker{font-size:12px!important}.modal-overlay{z-index:200!important}.modal-content{max-height:90vh;overflow:auto}
/* Customer master/detail workspace; retain all seven list columns. */
body.bps-portal #app-root #management-view .management-app{display:block!important;min-height:0!important;background:transparent!important}
body.bps-portal #app-root #management-view .management-topbar{display:none!important}
body.bps-portal #app-root #management-view .vertical-management-content{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(350px,1fr)!important;gap:12px!important;padding:0!important;max-width:none!important;width:100%!important;align-items:start}
body.bps-portal #app-root #management-view .customer-stage{padding:12px!important;margin:0!important;min-width:0!important;background:#fff!important;border:1px solid #dfe5ed!important;border-radius:5px!important;scroll-margin-top:54px!important}
body.bps-portal #app-root #management-view .stage-heading{gap:10px!important;margin:0 0 12px!important;display:flex!important;flex-direction:row!important;align-items:center!important}
body.bps-portal #app-root #management-view .stage-heading .add-customer-btn{width:auto!important;white-space:nowrap}
body.bps-portal #app-root #management-view .section-kicker{display:none!important}
body.bps-portal #app-root #management-view .customer-toolbar{display:flex!important;gap:8px!important;margin-bottom:10px!important}.customer-search{flex:1;min-width:80px}
body.bps-portal #app-root #management-view .filter-group{padding:0!important;gap:2px!important;flex-shrink:0;box-shadow:none!important;background:transparent!important}
body.bps-portal #app-root #management-view .customer-table{min-height:0!important;max-height:calc(100vh - 205px)!important;overflow:auto!important;border:1px solid #e0e6ed!important;border-radius:4px!important}
body.bps-portal #app-root #management-view .overview-row{display:grid!important;grid-template-columns:minmax(125px,1.2fr) 64px 98px minmax(105px,1fr) 66px 76px 58px!important;min-width:620px!important;min-height:32px!important;margin:0!important;padding:0!important;gap:0!important;border:0!important;border-bottom:1px solid #e5e9ef!important;box-shadow:none!important;border-radius:0!important;background:#fff}
body.bps-portal #app-root #management-view .overview-row.header{position:sticky;top:0;z-index:2;background:#f5f7fa!important}
body.bps-portal #app-root #management-view .overview-row>div{display:flex!important;align-items:center!important;min-height:32px!important;padding:4px 7px!important;font-size:14.4px!important;grid-column:auto!important;overflow-wrap:anywhere}
body.bps-portal #app-root #management-view .overview-row>div:before{display:none!important}
body.bps-portal #app-root #management-view .overview-row.active{background:#eaf2ff!important;box-shadow:inset 2px 0 #2563eb!important}
body.bps-portal #app-root #management-view .overview-row button{padding:2px 5px!important;min-height:24px!important;font-size:13.2px!important}
body.bps-portal #app-root #management-view .detail-header{position:static!important;padding:0 0 10px!important;margin:0!important;background:#fff!important;display:flex;gap:8px;align-items:start;backdrop-filter:none!important}
body.bps-portal #app-root #management-view .detail-header .content-actions{gap:4px;display:flex;flex-wrap:wrap;justify-content:flex-end}
body.bps-portal #app-root #management-view .detail-header .content-actions button{min-height:26px!important;padding:3px 7px!important;font-size:13.2px!important}
body.bps-portal #app-root #management-view .management-tabs{display:flex!important;gap:4px!important;margin:0 0 12px!important;overflow:auto!important;padding:0 0 8px!important;border-bottom:1px solid #e5e9ef!important;justify-content:flex-start!important}
body.bps-portal #app-root #management-view .management-tabs .side-nav-btn{min-height:28px!important;padding:4px 8px!important;font-size:14.4px!important;white-space:nowrap}
body.bps-portal #app-root #management-view .customer-detail-pane .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.bps-portal #app-root #management-view .customer-detail-pane .form-group label{font-size:13.2px!important;margin-bottom:3px!important}
body.bps-portal #app-root #management-view .customer-detail-pane :is(input:not([type=checkbox]),select){width:100%;min-height:28px!important;padding:4px 7px!important;font-size:14.4px!important}
body.bps-portal #app-root #management-view .customer-detail-pane textarea{width:100%;min-height:70px!important;font-size:14.4px!important;padding:6px!important}
body.bps-portal #app-root #management-view .customer-detail-pane .workspace-panel{margin-top:0!important}
body.bps-portal #app-root #management-view .customer-detail-pane .section-shell{padding:0!important}
body.bps-portal #app-root #management-view .empty-state{padding:18px!important;min-height:150px!important;margin-top:8px!important}.empty-icon{display:none!important}
body.bps-portal #app-root #management-view .product-list-table{overflow:visible!important;border:0!important}
body.bps-portal #app-root #management-view .product-row.header{display:none!important}
body.bps-portal #app-root #management-view .product-row.service-item{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important;gap:7px!important;padding:10px!important;margin:0 0 8px!important;border:1px solid #e0e6ed!important;border-radius:4px!important}
body.bps-portal #app-root #management-view .product-row.service-item .form-group label{display:block!important}
body.bps-portal #app-root #management-view .product-row .delete-cell{grid-column:1/-1;text-align:right}.maintenance-cell{display:flex!important;align-items:center;gap:6px}.maintenance-cell:before{content:'유지보수'}
body.bps-portal #app-root #management-view .log-compose{display:grid!important;grid-template-columns:115px minmax(0,1fr) auto!important;gap:6px!important}
body.bps-portal #app-root #management-view .log-compose button{min-height:28px!important}
body.bps-portal #app-root #management-view .log-item{padding:9px!important;font-size:14.4px!important;margin-bottom:6px!important}.log-content{white-space:pre-wrap;overflow-wrap:anywhere}
/* User management */
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.users-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,1fr);gap:12px}.users-list-panel,.user-editor-panel{padding:12px;border:1px solid #dfe5ed;background:#fff;border-radius:5px;min-width:0}.compact-toolbar{display:flex;gap:8px}.compact-toolbar input{flex:1;min-width:0}.table-scroll{overflow:auto}.users-table tr.selected{background:#eaf2ff}.status-pill{font-size:13.2px;background:#edf0f5;color:#667085;border-radius:10px;padding:2px 7px}.status-pill.on{background:#e4f6ed;color:#087851}.users-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.users-page input:not([type=checkbox]){width:100%}.permission-row{display:flex!important;align-items:center;justify-content:space-between;padding:7px 8px;border-bottom:1px solid #e5e9ef;margin:0!important;min-height:30px}.account-state{display:flex!important;align-items:center;gap:12px;margin-top:12px}.editor-actions{display:flex;align-items:center;gap:6px;padding-top:14px;margin-top:14px;border-top:1px solid #e5e9ef}.editor-actions span{flex:1}
body.bps-portal.standalone-contract .glass-container{max-width:1100px!important;width:calc(100% - 32px)!important;margin:20px auto!important;padding:18px!important}
@media(max-width:1200px){body.bps-portal #app-root #management-view .vertical-management-content{grid-template-columns:minmax(0,1fr)!important}.users-split{grid-template-columns:1fr}.portal-sidebar{width:150px}.portal-main{margin-left:150px}}
@media(max-width:680px){.portal-sidebar{position:static;width:100%;padding:10px;display:block}.portal-sidebar .portal-logo{padding:0 6px 8px;display:block}.portal-sidebar nav{display:flex;overflow:auto;gap:3px}.portal-sidebar nav a{white-space:nowrap;padding:6px}.portal-sidebar .nav-caption,.sidebar-bottom{display:none}.portal-main{margin-left:0}.portal-topbar{padding:0 10px}body.bps-portal #app-root{padding:10px}body.bps-portal #app-root #management-view .customer-toolbar{flex-wrap:wrap!important}.customer-search{flex-basis:100%}.users-split{display:block}.user-editor-panel{margin-top:12px}}
/* Final overrides for older per-view styles with ID selectors. */
body.bps-portal #app-root #management-view{font:400 14.4px/1.45 "Segoe UI","Malgun Gothic",system-ui,sans-serif!important}
body.bps-portal #app-root #management-view .vertical-management-content{min-height:0!important;height:auto!important;align-content:start!important;grid-auto-rows:auto!important}
body.bps-portal #app-root #management-view :is(h1,.stage-heading h1){font-size:21.6px!important;font-weight:500!important;line-height:1.4!important}
body.bps-portal #app-root #management-view :is(h2,.content-title,.detail-header .content-title){font-size:18px!important;font-weight:500!important}
body.bps-portal #app-root #management-view :is(h3,h4){font-size:15.6px!important;font-weight:500!important}
body.bps-portal #app-root #management-view :is(button,.side-nav-btn,.btn-primary,.company-name,.filter-btn){font-size:14.4px!important;font-weight:400!important;border-radius:4px!important;box-shadow:none!important}
body.bps-portal #app-root #management-view .management-tabs .side-nav-btn{font-weight:400!important}
body.bps-portal #app-root #management-view .customer-toolbar input{height:28px!important;min-height:28px!important;padding:4px 7px!important;font-size:14.4px!important;border-radius:4px!important}
body.bps-portal #app-root #management-view .customer-toolbar .filter-btn{min-width:0!important;min-height:28px!important;height:28px!important;padding:4px 8px!important;white-space:nowrap}
body.bps-portal #app-root #management-view .customer-toolbar .filter-group{min-height:28px!important;border:0!important}
body.bps-portal #app-root #management-view .customer-table .contract-status{padding:1px 4px!important;font-size:12px!important;white-space:nowrap}
body.bps-portal #app-root #management-view .overview-row button{font-size:12px!important;white-space:nowrap;padding:2px 4px!important}
body.bps-portal #app-root #management-view .legacy-service-notes{grid-column:1/-1}
.portal-sidebar nav a{white-space:nowrap}
body.bps-portal #app-root :is(#downloads-view,#licenses-view,#adviser-users-view) :is(h1,h2){font-size:21.6px!important;font-weight:500!important}
body.bps-portal #app-root :is(#downloads-view,#licenses-view,#adviser-users-view) :is(button,input,select,td,th,label){font-size:14.4px!important;font-weight:400!important}
body.bps-portal #app-root :is(h1){font-size:21.6px!important;font-weight:500!important;line-height:1.4!important}
body.bps-portal #app-root :is(h2){font-size:18px!important;font-weight:500!important;line-height:1.4!important}
body.bps-portal #app-root :is(h3,h4){font-size:15.6px!important;font-weight:500!important;line-height:1.4!important}
body.bps-portal #app-root :is(button,.btn-primary,.btn-ghost,.btn-outline,.btn-danger,.btn-small){font-size:14.4px!important;font-weight:400!important;border-radius:4px!important;min-height:28px!important;padding:4px 10px!important;box-shadow:none!important}
body.bps-portal #app-root :is(input:not([type=checkbox]),select){font-size:14.4px!important;font-weight:400!important;min-height:28px!important;padding:4px 7px!important;border-radius:4px!important;box-shadow:none!important}
body.bps-portal #app-root .users-page :is(th,td){font-size:14.4px!important;font-weight:400!important;padding:4px 8px!important}
body.bps-portal #app-root :is(.users-page,.users-page p,.users-page label){font-size:14.4px!important;font-weight:400!important}
/* Dense layout: remove gaps between panels and keep spreadsheet rows compact. */
body.bps-portal #app-root{padding:0!important;min-height:calc(100vh - 36px)}
.portal-topbar{height:36px;padding:0 8px;gap:4px}.portal-sidebar{padding:10px 6px}.portal-sidebar .portal-logo{padding-bottom:10px}.portal-sidebar nav a{padding:5px 8px;min-height:26px}.nav-caption{padding:6px 8px 3px}
body.bps-portal #app-root :is(.glass-container,.glass-container.large,.container){padding:6px!important;border-radius:0!important}
body.bps-portal #app-root :is(.app-header,.top-bar,.title-section,.section-titlebar){padding-bottom:3px!important;margin-bottom:3px!important}
body.bps-portal #app-root :is(.form-grid,.lic-grid){gap:4px!important}
body.bps-portal #app-root :is(.form-group,.input-group){margin-bottom:3px!important}
body.bps-portal #app-root :is(button,.btn-primary,.btn-ghost,.btn-outline,.btn-danger,.btn-small){min-height:24px!important;padding:2px 6px!important}
body.bps-portal #app-root :is(input:not([type=checkbox]),select){min-height:24px!important;padding:2px 5px!important}
body.bps-portal #app-root table{margin-top:0!important}
body.bps-portal #app-root :is(th,td){height:26px;padding:3px 5px!important}
body.bps-portal #app-root p{margin:2px 0 4px!important}
body.bps-portal #app-root #management-view .vertical-management-content{gap:0!important}
body.bps-portal #app-root #management-view .customer-stage{padding:6px!important;border-radius:0!important}
body.bps-portal #app-root #management-view :is(.stage-heading,.customer-toolbar,.detail-header,.management-tabs,.panel-heading,.service-toolbar){gap:4px!important;margin:0 0 4px!important;padding:0!important}
body.bps-portal #app-root #management-view .customer-table{max-height:calc(100vh - 145px)!important;border-radius:0!important}
body.bps-portal #app-root #management-view .overview-row{min-height:26px!important}
body.bps-portal #app-root #management-view .overview-row>div{min-height:26px!important;padding:2px 5px!important}
body.bps-portal #app-root #management-view :is(.customer-toolbar input,.customer-toolbar .filter-btn,.customer-toolbar .filter-group,.management-tabs .side-nav-btn,.detail-header .content-actions button){height:24px!important;min-height:24px!important;padding:2px 6px!important}
body.bps-portal #app-root #management-view .customer-detail-pane .form-grid{gap:4px!important}
body.bps-portal #app-root #management-view .customer-detail-pane :is(input:not([type=checkbox]),select){min-height:24px!important;padding:2px 5px!important}
body.bps-portal #app-root #management-view .empty-state{padding:6px!important;min-height:0!important;margin:0!important}
body.bps-portal #app-root #management-view .config-block{margin:0 0 4px!important;padding:4px 6px!important;border-radius:0!important}
body.bps-portal #app-root #management-view .config-block>summary{cursor:pointer;font-size:14.4px;line-height:20px}
body.bps-portal #app-root #management-view .vertical-management-content:has(#section-services.active){grid-template-columns:minmax(0,1fr)!important}
body.bps-portal #app-root #management-view .vertical-management-content:has(#section-services.active) .customer-table{max-height:158px!important}
body.bps-portal #app-root #management-view .product-list-table{overflow:auto!important;border:1px solid #ccd4df!important;max-height:56vh!important}
body.bps-portal #app-root #management-view .service-sheet{table-layout:fixed!important;min-width:904px!important;border-collapse:collapse!important;margin:0!important}
body.bps-portal #app-root #management-view .service-sheet .product-row{display:table-row!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.bps-portal #app-root #management-view .service-sheet :is(td,th){display:table-cell!important;vertical-align:middle!important;padding:1px 3px!important;height:26px!important;border:1px solid #dce2ea!important;background:#fff}
body.bps-portal #app-root #management-view .service-sheet thead th{position:sticky;top:0;z-index:3;background:#eef2f7!important;font-size:14.4px!important;font-weight:400!important}
body.bps-portal #app-root #management-view .service-sheet .form-group>label{display:none!important}
body.bps-portal #app-root #management-view .service-sheet input:not([type=checkbox]){display:block!important;width:100%!important;min-height:22px!important;height:22px!important;padding:1px 2px!important;border:1px solid transparent!important;border-radius:0!important;background:transparent!important;font-size:14.4px!important}
body.bps-portal #app-root #management-view .service-sheet input:focus{outline:1px solid #2563eb!important;background:#fff!important}
body.bps-portal #app-root #management-view .service-sheet tr:focus-within td{background:#f0f6ff!important}
body.bps-portal #app-root #management-view .service-sheet .maintenance-cell{justify-content:center;margin:0!important}
body.bps-portal #app-root #management-view .service-sheet .maintenance-cell:before{content:none!important}
body.bps-portal #app-root #management-view .service-sheet .delete-cell button{min-height:20px!important;padding:1px 4px!important;font-size:13.2px!important}
body.bps-portal #app-root #management-view .legacy-service-notes summary{cursor:pointer;font-size:13.2px}
body.bps-portal #app-root #management-view .legacy-service-notes[open]{min-width:190px}
.users-split{gap:0}.users-list-panel,.user-editor-panel{padding:6px;border-radius:0}.page-heading{margin:0 0 4px;gap:4px}.compact-toolbar{gap:4px}.permission-row{padding:3px 5px;min-height:24px}.account-state{margin-top:4px}.editor-actions{margin-top:5px;padding-top:5px;gap:4px}
body.bps-portal .password-dialog{width:min(360px,calc(100vw - 24px));padding:14px;border:1px solid #cbd5e1;border-radius:5px;color:#263244;background:white;font:400 14.4px/1.5 "Segoe UI","Malgun Gothic",system-ui,sans-serif}
body.bps-portal .password-dialog::backdrop{background:#10203466}
body.bps-portal .password-dialog label{display:block;margin:8px 0 3px!important}
body.bps-portal .password-dialog input{display:block;width:100%;margin-top:3px}
body.bps-portal .password-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:10px}
#portal-password-message,#user-reset-error{color:#b42318;min-height:14px}
@media(max-width:680px){.user-editor-panel{margin-top:0}.portal-topbar{height:auto;min-height:36px;flex-wrap:wrap}.portal-sidebar nav a{min-height:24px}}
body.bps-portal #app-root #management-view .service-sheet #services-container{display:table-row-group!important;max-height:none!important;overflow:visible!important}
body.bps-portal #app-root #management-view .service-sheet .product-row.service-item .form-group>label{display:none!important}
body.bps-portal #app-root #management-view .service-sheet .product-row.service-item{height:26px!important}
body.bps-portal #app-root #management-view .service-sheet .remove-service:before{content:none!important}
body.bps-portal #app-root #management-view .service-sheet .maintenance-cell{min-height:22px!important;height:22px!important}
body.bps-portal #app-root #management-view .service-sheet .delete-cell .remove-service{width:auto!important;white-space:nowrap!important}
body.bps-portal #app-root :is(.selection-grid,.lic-grid){gap:0!important;margin:0!important}
body.bps-portal #app-root :is(.lic-card,.config-block){padding:6px!important;margin:0!important;border-radius:0!important}
body.bps-portal #app-root .lic-policy{padding:4px 6px!important;margin:0!important}
body.bps-portal #app-root .select-card{padding:8px!important;min-height:60px!important;border-radius:0!important;gap:6px!important}
body.bps-portal #app-root .icon-box{width:28px!important;height:28px!important}

/* Empty feedback containers do not reserve explanatory space. */
body.bps-portal #app-root p:empty{display:none!important}
body.bps-portal #app-root #page-subtitle{display:none!important}

/* Installation information: consolidated description and retained legacy data. */
body.bps-portal #app-root #management-view .panel-heading:has(#add-service-row){display:flex!important;align-items:center!important;justify-content:space-between!important}
body.bps-portal #app-root #management-view #add-service-row{width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;font-size:24px!important;line-height:1!important}
body.bps-portal #app-root #management-view .service-sheet{min-width:640px!important}
body.bps-portal #app-root #management-view .service-sheet .description-fields{display:grid;grid-template-columns:1.2fr 1fr;gap:4px}
body.bps-portal #app-root #management-view .service-sheet .description-fields input+input{border-left:1px solid #e5e9ef!important}

.portal-login .portal-login-brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 20px;text-decoration:none;color:#697586}.portal-login-brand img{display:block;width:100%;max-width:280px;height:auto;object-fit:contain}.portal-login-brand span{font-size:15px;font-weight:400;letter-spacing:2px;line-height:1.4}

.portal-sidebar .portal-sidebar-brand{display:block;padding:4px 6px 12px;line-height:0}.portal-sidebar-brand img{display:block;width:100%;max-width:144px;height:auto;margin:0 auto;object-fit:contain}@media(max-width:680px){.portal-sidebar .portal-sidebar-brand{padding:2px 6px 8px}.portal-sidebar-brand img{width:124px;margin:0}}

/* Uniform compact workspaces across every portal menu. */
body.bps-portal{display:block!important;align-items:initial!important;justify-content:initial!important}
body.bps-portal #app-root :is(#downloads-view,#licenses-view,#contracts-view,#adviser-users-view,#ai-compare-view){width:100%!important;min-height:0!important;margin:0!important;padding:0!important}
body.bps-portal #app-root :is(.view:not(.hidden),#adviser-dashboard-view,#lab-view){min-height:0!important;height:auto!important;margin:0!important;padding:0!important}
body.bps-portal #app-root :is(.glass-container,.ai-panel){text-align:left!important;overflow:visible!important}
body.bps-portal #app-root main{padding:0!important;margin:0!important;min-height:0!important}
body.bps-portal #app-root :is(.app-header,.header-flex,.ai-header){display:flex!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;flex-wrap:wrap!important;gap:4px!important;padding:0 0 4px!important;margin:0 0 4px!important;min-height:24px!important;border-bottom:1px solid #dfe5ed!important}
body.bps-portal #app-root :is(.brand,.ai-title){font-size:18px!important;font-weight:500!important;margin:0!important}
body.bps-portal #app-root :is(.header-actions,.controls,.search-box,.lic-toolbar,.modal-actions){display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:4px!important;margin:0!important;padding:3px 0!important}
body.bps-portal #app-root :is(.table-container,.table-wrapper,.lic-scroll){margin:0!important;padding:0!important;border-radius:0!important;overflow:auto!important}
body.bps-portal #app-root :is(th,td){padding:3px 5px!important;height:26px!important;font-size:14.4px!important;font-weight:400!important;vertical-align:middle!important}
body.bps-portal #app-root :is(.table-container,.table-wrapper,.lic-scroll) thead th{position:sticky;top:0;z-index:2}
body.bps-portal #app-root :is(.table-container,.table-wrapper){max-height:calc(100vh - 160px)}
body.bps-portal #app-root :is(.download-btn,.edit-btn,.delete-btn,.btn-small){min-height:22px!important;padding:2px 6px!important;font-size:14.4px!important}
body.bps-portal #app-root :is(.app-icon,.file-icon){width:22px!important;height:22px!important;font-size:19.5px!important}
body.bps-portal #app-root :is(#logout-btn,#contract-logout-btn,#adviser-logout-btn),body.bps-portal #app-root a[href="#/dashboard"]:not(.select-card){display:none!important}
body.bps-portal #app-root #contracts-view #generator-view>.glass-container>div{padding:4px 0!important;margin:0!important;border:0!important;border-radius:0!important}
body.bps-portal #app-root #contracts-view .contract-table{margin:0!important;border-radius:0!important}
body.bps-portal #app-root #license-hub .lic-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:4px!important}
body.bps-portal #app-root #license-hub .lic-card{padding:5px!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
body.bps-portal #app-root #license-hub .lic-card summary{padding:3px 0!important;margin:0!important;font-size:15.6px!important;font-weight:500!important;cursor:pointer}
body.bps-portal #app-root #license-hub label{margin:0 0 3px!important;font-size:14.4px!important}
body.bps-portal #app-root #license-hub label :is(input,select,textarea){display:block;width:100%!important;margin:2px 0 0!important}
body.bps-portal #app-root #license-hub .lic-policy{display:flex;flex-wrap:wrap;gap:6px;font-size:14.4px!important}
body.bps-portal #app-root #license-hub .lic-toolbar h3{margin:0!important}
body.bps-portal #app-root #license-hub #lic-search-form{display:flex;gap:4px}
body.bps-portal #app-root #release-manager textarea{height:48px!important;min-height:48px!important}
body.bps-portal #app-root .ai-lab{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.bps-portal #app-root .ai-panel{padding:6px!important;border:1px solid #dfe5ed!important;border-radius:0!important;background:white!important;box-shadow:none!important}
body.bps-portal #app-root .ai-form{gap:4px!important}
body.bps-portal #app-root .ai-question{height:72px;min-height:48px!important;padding:5px!important}
body.bps-portal #app-root :is(.provider-row,.control-row,.token-control){gap:4px!important;margin:0!important}
body.bps-portal #app-root .provider-chip{padding:3px 6px!important;border-radius:3px!important;font-size:14.4px!important}
body.bps-portal #app-root .token-control{display:flex!important;align-items:center!important}
body.bps-portal #app-root .result-grid{gap:0!important;margin-top:4px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.bps-portal #app-root .result-card{min-height:0!important;padding:6px!important;gap:4px!important;border-radius:0!important;border-color:#dfe5ed!important;background:white!important}
body.bps-portal #app-root :is(.answer,.provider-name){color:#263244!important;font-size:14.4px!important;font-weight:400!important}
body.bps-portal #app-root .citations a{color:#2563eb!important}
body.bps-portal #app-root .status-pill{padding:1px 5px!important;color:#475467!important;font-size:13.2px!important}
body.bps-portal #app-root .ai-error{padding:4px 6px!important;color:#b42318!important}
body.bps-portal #app-root .users-page .portal-notice{padding:6px!important}
body.bps-portal #app-root .users-page .form-grid{gap:4px!important}
body.bps-portal #app-root .modal-overlay .modal-content{width:min(480px,calc(100vw - 24px))!important;max-height:90vh!important;overflow:auto!important;padding:12px!important}
body.bps-portal #app-root .modal-overlay .modal-actions{justify-content:flex-end!important}
@media(max-width:680px){body.bps-portal #app-root .result-grid{grid-template-columns:1fr!important}body.bps-portal #app-root .header-actions .btn-outline{display:inline-flex!important}}

/* 2026-10-19: 150% typography; compact spacing with room for larger text. */
@media(min-width:681px){.portal-sidebar{width:208px}.portal-main{margin-left:208px}}
.portal-topbar{height:auto;min-height:36px;flex-wrap:wrap;padding-top:3px;padding-bottom:3px}
body.bps-portal #app-root #management-view .overview-row{grid-template-columns:minmax(170px,1.2fr) 80px 125px minmax(145px,1fr) 92px 100px 76px!important;min-width:788px!important}
body.bps-portal #app-root #management-view .customer-toolbar{flex-wrap:wrap!important}
body.bps-portal #app-root #management-view :is(.customer-toolbar input,.customer-toolbar .filter-btn,.customer-toolbar .filter-group,.management-tabs .side-nav-btn,.detail-header .content-actions button){height:auto!important;min-height:28px!important}
body.bps-portal #app-root #management-view .service-sheet{min-width:800px!important}
body.bps-portal #app-root #management-view .service-sheet input:not([type=checkbox]){height:26px!important;min-height:26px!important}
body.bps-portal #app-root #management-view #add-service-row{width:28px!important;height:28px!important;min-height:28px!important}
body.bps-portal #app-root .icon-box{min-width:28px;flex-shrink:0}
body.bps-portal #app-root #license-hub .lic-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
body.bps-portal #app-root .editor-actions{flex-wrap:wrap}
body.bps-portal #app-root #management-view .log-compose{grid-template-columns:150px minmax(0,1fr) auto!important}

/* Customer detail stays below the list at every screen width. */
body.bps-portal #app-root #management-view .vertical-management-content{grid-template-columns:minmax(0,1fr)!important}
