:root{
  --ink:#172534;--muted:#6d7c8b;--paper:#f5f7f9;--white:#fff;--line:#e3e9ed;
  --nav:#102b40;--nav-deep:#0a2032;--mint:#24b58d;--mint-dark:#148166;
  --mint-soft:#eaf8f4;--blue:#3977e5;--orange:#ed963d;--red:#dc6262;
  --radius:12px;--shadow:0 7px 24px rgba(19,42,62,.07)
}
.nav-search{margin:10px 14px 14px;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(164,202,216,.2);border-radius:9px;background:rgba(255,255,255,.07)}.nav-search span{color:#86a7b8;font-size:18px}.nav-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:13px}.nav-search input::placeholder{color:#7896a7}.menu-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;padding:11px 20px 7px!important;color:#7694a5!important;transition:color .18s}.menu-label:hover{color:#b8d5df!important}.menu-label b{font-size:14px;font-weight:400;transition:transform .2s}.menu-label.collapsed b{transform:rotate(-90deg)}.nav-item.nav-fold-hidden,.nav-item.nav-search-hidden,.menu-label.nav-search-hidden{display:none!important}
.mobile-nav-drawer{display:none}
@media(max-width:760px){.mobile-nav-drawer{display:flex;position:fixed;inset:0;z-index:120;background:rgba(8,24,34,.48);align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .2s}.mobile-nav-drawer.show{opacity:1;pointer-events:auto}.mobile-nav-drawer>.mobile-nav-head,.mobile-nav-drawer>.mobile-nav-search,.mobile-nav-drawer>.mobile-nav-groups{position:absolute;left:0;right:0;background:#fff}.mobile-nav-head{bottom:min(72vh,620px);height:60px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-radius:18px 18px 0 0}.mobile-nav-head strong{font-size:18px}.mobile-nav-head button{border:0;background:#eef2f3;border-radius:50%;width:34px;height:34px;font-size:22px}.mobile-nav-search{bottom:calc(min(72vh,620px) - 58px);height:58px;padding:8px 14px;border-bottom:1px solid #e5ebee}.mobile-nav-search input{width:100%;height:42px;border:1px solid #d8e2e6;border-radius:9px;padding:0 12px;font-size:16px}.mobile-nav-groups{bottom:0;height:calc(min(72vh,620px) - 118px);overflow:auto;padding:8px 12px 20px}.mobile-nav-groups section h3{font-size:13px;color:#718491;margin:10px 8px 5px}.mobile-nav-groups a{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;min-height:50px;padding:7px 10px;border-bottom:1px solid #edf1f3;color:#18364a;text-decoration:none}.mobile-nav-groups a b{color:#118166;font-size:19px}.mobile-nav-groups a span{font-weight:600}.mobile-nav-groups a i{text-align:right;color:#91a0aa;font-size:22px;font-style:normal}.mobile-nav-empty{text-align:center;color:#7b8d98;padding:60px 10px}.mobile-bar button{min-width:82px!important}}
.side a.nav-item.nav-fold-hidden,.side a.nav-item.nav-search-hidden{display:none!important}
.topbar{display:flex!important;align-items:center!important;justify-content:space-between!important}.topbar>.crumb{min-width:0}.topbar>.avatar,.topbar .top-actions>.avatar{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important;border:1px solid #dbe5e9!important;border-radius:50%!important;background:linear-gradient(145deg,#edf5f4,#fff)!important;color:#163a4d!important;font-weight:700!important;line-height:1!important;padding:0!important;cursor:pointer!important;box-shadow:0 3px 10px rgba(18,53,72,.08)!important}
[hidden]{display:none!important}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);font-size:14px;letter-spacing:.005em}
.mobile-bar{display:none}
.app{grid-template-columns:232px minmax(0,1fr)}
html,body{margin:0!important;padding:0!important;width:100%!important;min-width:0!important}
.app{grid-template-columns:236px minmax(0,1fr)!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.side{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:236px!important;min-width:236px!important;max-width:236px!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:20px 14px!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#102d43 0%,#0b2235 70%,#091d2d 100%)!important;box-shadow:8px 0 30px rgba(13,35,53,.08)!important;z-index:12;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#49697b transparent}
.app>.main{grid-column:2}
.brand{padding:2px 10px 24px;gap:10px}.brand-logo{width:38px;height:38px}.brand b{font-size:16px;letter-spacing:.01em}.brand span{font-size:10px;color:#82a6bb}
.menu-label{padding:13px 11px 5px;color:#66869b;font-size:11px;letter-spacing:.08em}
.nav-item{width:100%!important;min-height:42px!important;height:42px!important;margin:2px 0!important;padding:10px 12px!important;border-radius:9px!important;color:#bed0dc;gap:10px!important;font-size:14px!important;line-height:22px!important;text-decoration:none!important;box-sizing:border-box!important}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;color:#d2e2eb;font-size:15px;font-weight:500;line-height:1}
.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:#fff}
.side .brand{display:flex!important;align-items:center!important;gap:10px!important;padding:0 7px 19px!important}
.side .brand-logo{width:38px!important;height:38px!important;object-fit:contain!important;flex:0 0 auto!important}
.side .brand b{display:block!important;color:#fff!important;font-size:16px!important;font-weight:700!important;line-height:1.35!important}
.side .brand span{display:block!important;color:#8fa8ba!important;font-size:10px!important;letter-spacing:.05em!important}
.side a.nav-item{display:flex!important;align-items:center!important;width:100%!important;background:transparent;color:#bed0dc!important;border:0!important;text-align:left!important}
.side a.nav-item:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.side a.nav-item.active{background:linear-gradient(90deg,rgba(36,181,141,.22),rgba(255,255,255,.08))!important;color:#fff!important}
.side .side-foot{position:static!important;margin-top:18px!important;color:#a8e9d7!important}
.side .side-foot .ok{color:#a8e9d7!important}
button.nav-item{background:transparent;text-align:left;box-shadow:none;outline:none;font-family:inherit;cursor:pointer}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff;transform:translateX(1px)}
.nav-item.active{background:linear-gradient(90deg,rgba(36,181,141,.22),rgba(255,255,255,.08));box-shadow:inset 3px 0 #43d2aa;color:#fff;font-weight:650}
.side-foot{left:14px;right:14px;bottom:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.045)}
.main{width:auto;min-width:0;overflow:hidden}
.topbar{height:70px;padding:0 28px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.crumb{font-size:12px}.crumb strong{font-size:19px;margin-top:1px}.search{width:min(300px,24vw);height:40px;background:#f3f6f7;border-color:#edf1f3;padding-left:15px}.search:focus{outline:0;border-color:#9edac9;background:#fff;box-shadow:0 0 0 3px rgba(36,181,141,.1)}
.top-actions{flex:0 0 auto;min-width:0}.icon-btn,.avatar{height:38px;width:38px;flex:0 0 38px}.avatar{border:2px solid #e6edf0}
.tab-strip{top:70px;height:43px;padding:0 20px;background:#eef2f4;border-bottom-color:#dce3e7}.workspace-tab{height:35px;padding:0 14px;border-radius:8px 8px 0 0}.workspace-tab.active{background:var(--paper);border-color:#dce3e7}
.content{max-width:none;padding:28px clamp(22px,2.5vw,42px) 44px}
.module-head{margin-bottom:20px;align-items:center}.module-head h1{font-size:24px;letter-spacing:-.02em}.module-head p{font-size:13px}
.primary,.secondary,.tiny{transition:.18s ease;font-weight:600}.primary{border:1px solid #9fdac9!important;background:#e7f7f2!important;color:#08765d!important;box-shadow:none!important}.primary:hover{border-color:#66c3a8!important;background:#d7f1e9!important;color:#075f4c!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(36,181,141,.12)!important}.primary:active{transform:none;background:#caeadf!important}.primary:disabled{border-color:#d8e5e1!important;background:#f0f5f3!important;color:#98aaa4!important;box-shadow:none!important;cursor:not-allowed}
.secondary{border-color:#dbe3e7;background:#fff}.secondary:hover,.tiny:hover{border-color:#8bcfbc;color:#14755e;background:#f1faf7}
.card,.role-panel,.permission-panel{border-color:#e2e8ec;border-radius:13px;box-shadow:var(--shadow)}
.card-head{padding:17px 19px}.card-head h2{font-size:15px}.card-head a{color:var(--mint-dark);font-weight:600;text-decoration:none}
.org-layout{grid-template-columns:250px minmax(0,1fr);gap:16px}.dept-tree{padding:10px}.dept-tree button{padding:10px 12px;margin:2px 0}.dept-tree button.active{background:var(--mint-soft);color:var(--mint-dark);font-weight:650}
.dept-tree button{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.dept-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dept-tree button small{font-size:11px;color:#87939d;font-weight:500}.dept-tree button.active small{color:#398b76}#departmentActions{white-space:nowrap}
.user-toolbar{padding:14px 16px;background:#fbfcfc}.user-toolbar input{height:40px;background:#fff}.user-table th{padding:12px 16px;background:#f7f9fa;text-transform:none}.user-table td{padding:14px 16px}.user-table tbody tr:hover{background:#fafcfc}.user-table small{display:block;color:var(--muted);margin-top:2px}.tiny{padding:5px 9px;color:#4d5f6d}
.tag{font-weight:600}.tag.green{background:#e5f7f1;color:#158266}.tag.orange{background:#fff1df;color:#b86d1e}
.form-dialog{width:min(520px,calc(100vw - 32px));border:0;padding:0;border-radius:15px;background:#fff;color:var(--ink);box-shadow:0 26px 90px rgba(4,25,40,.3);overflow:hidden}.form-dialog::backdrop{background:rgba(8,25,38,.48);backdrop-filter:blur(2px)}.dialog-head{min-height:64px;padding:17px 21px;background:#fbfcfc;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:18px;margin:0}.dialog-close{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#72808c;font-size:23px;line-height:1}.dialog-close:hover{background:#edf1f3;color:var(--ink)}.dialog-body{padding:22px}.form-row{margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-row label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}.form-grid input,.form-grid select,.form-row input,.form-row select,.form-row textarea{display:block;width:100%;min-height:42px;border:1px solid #d9e1e5;border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit;outline:none}.form-grid input:focus,.form-grid select:focus,.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#55bea0;box-shadow:0 0 0 3px rgba(36,181,141,.11)}.dialog-foot{min-height:66px;padding:13px 21px;border-top:1px solid var(--line);background:#fafbfb;display:flex;align-items:center;justify-content:flex-end;gap:9px}
.perm-shell{grid-template-columns:280px minmax(0,1fr);gap:16px}.role-list{padding:9px}.role-card{padding:12px;margin:2px 0}.role-card.active{background:linear-gradient(90deg,#e8f8f3,#f3fbf8)}.permission-head{padding:19px 22px}.permission-body{padding:3px 22px 20px}.permission-group{padding:17px 0}.check-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.check-tile{background:#fbfcfc}.check-tile:hover{border-color:#acdccc}.scope-option span{background:#fbfcfc}
.login-screen{background:#0d2a40}.login-story{background:radial-gradient(circle at 20% 80%,rgba(40,195,154,.16),transparent 35%),linear-gradient(145deg,#0c263a,#143f55)}.login-panel{background:#f7f9fa}.login-card{padding:10px}.login-card h2{font-size:27px}.login-submit{background:linear-gradient(135deg,#17384f,#10283f)}
.toast{right:28px;bottom:26px;background:#123047;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 36px rgba(5,25,39,.24)}
.member-tools{display:flex;gap:10px;margin-bottom:14px}.member-tools input{flex:1;height:40px;border:1px solid #d9e1e5;border-radius:9px;padding:0 12px}.member-tools label{display:flex;align-items:center;gap:6px;white-space:nowrap}.member-list{border:1px solid var(--line);border-radius:10px;max-height:390px;overflow:auto}.member-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid #edf1f3}.member-row:last-child{border-bottom:0}.member-row:hover{background:#f7faf9}.member-row strong,.member-row small{display:block}.member-row small{color:var(--muted);margin-top:2px}.member-state{font-size:12px;color:#188166;background:#e8f7f2;padding:3px 8px;border-radius:20px}.member-state.off{color:#7a8791;background:#eef1f3}
.account-menu{display:none;position:fixed;z-index:200;width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 50px rgba(8,31,47,.2);padding:7px}.account-menu.show{display:block}.account-menu-head{padding:11px 12px 10px}.account-menu-head strong,.account-menu-head small{display:block}.account-menu-head small{color:var(--muted);margin-top:2px}.account-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;color:var(--ink)}.account-menu button:hover{background:#f2f7f6}.account-menu button.danger{color:#c84d4d}.account-menu-line{height:1px;background:var(--line);margin:5px 4px}
@media(max-width:1100px) and (min-width:761px){.app{grid-template-columns:236px minmax(0,1fr)!important}.side{width:236px!important;min-width:236px!important;max-width:236px!important;padding-left:14px!important;padding-right:14px!important}.content{padding-left:20px;padding-right:20px}.check-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  body{font-size:14px;overflow-x:hidden}
  .login-screen{width:100%;max-width:100vw;overflow-x:hidden}.login-story,.login-story h1,.login-brand b{color:#fff}.login-story{min-height:200px;padding:24px 20px}.login-copy{margin-top:32px}.login-copy h1{font-size:27px;line-height:1.2}.login-copy p{font-size:13px}.login-panel{width:100%;min-width:0;padding:24px 18px 36px}.login-card{width:100%;min-width:0;padding:0}.login-card>p{margin-bottom:20px}.login-options{gap:10px;align-items:flex-start;flex-wrap:wrap}.login-options>span{margin-left:auto;font-size:12px}.field input,.login-submit,.wecom-login{max-width:100%}
  .app{display:block!important}.side{display:none!important}.main{overflow:visible}
  .topbar{height:58px;padding:0 14px;top:0}.crumb strong{font-size:17px}.top-actions{gap:8px}.search,.top-actions .icon-btn{display:none}.avatar{width:36px;height:36px;flex-basis:36px}
  .tab-strip{display:none}
  .content{padding:16px 12px calc(84px + env(safe-area-inset-bottom));width:100%;overflow:hidden}
  .welcome{display:block;margin-bottom:16px}.welcome h1{font-size:21px}.welcome p{font-size:12px;line-height:1.6}.welcome .primary{display:none}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{padding:13px;min-width:0}.stat .num{font-size:22px}.mini-icon{width:30px;height:30px}.delta{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .layout{display:block;margin-top:12px}.card{margin-bottom:12px;border-radius:11px;box-shadow:none}.card-head{padding:14px}.workflow{padding:4px 14px 14px}.flow-row{grid-template-columns:36px minmax(0,1fr) auto;gap:9px}.flow-icon{width:34px;height:34px}.flow-row strong,.flow-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 12px 14px;gap:8px}.quick button{padding:11px 4px;font-size:12px}.quick i{font-size:19px}
  .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:570px}.table th,.table td{padding-left:13px;padding-right:13px}
  .module-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.module-head>div:first-child{min-width:0;flex:1}.module-head h1{font-size:21px}.module-head p{font-size:12px;line-height:1.5}.module-toolbar{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}.module-toolbar button{padding:8px 11px}.module-toolbar .secondary{display:none}
  .org-layout,.perm-shell{grid-template-columns:1fr;gap:12px}.dept-tree{display:flex;overflow-x:auto;gap:6px;padding:9px;-webkit-overflow-scrolling:touch}.dept-tree button{width:auto;min-width:max-content;margin:0;padding:9px 12px}.user-toolbar{padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto}.user-toolbar input{min-width:0}.user-table{min-width:650px}.card:has(.user-table){overflow-x:auto;-webkit-overflow-scrolling:touch}
  .role-panel{max-height:245px;overflow:auto}.permission-head{padding:14px;align-items:flex-start;gap:8px}.permission-head>div:last-child{flex-wrap:wrap;justify-content:flex-end}.permission-body{padding:2px 14px 16px}.permission-group{padding:14px 0}.check-grid,.scope-grid{grid-template-columns:1fr 1fr;gap:7px}.check-tile{padding:10px 9px}.scope-option span{padding:10px 5px;font-size:12px}
  .module-grid{grid-template-columns:1fr;gap:8px}.module-metric{padding:14px}.module-row{grid-template-columns:minmax(0,1fr) auto}.module-row>span:nth-child(2){display:none}
  .form-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:auto;border-radius:14px}.dialog-head{min-height:56px;padding:13px 15px}.dialog-body{padding:16px;max-height:calc(100dvh - 145px);overflow:auto}.dialog-foot{min-height:60px;padding:10px 15px;position:sticky;bottom:0}.dialog-foot button{min-height:40px}.form-row input,.form-row select,.form-row textarea{font-size:16px}.form-grid{grid-template-columns:1fr!important}.member-tools{display:grid;grid-template-columns:1fr auto}.member-row{grid-template-columns:26px minmax(0,1fr) auto;padding:10px}
  .account-menu{width:min(210px,calc(100vw - 24px))}.toast{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));text-align:center}
  .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;height:64px;padding:4px 6px calc(4px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -5px 18px rgba(15,39,56,.08);z-index:50;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.mobile-bar::-webkit-scrollbar{display:none}.mobile-bar button{display:flex!important;flex:1 1 0;min-width:64px;max-width:none;border:0;border-radius:11px;background:transparent;color:#7e8c98;font-size:11px;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:4px 6px;transition:color .18s ease,background .18s ease}.mobile-bar button.active{color:#118166;background:#eaf8f4;font-weight:650}.mobile-bar b{display:block;font-size:19px;line-height:1.2}.mobile-bar span{display:block;white-space:nowrap}
}
@media(max-width:390px){
  .content{padding-left:10px;padding-right:10px}.grid{gap:7px}.stat{padding:11px}.stat-top{font-size:12px}.stat .num{font-size:20px}.check-grid,.scope-grid{grid-template-columns:1fr}.module-toolbar button{padding:8px 9px}.login-story{min-height:180px!important}.login-copy{margin-top:22px!important}.login-copy h1{font-size:24px}.login-panel{padding:22px 16px 34px!important}
}
.production-raw,.production-raw-lines{margin:12px 0;border:1px solid #dce5ef;border-radius:10px;background:#fff;overflow:hidden}
.production-raw summary{cursor:pointer;padding:12px 15px;background:#f7fafc;color:#536b7d;font-weight:600}
.production-raw[open] summary{border-bottom:1px solid #dce5ef}
.production-raw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:8px 15px}
.production-raw-grid label{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1f4;padding:8px 0;min-width:0}
.production-raw-grid code{font-size:12px;color:#73879a;overflow-wrap:anywhere}
.production-raw-grid span{text-align:right;overflow-wrap:anywhere;color:#283b4c}
.production-raw-lines>h3{font-size:14px;margin:0;padding:12px 15px;background:#f5f8fb}
.production-raw-lines>.production-raw{margin:8px 12px}
@media(max-width:760px){.production-raw-grid{grid-template-columns:1fr}}
.mo-summary-cell{white-space:normal;line-height:1.65;vertical-align:top;min-width:110px}
.mo-summary-cell:nth-last-child(4){min-width:210px}
.mo-summary-cell:nth-last-child(3){min-width:280px}
@media(max-width:760px){
  .mobile-card-table{display:block!important;min-width:0!important;width:100%!important;border-collapse:separate!important}
  .mobile-card-table thead{display:none!important}
  .mobile-card-table tbody{display:grid!important;gap:10px!important;padding:10px!important}
  .mobile-card-table tr{display:block!important;background:#fff!important;border:1px solid #dde6ec!important;border-radius:11px!important;box-shadow:0 2px 8px rgba(15,39,56,.05)!important;overflow:hidden!important}
  .mobile-card-table td{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;min-width:0!important;max-width:none!important;width:auto!important;padding:9px 12px!important;border:0!important;border-bottom:1px solid #edf1f4!important;white-space:normal!important;line-height:1.5!important;overflow-wrap:anywhere!important}
  .mobile-card-table td:last-child{border-bottom:0!important}
  .mobile-card-table td::before{content:attr(data-label);color:#728492;font-size:12px;font-weight:500}
  .mobile-card-table .bill-list{max-width:none!important}
  .mobile-card-table .mo-material{display:block!important;text-align:center!important;color:#718191!important}
  .mobile-card-table .mo-material::before{display:none!important}
}
