:root{font-family:Inter,"Segoe UI",sans-serif;background:#f4f7fb;color:#12233f;--navy:#071d35;--blue:#1769e0;--cyan:#16b9dd;--line:#e5ebf3;--muted:#718096}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f4f7fb}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#071e37 0%,#082742 100%);color:#fff;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 20px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#14bddc,#2869ee);box-shadow:0 9px 22px #087bab55}.sidebar-brand strong{display:block;font-size:17px}.sidebar-brand small{display:block;color:#67d7ec;font-size:8px;letter-spacing:1.7px;margin-top:3px}.sidebar-company{display:flex;align-items:center;gap:10px;background:#0d3557;border:1px solid #19486e;border-radius:13px;padding:11px;margin-bottom:16px}.sidebar-company strong,.sidebar-company small{display:block}.sidebar-company strong{font-size:12px}.sidebar-company small{font-size:9px;color:#8fb4d0;margin-top:3px}.status-dot{width:9px;height:9px;background:#39d98a;border-radius:50%;box-shadow:0 0 0 4px #39d98a20}.sidebar-nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.nav-section{font-size:9px;letter-spacing:1.4px;color:#6389a8;padding:15px 11px 5px}.nav-link{display:flex;align-items:center;gap:11px;color:#d8e6f3;text-decoration:none;padding:10px 11px;border-radius:10px;font-size:12px;transition:.18s}.nav-link:hover{background:#144b75;color:#fff;transform:translateX(2px)}.nav-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#123c5e;color:#68d9ec}.nav-pill{margin-left:auto;background:#16a8ce;color:white;border-radius:999px;font-size:8px;padding:3px 6px}.sidebar-bottom{margin-top:auto}.profile-card{display:flex;align-items:center;gap:10px;background:#0b304f;border-radius:14px;padding:11px;margin-top:7px}.profile-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#23c1da,#3669e8);font-weight:800}.profile-info{min-width:0;flex:1}.profile-info strong,.profile-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-info strong{font-size:11px}.profile-info small{font-size:9px;color:#86abc6;margin-top:3px}.profile-state{width:8px;height:8px;border-radius:50%}.profile-state.online{background:#39d98a}.profile-state.offline{background:#8297a8}.workspace{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.topbar-search{display:flex;align-items:center;gap:10px;width:min(470px,45vw);background:#f4f7fb;border:1px solid #e6ebf2;padding:9px 13px;border-radius:12px}.topbar-search input{border:0;background:transparent;outline:0;width:100%;color:#53657b}.topbar-actions{display:flex;align-items:center;gap:14px}.sync-state{font-size:11px;color:#547087}.sync-state i{display:inline-block;width:7px;height:7px;background:#25c981;border-radius:50%;margin-right:6px}.icon-button{position:relative;width:37px;height:37px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#42617f}.icon-button b{position:absolute;right:-4px;top:-5px;background:#f04459;color:#fff;font-size:8px;border-radius:999px;padding:2px 5px}.date-chip{font-size:10px;color:#617389;background:#f4f7fb;padding:9px 11px;border-radius:10px}.page-content{padding:28px 30px 50px}.dashboard-welcome,.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(122deg,#0b3157 0%,#176fa6 65%,#20b7cf 125%);color:#fff;padding:27px 30px;border-radius:20px;box-shadow:0 14px 34px #174b7820}.dashboard-welcome h1,.page-title-row h1{font-size:28px;margin:6px 0}.dashboard-welcome p,.page-title-row p{margin:0;color:#d5e9f6;font-size:12px}.eyebrow{display:block;font-size:9px;letter-spacing:1.7px;font-weight:800;color:#42d8ef}.welcome-actions{display:flex;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 15px;font-weight:700;font-size:11px;text-decoration:none;cursor:pointer}.button.primary{background:linear-gradient(135deg,#14acd2,#2869eb);color:#fff;box-shadow:0 8px 19px #1269d43d}.button.ghost{background:#fff;color:#315270;border:1px solid #dfe7ef}.dashboard-welcome .button.ghost{background:#ffffff18;color:#fff;border-color:#ffffff35}.button.soft{background:#edf4fb;color:#37617e}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:17px}.metric-card{background:#fff;border:1px solid #e8eef5;border-radius:17px;padding:19px;display:flex;align-items:center;gap:14px;box-shadow:0 7px 22px #183c5f0b}.metric-icon,.stat-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;font-size:18px}.accent-blue .metric-icon,.stat-icon.blue{background:#e4f4ff;color:#1478d4}.accent-purple .metric-icon,.stat-icon.violet{background:#f0eaff;color:#754bd8}.accent-orange .metric-icon,.stat-icon.orange{background:#fff0df;color:#ed811c}.accent-green .metric-icon,.stat-icon.green{background:#e1faec;color:#168f55}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{font-size:10px;color:#728297}.metric-card strong{font-size:24px;margin:3px 0}.metric-card small{font-size:9px;color:#8a9aac}.metric-card small b{color:#20bc75}.dashboard-columns{display:grid;grid-template-columns:1.65fr 1fr;gap:17px;margin-top:17px}.panel{background:#fff;border:1px solid #e7edf4;border-radius:18px;padding:21px;box-shadow:0 7px 24px #17395f0b}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.panel-heading h2{font-size:17px;margin:5px 0}.panel-heading p{font-size:10px;color:#8493a4;margin:0}.panel-heading a{font-size:10px;color:#1674d2;text-decoration:none}.bar-chart{display:grid;gap:18px;margin-top:24px}.bar-item{display:grid;grid-template-columns:145px 1fr 55px;gap:12px;align-items:center;font-size:10px}.bar-item div{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden}.bar-item i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#17b6d6,#3269e7)}.bar-item b{color:#e44b54}.chart-legend{display:flex;gap:17px;margin-top:24px;font-size:9px;color:#7a899a}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.legend-up{background:#286be8}.legend-neutral{background:#cbd5df}.success-badge{background:#dff8ea;color:#12864e;padding:6px 9px;border-radius:999px;font-size:9px}.service-list{display:grid;margin-top:12px}.service-list>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1f5;padding:12px 0}.service-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:9px;font-weight:800}.service-icon.blue{background:#e5f3ff;color:#1578d5}.service-icon.violet{background:#f0eaff;color:#744ad2}.service-icon.orange{background:#fff0df;color:#e9841e}.service-icon.green{background:#e1faec;color:#178c55}.service-list p{margin:0;flex:1}.service-list strong,.service-list small{display:block}.service-list strong{font-size:11px}.service-list small{font-size:9px;color:#8b99a8;margin-top:3px}.service-ok{font-size:8px;color:#158a51;background:#e1faec;padding:5px 7px;border-radius:999px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:17px}.quick-grid a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e7edf4;border-radius:15px;padding:16px;color:#15314c;text-decoration:none}.quick-grid>a>span{width:36px;height:36px;border-radius:11px;background:#e8f4ff;color:#176dd1;display:grid;place-items:center}.quick-grid div{flex:1}.quick-grid strong,.quick-grid small{display:block}.quick-grid strong{font-size:11px}.quick-grid small{font-size:9px;color:#8493a5;margin-top:3px}.quick-grid b{color:#4385c1}.page-title-row{padding:22px 25px}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.mini-stats article{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e7edf4;border-radius:15px;padding:15px}.mini-stats strong,.mini-stats small{display:block}.mini-stats strong{font-size:19px}.mini-stats small{font-size:9px;color:#8493a5}.data-panel{margin-top:16px}.panel-toolbar,.permission-tools{display:flex;gap:10px;align-items:center;margin-bottom:16px}.search-field{display:flex;align-items:center;gap:8px;background:#f6f8fb;border:1px solid #e2e8f0;border-radius:10px;padding:8px 11px;flex:1}.search-field input{border:0!important;background:transparent!important;outline:0;width:100%;padding:0!important}.panel-toolbar select,.permission-tools select{padding:10px;border:1px solid #dfe6ee;border-radius:10px;background:#fff}.modern-table{width:100%;border-collapse:collapse;font-size:10px}.modern-table th{background:#f5f8fb;color:#718195;font-size:9px;font-weight:700;padding:11px;text-align:left}.modern-table td{padding:12px 11px;border-bottom:1px solid #eef2f6;vertical-align:middle}.user-cell{display:flex;align-items:center;gap:10px}.avatar{width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#13b4d6,#316be8);color:#fff;display:grid;place-items:center;font-weight:800}.user-cell strong,.user-cell small,.modern-table td small{display:block}.user-cell small,.modern-table td small{font-size:8px;color:#8997a6;margin-top:3px}.table-primary{font-size:10px}.role-chip{background:#e9f3ff;color:#2269b5;border-radius:999px;padding:5px 8px;font-size:8px}.status-badge{display:inline-block;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.status-badge.active{background:#dff8ea;color:#13844e}.status-badge.passive{background:#eef1f5;color:#6d7d8e}.status-badge.locked{background:#fee7e9;color:#bd3642}.right{text-align:right!important}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button{width:29px;height:29px;border:0;border-radius:8px;background:#eaf3ff;color:#2169b8;cursor:pointer}.row-actions .danger-icon{background:#fee9eb;color:#bc3542}.loading-state,.empty-state{text-align:center;color:#6f8194;padding:30px}.loading-state span{display:inline-block;width:12px;height:12px;border:2px solid #b7c5d2;border-top-color:#1c71dc;border-radius:50%;animation:spin .8s linear infinite}.empty-icon{font-size:28px}.message-bar{margin-top:12px;background:#edf6ff;color:#2e608d;padding:10px 12px;border-radius:9px;font-size:10px}.modal-backdrop{position:fixed;inset:0;background:#06192bbb;z-index:100;display:grid;place-items:center;padding:20px}.modal-card{width:min(650px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 80px #0005}.modal-card.small{width:min(470px,96vw)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:5px 0}.modal-close{border:0;background:#eef2f6;color:#52677b;width:32px;height:32px;border-radius:9px;font-size:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.modal-card>label{display:grid;gap:6px;font-size:9px;font-weight:700;color:#5b6e82}.form-grid input,.form-grid select,.modal-card>label input{padding:11px;border:1px solid #dfe6ee;border-radius:9px;background:#fff}.span2{grid-column:1/-1}.switch-label{display:flex!important;align-items:center;gap:8px!important;background:#f6f8fb;padding:10px;border-radius:10px}.switch-label input{width:auto}.modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.password-note{font-size:9px;color:#75869a;background:#f5f8fb;padding:10px;border-radius:9px;margin-top:10px}.roles-layout{display:grid;grid-template-columns:315px minmax(0,1fr);gap:16px;margin-top:16px}.role-list-panel{padding:15px}.role-card{width:100%;display:flex;align-items:center;gap:10px;border:1px solid transparent;background:#fff;padding:11px;border-radius:12px;text-align:left;cursor:pointer;margin-top:7px}.role-card:hover,.role-card.selected{background:#edf6ff;border-color:#cce5fb}.role-emblem{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#e9f3ff;color:#296cc0}.role-card div{flex:1}.role-card strong,.role-card small{display:block}.role-card strong{font-size:10px}.role-card small{font-size:8px;color:#8594a4;margin-top:3px}.permission-panel{min-height:570px}.permission-groups{display:grid;gap:13px}.permission-group{border:1px solid #e7edf4;border-radius:13px;overflow:hidden}.permission-group-head{display:flex;justify-content:space-between;align-items:center;background:#f5f8fb;padding:11px 13px}.permission-group-head strong,.permission-group-head small{display:block}.permission-group-head strong{font-size:10px}.permission-group-head small{font-size:8px;color:#8493a4;margin-top:2px}.permission-group-head>span{font-size:9px;color:#52708c}.permission-row{display:grid;grid-template-columns:18px 24px 1fr auto;gap:9px;align-items:center;padding:10px 13px;border-top:1px solid #eef2f6;cursor:pointer}.permission-row>input{display:none}.permission-check{width:22px;height:22px;border-radius:7px;background:#e8edf2;color:transparent;display:grid;place-items:center;font-size:10px}.permission-row:has(input:checked) .permission-check{background:#216dde;color:#fff}.permission-row strong,.permission-row small{display:block}.permission-row strong{font-size:9px}.permission-row small{font-size:8px;color:#8795a5;margin-top:2px}.permission-row em{font-style:normal;font-size:8px;background:#eff4f8;color:#62778a;padding:4px 6px;border-radius:999px}.sticky-save{position:sticky;bottom:-21px;background:#fff;border-top:1px solid #e7edf4;margin:18px -21px -21px;padding:13px 21px;display:flex;justify-content:space-between;align-items:center}.sticky-save span{font-size:9px;color:#76889a}.floating-message{position:fixed;right:24px;bottom:24px;z-index:120;box-shadow:0 12px 35px #183c5f30}.check-label{display:flex;align-items:center;gap:6px}.check-label input{width:auto}.table-wrap{overflow:auto}.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:18px}.kpi-grid article{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 25px #17395f12;display:grid;gap:7px}.kpi-grid small{color:#738297}.kpi-grid strong{font-size:25px}.kpi-grid span{font-size:11px;color:#64748b}.price-toolbar{display:grid;grid-template-columns:2fr 1fr auto auto;align-items:center}.direction-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.price-increase{color:#b42318}.direction-badge.price-increase{background:#fee4e2}.price-decrease{color:#08743a}.direction-badge.price-decrease{background:#dcfce7}.price-unchanged{color:#64748b}.direction-badge.price-unchanged{background:#eef2f6}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}.roles-layout{grid-template-columns:1fr}.role-list-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.role-list-panel .panel-heading{grid-column:1/-1}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar-company,.sidebar-nav,.sidebar-bottom{display:none}.topbar{padding:0 15px}.date-chip,.sync-state{display:none}.page-content{padding:16px}.dashboard-welcome,.page-title-row{align-items:flex-start;flex-direction:column}.metric-grid,.quick-grid,.mini-stats,.form-grid{grid-template-columns:1fr}.topbar-search{width:75vw}.bar-item{grid-template-columns:100px 1fr 45px}.kpi-grid{grid-template-columns:1fr 1fr}.price-toolbar{grid-template-columns:1fr}}


/* Sprint 4 module navigation and AI terminal */
.sidebar{overflow:hidden}.sidebar-nav{overflow-y:auto;padding-right:4px}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#164b70;border-radius:99px}.sub-link{padding-left:20px!important;opacity:.92}.nav-pill.purple{background:#6639d8;color:#fff}.nav-count{margin-left:auto;min-width:20px;height:20px;border-radius:99px;background:#ff5770;color:#fff;display:grid;place-items:center;font-size:10px}.ai-link{background:linear-gradient(100deg,#153e76,#5631b8)!important;border:1px solid #7364e8!important}.module-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.module-kpi-grid article{background:#fff;border:1px solid #e9f0f7;border-radius:15px;padding:17px;display:flex;gap:13px;align-items:center;box-shadow:0 8px 25px rgba(23,57,95,.05)}.module-icon{width:42px;height:42px;border-radius:12px;background:#edf7ff;color:#087abb;display:grid;place-items:center;font-weight:800}.module-kpi-grid small,.module-kpi-grid em{display:block;color:#7c8ba0;font-style:normal}.module-kpi-grid strong{display:block;font-size:20px;margin:2px 0}.module-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.module-action-grid button{background:#f9fbfe;color:#122a46;border:1px solid #e5edf5;border-radius:14px;padding:17px;text-align:left;display:flex;align-items:center;gap:13px}.module-action-grid button>span{width:40px;height:40px;border-radius:11px;background:#e8f4ff;color:#087abb;display:grid;place-items:center;font-weight:800}.module-action-grid button div{display:grid;gap:4px;flex:1}.module-action-grid button small{color:#748399}.module-action-grid button em{font-style:normal;color:#268bc5;font-size:18px}.module-action-grid button:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(21,75,112,.09)}.coming-soon{display:flex;gap:24px;align-items:center}.coming-visual{width:90px;height:90px;border-radius:24px;background:linear-gradient(135deg,#0bb7d6,#2b65e9);color:#fff;display:grid;place-items:center;font-size:36px}.ai-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.ai-chat-panel{min-height:610px}.ai-welcome{display:flex;gap:18px;align-items:center;padding:10px 0 20px}.ai-orb{width:70px;height:70px;border-radius:24px;background:linear-gradient(135deg,#13c4dc,#5d33d7);color:#fff;display:grid;place-items:center;font-size:29px;box-shadow:0 12px 30px rgba(69,72,211,.25)}.prompt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.prompt-grid button{background:#f8faff;color:#17304f;border:1px solid #e6eaf7;padding:16px;border-radius:14px;text-align:left;display:grid;gap:5px}.prompt-grid button:hover{border-color:#6d5ce7;background:#f4f1ff}.prompt-grid small{color:#77859a}.ai-answer{margin-top:18px;padding:18px;border-radius:16px;background:linear-gradient(120deg,#f2fbff,#f5f2ff);border:1px solid #dfe9fb;line-height:1.7}.ai-answer-head{display:flex;gap:10px;align-items:center}.ai-mini-orb{width:30px;height:30px;border-radius:10px;background:#5738d3;color:white;display:grid;place-items:center}.ai-tags{display:flex;gap:7px}.ai-tags span{background:#fff;border:1px solid #dbe4ef;padding:5px 8px;border-radius:99px;font-size:10px}.ai-composer{margin-top:18px;border:1px solid #dbe5ef;border-radius:16px;padding:12px;background:#fff}.ai-composer textarea{width:100%;min-height:90px;border:0;resize:vertical;outline:0;font:inherit}.ai-composer button{float:right}.ai-composer:after{content:"";display:block;clear:both}.ai-side-panel ul{padding-left:20px;color:#607087;line-height:1.8}.security-score{margin-top:22px;border-radius:15px;background:#eafff2;padding:18px;display:grid}.security-score strong{font-size:29px;color:#08743a}.security-score span{color:#36855a}@media(max-width:1100px){.module-kpi-grid{grid-template-columns:repeat(2,1fr)}.ai-layout{grid-template-columns:1fr}.ai-side-panel{display:none}}@media(max-width:700px){.module-kpi-grid,.module-action-grid,.prompt-grid{grid-template-columns:1fr}}

.nav-section-button{width:100%;border:0;background:transparent;color:inherit;display:flex;justify-content:space-between;cursor:pointer;padding:8px 6px}.nav-group-children{display:grid;gap:3px;animation:menuOpen .15s ease-out}.nav-group-children .nav-link{padding-left:18px}@keyframes menuOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.topbar-search button{border:0;background:#e8f3ff;color:#1264c4;border-radius:8px;padding:8px 12px}.title-actions{display:flex;gap:10px}.clickable{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.clickable:hover{background:#f6f9fd}.chat-history{display:grid;gap:12px;max-height:430px;overflow:auto;padding:10px 2px}.chat-message{padding:14px 16px;border-radius:14px;max-width:86%}.chat-message.user{background:#e8f2ff;margin-left:auto}.chat-message.assistant{background:#f4f0ff}.chat-message p{margin:6px 0;line-height:1.55}.chat-message small{color:#7a8aa0}.settings-card{max-width:900px}.menu-group{display:grid}.row-actions button{min-width:32px}


/* Sprint 4.2 */
.search-host{position:relative}
.global-search-results{position:absolute;left:0;right:0;top:48px;background:#fff;border:1px solid #dfe8f2;border-radius:14px;box-shadow:0 18px 45px #12395f2a;z-index:100;padding:8px;max-height:420px;overflow:auto}
.global-search-results button{width:100%;display:flex;gap:12px;align-items:center;text-align:left;background:transparent;color:#132a46;padding:10px;border-radius:10px}
.global-search-results button:hover{background:#eef7ff}
.global-search-results button div{display:grid}.global-search-results small{color:#718399}.search-empty{padding:16px;color:#718399}
.nav-group-children .sub-link{padding-left:42px;font-size:11px;color:#aac4dc}
.security-designer{display:grid;grid-template-columns:300px 1fr;gap:14px}
.erp-permission-legend{display:flex;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#f4f8fc;border-radius:12px;margin-bottom:12px;font-size:11px}
.erp-permission-legend b{display:inline-grid;place-items:center;width:22px;height:22px;background:#dff1ff;color:#075d9e;border-radius:6px;margin-right:4px}
.erp-module-block{border:1px solid #dce7f1;border-radius:13px;overflow:hidden;margin-bottom:10px}
.erp-module-title{width:100%;display:grid;grid-template-columns:24px 1fr auto;align-items:center;text-align:left;background:#eff6fc;color:#163754;padding:12px}
.erp-module-title em{font-style:normal;font-size:11px;color:#718399}
.erp-matrix-head,.erp-matrix-row{display:grid;grid-template-columns:minmax(280px,1fr) repeat(3,48px);align-items:center}
.erp-matrix-head{background:#f9fbfd;padding:8px 12px;color:#6c7d8e;font-size:11px}
.erp-matrix-head b{text-align:center}
.erp-matrix-row{padding:9px 12px;border-top:1px solid #edf2f7}
.erp-matrix-row>div{display:grid}.erp-matrix-row small{color:#8b99a8}
.matrix-check{display:grid;place-items:center}.matrix-check input{display:none}.matrix-check span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cbd8e5;border-radius:6px;color:transparent;background:#fff}
.matrix-check input:checked+span{background:#1677e8;border-color:#1677e8;color:#fff}
.matrix-check.disabled span{background:#eef2f5;border-style:dashed}
@media(max-width:1000px){.security-designer{grid-template-columns:1fr}.erp-matrix-head,.erp-matrix-row{grid-template-columns:minmax(200px,1fr) repeat(3,42px)}}


/* Sprint 4.2.1 navigation reliability */
.diagnostic-link {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    align-items: center;
    padding: 15px;
    border: 1px solid #dce7f1;
    border-radius: 13px;
    text-decoration: none;
    color: #17324f;
    background: #fff;
}
.diagnostic-link:hover {
    border-color: #52baf2;
    box-shadow: 0 8px 24px #174a7417;
}
.diagnostic-link small {
    color: #718399;
}
.diagnostic-link em {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-style: normal;
    color: #0a75cf;
}


/* Sprint 4.2.2 route state */
.route-debug {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #edf7ff;
    color: #25638f;
    font-size: 10px;
    font-weight: 700;
}


/* v5.1 Login, session and greeting improvements */
.sidebar-session-action{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
.sidebar-session-action.logout-action{color:#ffd8dc}
.sidebar-session-action.logout-action:hover{background:#5c2030;color:#fff}
.auth-page{min-height:calc(100vh - 128px);display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(390px,.95fr);background:#fff;border:1px solid #e4ebf3;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(10,42,73,.12)}
.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:48px;color:#fff;background:radial-gradient(circle at 85% 16%,rgba(46,209,232,.28),transparent 28%),radial-gradient(circle at 16% 90%,rgba(91,74,216,.34),transparent 33%),linear-gradient(145deg,#071d35 0%,#0b426b 62%,#126c8d 110%)}
.auth-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent)}
.auth-visual>*{position:relative;z-index:1}
.auth-brand{display:flex;align-items:center;gap:14px}
.auth-brand-mark{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#13c3dd,#3564ed);font-size:20px;font-weight:900;box-shadow:0 14px 32px rgba(10,176,222,.3)}
.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:20px}.auth-brand small{margin-top:4px;color:#58e3f3;font-size:9px;letter-spacing:2px}
.auth-hero-copy{margin:auto 0 38px;max-width:590px}.auth-kicker{display:block;color:#4ee4ef;font-size:10px;font-weight:900;letter-spacing:2px}.auth-hero-copy h1{font-size:44px;line-height:1.08;margin:13px 0 16px}.auth-hero-copy p{margin:0;max-width:540px;color:#c8e1ef;font-size:14px;line-height:1.8}
.auth-feature-grid{display:grid;gap:11px;margin-bottom:34px}.auth-feature-grid article{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}.auth-feature-grid article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(66,219,235,.14);color:#65e7f3}.auth-feature-grid strong,.auth-feature-grid small{display:block}.auth-feature-grid strong{font-size:12px}.auth-feature-grid small{margin-top:3px;color:#9ec2d6;font-size:10px}
.auth-environment{display:flex;justify-content:space-between;gap:18px;color:#9ec2d6;font-size:10px}.auth-environment i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#37d98b;box-shadow:0 0 0 5px rgba(55,217,139,.12)}
.auth-form-side{display:flex;flex-direction:column;justify-content:center;padding:44px 54px;background:linear-gradient(180deg,#fbfdff,#f3f7fc)}.auth-card{width:100%;max-width:465px;margin:auto}.auth-card h2{margin:10px 0 8px;color:#112a47;font-size:31px}.auth-description{margin:0 0 28px;color:#6f8195;font-size:12px;line-height:1.7}
.auth-field{display:grid;gap:7px;margin-top:15px}.auth-field>label{color:#52677d;font-size:10px;font-weight:800}.auth-field>div{display:flex;align-items:center;gap:10px;border:1px solid #dce5ef;border-radius:13px;background:#fff;padding:0 13px;transition:.2s}.auth-field>div:focus-within{border-color:#2c82e9;box-shadow:0 0 0 4px rgba(44,130,233,.09)}.auth-field>div>span{color:#2781d1}.auth-field input{width:100%;border:0;outline:0;background:transparent;padding:13px 0;color:#122942}
.auth-options{display:flex;align-items:center;justify-content:space-between;margin:15px 0 22px;color:#66798d;font-size:10px}.auth-options label{display:flex;align-items:center;gap:7px}.auth-options a{color:#1a6fd0;text-decoration:none;font-weight:700}
.auth-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:13px;padding:14px 18px;font-weight:800;cursor:pointer}.auth-button.primary{background:linear-gradient(135deg,#12afd1,#286be9);color:#fff;box-shadow:0 12px 26px rgba(30,107,217,.24)}.auth-button.secondary{margin-top:10px;background:#eaf0f6;color:#31526e}.auth-button:disabled{cursor:not-allowed;opacity:.65}.auth-button b{margin-left:auto;font-size:17px}
.auth-message{margin-top:16px;border-radius:12px;padding:12px 14px;font-size:11px}.auth-message.error{background:#fff0f1;color:#b42335;border:1px solid #ffd5da}.auth-message.success{background:#e8fbf0;color:#147949;border:1px solid #c9f1d9}
.auth-demo-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:13px;border-radius:13px;background:#edf5fc;color:#60758a}.auth-demo-note>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#d9ebfb;color:#1f70b6;font-weight:900}.auth-demo-note strong,.auth-demo-note small{display:block}.auth-demo-note strong{font-size:10px;color:#35516d}.auth-demo-note small{margin-top:3px;font-size:9px;line-height:1.5}
.auth-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;color:#8493a4;font-size:9px}.auth-session-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#1ec98a,#1d8ed6);color:#fff;font-size:27px;box-shadow:0 14px 28px rgba(27,160,143,.2);margin-bottom:22px}
.auth-user-summary{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e8f1;border-radius:15px;padding:14px;margin-bottom:22px}.auth-user-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#18bad6,#3269e7);color:#fff;font-weight:900}.auth-user-summary>div:nth-child(2){flex:1}.auth-user-summary strong,.auth-user-summary small{display:block}.auth-user-summary strong{font-size:12px}.auth-user-summary small{margin-top:4px;color:#8190a0;font-size:9px}.auth-online-dot{width:9px;height:9px;border-radius:50%;background:#35d98b;box-shadow:0 0 0 5px rgba(53,217,139,.12)}
.auth-actions{display:grid;gap:1px}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@media(max-width:1050px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:390px}.auth-hero-copy{margin:55px 0 28px}.auth-feature-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.auth-page{border-radius:17px}.auth-visual,.auth-form-side{padding:28px 22px}.auth-hero-copy h1{font-size:34px}.auth-feature-grid{grid-template-columns:1fr}.auth-environment{flex-direction:column}}


/* v5.2 company actions and delete confirmation */
.management-row{display:flex!important;align-items:center;gap:10px;padding:8px 10px!important}
.management-row-main{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;background:transparent;text-align:left;cursor:pointer;padding:5px 3px;color:inherit}
.management-row-main>div{min-width:0}
.management-row-main strong,.management-row-main small{display:block}
.management-row-main small{margin-top:5px;color:#75869a}
.row-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.row-action{width:34px;height:34px;border:1px solid #dae5ef;border-radius:10px;background:#f7fafc;color:#45627d;cursor:pointer;font-size:15px;transition:.18s}
.row-action:hover{transform:translateY(-1px)}
.row-action.edit:hover{border-color:#8fc3ef;background:#eaf5ff;color:#116db9}
.row-action.delete{border-color:#ffd8dd;background:#fff5f6;color:#c53c4c}
.row-action.delete:hover{border-color:#f49aa5;background:#ffe9ec;color:#a81427}
.button.danger{border:0;background:linear-gradient(135deg,#ef5362,#c51f35);color:#fff;box-shadow:0 10px 22px rgba(197,31,53,.2)}
.confirm-card{max-width:470px;text-align:center}
.confirm-card .modal-footer{justify-content:center}
.confirm-icon{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px;background:#fff0f2;color:#cb2539;font-size:28px;font-weight:900}
.confirm-card h2{margin:9px 0 10px;color:#162f4d}
.confirm-card p{color:#65788c;line-height:1.65}
.empty-list{padding:26px 12px;color:#8493a3;text-align:center}


/* v5.3 company/branch hierarchy */
.company-tree-panel{padding:16px}
.company-tree-panel .panel-heading{margin-bottom:14px}
.button.compact{padding:9px 13px;font-size:10px}
.company-tree{display:grid;gap:12px}
.company-node{overflow:hidden;border:1px solid #dce7f1;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(35,71,106,.05);transition:.2s}
.company-node.open{border-color:#b9d8ef;box-shadow:0 10px 28px rgba(31,102,158,.09)}
.company-node-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(180deg,#fff,#f9fbfd)}
.company-toggle{min-width:0;flex:1;display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;padding:4px}
.tree-chevron{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#eaf4fb;color:#176ea8;font-size:20px;font-weight:900;transition:.2s}
.company-node.open .tree-chevron{background:#d9effc}
.company-avatar{width:43px;height:43px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#0f9bc6,#315fe5);color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 18px rgba(36,103,199,.18)}
.company-summary{min-width:0;flex:1}
.company-summary strong,.company-summary small{display:block}
.company-summary strong{font-size:13px;color:#132e4c}
.company-summary small{margin-top:5px;color:#76889a;font-size:10px}
.branch-count{flex:0 0 auto;border-radius:999px;background:#eef4f8;color:#60798d;padding:6px 10px;font-size:9px;font-weight:800}
.row-action.add{border-color:#bdebd8;background:#effbf5;color:#14845a}
.row-action.add:hover{border-color:#72d4ac;background:#def7ea}
.branch-tree{position:relative;padding:2px 16px 14px 69px;background:#f9fbfd;border-top:1px solid #edf2f6}
.branch-node{position:relative;display:flex;align-items:center;gap:11px;min-height:62px;padding:9px 10px;border-bottom:1px dashed #dce7ef}
.branch-node:last-child{border-bottom:0}
.branch-connector{position:absolute;left:-30px;top:0;width:30px;height:32px;border-left:2px solid #c7ddea;border-bottom:2px solid #c7ddea;border-bottom-left-radius:10px}
.branch-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#e7f4fc;color:#1478b7;font-size:14px}
.branch-main{min-width:0;flex:1;border:0;background:transparent;text-align:left;cursor:pointer;padding:5px;color:inherit}
.branch-main strong,.branch-main small{display:block}
.branch-main strong{font-size:11px;color:#203b57}
.branch-main small{margin-top:4px;color:#8191a0;font-size:9px}
.branch-empty{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 8px;color:#8494a3;font-size:10px}
.text-button{border:0;background:transparent;color:#1477bd;font-weight:800;cursor:pointer}
@media(max-width:800px){
  .company-node-header{align-items:flex-start;flex-wrap:wrap}
  .company-toggle{width:100%;flex-basis:100%}
  .branch-count{display:none}
  .branch-tree{padding-left:42px}
  .branch-connector{left:-16px;width:16px}
}


/* v6 secure integrations */
.secure-info-banner{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:14px 17px;border:1px solid #bfe8df;border-radius:15px;background:linear-gradient(135deg,#effbf7,#edf7ff);color:#28576a}
.secure-info-banner>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#d7f3e8;font-size:17px}
.secure-info-banner strong,.secure-info-banner small{display:block}.secure-info-banner strong{font-size:11px}.secure-info-banner small{margin-top:4px;color:#668293;font-size:9px}
.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:15px}
.integration-empty{grid-column:1/-1}
.integration-card{padding:17px;border:1px solid #dce7f1;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(28,65,101,.06)}
.integration-card-head{display:flex;align-items:center;gap:11px}.integration-card-head>div{min-width:0;flex:1}.integration-card-head strong,.integration-card-head small{display:block}.integration-card-head strong{font-size:13px;color:#17344f}.integration-card-head small{margin-top:4px;color:#8090a0;font-size:9px}
.integration-logo{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#08a8c8,#315be3);color:#fff;font-size:11px;font-weight:900}
.integration-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.integration-details div{min-width:0;padding:10px;border-radius:11px;background:#f6f9fc}.integration-details dt{color:#8392a1;font-size:8px;text-transform:uppercase;letter-spacing:.8px}.integration-details dd{overflow:hidden;margin:4px 0 0;color:#38546d;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.integration-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid #edf2f6;padding-top:13px}
.integration-modal{max-width:750px}
.ai-settings-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:17px}
.provider-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:19px}.provider-option{display:grid;gap:6px;place-items:center;border:1px solid #dce6ef;border-radius:13px;background:#f9fbfd;padding:12px 8px;color:#52697f;cursor:pointer}.provider-option span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e9f2fa;color:#1975b8;font-size:9px;font-weight:900}.provider-option strong{font-size:8px}.provider-option.selected{border-color:#56aadf;background:#edf8ff;box-shadow:0 0 0 3px rgba(55,150,215,.08)}
.secret-safety-card{padding:24px}.secret-shield{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#1bc38a,#177fc8);color:#fff;font-size:22px;box-shadow:0 12px 25px rgba(27,154,157,.2)}.secret-safety-card h2{margin:16px 0 10px}.secret-safety-card ul{display:grid;gap:10px;padding-left:18px;color:#64798c;font-size:10px;line-height:1.6}.secret-state{margin-top:20px;padding:14px;border-radius:13px;background:#eef8f5}.secret-state span,.secret-state strong{display:block}.secret-state span{color:#789085;font-size:8px;text-transform:uppercase}.secret-state strong{margin-top:5px;color:#237657;font-size:10px}
@media(max-width:1050px){.ai-settings-layout{grid-template-columns:1fr}.provider-options{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.integration-grid{grid-template-columns:1fr}.integration-details{grid-template-columns:1fr}.provider-options{grid-template-columns:repeat(2,1fr)}}

/* v6.1 toast and access */
.toast-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(17,35,52,.28);backdrop-filter:blur(3px)}.toast-dialog{position:relative;width:min(430px,calc(100vw - 32px));padding:30px;text-align:center;border-radius:22px;background:#fff;box-shadow:0 25px 70px rgba(15,40,65,.28);animation:toastIn .2s ease-out}.toast-symbol{width:58px;height:58px;margin:0 auto 15px;display:grid;place-items:center;border-radius:50%;font-size:27px;font-weight:900}.toast-dialog.success .toast-symbol{background:#def7e9;color:#14945d}.toast-dialog.error .toast-symbol{background:#ffe3e3;color:#cc3a3a}.toast-dialog.warning .toast-symbol{background:#fff1cd;color:#a96b00}.toast-dialog.info .toast-symbol{background:#e1f1ff;color:#227abb}.toast-dialog h3{margin:0;color:#17344f}.toast-dialog p{margin:10px 0 22px;color:#61778b;line-height:1.55}.toast-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:24px;color:#8a9baa;cursor:pointer}.access-denied{max-width:680px;margin:70px auto;padding:45px;text-align:center}.denied-icon{width:86px;height:86px;margin:0 auto 18px;display:grid;place-items:center;border-radius:24px;background:#fff0f0;color:#bd4040;font-size:24px;font-weight:900}@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
﻿:root{font-family:Inter,"Segoe UI",sans-serif;background:#f4f7fb;color:#12233f;--navy:#071d35;--blue:#1769e0;--cyan:#16b9dd;--line:#e5ebf3;--muted:#718096}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f4f7fb}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#071e37 0%,#082742 100%);color:#fff;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 20px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#14bddc,#2869ee);box-shadow:0 9px 22px #087bab55}.sidebar-brand strong{display:block;font-size:17px}.sidebar-brand small{display:block;color:#67d7ec;font-size:8px;letter-spacing:1.7px;margin-top:3px}.sidebar-company{display:flex;align-items:center;gap:10px;background:#0d3557;border:1px solid #19486e;border-radius:13px;padding:11px;margin-bottom:16px}.sidebar-company strong,.sidebar-company small{display:block}.sidebar-company strong{font-size:12px}.sidebar-company small{font-size:9px;color:#8fb4d0;margin-top:3px}.status-dot{width:9px;height:9px;background:#39d98a;border-radius:50%;box-shadow:0 0 0 4px #39d98a20}.sidebar-nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.nav-section{font-size:9px;letter-spacing:1.4px;color:#6389a8;padding:15px 11px 5px}.nav-link{display:flex;align-items:center;gap:11px;color:#d8e6f3;text-decoration:none;padding:10px 11px;border-radius:10px;font-size:12px;transition:.18s}.nav-link:hover{background:#144b75;color:#fff;transform:translateX(2px)}.nav-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#123c5e;color:#68d9ec}.nav-pill{margin-left:auto;background:#16a8ce;color:white;border-radius:999px;font-size:8px;padding:3px 6px}.sidebar-bottom{margin-top:auto}.profile-card{display:flex;align-items:center;gap:10px;background:#0b304f;border-radius:14px;padding:11px;margin-top:7px}.profile-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#23c1da,#3669e8);font-weight:800}.profile-info{min-width:0;flex:1}.profile-info strong,.profile-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-info strong{font-size:11px}.profile-info small{font-size:9px;color:#86abc6;margin-top:3px}.profile-state{width:8px;height:8px;border-radius:50%}.profile-state.online{background:#39d98a}.profile-state.offline{background:#8297a8}.workspace{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.topbar-search{display:flex;align-items:center;gap:10px;width:min(470px,45vw);background:#f4f7fb;border:1px solid #e6ebf2;padding:9px 13px;border-radius:12px}.topbar-search input{border:0;background:transparent;outline:0;width:100%;color:#53657b}.topbar-actions{display:flex;align-items:center;gap:14px}.sync-state{font-size:11px;color:#547087}.sync-state i{display:inline-block;width:7px;height:7px;background:#25c981;border-radius:50%;margin-right:6px}.icon-button{position:relative;width:37px;height:37px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#42617f}.icon-button b{position:absolute;right:-4px;top:-5px;background:#f04459;color:#fff;font-size:8px;border-radius:999px;padding:2px 5px}.date-chip{font-size:10px;color:#617389;background:#f4f7fb;padding:9px 11px;border-radius:10px}.page-content{padding:28px 30px 50px}.dashboard-welcome,.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(122deg,#0b3157 0%,#176fa6 65%,#20b7cf 125%);color:#fff;padding:27px 30px;border-radius:20px;box-shadow:0 14px 34px #174b7820}.dashboard-welcome h1,.page-title-row h1{font-size:28px;margin:6px 0}.dashboard-welcome p,.page-title-row p{margin:0;color:#d5e9f6;font-size:12px}.eyebrow{display:block;font-size:9px;letter-spacing:1.7px;font-weight:800;color:#42d8ef}.welcome-actions{display:flex;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 15px;font-weight:700;font-size:11px;text-decoration:none;cursor:pointer}.button.primary{background:linear-gradient(135deg,#14acd2,#2869eb);color:#fff;box-shadow:0 8px 19px #1269d43d}.button.ghost{background:#fff;color:#315270;border:1px solid #dfe7ef}.dashboard-welcome .button.ghost{background:#ffffff18;color:#fff;border-color:#ffffff35}.button.soft{background:#edf4fb;color:#37617e}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:17px}.metric-card{background:#fff;border:1px solid #e8eef5;border-radius:17px;padding:19px;display:flex;align-items:center;gap:14px;box-shadow:0 7px 22px #183c5f0b}.metric-icon,.stat-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;font-size:18px}.accent-blue .metric-icon,.stat-icon.blue{background:#e4f4ff;color:#1478d4}.accent-purple .metric-icon,.stat-icon.violet{background:#f0eaff;color:#754bd8}.accent-orange .metric-icon,.stat-icon.orange{background:#fff0df;color:#ed811c}.accent-green .metric-icon,.stat-icon.green{background:#e1faec;color:#168f55}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{font-size:10px;color:#728297}.metric-card strong{font-size:24px;margin:3px 0}.metric-card small{font-size:9px;color:#8a9aac}.metric-card small b{color:#20bc75}.dashboard-columns{display:grid;grid-template-columns:1.65fr 1fr;gap:17px;margin-top:17px}.panel{background:#fff;border:1px solid #e7edf4;border-radius:18px;padding:21px;box-shadow:0 7px 24px #17395f0b}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.panel-heading h2{font-size:17px;margin:5px 0}.panel-heading p{font-size:10px;color:#8493a4;margin:0}.panel-heading a{font-size:10px;color:#1674d2;text-decoration:none}.bar-chart{display:grid;gap:18px;margin-top:24px}.bar-item{display:grid;grid-template-columns:145px 1fr 55px;gap:12px;align-items:center;font-size:10px}.bar-item div{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden}.bar-item i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#17b6d6,#3269e7)}.bar-item b{color:#e44b54}.chart-legend{display:flex;gap:17px;margin-top:24px;font-size:9px;color:#7a899a}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.legend-up{background:#286be8}.legend-neutral{background:#cbd5df}.success-badge{background:#dff8ea;color:#12864e;padding:6px 9px;border-radius:999px;font-size:9px}.service-list{display:grid;margin-top:12px}.service-list>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1f5;padding:12px 0}.service-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:9px;font-weight:800}.service-icon.blue{background:#e5f3ff;color:#1578d5}.service-icon.violet{background:#f0eaff;color:#744ad2}.service-icon.orange{background:#fff0df;color:#e9841e}.service-icon.green{background:#e1faec;color:#178c55}.service-list p{margin:0;flex:1}.service-list strong,.service-list small{display:block}.service-list strong{font-size:11px}.service-list small{font-size:9px;color:#8b99a8;margin-top:3px}.service-ok{font-size:8px;color:#158a51;background:#e1faec;padding:5px 7px;border-radius:999px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:17px}.quick-grid a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e7edf4;border-radius:15px;padding:16px;color:#15314c;text-decoration:none}.quick-grid>a>span{width:36px;height:36px;border-radius:11px;background:#e8f4ff;color:#176dd1;display:grid;place-items:center}.quick-grid div{flex:1}.quick-grid strong,.quick-grid small{display:block}.quick-grid strong{font-size:11px}.quick-grid small{font-size:9px;color:#8493a5;margin-top:3px}.quick-grid b{color:#4385c1}.page-title-row{padding:22px 25px}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.mini-stats article{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e7edf4;border-radius:15px;padding:15px}.mini-stats strong,.mini-stats small{display:block}.mini-stats strong{font-size:19px}.mini-stats small{font-size:9px;color:#8493a5}.data-panel{margin-top:16px}.panel-toolbar,.permission-tools{display:flex;gap:10px;align-items:center;margin-bottom:16px}.search-field{display:flex;align-items:center;gap:8px;background:#f6f8fb;border:1px solid #e2e8f0;border-radius:10px;padding:8px 11px;flex:1}.search-field input{border:0!important;background:transparent!important;outline:0;width:100%;padding:0!important}.panel-toolbar select,.permission-tools select{padding:10px;border:1px solid #dfe6ee;border-radius:10px;background:#fff}.modern-table{width:100%;border-collapse:collapse;font-size:10px}.modern-table th{background:#f5f8fb;color:#718195;font-size:9px;font-weight:700;padding:11px;text-align:left}.modern-table td{padding:12px 11px;border-bottom:1px solid #eef2f6;vertical-align:middle}.user-cell{display:flex;align-items:center;gap:10px}.avatar{width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#13b4d6,#316be8);color:#fff;display:grid;place-items:center;font-weight:800}.user-cell strong,.user-cell small,.modern-table td small{display:block}.user-cell small,.modern-table td small{font-size:8px;color:#8997a6;margin-top:3px}.table-primary{font-size:10px}.role-chip{background:#e9f3ff;color:#2269b5;border-radius:999px;padding:5px 8px;font-size:8px}.status-badge{display:inline-block;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.status-badge.active{background:#dff8ea;color:#13844e}.status-badge.passive{background:#eef1f5;color:#6d7d8e}.status-badge.locked{background:#fee7e9;color:#bd3642}.right{text-align:right!important}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button{width:29px;height:29px;border:0;border-radius:8px;background:#eaf3ff;color:#2169b8;cursor:pointer}.row-actions .danger-icon{background:#fee9eb;color:#bc3542}.loading-state,.empty-state{text-align:center;color:#6f8194;padding:30px}.loading-state span{display:inline-block;width:12px;height:12px;border:2px solid #b7c5d2;border-top-color:#1c71dc;border-radius:50%;animation:spin .8s linear infinite}.empty-icon{font-size:28px}.message-bar{margin-top:12px;background:#edf6ff;color:#2e608d;padding:10px 12px;border-radius:9px;font-size:10px}.modal-backdrop{position:fixed;inset:0;background:#06192bbb;z-index:100;display:grid;place-items:center;padding:20px}.modal-card{width:min(650px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 80px #0005}.modal-card.small{width:min(470px,96vw)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:5px 0}.modal-close{border:0;background:#eef2f6;color:#52677b;width:32px;height:32px;border-radius:9px;font-size:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.modal-card>label{display:grid;gap:6px;font-size:9px;font-weight:700;color:#5b6e82}.form-grid input,.form-grid select,.modal-card>label input{padding:11px;border:1px solid #dfe6ee;border-radius:9px;background:#fff}.span2{grid-column:1/-1}.switch-label{display:flex!important;align-items:center;gap:8px!important;background:#f6f8fb;padding:10px;border-radius:10px}.switch-label input{width:auto}.modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.password-note{font-size:9px;color:#75869a;background:#f5f8fb;padding:10px;border-radius:9px;margin-top:10px}.roles-layout{display:grid;grid-template-columns:315px minmax(0,1fr);gap:16px;margin-top:16px}.role-list-panel{padding:15px}.role-card{width:100%;display:flex;align-items:center;gap:10px;border:1px solid transparent;background:#fff;padding:11px;border-radius:12px;text-align:left;cursor:pointer;margin-top:7px}.role-card:hover,.role-card.selected{background:#edf6ff;border-color:#cce5fb}.role-emblem{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#e9f3ff;color:#296cc0}.role-card div{flex:1}.role-card strong,.role-card small{display:block}.role-card strong{font-size:10px}.role-card small{font-size:8px;color:#8594a4;margin-top:3px}.permission-panel{min-height:570px}.permission-groups{display:grid;gap:13px}.permission-group{border:1px solid #e7edf4;border-radius:13px;overflow:hidden}.permission-group-head{display:flex;justify-content:space-between;align-items:center;background:#f5f8fb;padding:11px 13px}.permission-group-head strong,.permission-group-head small{display:block}.permission-group-head strong{font-size:10px}.permission-group-head small{font-size:8px;color:#8493a4;margin-top:2px}.permission-group-head>span{font-size:9px;color:#52708c}.permission-row{display:grid;grid-template-columns:18px 24px 1fr auto;gap:9px;align-items:center;padding:10px 13px;border-top:1px solid #eef2f6;cursor:pointer}.permission-row>input{display:none}.permission-check{width:22px;height:22px;border-radius:7px;background:#e8edf2;color:transparent;display:grid;place-items:center;font-size:10px}.permission-row:has(input:checked) .permission-check{background:#216dde;color:#fff}.permission-row strong,.permission-row small{display:block}.permission-row strong{font-size:9px}.permission-row small{font-size:8px;color:#8795a5;margin-top:2px}.permission-row em{font-style:normal;font-size:8px;background:#eff4f8;color:#62778a;padding:4px 6px;border-radius:999px}.sticky-save{position:sticky;bottom:-21px;background:#fff;border-top:1px solid #e7edf4;margin:18px -21px -21px;padding:13px 21px;display:flex;justify-content:space-between;align-items:center}.sticky-save span{font-size:9px;color:#76889a}.floating-message{position:fixed;right:24px;bottom:24px;z-index:120;box-shadow:0 12px 35px #183c5f30}.check-label{display:flex;align-items:center;gap:6px}.check-label input{width:auto}.table-wrap{overflow:auto}.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:18px}.kpi-grid article{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 25px #17395f12;display:grid;gap:7px}.kpi-grid small{color:#738297}.kpi-grid strong{font-size:25px}.kpi-grid span{font-size:11px;color:#64748b}.price-toolbar{display:grid;grid-template-columns:2fr 1fr auto auto;align-items:center}.direction-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.price-increase{color:#b42318}.direction-badge.price-increase{background:#fee4e2}.price-decrease{color:#08743a}.direction-badge.price-decrease{background:#dcfce7}.price-unchanged{color:#64748b}.direction-badge.price-unchanged{background:#eef2f6}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}.roles-layout{grid-template-columns:1fr}.role-list-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.role-list-panel .panel-heading{grid-column:1/-1}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar-company,.sidebar-nav,.sidebar-bottom{display:none}.topbar{padding:0 15px}.date-chip,.sync-state{display:none}.page-content{padding:16px}.dashboard-welcome,.page-title-row{align-items:flex-start;flex-direction:column}.metric-grid,.quick-grid,.mini-stats,.form-grid{grid-template-columns:1fr}.topbar-search{width:75vw}.bar-item{grid-template-columns:100px 1fr 45px}.kpi-grid{grid-template-columns:1fr 1fr}.price-toolbar{grid-template-columns:1fr}}


/* Sprint 4 module navigation and AI terminal */
.sidebar{overflow:hidden}.sidebar-nav{overflow-y:auto;padding-right:4px}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#164b70;border-radius:99px}.sub-link{padding-left:20px!important;opacity:.92}.nav-pill.purple{background:#6639d8;color:#fff}.nav-count{margin-left:auto;min-width:20px;height:20px;border-radius:99px;background:#ff5770;color:#fff;display:grid;place-items:center;font-size:10px}.ai-link{background:linear-gradient(100deg,#153e76,#5631b8)!important;border:1px solid #7364e8!important}.module-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.module-kpi-grid article{background:#fff;border:1px solid #e9f0f7;border-radius:15px;padding:17px;display:flex;gap:13px;align-items:center;box-shadow:0 8px 25px rgba(23,57,95,.05)}.module-icon{width:42px;height:42px;border-radius:12px;background:#edf7ff;color:#087abb;display:grid;place-items:center;font-weight:800}.module-kpi-grid small,.module-kpi-grid em{display:block;color:#7c8ba0;font-style:normal}.module-kpi-grid strong{display:block;font-size:20px;margin:2px 0}.module-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.module-action-grid button{background:#f9fbfe;color:#122a46;border:1px solid #e5edf5;border-radius:14px;padding:17px;text-align:left;display:flex;align-items:center;gap:13px}.module-action-grid button>span{width:40px;height:40px;border-radius:11px;background:#e8f4ff;color:#087abb;display:grid;place-items:center;font-weight:800}.module-action-grid button div{display:grid;gap:4px;flex:1}.module-action-grid button small{color:#748399}.module-action-grid button em{font-style:normal;color:#268bc5;font-size:18px}.module-action-grid button:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(21,75,112,.09)}.coming-soon{display:flex;gap:24px;align-items:center}.coming-visual{width:90px;height:90px;border-radius:24px;background:linear-gradient(135deg,#0bb7d6,#2b65e9);color:#fff;display:grid;place-items:center;font-size:36px}.ai-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.ai-chat-panel{min-height:610px}.ai-welcome{display:flex;gap:18px;align-items:center;padding:10px 0 20px}.ai-orb{width:70px;height:70px;border-radius:24px;background:linear-gradient(135deg,#13c4dc,#5d33d7);color:#fff;display:grid;place-items:center;font-size:29px;box-shadow:0 12px 30px rgba(69,72,211,.25)}.prompt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.prompt-grid button{background:#f8faff;color:#17304f;border:1px solid #e6eaf7;padding:16px;border-radius:14px;text-align:left;display:grid;gap:5px}.prompt-grid button:hover{border-color:#6d5ce7;background:#f4f1ff}.prompt-grid small{color:#77859a}.ai-answer{margin-top:18px;padding:18px;border-radius:16px;background:linear-gradient(120deg,#f2fbff,#f5f2ff);border:1px solid #dfe9fb;line-height:1.7}.ai-answer-head{display:flex;gap:10px;align-items:center}.ai-mini-orb{width:30px;height:30px;border-radius:10px;background:#5738d3;color:white;display:grid;place-items:center}.ai-tags{display:flex;gap:7px}.ai-tags span{background:#fff;border:1px solid #dbe4ef;padding:5px 8px;border-radius:99px;font-size:10px}.ai-composer{margin-top:18px;border:1px solid #dbe5ef;border-radius:16px;padding:12px;background:#fff}.ai-composer textarea{width:100%;min-height:90px;border:0;resize:vertical;outline:0;font:inherit}.ai-composer button{float:right}.ai-composer:after{content:"";display:block;clear:both}.ai-side-panel ul{padding-left:20px;color:#607087;line-height:1.8}.security-score{margin-top:22px;border-radius:15px;background:#eafff2;padding:18px;display:grid}.security-score strong{font-size:29px;color:#08743a}.security-score span{color:#36855a}@media(max-width:1100px){.module-kpi-grid{grid-template-columns:repeat(2,1fr)}.ai-layout{grid-template-columns:1fr}.ai-side-panel{display:none}}@media(max-width:700px){.module-kpi-grid,.module-action-grid,.prompt-grid{grid-template-columns:1fr}}

.nav-section-button{width:100%;border:0;background:transparent;color:inherit;display:flex;justify-content:space-between;cursor:pointer;padding:8px 6px}.nav-group-children{display:grid;gap:3px;animation:menuOpen .15s ease-out}.nav-group-children .nav-link{padding-left:18px}@keyframes menuOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.topbar-search button{border:0;background:#e8f3ff;color:#1264c4;border-radius:8px;padding:8px 12px}.title-actions{display:flex;gap:10px}.clickable{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.clickable:hover{background:#f6f9fd}.chat-history{display:grid;gap:12px;max-height:430px;overflow:auto;padding:10px 2px}.chat-message{padding:14px 16px;border-radius:14px;max-width:86%}.chat-message.user{background:#e8f2ff;margin-left:auto}.chat-message.assistant{background:#f4f0ff}.chat-message p{margin:6px 0;line-height:1.55}.chat-message small{color:#7a8aa0}.settings-card{max-width:900px}.menu-group{display:grid}.row-actions button{min-width:32px}


/* Sprint 4.2 */
.search-host{position:relative}
.global-search-results{position:absolute;left:0;right:0;top:48px;background:#fff;border:1px solid #dfe8f2;border-radius:14px;box-shadow:0 18px 45px #12395f2a;z-index:100;padding:8px;max-height:420px;overflow:auto}
.global-search-results button{width:100%;display:flex;gap:12px;align-items:center;text-align:left;background:transparent;color:#132a46;padding:10px;border-radius:10px}
.global-search-results button:hover{background:#eef7ff}
.global-search-results button div{display:grid}.global-search-results small{color:#718399}.search-empty{padding:16px;color:#718399}
.nav-group-children .sub-link{padding-left:42px;font-size:11px;color:#aac4dc}
.security-designer{display:grid;grid-template-columns:300px 1fr;gap:14px}
.erp-permission-legend{display:flex;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#f4f8fc;border-radius:12px;margin-bottom:12px;font-size:11px}
.erp-permission-legend b{display:inline-grid;place-items:center;width:22px;height:22px;background:#dff1ff;color:#075d9e;border-radius:6px;margin-right:4px}
.erp-module-block{border:1px solid #dce7f1;border-radius:13px;overflow:hidden;margin-bottom:10px}
.erp-module-title{width:100%;display:grid;grid-template-columns:24px 1fr auto;align-items:center;text-align:left;background:#eff6fc;color:#163754;padding:12px}
.erp-module-title em{font-style:normal;font-size:11px;color:#718399}
.erp-matrix-head,.erp-matrix-row{display:grid;grid-template-columns:minmax(280px,1fr) repeat(3,48px);align-items:center}
.erp-matrix-head{background:#f9fbfd;padding:8px 12px;color:#6c7d8e;font-size:11px}
.erp-matrix-head b{text-align:center}
.erp-matrix-row{padding:9px 12px;border-top:1px solid #edf2f7}
.erp-matrix-row>div{display:grid}.erp-matrix-row small{color:#8b99a8}
.matrix-check{display:grid;place-items:center}.matrix-check input{display:none}.matrix-check span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cbd8e5;border-radius:6px;color:transparent;background:#fff}
.matrix-check input:checked+span{background:#1677e8;border-color:#1677e8;color:#fff}
.matrix-check.disabled span{background:#eef2f5;border-style:dashed}
@media(max-width:1000px){.security-designer{grid-template-columns:1fr}.erp-matrix-head,.erp-matrix-row{grid-template-columns:minmax(200px,1fr) repeat(3,42px)}}


/* Sprint 4.2.1 navigation reliability */
.diagnostic-link {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    align-items: center;
    padding: 15px;
    border: 1px solid #dce7f1;
    border-radius: 13px;
    text-decoration: none;
    color: #17324f;
    background: #fff;
}
.diagnostic-link:hover {
    border-color: #52baf2;
    box-shadow: 0 8px 24px #174a7417;
}
.diagnostic-link small {
    color: #718399;
}
.diagnostic-link em {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-style: normal;
    color: #0a75cf;
}


/* Sprint 4.2.2 route state */
.route-debug {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #edf7ff;
    color: #25638f;
    font-size: 10px;
    font-weight: 700;
}


/* v5.1 Login, session and greeting improvements */
.sidebar-session-action{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
.sidebar-session-action.logout-action{color:#ffd8dc}
.sidebar-session-action.logout-action:hover{background:#5c2030;color:#fff}
.auth-page{min-height:calc(100vh - 128px);display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(390px,.95fr);background:#fff;border:1px solid #e4ebf3;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(10,42,73,.12)}
.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:48px;color:#fff;background:radial-gradient(circle at 85% 16%,rgba(46,209,232,.28),transparent 28%),radial-gradient(circle at 16% 90%,rgba(91,74,216,.34),transparent 33%),linear-gradient(145deg,#071d35 0%,#0b426b 62%,#126c8d 110%)}
.auth-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent)}
.auth-visual>*{position:relative;z-index:1}
.auth-brand{display:flex;align-items:center;gap:14px}
.auth-brand-mark{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#13c3dd,#3564ed);font-size:20px;font-weight:900;box-shadow:0 14px 32px rgba(10,176,222,.3)}
.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:20px}.auth-brand small{margin-top:4px;color:#58e3f3;font-size:9px;letter-spacing:2px}
.auth-hero-copy{margin:auto 0 38px;max-width:590px}.auth-kicker{display:block;color:#4ee4ef;font-size:10px;font-weight:900;letter-spacing:2px}.auth-hero-copy h1{font-size:44px;line-height:1.08;margin:13px 0 16px}.auth-hero-copy p{margin:0;max-width:540px;color:#c8e1ef;font-size:14px;line-height:1.8}
.auth-feature-grid{display:grid;gap:11px;margin-bottom:34px}.auth-feature-grid article{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}.auth-feature-grid article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(66,219,235,.14);color:#65e7f3}.auth-feature-grid strong,.auth-feature-grid small{display:block}.auth-feature-grid strong{font-size:12px}.auth-feature-grid small{margin-top:3px;color:#9ec2d6;font-size:10px}
.auth-environment{display:flex;justify-content:space-between;gap:18px;color:#9ec2d6;font-size:10px}.auth-environment i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#37d98b;box-shadow:0 0 0 5px rgba(55,217,139,.12)}
.auth-form-side{display:flex;flex-direction:column;justify-content:center;padding:44px 54px;background:linear-gradient(180deg,#fbfdff,#f3f7fc)}.auth-card{width:100%;max-width:465px;margin:auto}.auth-card h2{margin:10px 0 8px;color:#112a47;font-size:31px}.auth-description{margin:0 0 28px;color:#6f8195;font-size:12px;line-height:1.7}
.auth-field{display:grid;gap:7px;margin-top:15px}.auth-field>label{color:#52677d;font-size:10px;font-weight:800}.auth-field>div{display:flex;align-items:center;gap:10px;border:1px solid #dce5ef;border-radius:13px;background:#fff;padding:0 13px;transition:.2s}.auth-field>div:focus-within{border-color:#2c82e9;box-shadow:0 0 0 4px rgba(44,130,233,.09)}.auth-field>div>span{color:#2781d1}.auth-field input{width:100%;border:0;outline:0;background:transparent;padding:13px 0;color:#122942}
.auth-options{display:flex;align-items:center;justify-content:space-between;margin:15px 0 22px;color:#66798d;font-size:10px}.auth-options label{display:flex;align-items:center;gap:7px}.auth-options a{color:#1a6fd0;text-decoration:none;font-weight:700}
.auth-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:13px;padding:14px 18px;font-weight:800;cursor:pointer}.auth-button.primary{background:linear-gradient(135deg,#12afd1,#286be9);color:#fff;box-shadow:0 12px 26px rgba(30,107,217,.24)}.auth-button.secondary{margin-top:10px;background:#eaf0f6;color:#31526e}.auth-button:disabled{cursor:not-allowed;opacity:.65}.auth-button b{margin-left:auto;font-size:17px}
.auth-message{margin-top:16px;border-radius:12px;padding:12px 14px;font-size:11px}.auth-message.error{background:#fff0f1;color:#b42335;border:1px solid #ffd5da}.auth-message.success{background:#e8fbf0;color:#147949;border:1px solid #c9f1d9}
.auth-demo-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:13px;border-radius:13px;background:#edf5fc;color:#60758a}.auth-demo-note>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#d9ebfb;color:#1f70b6;font-weight:900}.auth-demo-note strong,.auth-demo-note small{display:block}.auth-demo-note strong{font-size:10px;color:#35516d}.auth-demo-note small{margin-top:3px;font-size:9px;line-height:1.5}
.auth-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;color:#8493a4;font-size:9px}.auth-session-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#1ec98a,#1d8ed6);color:#fff;font-size:27px;box-shadow:0 14px 28px rgba(27,160,143,.2);margin-bottom:22px}
.auth-user-summary{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e8f1;border-radius:15px;padding:14px;margin-bottom:22px}.auth-user-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#18bad6,#3269e7);color:#fff;font-weight:900}.auth-user-summary>div:nth-child(2){flex:1}.auth-user-summary strong,.auth-user-summary small{display:block}.auth-user-summary strong{font-size:12px}.auth-user-summary small{margin-top:4px;color:#8190a0;font-size:9px}.auth-online-dot{width:9px;height:9px;border-radius:50%;background:#35d98b;box-shadow:0 0 0 5px rgba(53,217,139,.12)}
.auth-actions{display:grid;gap:1px}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@media(max-width:1050px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:390px}.auth-hero-copy{margin:55px 0 28px}.auth-feature-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.auth-page{border-radius:17px}.auth-visual,.auth-form-side{padding:28px 22px}.auth-hero-copy h1{font-size:34px}.auth-feature-grid{grid-template-columns:1fr}.auth-environment{flex-direction:column}}


/* v5.2 company actions and delete confirmation */
.management-row{display:flex!important;align-items:center;gap:10px;padding:8px 10px!important}
.management-row-main{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;background:transparent;text-align:left;cursor:pointer;padding:5px 3px;color:inherit}
.management-row-main>div{min-width:0}
.management-row-main strong,.management-row-main small{display:block}
.management-row-main small{margin-top:5px;color:#75869a}
.row-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.row-action{width:34px;height:34px;border:1px solid #dae5ef;border-radius:10px;background:#f7fafc;color:#45627d;cursor:pointer;font-size:15px;transition:.18s}
.row-action:hover{transform:translateY(-1px)}
.row-action.edit:hover{border-color:#8fc3ef;background:#eaf5ff;color:#116db9}
.row-action.delete{border-color:#ffd8dd;background:#fff5f6;color:#c53c4c}
.row-action.delete:hover{border-color:#f49aa5;background:#ffe9ec;color:#a81427}
.button.danger{border:0;background:linear-gradient(135deg,#ef5362,#c51f35);color:#fff;box-shadow:0 10px 22px rgba(197,31,53,.2)}
.confirm-card{max-width:470px;text-align:center}
.confirm-card .modal-footer{justify-content:center}
.confirm-icon{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px;background:#fff0f2;color:#cb2539;font-size:28px;font-weight:900}
.confirm-card h2{margin:9px 0 10px;color:#162f4d}
.confirm-card p{color:#65788c;line-height:1.65}
.empty-list{padding:26px 12px;color:#8493a3;text-align:center}


/* v5.3 company/branch hierarchy */
.company-tree-panel{padding:16px}
.company-tree-panel .panel-heading{margin-bottom:14px}
.button.compact{padding:9px 13px;font-size:10px}
.company-tree{display:grid;gap:12px}
.company-node{overflow:hidden;border:1px solid #dce7f1;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(35,71,106,.05);transition:.2s}
.company-node.open{border-color:#b9d8ef;box-shadow:0 10px 28px rgba(31,102,158,.09)}
.company-node-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(180deg,#fff,#f9fbfd)}
.company-toggle{min-width:0;flex:1;display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;padding:4px}
.tree-chevron{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#eaf4fb;color:#176ea8;font-size:20px;font-weight:900;transition:.2s}
.company-node.open .tree-chevron{background:#d9effc}
.company-avatar{width:43px;height:43px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#0f9bc6,#315fe5);color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 18px rgba(36,103,199,.18)}
.company-summary{min-width:0;flex:1}
.company-summary strong,.company-summary small{display:block}
.company-summary strong{font-size:13px;color:#132e4c}
.company-summary small{margin-top:5px;color:#76889a;font-size:10px}
.branch-count{flex:0 0 auto;border-radius:999px;background:#eef4f8;color:#60798d;padding:6px 10px;font-size:9px;font-weight:800}
.row-action.add{border-color:#bdebd8;background:#effbf5;color:#14845a}
.row-action.add:hover{border-color:#72d4ac;background:#def7ea}
.branch-tree{position:relative;padding:2px 16px 14px 69px;background:#f9fbfd;border-top:1px solid #edf2f6}
.branch-node{position:relative;display:flex;align-items:center;gap:11px;min-height:62px;padding:9px 10px;border-bottom:1px dashed #dce7ef}
.branch-node:last-child{border-bottom:0}
.branch-connector{position:absolute;left:-30px;top:0;width:30px;height:32px;border-left:2px solid #c7ddea;border-bottom:2px solid #c7ddea;border-bottom-left-radius:10px}
.branch-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#e7f4fc;color:#1478b7;font-size:14px}
.branch-main{min-width:0;flex:1;border:0;background:transparent;text-align:left;cursor:pointer;padding:5px;color:inherit}
.branch-main strong,.branch-main small{display:block}
.branch-main strong{font-size:11px;color:#203b57}
.branch-main small{margin-top:4px;color:#8191a0;font-size:9px}
.branch-empty{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 8px;color:#8494a3;font-size:10px}
.text-button{border:0;background:transparent;color:#1477bd;font-weight:800;cursor:pointer}
@media(max-width:800px){
  .company-node-header{align-items:flex-start;flex-wrap:wrap}
  .company-toggle{width:100%;flex-basis:100%}
  .branch-count{display:none}
  .branch-tree{padding-left:42px}
  .branch-connector{left:-16px;width:16px}
}

.auth-page{min-height:100vh;width:100%;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);background:#f3f7fb}
.auth-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:52px;color:#fff;background:linear-gradient(145deg,#082a49,#0f6693 62%,#13a6bc);overflow:hidden}
.auth-form-side{display:grid;place-items:center;padding:42px}.auth-card{width:min(470px,100%);padding:35px;border:1px solid #dce7f0;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(26,60,95,.12)}
.auth-field{margin-top:18px}.auth-field label{display:block;margin-bottom:7px;font-size:11px;font-weight:800}.auth-field>div{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #d6e2ec;border-radius:13px;background:#f8fafc}.auth-field input{width:100%;padding:14px 0;border:0;outline:0;background:transparent}
.auth-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border:0;border-radius:13px;font-weight:900}.auth-button.primary{color:#fff;background:linear-gradient(135deg,#087fae,#2366e8)}
.auth-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.auth-feature-grid article{padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.08)}
.auth-brand,.auth-brand>div,.auth-feature-grid article,.auth-environment,.auth-user-summary{display:flex;align-items:center}.auth-brand{gap:14px}.auth-brand-mark{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#18c8e8,#2873ef);font-weight:900;font-size:22px}
.auth-hero-copy h1{font-size:46px;margin:14px 0}.auth-kicker{font-size:10px;font-weight:900;letter-spacing:2px;color:#27d7ec}.auth-description{color:#748697}.auth-options,.auth-footer,.auth-environment{display:flex;justify-content:space-between}.auth-options{margin:16px 0;font-size:10px}.auth-footer{width:min(470px,100%);margin-top:14px;color:#8493a1;font-size:9px}
@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-side{min-height:100vh;padding:20px}}


/* MST ERP AI v7.0 Sprint 1: authentication, authorization and notifications */
.route-redirect{min-height:100vh;display:grid;place-items:center;background:#f3f7fb;color:#60758a;font-size:13px}
.toast-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(5,24,43,.48);backdrop-filter:blur(4px)}
.toast-dialog{position:relative;width:min(430px,94vw);padding:30px 28px 24px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 28px 90px rgba(0,0,0,.28);animation:toastIn .18s ease-out}
.toast-dialog h3{margin:13px 0 7px;font-size:20px;color:#17344f}.toast-dialog p{margin:0 auto 20px;max-width:350px;color:#5f7488;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.toast-symbol{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:18px;font-size:25px;font-weight:900}.toast-dialog.success .toast-symbol{background:#dcf8eb;color:#138653}.toast-dialog.error .toast-symbol{background:#fee8ea;color:#bd3542}.toast-dialog.warning .toast-symbol{background:#fff3d6;color:#b56b08}.toast-dialog.info .toast-symbol{background:#e7f3ff;color:#176dc5}.toast-close{position:absolute;right:14px;top:12px;width:32px;height:32px;border:0;border-radius:9px;background:#f0f4f7;color:#687c8d;font-size:20px;cursor:pointer}@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.auth-page{min-height:100vh!important;width:100%!important;border:0!important;border-radius:0!important;box-shadow:none!important}

/* Sprint 2 v7.1.6 role company filter */
.role-company-filter{display:grid;gap:6px;margin-bottom:10px;font-size:11px;color:#6c7d8e}.role-company-filter select{width:100%;border:1px solid #d9e5ef;border-radius:12px;padding:11px 12px;background:#fff;color:#173754;font-weight:700}


/* Sprint 2 Professional - company switch and license management */
.company-switch{display:flex;align-items:center;gap:10px;border:1px solid #dce8f4;background:#fff;border-radius:12px;padding:7px 10px;min-width:220px}.company-switch span{font-size:18px}.company-switch select{border:0;background:transparent;font-weight:700;color:#102844;outline:none;width:100%}.license-hero{display:flex;justify-content:space-between;align-items:center}.license-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px}.license-stats article{background:#fff;border:1px solid #e4edf6;border-radius:18px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 25px rgba(15,45,80,.05)}.license-stats article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eef7ff;font-size:20px}.license-stats strong{display:block;font-size:25px;color:#102844}.license-stats small{color:#7890a8}.license-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.license-toolbar h2{margin:4px 0}.toolbar-controls{display:flex;gap:10px}.toolbar-controls select,.toolbar-controls input{min-height:44px;border:1px solid #dbe6f0;border-radius:12px;padding:0 13px;background:#fff}.toolbar-controls input{min-width:300px}.license-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.license-card{border:1px solid #dfeaf4;border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 24px rgba(16,40,68,.05)}.license-card-top{display:flex;align-items:center;gap:12px}.license-company-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#17b6d7,#246bea);color:#fff;font-weight:800}.license-title{flex:1}.license-title strong,.license-title small{display:block}.license-title small{color:#6f879d;margin-top:3px}.status-badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.status-badge.active{background:#daf8e6;color:#16834b}.status-badge.warning{background:#fff2d3;color:#a56800}.status-badge.danger{background:#ffe0e0;color:#b42b2b}.status-badge.muted{background:#edf1f5;color:#66798c}.license-key{margin:18px 0;padding:12px 14px;background:#f4f8fc;border-radius:12px;display:flex;justify-content:space-between;gap:10px}.license-key span{color:#73899f}.license-key code{font-weight:700;color:#173f67}.license-progress>div{display:flex;justify-content:space-between;margin-bottom:6px}.license-progress progress{width:100%;height:10px}.license-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.license-dates div{padding:10px;border:1px solid #e7eef5;border-radius:11px}.license-dates small,.license-dates strong{display:block}.license-dates small{color:#7890a6;margin-bottom:4px}.license-actions{display:flex;justify-content:flex-end;gap:8px}.license-modal{max-width:820px}.license-users-modal{max-width:760px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.license-user-list{max-height:410px;overflow:auto;margin:12px 0}.license-user-row{display:grid;grid-template-columns:auto 42px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #e0e9f2;border-radius:13px;margin-bottom:8px;cursor:pointer}.license-user-row.selected{border-color:#3a8ef5;background:#f0f7ff}.license-user-row span strong,.license-user-row span small{display:block}.license-user-row span small{color:#7b8fa3;margin-top:3px}.license-user-row em{font-style:normal;font-size:12px;color:#438460}.user-avatar{width:38px;height:38px;border-radius:12px;background:#e8f3ff;display:grid!important;place-items:center;font-weight:800;color:#2870bd}.user-search{width:100%;height:44px;border:1px solid #dbe6f0;border-radius:12px;padding:0 13px}.capacity-line{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #e5edf5}.alert.success{background:#e6f8ed;color:#197443}.alert.error{background:#ffe7e7;color:#a62626}@media(max-width:1000px){.license-stats{grid-template-columns:repeat(2,1fr)}.license-grid{grid-template-columns:1fr}.license-toolbar{align-items:stretch;flex-direction:column}.toolbar-controls{flex-direction:column}.toolbar-controls input{min-width:0}.form-grid.two{grid-template-columns:1fr}}


/* Sprint 2 v7.1.8 - Professional AI composer */
.ai-composer{margin-top:24px;border:1px solid #d8e3ef;border-radius:18px;padding:16px;background:linear-gradient(180deg,#ffffff 0%,#f9fbfe 100%);box-shadow:0 12px 32px rgba(20,57,93,.08)}
.ai-composer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.ai-composer-head>div{display:grid;gap:4px}.ai-composer-head strong{font-size:16px;color:#112a47}.ai-composer-head small,.ai-composer-actions small{color:#75859a}.ai-composer-head>span{white-space:nowrap;background:#eef6ff;color:#3275a8;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}
.ai-composer textarea{box-sizing:border-box;width:100%;min-height:132px;max-height:320px;border:1px solid #dbe6f0;border-radius:14px;padding:15px 16px;resize:vertical;outline:0;font:inherit;line-height:1.55;color:#142b46;background:#fff;transition:border-color .2s,box-shadow .2s}
.ai-composer textarea:focus{border-color:#2994d1;box-shadow:0 0 0 4px rgba(41,148,209,.12)}
.ai-composer textarea::placeholder{color:#9aa8b8}
.ai-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.ai-composer-actions .button{min-width:150px;min-height:42px}
@media(max-width:700px){.ai-composer-actions{align-items:stretch;flex-direction:column}.ai-composer-actions .button{width:100%}}


/* Sprint 3.1 - AI Dashboard Designer */
.smart-dashboard-grid,.designer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.dash-widget{background:#fff;border:1px solid #e4edf7;border-radius:20px;padding:20px;min-height:190px;box-shadow:0 12px 35px rgba(12,53,91,.07);overflow:hidden}.dash-widget header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dash-widget h3{margin:4px 0 0;color:#102846;font-size:18px}.widget-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#19b8d6}.widget-live{font-size:9px;font-weight:800;color:#11a66b;background:#e7faf2;border-radius:99px;padding:6px 9px}.widget-kpi strong{font-size:40px;color:#0d2948;display:block}.widget-kpi small{color:#8291a4}.widget-kpi b{color:#12a36d}.widget-chart{height:120px;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid #dbe6f1;background:linear-gradient(180deg,rgba(29,174,220,.04),transparent)}.widget-chart span{flex:1;min-width:6px;background:linear-gradient(180deg,#21bbe0,#3762ea);border-radius:7px 7px 2px 2px}.widget-chart.line span{width:8px;flex:none;border-radius:50%;margin-right:auto}.dash-widget footer{display:flex;justify-content:space-between;color:#9aa7b7;font-size:10px;padding-top:8px}.widget-pie{display:flex;align-items:center;gap:25px}.pie-ring{width:120px;height:120px;border-radius:50%;background:conic-gradient(#2a6ef2 0 48%,#19bad7 48% 80%,#8b5cf6 80%);position:relative}.pie-ring:after{content:"";position:absolute;inset:27px;background:#fff;border-radius:50%}.widget-pie ul{list-style:none;padding:0;margin:0;line-height:2}.widget-pie li i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2a6ef2;margin-right:8px}.widget-table{width:100%;border-collapse:collapse}.widget-table th,.widget-table td{text-align:left;padding:10px;border-bottom:1px solid #edf2f7}.widget-alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.widget-alerts div{background:#fff4ef;border:1px solid #ffdccc;border-radius:14px;padding:16px}.widget-alerts b{display:block;font-size:28px;color:#e06433}.widget-alerts span{color:#7f6c65}.widget-services p{display:flex;align-items:center;gap:9px;padding:10px 0;margin:0;border-bottom:1px solid #edf2f7}.widget-services i{width:9px;height:9px;border-radius:50%;background:#21ca85}.widget-services b{margin-left:auto;color:#16a56b;font-size:12px}.designer-hero{display:flex;justify-content:space-between;gap:20px;padding:28px 32px;border-radius:22px;background:linear-gradient(115deg,#09345c,#1d9fc5);color:#fff;margin-bottom:20px}.designer-hero h1{font-size:32px;margin:6px 0}.designer-hero p{margin:0;color:#d9eff7}.designer-actions{display:flex;align-items:center;gap:10px}.designer-shell{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px}.designer-sidebar{display:flex;flex-direction:column;gap:18px}.designer-sidebar section,.designer-canvas{background:#fff;border:1px solid #e2ebf5;border-radius:20px;padding:20px}.designer-sidebar h2{margin:7px 0 14px}.designer-sidebar textarea{width:100%;min-height:145px;resize:vertical;border:1px solid #d9e5f1;border-radius:14px;padding:14px;font:inherit;box-sizing:border-box}.button.full{width:100%;margin-top:10px}.designer-sidebar small{display:block;color:#8593a5;margin-top:10px;line-height:1.5}.widget-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.widget-palette button{border:1px solid #dce7f2;background:#f7fafe;border-radius:12px;padding:12px;text-align:left;color:#173653;font-weight:700;cursor:pointer}.canvas-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.canvas-heading h2{margin:4px 0}.canvas-heading>span{color:#74859a}.designer-widget-wrap{position:relative;min-width:0}.designer-widget-wrap .dash-widget{grid-column:auto!important;height:100%;box-sizing:border-box}.widget-toolbar{position:absolute;z-index:4;right:10px;top:10px;display:flex;gap:4px;opacity:0;transition:.2s}.designer-widget-wrap:hover .widget-toolbar{opacity:1}.widget-toolbar button,.widget-toolbar select{border:1px solid #d7e2ee;background:#fff;border-radius:8px;padding:5px 7px;cursor:pointer}.widget-toolbar .danger{color:#d23f4d}@media(max-width:1100px){.designer-shell{grid-template-columns:1fr}.smart-dashboard-grid,.designer-grid{grid-template-columns:repeat(6,1fr)}.dash-widget,.designer-widget-wrap{grid-column:span 6!important}}@media(max-width:700px){.smart-dashboard-grid,.designer-grid{display:block}.dash-widget,.designer-widget-wrap{margin-bottom:14px}.designer-hero{display:block}.designer-actions{margin-top:18px}}

/* Sprint 4 AI Terminal */
.ai-mode-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:8px;background:#f5f8fc;border:1px solid #e4ebf5;border-radius:16px}
.ai-mode-tabs button{border:0;background:transparent;padding:11px 16px;border-radius:12px;font-weight:800;color:#496079;cursor:pointer}
.ai-mode-tabs button.active{background:#123f68;color:#fff;box-shadow:0 8px 20px rgba(18,63,104,.18)}
.erp-evidence-box{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #cde6f2;border-radius:14px;background:linear-gradient(120deg,#f2fbff,#f7fbff)}
.erp-evidence-box>div:first-child{display:grid;gap:3px;flex:1}.erp-evidence-box strong{color:#123c61}.erp-evidence-box small{color:#698096;font-size:.74rem}
.erp-file-button{position:relative;overflow:hidden;flex:none}.erp-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.erp-file-button span{display:block;padding:9px 13px;border-radius:10px;background:#1478b7;color:#fff;font-size:.75rem;font-weight:900}
.erp-file-chip{display:flex!important;align-items:center;gap:8px;flex:none;padding:7px 9px;border:1px solid #c8ddec;border-radius:10px;background:#fff}.erp-file-chip b{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.erp-file-chip small{font-size:.64rem}.erp-file-chip button{border:0;background:#eef4f8;color:#526f86;width:24px;height:24px;border-radius:7px;font-weight:900}
@media(max-width:850px){.erp-evidence-box{align-items:stretch;flex-direction:column}.erp-file-chip{align-self:stretch}}
.ai-mode-info{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;padding:12px 15px;border-radius:14px;background:#eef8ff;color:#27465f}
.ai-mode-info strong{color:#0a3559}.ai-mode-info span{font-size:.9rem}

/* Sprint 5 live AI status */
.ai-title-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.status-badge.passive{background:#fff2f2;color:#a73636;border:1px solid #f1caca}
.status-badge.active{background:#e8fff1;color:#08783e;border:1px solid #bde8ce}


/* Hotfix 5.2.6 - compact topbar, stable company selector */
.topbar{height:64px;padding:0 24px;gap:18px}
.topbar-search{width:min(430px,42vw);min-height:42px;padding:5px 8px 5px 12px;border-radius:11px;gap:8px}
.topbar-search input{font-size:13px;line-height:1.2}
.topbar-search>button{padding:7px 13px;border-radius:8px;font-size:12px}
.topbar-actions{margin-left:auto;min-width:0;gap:10px}
.company-switch{min-width:205px;max-width:290px;padding:5px 9px;border-radius:11px;flex-shrink:0}
.company-switch select{font-size:12px;min-height:30px;text-overflow:ellipsis}
.company-switch select:disabled{opacity:.78;cursor:not-allowed}
@media(max-width:1050px){.topbar-search{width:min(360px,40vw)}.company-switch{min-width:175px}.date-chip{display:none}}

/* Hotfix 5.2.8 - interactive dashboard */
.designer-widget-wrap{cursor:grab;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.designer-widget-wrap:active{cursor:grabbing}.designer-widget-wrap.is-dragging{opacity:.42;transform:scale(.985)}.designer-widget-wrap.drag-over{outline:2px dashed #2697e8;outline-offset:7px;border-radius:22px}.widget-toolbar .drag-handle{font-size:17px;line-height:1;cursor:grab;color:#176fae}.designer-canvas:after{content:"Kartları tutup sürükleyerek yerlerini değiştirebilirsiniz";display:block;margin-top:14px;color:#7a8da2;font-size:12px;text-align:center}
.pie-stage{width:150px;height:135px;display:grid;place-items:center;perspective:700px}.pie-ring{display:grid;place-items:center;box-shadow:0 14px 28px rgba(33,91,163,.18)}.pie-center{position:relative;z-index:3;font-size:14px;font-weight:800;color:#27415f}.pie-ring-3d{transform:rotateX(58deg) rotateZ(0deg);transform-style:preserve-3d;animation:mstPieRotate 10s linear infinite;box-shadow:0 28px 22px rgba(20,44,79,.24)}.pie-ring-3d:before{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;transform:translateZ(-14px);filter:brightness(.72);z-index:-2}.pie-ring-3d:after{inset:27px;transform:translateZ(2px);box-shadow:0 0 0 14px rgba(18,48,83,.10)}.widget-pie.is-3d:hover .pie-ring-3d{animation-play-state:paused;transform:rotateX(58deg) rotateZ(18deg) scale(1.06)}.widget-pie.is-3d li{transition:transform .2s ease}.widget-pie.is-3d li:hover{transform:translateX(6px);font-weight:800}@keyframes mstPieRotate{from{transform:rotateX(58deg) rotateZ(0deg)}to{transform:rotateX(58deg) rotateZ(360deg)}}
@media(prefers-reduced-motion:reduce){.pie-ring-3d{animation:none}}

/* Hotfix 5.2.9 - Advanced Chart Catalog & live ERP binding */
.widget-palette.advanced{grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px;overflow:auto;padding-right:4px}
.widget-scope{display:block;margin-top:5px;color:#8494a7;font-size:10px}.widget-live.offline{background:#fff4e8;color:#a85a12}.widget-loading,.widget-empty,.widget-empty-chart{min-height:150px;display:grid;place-content:center;text-align:center;color:#72849a;background:linear-gradient(180deg,#f8fbfe,#f3f7fb);border:1px dashed #d8e4ef;border-radius:15px;padding:18px}.widget-empty-chart strong{color:#27435f;font-size:15px}.widget-empty-chart p{margin:7px 0;color:#a75a18;font-weight:700}.widget-empty-chart small{max-width:440px;line-height:1.5}.empty-chart-icon{font-size:34px;color:#229ed2}.echart-host{height:260px;width:100%;min-width:0}.widget-data-footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:9px;border-top:1px solid #edf2f7;color:#8392a4;font-size:9px}.widget-kpi .negative{color:#df4b5a}.widget-kpi .positive{color:#12a36d}.finance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.finance-kpis span{padding:12px;border-radius:12px;background:#f5f9fd;border:1px solid #e4edf6}.finance-kpis small,.finance-kpis b{display:block}.finance-kpis small{color:#8493a5;font-size:9px}.finance-kpis b{margin-top:5px;color:#183956;font-size:11px}.widget-services i.off{background:#f2a33a}.dash-widget.financeSummary,.dash-widget.quarterlyPerformance{min-height:330px}
@media(max-width:700px){.finance-kpis{grid-template-columns:1fr}.echart-host{height:220px}}

/* Hotfix 5.3.0 - Interactive time-series */
.timeseries-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:2px 0 10px;padding:7px 9px;border:1px solid #dce8f5;border-radius:12px;background:#f7fbff}
.timeseries-toolbar button{min-width:38px;height:30px;padding:0 10px;border:1px solid #cfe0f2;border-radius:8px;background:#fff;color:#15517f;font-weight:700;cursor:pointer;transition:.18s ease}
.timeseries-toolbar button:hover{transform:translateY(-1px);border-color:#4b86f7;box-shadow:0 5px 14px rgba(40,120,240,.12)}
.timeseries-toolbar button.active{background:#2878f0;border-color:#2878f0;color:#fff}
.timeseries-toolbar .reset-zoom{margin-left:auto;min-width:34px;font-size:18px}
.interactive-timeseries{min-height:330px}
.timeseries-help{display:block;margin-top:5px;color:#72859b;font-size:12px}
@media(max-width:768px){.timeseries-toolbar .reset-zoom{margin-left:0}.interactive-timeseries{min-height:270px}}

/* Sprint 6.1.6: modül başlığı daha kompakt */
.page-title-row.module-title-compact{padding:14px 22px;border-radius:16px;min-height:96px}
.page-title-row.module-title-compact h1{font-size:23px;margin:4px 0}
.page-title-row.module-title-compact p{font-size:11px;line-height:1.35}
.page-title-row.module-title-compact .eyebrow{font-size:8px}
@media(max-width:700px){.page-title-row.module-title-compact{padding:13px 16px;min-height:auto}.page-title-row.module-title-compact h1{font-size:20px}}

/* Sprint 6.1.7 centralized dashboard selector */
.designer-actions-stacked{min-width:330px;flex-direction:column;align-items:stretch;justify-content:center}.dashboard-scope-picker{display:grid;gap:6px}.dashboard-scope-picker>span{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#d9eff7;text-transform:uppercase}.dashboard-scope-picker select{width:100%;border:1px solid rgba(255,255,255,.35);background:#fff;color:#12304f;border-radius:12px;padding:11px 38px 11px 13px;font:inherit;font-weight:700;outline:none}.designer-action-buttons{display:flex;gap:10px;justify-content:flex-end}.designer-action-buttons .button{white-space:nowrap}@media(max-width:800px){.designer-actions-stacked{min-width:0}.designer-action-buttons{flex-direction:column}.designer-action-buttons .button{width:100%}}

/* Sprint 6.5 - Menu & Page Designer */
.menu-designer-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:20px;align-items:start}.sticky-editor{position:sticky;top:76px}.menu-editor-group{border:1px solid var(--border,#dbe5ef);border-radius:16px;padding:12px;margin-top:12px;background:#f8fbfe}.menu-editor-group-head,.menu-editor-item{display:grid;grid-template-columns:34px 34px minmax(0,1fr) 34px;gap:7px;align-items:center}.menu-editor-item{margin:8px 0 0 22px;padding:7px;border-radius:12px;background:#fff;border:1px solid #e5edf5}.menu-editor-item.selected{border-color:#2d80f7;box-shadow:0 0 0 2px rgba(45,128,247,.1)}.menu-select-button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;text-align:left;padding:7px;cursor:pointer;color:inherit}.menu-select-button small{margin-left:auto;color:#7d8da3;font-size:11px}.icon-button{width:32px;height:32px;border:1px solid #dce6ef;border-radius:9px;background:#fff;cursor:pointer}.icon-button.danger{color:#c2413b}.button.full{width:100%;margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px}.form-grid label>span{font-size:12px;font-weight:700;color:#51647a}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d8e3ee;border-radius:11px;padding:11px 12px;background:#fff;color:#17324d}.form-grid .span-2{grid-column:1/-1}.toggle-row{flex-direction:row!important;align-items:center;margin-top:25px}.toggle-row input{width:auto}.route-safety-note{margin-top:15px;padding:13px;border-radius:12px;background:#eef7ff;color:#245070;font-size:13px}.editor-actions{display:flex;gap:10px;margin-top:18px}.dynamic-page-placeholder{text-align:center;padding:55px 25px;border:1px dashed #bdd1e2;border-radius:18px;background:#f7fbff}.dynamic-page-placeholder>span{font-size:38px}.dynamic-page-placeholder code{display:inline-block;margin-top:12px;padding:7px 10px;border-radius:8px;background:#e9f1f8}.empty-state.compact{padding:25px}@media(max-width:980px){.menu-designer-grid{grid-template-columns:1fr}.sticky-editor{position:static}}@media(max-width:620px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.menu-editor-item{margin-left:0}.menu-editor-group-head,.menu-editor-item{grid-template-columns:30px 30px minmax(0,1fr) 30px}}

/* MST Enterprise Brand + AI Commander v3 */
.mst-brand-logo{display:inline-grid;place-items:center;flex:0 0 auto}.mst-brand-logo img{display:block;width:42px;height:42px;border-radius:13px;box-shadow:0 9px 22px #087bab55}.auth-logo img{width:50px;height:50px;border-radius:15px}.nav-pill.purple{background:#7146df}.nav-pill.cyan{background:#0ba7c9}.ai-link{border:1px solid rgba(111,80,240,.55);background:linear-gradient(90deg,rgba(44,68,177,.48),rgba(104,56,203,.54))}.commander-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:16px;margin-top:17px}.commander-console textarea{width:100%;min-height:180px;margin-top:18px;border:1px solid #dce6f0;border-radius:14px;padding:16px;resize:vertical;outline:none;color:#142b47;background:#f8fbfe}.commander-console textarea:focus{border-color:#2587df;box-shadow:0 0 0 4px #2587df18}.commander-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px}.commander-actions>span{font-size:10px;color:#78899a;max-width:65%}.commander-policy{background:linear-gradient(155deg,#071f3a,#103f68);color:white}.commander-policy p{color:#bcd1e3;font-size:12px;line-height:1.6}.commander-result{margin-top:16px;display:grid;grid-template-columns:1fr 280px;gap:20px}.commander-result h2{margin:10px 0 6px}.commander-result p{color:#6f8092}.commander-meta{display:grid;grid-template-columns:90px 1fr;gap:8px;font-size:10px;background:#f6f9fc;border-radius:13px;padding:15px}.commander-meta span{color:#7c8b9b}.risk{display:inline-block;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900}.risk.low{background:#dff8ea;color:#12864e}.risk.medium{background:#fff2cf;color:#a36a00}.risk.high{background:#fee5e5;color:#bd3434}.commander-denied{text-align:center;margin:40px auto;max-width:620px}.commander-denied>strong{display:inline-grid;place-items:center;width:78px;height:78px;border-radius:22px;background:#feebeb;color:#c43c3c;font-size:24px}@media(max-width:900px){.commander-grid,.commander-result{grid-template-columns:1fr}.commander-actions{align-items:flex-start;flex-direction:column}.commander-actions>span{max-width:none}}

/* Sprint 10 Core Architecture — centralized MST ERP AI brand tokens */
:root{--mst-navy-950:#061b31;--mst-navy-900:#08243f;--mst-navy-800:#0c3558;--mst-cyan-500:#20d3e8;--mst-blue-500:#2585f4;--mst-violet-500:#6c4cf5;--mst-success:#22c989;--mst-warning:#f3a83b;--mst-danger:#e5455b;--mst-surface:#fff;--mst-canvas:#f3f7fc;--mst-border:#dbe6f2;--mst-text:#102842;--mst-muted:#6b8098;--mst-radius-sm:10px;--mst-radius-md:16px;--mst-radius-lg:24px;--mst-shadow:0 18px 48px rgba(8,36,63,.14);--mst-font:Inter,"Segoe UI",Roboto,Arial,sans-serif}
html,body{font-family:var(--mst-font);background:var(--mst-canvas);color:var(--mst-text)}
.brand-logo{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-logo svg{width:44px;height:44px;display:block;filter:drop-shadow(0 8px 16px rgba(37,133,244,.24))}.brand-logo-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}.brand-logo-copy strong{color:#fff;font-size:16px;letter-spacing:.02em;white-space:nowrap}.brand-logo-copy small{color:var(--mst-cyan-500);font-size:8px;letter-spacing:.18em;margin-top:6px;white-space:nowrap}.brand-logo-sidebar svg{width:40px;height:40px}.brand-logo-auth svg{width:54px;height:54px}.brand-logo-auth .brand-logo-copy strong{font-size:20px}.brand-logo-auth .brand-logo-copy small{font-size:9px}.sidebar{background:linear-gradient(180deg,var(--mst-navy-950),var(--mst-navy-900))!important}.sidebar-brand{min-height:64px;display:flex;align-items:center}.nav-pill.purple{background:linear-gradient(135deg,var(--mst-violet-500),#8a5cff)!important;color:#fff!important}


/* Sprint 10 Core Architecture - authoritative brand rendering */
.sidebar-brand .brand-logo{width:100%;gap:11px;padding:0;margin:0}.sidebar-brand .brand-logo svg{width:38px!important;height:38px!important;flex:0 0 38px}.sidebar-brand .brand-logo-copy strong{font-size:15px!important}.sidebar-brand .brand-logo-copy small{font-size:7px!important;margin-top:4px!important;letter-spacing:.16em!important}.auth-brand .brand-logo{gap:12px}.auth-brand .brand-logo svg{width:48px!important;height:48px!important;flex:0 0 48px}.auth-brand .brand-logo-copy strong{font-size:18px!important}.auth-brand .brand-logo-copy small{font-size:8px!important;margin-top:5px!important}.auth-brand>div:not(.brand-logo){display:none!important}

/* Sprint 10 Menu Studio v2 */
.menu-studio-toolbar{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}.menu-studio-toolbar h2{margin:4px 0 5px;font-size:18px}.menu-studio-toolbar p{margin:0;color:#73859a;font-size:10px}.menu-studio-actions{display:flex;gap:9px}.menu-studio-grid{display:grid;grid-template-columns:420px minmax(0,1fr);gap:18px;margin-top:16px;align-items:start}.menu-tree-panel{padding:16px;max-height:calc(100vh - 220px);overflow:auto}.compact-button{padding:9px 11px}.menu-tree-section-title{display:flex;align-items:center;justify-content:space-between;margin:16px 3px 8px;color:#526b82;font-size:9px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}.menu-tree-section-title small{background:#edf4fb;color:#3671a7;border-radius:999px;padding:3px 7px}.menu-tree-section-title.custom-title{border-top:1px solid #e7edf4;padding-top:15px}.system-menu-tree{display:grid;gap:7px}.menu-tree-row{width:100%;display:flex;align-items:center;gap:10px;border:1px solid #e5edf5;background:#fff;border-radius:12px;padding:10px;text-align:left;color:#17334d;cursor:pointer;transition:.16s}.menu-tree-row:hover,.menu-tree-row.selected{border-color:#70b9ed;background:#edf7ff;box-shadow:0 7px 18px #1c78b514}.menu-tree-row.system:before{content:"S";display:grid;place-items:center;width:19px;height:19px;border-radius:6px;background:#e7f5ff;color:#1776bd;font-size:8px;font-weight:900}.menu-tree-icon{width:30px;height:30px;border-radius:9px;background:#eaf4ff;color:#2476c4;display:grid;place-items:center}.menu-tree-copy{min-width:0;flex:1}.menu-tree-copy strong,.menu-tree-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-tree-copy strong{font-size:10px}.menu-tree-copy small{font-size:8px;color:#8292a3;margin-top:3px}.visibility-dot{width:8px;height:8px;border-radius:50%}.visibility-dot.on{background:#28c77c;box-shadow:0 0 0 4px #28c77c1f}.visibility-dot.off{background:#b7c2cd}.disabled-row{opacity:.55}.menu-editor-group.active-group{border-color:#78bde9;background:#f7fbff}.menu-property-panel{min-height:480px}.property-kind{border-radius:999px;padding:5px 9px;font-size:8px;font-weight:900}.system-kind{background:#e5f4ff;color:#176ea8}.page-kind{background:#e8f8ef;color:#16814f}.group-kind{background:#f0ebff;color:#6748bf}.property-card{margin-top:16px;background:#f8fafc;border:1px solid #e6edf4;border-radius:15px;padding:17px}.menu-editor-empty{padding:60px 30px}.menu-editor-empty h3{margin:8px 0}.menu-editor-empty p{max-width:480px;margin:0 auto;line-height:1.6}.sticky-property-actions{position:sticky;bottom:-21px;margin:20px -21px -21px;padding:13px 21px;background:#fff;border-top:1px solid #e7edf4;display:flex;justify-content:flex-end}.span-2{grid-column:1/-1}.session-profile-card{width:100%;display:flex;align-items:center;gap:10px;border:1px solid #174866;background:linear-gradient(135deg,#0b304f,#0c3a5f);color:#fff;border-radius:14px;padding:10px;cursor:pointer;text-align:left;box-shadow:0 9px 24px #02132245;transition:.18s}.session-profile-card:hover{transform:translateY(-1px);border-color:#2b709b;background:linear-gradient(135deg,#0d3a5e,#0c456f)}.session-profile-status{margin-left:auto;display:grid;grid-template-columns:7px auto auto;align-items:center;gap:5px;color:#8eb9d4}.session-profile-status i{width:7px;height:7px;border-radius:50%;background:#39d98a}.session-profile-status b{font-size:8px;color:#b9d5e8}.session-profile-status>span{font-size:14px;color:#68d9ec}.sidebar-bottom{margin-top:auto;padding-top:8px}@media(max-width:1050px){.menu-studio-grid{grid-template-columns:1fr}.menu-tree-panel{max-height:none}.menu-studio-toolbar{align-items:flex-start;flex-direction:column}.menu-studio-actions{width:100%}.menu-studio-actions .button{flex:1}}

/* Sprint 10 full menu engine */
.sidebar-nav{display:flex;flex-direction:column}.menu-editor-group{border:1px solid #dbe7f2;border-radius:16px;padding:10px;margin-bottom:12px}.menu-editor-group.selected{box-shadow:0 0 0 2px rgba(27,126,235,.18)}.menu-editor-group-head,.menu-editor-item{display:grid;grid-template-columns:34px 34px 1fr 34px;gap:6px;align-items:center}.menu-editor-item{margin:6px 0 0 22px}.menu-select-button{text-align:left;min-width:0}.menu-select-button small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-property-panel{min-height:620px}.toolbar-actions{display:flex;gap:10px}.button.compact{padding:9px 12px}.disabled-row{opacity:.48}.route-safety-note{margin-top:16px;padding:14px;border-radius:12px;background:#eef7ff;color:#36546d}.nav-pill.red{background:#ef4444}.nav-pill.blue{background:#2563eb}


/* Sprint 11 - Enterprise Menu Designer */
.menu-designer-hero{margin-bottom:14px}.menu-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;margin-bottom:16px}.menu-studio-toolbar h2{margin:5px 0 3px}.menu-studio-toolbar small{color:#71839b}.menu-studio-actions{display:flex;gap:10px;flex-wrap:wrap}.menu-studio-grid{display:grid;grid-template-columns:minmax(420px,36%) minmax(0,1fr);gap:16px;align-items:start;min-height:620px}.menu-tree-panel,.menu-property-panel{padding:16px;min-height:620px;max-height:calc(100vh - 265px);display:flex;flex-direction:column;overflow:hidden}.menu-tree-scroll,.property-scroll{overflow:auto;padding-right:5px;min-height:0}.menu-editor-group{border:1px solid #dfe8f2;border-radius:14px;padding:10px;margin-bottom:10px;background:#fff}.menu-editor-group.selected{border-color:#4b87ef;box-shadow:0 0 0 2px rgba(75,135,239,.1)}.menu-editor-group-head,.menu-editor-item{display:flex;align-items:center;gap:8px}.menu-editor-item{margin:7px 0 0 26px;padding:7px;border:1px solid #e6edf5;border-radius:11px}.menu-editor-item.selected{border-color:#6c63e8;background:#f5f4ff}.menu-select-button{min-width:0;flex:1;border:0;background:transparent;display:flex;align-items:center;text-align:left;gap:9px;padding:5px;cursor:pointer}.tree-icon{width:24px;flex:0 0 24px;text-align:center}.tree-copy{min-width:0;display:flex;flex-direction:column}.tree-copy strong,.tree-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-copy small{color:#7c8ca1;margin-top:2px}.order-buttons{display:flex;gap:3px;flex:0 0 auto}.menu-property-panel .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-property-panel .full-span{grid-column:1/-1}.menu-property-panel label>span{display:block;font-weight:700;font-size:12px;margin-bottom:6px;color:#506078}.menu-property-panel input,.menu-property-panel select{width:100%}.property-card{padding:4px}.sticky-property-actions{margin-top:auto;padding-top:14px;border-top:1px solid #e7edf5}.menu-loading{padding:28px}.disabled-row{opacity:.55}.route-safety-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#f5f8fc;color:#52647c}.menu-tree-panel .full{width:100%;margin-top:9px}@media(max-width:1150px){.menu-studio-grid{grid-template-columns:1fr}.menu-tree-panel,.menu-property-panel{max-height:none;min-height:auto}.menu-tree-scroll,.property-scroll{overflow:visible}}@media(max-width:720px){.menu-studio-toolbar{align-items:flex-start;flex-direction:column}.menu-property-panel .form-grid{grid-template-columns:1fr}.menu-property-panel .full-span{grid-column:auto}.menu-editor-item{margin-left:8px}}


/* Sprint 15 - UI Foundation Refactor */
.sidebar-brand{min-height:104px!important;padding:14px 12px!important;justify-content:center!important;background:rgba(3,22,40,.28);border-bottom:1px solid rgba(255,255,255,.07)}
.sidebar-brand .brand-logo{display:flex!important;width:100%!important;justify-content:center!important;padding:0!important}
.sidebar-brand .brand-logo img{width:min(176px,100%)!important;height:76px!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.sidebar-brand .brand-logo-copy{display:none!important}
.auth-brand{position:relative!important;top:auto!important;left:auto!important;display:flex!important;align-items:center!important;margin:0 0 38px!important}
.auth-brand .brand-logo{display:flex!important;align-items:center!important;gap:18px!important}
.auth-brand .brand-logo img{width:230px!important;height:112px!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.auth-brand .brand-logo-copy{display:none!important}
.auth-visual{padding:48px 44px 38px!important;display:flex!important;flex-direction:column!important}
.auth-hero-copy{margin-top:auto!important}
.auth-footer{font-weight:700!important;color:#647b91!important}
.sidebar-company{margin-top:12px!important}
.sidebar-nav{gap:2px!important;padding-top:8px!important}
.sidebar-nav .menu-group-title{letter-spacing:.11em!important}
.app-shell.theme-yunus{--brand-primary:#0068ae;--brand-secondary:#003c70;--brand-accent:#f4c430}
.app-shell.theme-fixgross{--brand-primary:#e52329;--brand-secondary:#202020;--brand-accent:#ffd11a}
.app-shell.theme-yunus .sidebar,.app-shell.theme-fixgross .sidebar{background:linear-gradient(180deg,var(--mst-navy-950),var(--mst-navy-900))!important}
@media(max-width:900px){.auth-brand .brand-logo img{width:190px!important;height:92px!important}.sidebar-brand .brand-logo img{width:150px!important;height:68px!important}}

/* Sprint 15.2 Enterprise UX & Navigation Platform */
.menu-version-chip{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #dce7f3;border-radius:12px;background:#fff;color:#5b6d83}.menu-version-chip span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.menu-version-chip strong{background:#eaf3ff;color:#1769e0;padding:5px 8px;border-radius:8px}.menu-designer-hero{padding:18px 22px!important;background:linear-gradient(135deg,#0c3155,#0e5e91)!important}.menu-designer-hero h1{font-size:24px!important}.menu-studio-toolbar{padding:16px 20px!important}.menu-studio-grid{grid-template-columns:minmax(420px,.9fr) minmax(560px,1.4fr)!important;gap:16px!important}.menu-editor-group{border:1px solid #dce6f1!important;border-radius:14px!important;padding:10px!important;background:#fff!important}.menu-editor-group+.menu-editor-group{margin-top:10px}.menu-editor-group-head{min-height:46px}.menu-editor-item{background:#f8fbff!important}.sidebar-brand{min-height:118px!important}.sidebar-brand .brand-logo img{width:min(204px,100%)!important;height:88px!important}.auth-brand{padding-top:36px!important}.auth-brand .brand-logo img,.brand-logo-auth img{width:330px!important;height:150px!important;object-fit:contain!important;background:transparent!important}.sidebar-nav .menu-group-title{font-size:10px!important;font-weight:800!important;color:#9fc0da!important}.sidebar-nav .nav-link{font-size:12.5px!important}.sidebar-company{margin-top:2px!important}


/* Sprint 16 — Enterprise Security Center */
.security-score-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:16px;margin-bottom:18px}.security-score-card strong{font-size:54px;line-height:1;color:#eef7ff}.security-score-card>small{font-size:17px;color:#8fa8c5}.security-meter{height:9px;background:rgba(255,255,255,.08);border-radius:999px;margin-top:16px;overflow:hidden}.security-meter i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#38bdf8);border-radius:inherit}.security-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:18px;margin-bottom:18px}.security-recommendations{align-self:start}.recommendation-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.recommendation-item>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(245,158,11,.15);color:#fbbf24;font-weight:800}.recommendation-item p{margin:2px 0 0;color:#b8c7d9}.security-secret-modal{max-width:720px}.button.danger{background:rgba(239,68,68,.12);color:#fca5a5;border-color:rgba(239,68,68,.25)}.button.small{padding:7px 10px;font-size:12px}.empty-cell{text-align:center;color:#7890aa;padding:28px!important}@media(max-width:1000px){.security-score-grid{grid-template-columns:repeat(2,1fr)}.security-layout{grid-template-columns:1fr}}@media(max-width:640px){.security-score-grid{grid-template-columns:1fr}.security-score-card strong{font-size:42px}}
