:root{--c-dark-blue: #091121;--c-blue: #2753b3;--c-blue-600: #1f47a0;--c-blue-050: #eef3fb;--c-accent: #cf9455;--c-accent-050: #faf3ea;--c-green: #003e2d;--c-teal: #003d51;--c-white: #ffffff;--c-surface: #ffffff;--c-canvas: #ffffff;--c-ink: #091121;--c-ink-2: #16203a;--c-ink-3: #26324c;--c-line: #e6ebf3;--c-line-2: #eef1f6;--c-success: #067a5b;--c-warning: #b5741f;--c-danger: #c0392b;--c-danger-050: #fdeeec;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--shadow-sm: 0 1px 2px rgba(9, 17, 33, .06);--shadow-md: 0 8px 24px rgba(9, 17, 33, .08);--shadow-lg: 0 24px 60px rgba(9, 17, 33, .12);--ring: 0 0 0 4px rgba(39, 83, 179, .14);--ease: cubic-bezier(.22, 1, .36, 1);--font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--c-ink);background:var(--c-white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:15px;line-height:1.5}h1,h2,h3,h4{margin:0;color:var(--c-dark-blue);font-weight:700;letter-spacing:-.02em}p{margin:0}a{color:var(--c-blue);text-decoration:none}button{font-family:inherit}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.spacer{flex:1}.muted{color:var(--c-ink-3)}.mono{font-variant-numeric:tabular-nums}.logo{display:inline-flex;align-items:center;gap:11px}.logo-img{width:auto;display:block;object-fit:contain}.logo-name{font-weight:600;color:var(--c-ink-2);letter-spacing:-.01em;white-space:nowrap}.logo-name b{color:var(--c-dark-blue);font-weight:800}.logo-lockup{display:flex;flex-direction:column;line-height:1.05}.logo-sub{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--c-ink-3);margin-top:3px}.logo-md .logo-img{height:32px}.logo-md .logo-name{font-size:16px}.logo-lg .logo-img{height:52px}.logo-lg .logo-name{font-size:21px}.logo-stack{gap:13px}.btn{--bg: var(--c-accent);--fg: var(--c-dark-blue);--bd: transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:var(--r-md);background:var(--bg);color:var(--fg);border:1px solid var(--bd);font-weight:700;font-size:14px;cursor:pointer;letter-spacing:-.01em;transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),filter .2s;box-shadow:var(--shadow-sm)}.btn:hover{filter:brightness(1.02);transform:translateY(-1px);box-shadow:0 12px 28px #cf945566}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:none}.btn.block{width:100%}.btn.lg{height:48px;font-size:15px}.btn.ghost{--bg: #fff;--fg: var(--c-ink-2);--bd: var(--c-line);box-shadow:none}.btn.ghost:hover{--bg: var(--c-blue-050);--fg: var(--c-blue)}.btn.accent{--bg: var(--c-accent);--fg: #fff}.btn.danger{--bg: #fff;--fg: var(--c-danger);--bd: #f2c9c3;box-shadow:none}.btn.danger:hover{--bg: var(--c-danger-050)}.btn.sm{height:34px;padding:0 12px;font-size:13px;border-radius:var(--r-sm)}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:600;color:var(--c-ink-2)}.field .hint{font-size:12px;color:var(--c-ink-3)}.input,.select{height:44px;padding:0 14px;border-radius:var(--r-md);border:1.5px solid rgba(9,17,33,.22);background:#fff;color:var(--c-ink);font-size:14px;transition:border .18s var(--ease),box-shadow .18s var(--ease);width:100%}.input::placeholder{color:#09112166}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-ink-3) 50%),linear-gradient(135deg,var(--c-ink-3) 50%,transparent 50%);background-position:calc(100% - 20px) 19px,calc(100% - 15px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.input:focus,.select:focus{outline:none;border-color:var(--c-blue);box-shadow:var(--ring)}.input.invalid{border-color:var(--c-danger)}.input-group{position:relative}.input-group .reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:32px;padding:0 10px;border:none;background:transparent;color:var(--c-ink-3);font-size:12px;font-weight:600;cursor:pointer;border-radius:var(--r-sm)}.input-group .reveal:hover{color:var(--c-blue);background:var(--c-blue-050)}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.badge .dot{width:7px;height:7px;border-radius:50%}.badge.active{background:var(--c-blue-050);color:var(--c-blue)}.badge.active .dot{background:var(--c-blue)}.badge.restricted{background:var(--c-accent-050);color:#8a5a1f}.badge.restricted .dot{background:var(--c-accent)}.badge.disabled{background:#0911210f;color:var(--c-ink-2)}.badge.disabled .dot{background:var(--c-ink-2)}.badge.role{background:#0911210f;color:var(--c-dark-blue);text-transform:capitalize}.alert{border-radius:var(--r-md);padding:12px 14px;font-size:13.5px;display:flex;gap:10px;align-items:flex-start}.alert.error{background:var(--c-danger-050);color:#922;border:1px solid #f2c9c3}.alert.info{background:var(--c-blue-050);color:var(--c-blue-600);border:1px solid #d5e2f6}.alert.success{background:#e7f6f0;color:var(--c-success);border:1px solid #bfe6d7}.alert ul{margin:6px 0 0;padding-left:18px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(9,17,33,.22);border-top-color:var(--c-dark-blue);animation:spin .7s linear infinite}.spinner.light{border-color:#fff6;border-top-color:#fff}.spinner.dark{border-color:#09112126;border-top-color:var(--c-blue)}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d7deea;border-radius:999px;border:2px solid #fff}::-webkit-scrollbar-thumb:hover{background:#c3cdde}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0911216b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:60;animation:fade .18s var(--ease)}.modal{width:100%;max-width:460px;max-height:calc(100vh - 40px);background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .22s var(--ease);display:flex;flex-direction:column}.modal-head,.modal-foot{flex:0 0 auto}.modal-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden}.modal.modal-lg{max-width:1240px;height:calc(100vh - 40px)}@media(max-width:720px){.modal-overlay{padding:0}.modal.modal-lg{height:100vh;max-height:100vh;border-radius:0}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.98)}}.splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.auth-page{min-height:100vh;display:flex;flex-direction:column;background:#fff;position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(720px 380px at 50% -8%,rgba(39,83,179,.06),transparent 70%),radial-gradient(560px 320px at 92% 108%,rgba(207,148,85,.06),transparent 70%)}.auth-header{position:relative;z-index:1;display:flex;align-items:center;padding:22px 32px;gap:16px}.auth-secure{font-size:13px;color:var(--c-ink-3);font-weight:600}.auth-main{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:430px;padding:34px;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);border-color:var(--c-line-2)}.auth-card-head{margin-bottom:22px}.auth-card-head h1{font-size:26px;margin-bottom:8px}.auth-card .alert{margin-bottom:18px}.auth-foot{margin-top:22px;font-size:12.5px;text-align:center}.auth-copy{position:relative;z-index:1;text-align:center;padding:18px;font-size:12.5px}.pw-meter{display:flex;align-items:center;gap:10px;margin-top:4px}.pw-track{flex:1;height:6px;border-radius:999px;background:var(--c-line);overflow:hidden}.pw-fill{height:100%;border-radius:999px;transition:width .25s var(--ease),background .25s}.pw-label{font-size:12px;font-weight:700;min-width:46px;text-align:right}.pw-checks{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.pw-checks li{font-size:12px;color:var(--c-ink-3)}.pw-checks li.ok{color:var(--c-success)}.login-stage{position:relative;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:#fff;padding:28px;overflow-y:auto}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.login-bg .orb{position:absolute;border-radius:50%;will-change:transform}.o1{width:520px;height:520px;top:-160px;left:-140px;background:radial-gradient(circle at 40% 40%,rgba(39,83,179,.07),transparent 68%);animation:glideA 34s ease-in-out infinite}.o2{width:460px;height:460px;bottom:-180px;right:-120px;background:radial-gradient(circle at 50% 50%,rgba(207,148,85,.06),transparent 68%);animation:glideB 40s ease-in-out infinite}@keyframes glideA{0%,to{transform:translate(0)}50%{transform:translate(24px,18px)}}@keyframes glideB{0%,to{transform:translate(0)}50%{transform:translate(-20px,-16px)}}@media(prefers-reduced-motion:reduce){.login-bg .orb{animation:none}}.login-card{z-index:1;position:relative;overflow:hidden;width:min(400px,100%);background:#fff;border-radius:20px;padding:36px 32px 22px;text-align:center;box-shadow:0 28px 74px #09112126,0 3px 12px #0911210f;animation:cardIn .5s var(--ease) both;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.login-card:hover{transform:translateY(-3px);box-shadow:0 38px 92px #0911212e,0 6px 16px #09112114}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}}.login-card{border:1px solid rgba(9,17,33,.14)}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.4px;pointer-events:none;z-index:0;background:linear-gradient(130deg,#091121,#091121bf 42%,#cf9455a6 66%,#091121);background-size:230% 230%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:borderFlow 16s ease-in-out infinite}@keyframes borderFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.lc-topline{position:absolute;top:0;left:0;right:0;height:3px;z-index:2;background:linear-gradient(90deg,#091121 0%,#091121 30%,var(--c-accent) 50%,#091121 70%,#091121 100%);background-size:240% 100%;animation:lineShift 10s ease-in-out infinite}@keyframes lineShift{0%,to{background-position:0% 0}50%{background-position:100% 0}}.lc-logo-wrap{position:relative;display:flex;align-items:center;justify-content:center;margin:2px auto 16px;padding:10px 0;animation:fieldUp .5s var(--ease) both;animation-delay:.05s}.lc-logo-wrap:before{content:"";position:absolute;width:168px;height:66px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(39,83,179,.09),transparent 70%);z-index:0}.lc-logo{height:40px;width:auto;position:relative;z-index:1}.lc-head{margin-bottom:22px;animation:fieldUp .5s var(--ease) both;animation-delay:.12s}.lc-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;border:1px solid rgba(9,17,33,.16);background:#fff;margin-bottom:14px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-dark-blue)}.chip-dot{width:6px;height:6px;border-radius:50%;background:var(--c-accent)}.lc-head h1{font-size:24px;color:var(--c-dark-blue);letter-spacing:-.02em;margin-bottom:8px}.lc-head p{font-size:13.5px;color:var(--c-ink-2);line-height:1.5;max-width:30ch;margin:0 auto}.lf-alert{display:flex;gap:10px;align-items:center;text-align:left;padding:11px 14px;border-radius:12px;background:#fff;border:1px solid rgba(9,17,33,.14);box-shadow:inset 3px 0 0 var(--c-accent);color:var(--c-dark-blue);font-size:13px;font-weight:600;margin-bottom:18px;animation:shake .4s var(--ease)}.lf-alert-ic{width:20px;height:20px;border-radius:50%;background:var(--c-accent);color:var(--c-dark-blue);font-weight:800;display:grid;place-items:center;font-size:13px;flex-shrink:0}@keyframes shake{10%,90%{transform:translate(-1px)}30%,70%{transform:translate(2px)}50%{transform:translate(-2px)}}.lc-fields{display:flex;flex-direction:column;gap:15px;text-align:left}.lf-anim{animation:fieldUp .55s var(--ease) both;animation-delay:var(--d, 0s)}@keyframes fieldUp{0%{opacity:0;transform:translateY(10px)}}.lc-fields .btn{margin-top:6px}.lf-cta .cta-arrow{transition:transform .2s var(--ease)}.lf-cta:hover:not(:disabled) .cta-arrow{transform:translate(4px)}.login-card .field{position:relative;transition:color .2s var(--ease)}.login-card .field label{transition:color .2s var(--ease)}.login-card .field:focus-within label{color:var(--c-dark-blue)}.login-card .input:hover{border-color:#09112152}.login-card .input:focus{border-color:var(--c-dark-blue);box-shadow:0 0 0 4px #2753b324}.lc-fields .field:after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--c-blue),var(--c-accent));transform:scaleX(0);transform-origin:center;transition:transform .32s var(--ease)}.lc-fields .field:focus-within:after{transform:scaleX(1)}.lf-ok{box-shadow:inset 3px 0 0 var(--c-blue)}.login-card .pw-checks li.ok{color:var(--c-blue)}.login-card .pw-meter{margin-top:8px}.lc-signout{display:block;margin:16px auto 0;background:none;border:none;cursor:pointer;color:var(--c-ink-3);font-size:12.5px;font-weight:600;transition:color .2s var(--ease)}.lc-signout:hover{color:var(--c-dark-blue)}.lc-copy{text-align:center;font-size:11px;color:var(--c-ink-3);padding-top:18px;animation:fieldUp .5s var(--ease) both;animation-delay:.3s}@media(max-width:480px){.login-stage{padding:16px}.login-card{padding:32px 22px 20px;border-radius:18px}.lc-logo{height:36px}.lc-head h1{font-size:22px}}@media(prefers-reduced-motion:reduce){.login-card:before,.lc-topline{animation:none}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#fff}.topbar{display:flex;align-items:center;gap:16px;padding:0 28px;height:68px;border-bottom:1px solid var(--c-line);background:#fff;position:sticky;top:0;z-index:30}.who{display:flex;align-items:center;gap:10px;margin-right:4px}.who-name{font-weight:600;font-size:14px;color:var(--c-ink)}.gh-header{position:sticky;top:14px;z-index:40;height:62px;background:#fff;display:flex;align-items:center;gap:16px;padding:0 12px 0 18px;margin:14px 16px 0;border-radius:16px;border:1.5px solid rgba(9,17,33,.16);box-shadow:0 12px 34px #09112112,0 2px 6px #0911210a}.gh-left{display:flex;align-items:center;gap:14px}.gh-logo{height:28px;width:auto;display:block}.gh-div{width:1px;height:24px;background:#0911211f}.gh-module{display:inline-flex;align-items:center;gap:9px;padding:6px 13px;border-radius:999px;border:1.5px solid rgba(9,17,33,.1);background:#fff;font-size:12px;font-weight:700;color:var(--c-dark-blue);letter-spacing:.02em}.gh-module .live{position:relative;width:7px;height:7px;border-radius:50%;background:var(--c-blue)}.gh-module .live:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1.5px solid rgba(39,83,179,.45);animation:livePulse 2s ease-out infinite}@keyframes livePulse{0%{transform:scale(.5);opacity:.9}to{transform:scale(1.7);opacity:0}}.gh-right{margin-left:auto;display:flex;align-items:center;gap:14px}.gh-session{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--c-ink-2)}.gh-lock{font-size:12px}.gh-profile{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 5px;border-radius:999px;border:1.5px solid rgba(9,17,33,.1);background:#fff;cursor:pointer;font-family:inherit;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}.gh-profile:hover,.gh-profile.is-open{border-color:#2753b380;box-shadow:0 6px 16px #09112114;transform:translateY(-1px)}.gh-profile:focus-visible,.gh-logout:focus-visible{outline:none;box-shadow:var(--ring)}.gh-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--c-dark-blue),var(--c-blue));color:#fff;font-weight:700;font-size:12.5px;box-shadow:0 4px 10px #09112138}.gh-user{display:flex;flex-direction:column;line-height:1.2}.gh-user .nm{font-size:13px;font-weight:700;color:var(--c-ink)}.gh-user .rl{font-size:11px;font-weight:600;color:var(--c-ink-2);text-transform:capitalize}.gh-account{position:relative;display:flex;align-items:center;gap:12px}.gh-logout{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 6px 0 16px;border-radius:999px;border:1.5px solid rgba(9,17,33,.16);background:#fff;color:var(--c-dark-blue);font-size:13px;font-weight:700;cursor:pointer;transition:color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.gh-logout:hover,.gh-logout.is-open{border-color:var(--c-accent);color:#8a5a1f;transform:translateY(-1px);box-shadow:0 8px 18px #cf945533}.gh-power-badge{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:#0911210f;color:var(--c-dark-blue);transition:background .18s var(--ease),color .18s var(--ease)}.gh-logout:hover .gh-power-badge,.gh-logout.is-open .gh-power-badge{background:var(--c-accent);color:#fff}.gh-power{position:relative;width:14px;height:14px;display:inline-block;flex-shrink:0}.gh-power:before{content:"";position:absolute;left:0;top:1px;width:14px;height:14px;box-sizing:border-box;border:2px solid currentColor;border-radius:50%}.gh-power:after{content:"";position:absolute;left:50%;top:-1px;transform:translate(-50%);width:2px;height:8px;background:currentColor;border-radius:1px}.gh-power-lg{width:20px;height:20px}.gh-power-lg:before{width:20px;height:20px;top:1px}.gh-power-lg:after{height:11px;width:2px}.gh-pop{position:absolute;right:0;top:calc(100% + 12px);z-index:50;width:248px;background:#fff;border:1px solid rgba(9,17,33,.1);border-radius:16px;box-shadow:var(--shadow-lg);padding:18px;text-align:center;animation:pop .16s var(--ease)}.gh-pop:before{content:"";position:absolute;top:-6px;right:22px;width:12px;height:12px;background:#fff;border-left:1px solid rgba(9,17,33,.1);border-top:1px solid rgba(9,17,33,.1);transform:rotate(45deg)}.gh-pop-ic{width:42px;height:42px;margin:0 auto 12px;border-radius:12px;display:grid;place-items:center;background:var(--c-accent-050);border:1.5px solid rgba(207,148,85,.4);color:#8a5a1f;font-size:20px}.gh-pop h4{font-size:15px;color:var(--c-dark-blue);margin-bottom:6px}.gh-pop p{font-size:12.5px;color:var(--c-ink-2);line-height:1.5;margin-bottom:16px}.gh-pop-acts{display:flex;gap:8px}.gh-pop-acts .btn{flex:1}@media(max-width:640px){.gh-header{margin:10px 10px 0;padding:0 10px;gap:10px;height:58px}.gh-session,.gh-user,.gh-logout-label{display:none}.gh-logout{padding:5px;gap:0}.gh-profile{padding:3px;border:none}}.pms-canvas{flex:1;background:#fff}.pms-work{width:100%;max-width:1180px;margin:0 auto;padding:28px 32px 64px}.pms-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.pms-head h1{font-size:22px;letter-spacing:-.02em;margin-bottom:5px}.pms-head p{font-size:13px;color:var(--c-ink-2)}.pms-head-tools{display:flex;align-items:center;gap:14px}.pms-showdel{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--c-ink-2);cursor:pointer;white-space:nowrap}.pms-showdel input{width:15px;height:15px;cursor:pointer}.pms-del-badge{margin-left:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--c-danger);background:var(--c-danger-050);padding:2px 7px;border-radius:999px}.pms-row-deleted{opacity:.6}.pms-row-deleted td{text-decoration:line-through;text-decoration-color:#a11d1066}.pms-row-deleted .pms-del-badge,.pms-row-deleted .act{text-decoration:none}.input.pms-search{height:42px;width:340px;max-width:100%;font-size:13.5px}.pms-table-card{overflow:hidden;border-radius:14px;border:1.5px solid rgba(9,17,33,.12);box-shadow:var(--shadow-sm)}.pms-row{cursor:pointer}.pms-row:hover{background:#f4f7fc!important}.pms-row:hover .user-name{color:var(--c-blue)}.pms-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}.pms-count{font-size:12.5px;color:var(--c-ink-2);font-weight:600}.pms-pgctrl{display:flex;align-items:center;gap:6px}.pms-pgnum{font-size:12.5px;color:var(--c-dark-blue);font-weight:700;padding:0 8px}.pm-loading{display:flex;align-items:center;gap:10px;color:var(--c-ink-2);padding:30px 0;justify-content:center}.pm-wrap{display:flex;flex-direction:column;gap:18px}.pm-id{display:flex;align-items:center;gap:14px}.pm-avatar{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c-dark-blue),var(--c-blue));color:#fff;font-weight:800;font-size:16px}.pm-name{font-size:19px;font-weight:800;color:var(--c-dark-blue)}.pm-sub{font-size:12.5px;color:var(--c-ink-2);font-weight:600;margin-top:2px}.pm-edited{margin-left:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b3fb0;background:#7850c81f;padding:2px 7px;border-radius:999px;vertical-align:middle}.pm-id-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.pm-del-confirm{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--c-danger)}.pm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 22px;padding:16px 18px;background:#09112108;border:1.5px solid rgba(9,17,33,.08);border-radius:14px}.pm-field{display:flex;flex-direction:column;gap:3px;min-width:0}.pm-field-l{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-3)}.pm-field-v{font-size:13.5px;font-weight:600;color:var(--c-ink);word-break:break-word;display:inline-flex;align-items:center;gap:8px}.pm-reveal{border:1px solid rgba(9,17,33,.16);background:#fff;border-radius:6px;font-size:10.5px;font-weight:700;color:var(--c-blue);cursor:pointer;padding:1px 6px}.pm-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.pm-tile{border:1.5px solid rgba(9,17,33,.1);border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:4px}.pm-tile span{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-ink-3)}.pm-tile b{font-size:16px;font-weight:800;color:var(--c-dark-blue);font-variant-numeric:tabular-nums}.pm-tile.out{border-color:#c0392b59;background:#c0392b0a}.pm-tile.out b{color:#a11d10}.pm-claims-head{font-size:13px;font-weight:800;color:var(--c-dark-blue);margin-top:2px}.pm-claims-wrap{overflow:auto;border:1.5px solid rgba(9,17,33,.1);border-radius:12px}.pm-claims{width:100%;border-collapse:collapse;min-width:1180px}.pm-claims thead th{position:sticky;top:0;z-index:2;text-align:left;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#ffffffeb;font-weight:600;padding:9px 12px;background:#091121;white-space:nowrap}.modal-lg .modal-body{display:flex;flex-direction:column;overflow:hidden}.modal-lg .pm-wrap{flex:1 1 auto;min-height:0}.modal-lg .pm-wrap>*{flex:0 0 auto}.modal-lg .pm-claims-wrap{flex:1 1 auto;min-height:160px}.pm-claims thead th.r{text-align:right}.pm-claims tbody td{padding:9px 12px;border-bottom:1px solid var(--c-line-2);font-size:12px;color:var(--c-ink);white-space:nowrap}.pm-claims tbody tr:last-child td{border-bottom:none}.pm-claims tbody tr:hover{background:#f7f9fc}.pm-claims td.r{text-align:right;font-variant-numeric:tabular-nums}.pm-claims td.out{color:#a11d10;font-weight:700}.pm-empty{text-align:center;color:var(--c-ink-2);padding:24px 0!important}.cp-claim{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 18px;padding:14px 16px;background:#09112108;border:1.5px solid rgba(9,17,33,.08);border-radius:12px}.cp-claim>div{display:flex;flex-direction:column;gap:3px;min-width:0}.cp-l{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--c-ink-3)}.cp-claim b{font-size:14px;font-weight:700;color:var(--c-ink)}.cp-claim b.out{color:#a11d10}.cp-list{margin-top:16px}.cp-list-h{font-size:12px;font-weight:800;color:var(--c-dark-blue);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.cp-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--c-line-2);border-radius:10px;margin-bottom:6px}.cp-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.cp-badge.insurance{background:#2563eb1f;color:#1d4ed8}.cp-badge.patient{background:#107a571f;color:#0f7a57}.cp-badge.adjustment{background:#7850c81f;color:#6b3fb0}.cp-amt{font-size:14px;font-weight:800}.cp-meta{flex:1;font-size:12px;color:var(--c-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-edit{flex:1;max-width:130px}.act.danger{color:#a11d10;border-color:#a11d104d}.cp-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--c-line)}.cp-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cp-field{display:flex;flex-direction:column;gap:5px}.cp-field>span{font-size:11.5px;font-weight:700;color:var(--c-ink-2)}.cp-field i{font-weight:500;color:var(--c-ink-3);font-style:normal}.cp-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}@media(max-width:780px){.pms-work{padding:20px 16px 48px}.input.pms-search{width:100%}.pm-grid{grid-template-columns:1fr 1fr}.pm-tiles{grid-template-columns:repeat(3,1fr)}.cp-claim{grid-template-columns:1fr 1fr}.cp-fields{grid-template-columns:1fr}}.admin-main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:26px 32px 56px}.admin-head{text-align:center;margin-bottom:18px}.admin-head h1{font-size:20px;margin-bottom:5px;letter-spacing:-.02em}.admin-head p{font-size:12.5px;color:var(--c-ink-2)}.sa-tabs{display:flex;justify-content:center;gap:5px;margin:0 auto 20px;width:fit-content;max-width:100%;padding:5px;background:#fff;border:1.5px solid rgba(9,17,33,.12);border-radius:14px;box-shadow:var(--shadow-sm)}.sa-tab{display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;cursor:pointer;height:38px;padding:0 18px;border-radius:10px;font-size:13px;font-weight:700;color:var(--c-ink-2);letter-spacing:-.01em;transition:color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.sa-tab:hover{color:var(--c-dark-blue);background:#0911210a}.sa-tab.active{background:#091121;color:#fff;box-shadow:0 8px 18px #0911213d}.sa-tab-count{display:inline-grid;place-items:center;min-width:20px;height:19px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;background:#09112117;color:var(--c-dark-blue)}.sa-tab.active .sa-tab-count{background:#fff3;color:#fff}.sa-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.input.search{height:38px;width:260px;max-width:100%;font-size:13px}.table-card{overflow:hidden;border-radius:14px;border:1.5px solid rgba(9,17,33,.12);box-shadow:var(--shadow-sm);background:#fff}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:840px}.table thead th{text-align:left;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#ffffffeb;font-weight:600;padding:9px 16px;background:#091121;white-space:nowrap}.table thead th:last-child{text-align:right}.table tbody td{padding:12px 16px;border-bottom:1px solid var(--c-line-2);font-size:12.5px;vertical-align:middle;color:var(--c-ink)}.user-cell.clickable{cursor:pointer;border-radius:8px;margin:-4px -6px;padding:4px 6px;transition:background .15s var(--ease)}.user-cell.clickable:hover{background:#2753b30f}.user-cell.clickable:hover .user-name{color:var(--c-blue)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:#f7f9fc}.table-empty{text-align:center;color:var(--c-ink-2);padding:34px 0!important;font-size:13px}.user-cell{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c-dark-blue),var(--c-blue));color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.user-name{font-weight:600;color:var(--c-ink);display:flex;align-items:center;gap:7px;font-size:13px}.user-email{font-size:11.5px;color:var(--c-ink-2)}.you{font-size:9.5px;font-weight:700;color:#fff;background:var(--c-blue);padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.act{border:1.5px solid rgba(9,17,33,.14);background:#fff;cursor:pointer;height:30px;padding:0 11px;border-radius:8px;font-size:11.5px;font-weight:600;color:var(--c-ink-2);transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease),transform .15s var(--ease);white-space:nowrap}.act:hover{border-color:var(--c-dark-blue);color:var(--c-dark-blue);background:#09112108;transform:translateY(-1px)}.act.accent:hover{border-color:var(--c-accent);color:#8a5a1f;background:var(--c-accent-050)}.act.danger{color:#8a1c1c;border-color:#8a1c1c47}.act.danger:hover{background:#8a1c1c0f;border-color:#8a1c1c;color:#8a1c1c}.act:disabled{opacity:.4;cursor:not-allowed;transform:none}.seg-ctrl{display:flex;gap:4px;padding:4px;background:#0911210d;border-radius:10px}.seg-opt{flex:1;border:none;background:transparent;cursor:pointer;height:36px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--c-ink-2);transition:color .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}.seg-opt:hover{color:var(--c-dark-blue)}.seg-opt.active{background:#fff;color:var(--c-dark-blue);box-shadow:var(--shadow-sm)}.role-locked{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:10px;background:#0911210d;border:1.5px solid rgba(9,17,33,.12);font-size:13px;font-weight:700;color:var(--c-dark-blue);text-transform:capitalize}.spec-chips{display:flex;flex-wrap:wrap;gap:8px}.spec-chip{border:1.5px solid rgba(9,17,33,.16);background:#fff;cursor:pointer;height:34px;padding:0 14px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--c-ink-2);transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease)}.spec-chip:hover{border-color:var(--c-dark-blue);color:var(--c-dark-blue)}.spec-chip.active{background:#091121;border-color:#091121;color:#fff}.spec-add{display:flex;gap:8px;margin-top:10px}.spec-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.02em;color:#8a5a1f;background:var(--c-accent-050);border:1px solid rgba(207,148,85,.45);padding:1px 8px;border-radius:999px}.ac-intro{font-size:12.5px;color:var(--c-ink-2);margin-bottom:14px;line-height:1.5}.ac-group{border:1.5px solid rgba(9,17,33,.1);border-radius:12px;padding:0 14px;margin-bottom:12px}.ac-group-head{display:flex;align-items:center;gap:8px;padding:11px 0 9px;font-size:11px;font-weight:700;color:var(--c-dark-blue);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--c-line-2)}.ac-badge{width:9px;height:9px;border-radius:3px}.ac-badge.pms{background:var(--c-blue)}.ac-badge.billing{background:var(--c-accent)}.ac-badge.ehr{background:var(--c-dark-blue)}.ac-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--c-line-2)}.ac-row:last-child{border-bottom:none}.ac-label{font-size:13px;font-weight:600;color:var(--c-ink)}.ac-desc{font-size:11.5px;color:var(--c-ink-2);margin-top:1px}.switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;background:#09112133;border-radius:999px;transition:background .2s var(--ease);pointer-events:none}.switch .track:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #09112159;transition:transform .2s var(--ease)}.switch input:checked+.track{background:var(--c-accent)}.switch input:checked+.track:before{transform:translate(18px)}.switch input:focus-visible+.track{box-shadow:var(--ring)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:720px){.grid-2{grid-template-columns:1fr}.input.search{width:100%}.topbar{padding:0 16px}.admin-main{padding:20px 14px 44px}.sa-tabs{width:100%}.sa-tab{flex:1;justify-content:center;padding:0 8px}}
