:root{--navy:#15243c;--navy2:#203553;--ink:#172235;--muted:#728096;--line:#e5eaf0;--bg:#f4f7f9;--teal:#087f78;--amber:#c98215;--red:#c84c4c;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:#fff;padding:24px 20px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#20a99c;font-family:serif;font-size:23px}.brand div,.user div{display:flex;flex-direction:column}.brand strong{font-size:19px;letter-spacing:2px}.brand small,.user small{color:#9dacbf;margin-top:3px;font-size:11px}.sidebar nav{display:grid;gap:4px;overflow:auto;scrollbar-width:none}.sidebar nav button{border:0;background:transparent;color:#aeb9c9;text-align:left;padding:10px 14px;border-radius:9px;font-size:13px;cursor:pointer}.sidebar nav button i{display:inline-block;width:28px;font-style:normal}.sidebar nav button:hover,.sidebar nav button.active{background:var(--navy2);color:#fff}.nav-label{font-size:10px;color:#718198;text-transform:uppercase;letter-spacing:1.2px;margin:12px 14px 4px}.nav-label:first-child{margin-top:0}.retention{margin-top:auto;border:1px solid #3a4c64;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;background:#192b45}.retention span,.retention small{color:#9dacbf;font-size:10px}.retention strong{font-size:12px;margin:5px 0}.user{display:flex;align-items:center;gap:10px;margin-top:12px;padding:13px 4px 0;border-top:1px solid #30435c}.avatar{width:34px;height:34px;border-radius:50%;display:grid!important;place-items:center;background:#bfe6dd;color:#176b65;font-weight:700}.user b{margin-left:auto;color:#9dacbf}main{margin-left:240px;min-height:100vh;padding:0 36px 40px}header{height:92px;display:flex;justify-content:space-between;align-items:center}h1{font-size:23px;margin:0 0 7px}header p{margin:0;color:var(--muted)}.header-actions{display:flex;gap:10px;align-items:center}button{font-family:inherit}.icon,.ghost,.primary,.role-switch{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;cursor:pointer}.icon{width:40px;padding:10px;position:relative}.icon em{position:absolute;right:5px;top:4px;background:var(--red);color:#fff;border-radius:10px;font-size:9px;padding:1px 4px;font-style:normal}.primary{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.role-switch{display:flex;gap:8px;align-items:center;color:#506076}.role-switch>span:first-child{width:7px;height:7px;background:var(--teal);border-radius:50%}.employee-mode .role-switch>span:first-child{background:var(--amber)}.employee-mode [data-admin-nav]{opacity:.48}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid #e9edf2;border-radius:12px;box-shadow:0 2px 8px #1c34470a}.kpi{padding:20px}.kpi-top{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.kpi-top i{font-style:normal;width:31px;height:31px;border-radius:8px;background:#e6f4f1;color:var(--teal);display:grid;place-items:center}.kpi strong{display:block;font-size:27px;margin:13px 0 8px}.kpi small{color:var(--muted)}.up{color:var(--teal)!important}.warn{color:var(--amber)!important}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel-head h2{font-size:16px;margin:0 0 5px}.panel-head p{font-size:12px;color:var(--muted);margin:0}.link{border:0;background:none;color:var(--teal);cursor:pointer}.progress-list{display:grid;gap:17px}.progress-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px}.progress-row span:last-child{color:var(--muted)}.bar{height:7px;background:#edf1f4;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--teal);border-radius:10px}.wide-panel{margin-top:16px;padding:0}.table-head{padding:19px 20px 14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 20px;border-top:1px solid var(--line);font-size:12px;white-space:nowrap}th{color:var(--muted);font-weight:500;background:#fafbfc}.person{display:flex;gap:9px;align-items:center}.person b{min-width:29px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e5edf6;color:#45617b}.person span{display:flex;flex-direction:column;gap:3px}.person small{color:var(--muted);font-size:10px}.badge{padding:4px 8px;border-radius:12px;background:#e7f5f0;color:#16766d}.badge.pending{background:#fff2de;color:#b9720a}.badge.risk{background:#fde9e9;color:#b63f3f}.page-title-block{margin:8px 0 18px}.page-title-block h2{font-size:20px;margin:0 0 6px}.page-title-block p{color:var(--muted);margin:0}.contract-map{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.map-item{padding:18px}.map-item>span{font-size:11px;color:var(--teal);font-weight:700}.map-item h3{font-size:15px;margin:8px 0}.map-item p{color:var(--muted);font-size:12px;line-height:1.65;margin:0}dialog{width:min(790px,calc(100vw - 32px));border:0;padding:0;border-radius:14px;box-shadow:0 22px 70px #0c1c2d55}#master-dialog{width:min(620px,calc(100vw - 32px))}dialog::backdrop{background:#10203999;backdrop-filter:blur(2px)}form{padding:25px 28px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:5px 0;font-size:21px}.dialog-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{color:var(--teal);font-size:11px;font-weight:700}.close{border:0;background:none;font-size:28px;color:var(--muted);cursor:pointer}.steps{display:flex;align-items:center;margin:24px 0;color:var(--muted);font-size:11px}.steps b{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e8edf1}.steps b.on{background:var(--teal);color:#fff}.steps span{margin-left:6px}.steps i{height:1px;background:var(--line);flex:1;margin:0 10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #dce3e8;border-radius:7px;padding:10px;background:#fff;font:inherit}.form-grid select:disabled{background:#f1f4f6;color:#68778a}.wide{grid-column:1/-1}.form-grid textarea{min-height:70px;resize:vertical}.field-help{font-size:10px;color:var(--muted);font-weight:400}.product-picker{border:1px solid #dce3e8;border-radius:9px;padding:12px;margin:0}.product-picker legend{padding:0 6px;font-size:12px;font-weight:600}.product-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.product-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fafcfc}.product-check input{accent-color:var(--teal)}.product-check span{display:flex;flex-direction:column;gap:2px}.product-check strong{font-size:11px}.product-check small{font-size:9px;color:var(--muted)}.picker-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:11px;margin:8px}.evidence-box{display:flex;justify-content:space-between;align-items:center;background:#f1f8f6;border:1px solid #d6ebe6;border-radius:9px;padding:12px 14px;margin-top:15px}.evidence-box strong{font-size:12px}.evidence-box p{margin:3px 0 0;color:var(--muted);font-size:11px}.evidence-box span{color:var(--teal);font-size:10px}.promise{display:flex;gap:9px;margin:15px 0;color:#58667a;font-size:11px;line-height:1.6}.promise input{accent-color:var(--teal)}form footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:16px}#toast{position:fixed;right:28px;bottom:28px;background:var(--navy);color:#fff;padding:13px 18px;border-radius:9px;transform:translateY(100px);opacity:0;transition:.25s;box-shadow:0 8px 30px #0d1c2d44;z-index:20}#toast.show{transform:none;opacity:1}#toast.error{background:#9f3434}.permission-banner{display:flex;gap:14px;align-items:center;background:#fff8e9;border:1px solid #f1dcae;border-radius:10px;padding:14px 16px;margin-bottom:16px}.permission-banner i{font-style:normal;font-size:18px}.permission-banner strong{font-size:13px}.permission-banner p{margin:3px 0 0;color:#816b45;font-size:11px}.locked{color:#8b7760;background:#fffaf2}.org-tree{display:flex;gap:28px;align-items:stretch}.org-root,.org-branches>div{display:flex;gap:10px;align-items:center}.org-root{border:1px solid #bfe1d9;background:#eef8f5;padding:20px;border-radius:10px;position:relative}.org-root:after{content:"";position:absolute;right:-29px;width:29px;height:1px;background:#b6c4d0}.org-root b,.org-branches b{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;background:var(--teal);color:#fff}.org-root span,.org-branches span{display:flex;flex-direction:column}.org-root small,.org-branches small{color:var(--muted);font-size:10px;margin-top:3px}.org-branches{display:grid;gap:8px;flex:1}.org-branches>div{border:1px solid var(--line);padding:9px 12px;border-radius:9px}.org-branches b{width:29px;height:29px;background:#dce9f1;color:#3b5972}.permission-list{display:grid;gap:10px}.permission-list>div{display:flex;gap:11px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:11px}.permission-list i{font-style:normal;width:28px;height:28px;border-radius:7px;background:#e9f5f2;color:var(--teal);display:grid;place-items:center}.permission-list span{display:flex;flex-direction:column}.permission-list small{color:var(--muted);font-size:10px;margin-top:3px}.tag-list{display:flex;gap:5px;flex-wrap:wrap}.tag-list span{font-size:10px;padding:4px 7px;background:#edf5f3;color:#26736d;border-radius:10px}.filter-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.filter-line select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;min-width:180px}.filter-line span{color:var(--muted);font-size:12px}.hospital-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.hospital-card{padding:17px}.hospital-head{display:flex;gap:11px;align-items:center;margin-bottom:15px}.hospital-head>span{width:35px;height:35px;border-radius:9px;background:#e9f5f2;color:var(--teal);display:grid;place-items:center}.hospital-head h3{font-size:14px;margin:0 0 4px}.hospital-head p{font-size:10px;color:var(--muted);margin:0}.hospital-card>small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.hospital-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:12px;color:var(--muted);font-size:10px}@media(max-width:1120px){.hospital-grid{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.contract-map{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{width:72px;padding:20px 10px}.brand div,.sidebar nav button:not(.active),.nav-label{font-size:0}.brand{padding-left:7px}.brand>span{min-width:38px}.sidebar nav button{font-size:0;text-align:center}.sidebar nav button i{font-size:18px}.retention,.user div,.user b{display:none}.user{border:0}main{margin-left:72px;padding:0 16px}header{height:auto;padding:18px 0;align-items:flex-start;gap:10px}.header-actions .icon,.role-switch{display:none}.kpis{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.contract-map,.hospital-grid{grid-template-columns:1fr}.product-picker>div{grid-template-columns:1fr}.org-tree{flex-direction:column}.org-root:after{display:none}}
header{height:76px!important;justify-content:flex-end!important}
.page-title-block{display:none!important}
.cso-admin-mode [data-admin-nav]{opacity:1}
.employee-scope-picker>div{grid-template-columns:1fr;max-height:430px;overflow:auto;padding-right:4px}.employee-hospital-scope{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fafcfc}.employee-hospital-scope>div:first-child{display:flex;flex-direction:column;gap:4px}.employee-hospital-scope>div:first-child small{color:var(--muted);font-size:10px}.employee-hospital-scope .tag-list{display:grid;grid-template-columns:1fr 1fr}.employee-hospital-scope .product-check{background:#fff}@media(max-width:760px){.employee-hospital-scope .tag-list{grid-template-columns:1fr}}
