:root{--app-sidebar-bg: #101a30;--app-sidebar-bg-deep: #0c1424;--app-header-height: 60px;--pms-font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--pms-card-bg: #ffffff;--pms-card-border: rgba(128, 128, 128, .18);--pms-card-shadow: 0 1px 4px rgba(16, 26, 48, .05);--pms-tabbar-bg: rgba(255, 255, 255, .96);--pms-warn-text: #9a5f00;--pms-muted-text: #757575;--pms-link: #2754d8;--pms-danger-text: #d63031;--pms-success-text: #0a7d70}[data-theme=dark]{--pms-card-bg: #1d1d1d;--pms-card-border: rgba(255, 255, 255, .12);--pms-card-shadow: 0 2px 8px rgba(0, 0, 0, .35);--pms-tabbar-bg: rgba(20, 20, 20, .96);--pms-warn-text: #f0b256;--pms-muted-text: #b3b3b3;--pms-link: #6d8ef2;--pms-danger-text: #ff6b6b;--pms-success-text: #3fbcab}.surface-card{background:var(--pms-card-bg);border:1px solid var(--pms-card-border);border-radius:12px;box-shadow:var(--pms-card-shadow)}html,body,#root{height:100%;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}.app-layout{height:100vh;height:100dvh}*{box-sizing:border-box}a{text-decoration:none}.mono-time{font-family:var(--pms-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.layout-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(128,128,128,.16);position:relative;z-index:10}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:inherit;opacity:.75;cursor:pointer;transition:background .2s ease,color .2s ease;flex-shrink:0}.header-icon-btn:hover{background:#80808024;opacity:1}.search-trigger{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(128,128,128,.22);background:#80808012;color:inherit;opacity:.8;font-size:13px;font-family:inherit;cursor:pointer;transition:all .2s ease;outline:none;flex-shrink:0}.search-trigger:hover{border-color:#2754d873;background:#2754d814;color:#2754d8;opacity:1}.search-kbd{font-family:var(--pms-font-mono);font-size:11px;opacity:.6;background:#80808024;border:1px solid rgba(128,128,128,.2);border-radius:4px;padding:1px 5px;line-height:1.5}.gs-kbd{font-family:var(--pms-font-mono);font-size:11px;opacity:.7;background:#80808024;border:1px solid rgba(128,128,128,.2);border-radius:5px;padding:2px 7px;flex-shrink:0}@media(max-width:560px){.search-trigger,.user-name,.role-tag,.header-date{display:none}}.title-block{display:flex;align-items:center;gap:10px;min-width:0}.title-notch{width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,#2b5be3,#4f7bf0);flex-shrink:0}.header-title{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-date{font-size:12px;opacity:.78}.user-info{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .2s ease}.user-info:hover{background:#80808024}.user-avatar{background:linear-gradient(135deg,#2b5be3,#4f7bf0);color:#fff;flex-shrink:0}.user-name{font-size:14px;font-weight:500}.role-tag{border:none;background:#2754d81a;color:#2754d8;margin-inline-end:0}.layout-content{overflow-y:auto;padding:20px}@media(max-width:767px){.layout-content{padding:12px;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}.layout-brand{display:flex;align-items:center;gap:10px;height:var(--app-header-height);padding:0 14px;cursor:pointer;background:var(--app-sidebar-bg-deep);overflow:hidden;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}.layout-brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#2b5be3,#4f7bf0);color:#fff;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #2754d873}.layout-brand-text{min-width:0}.layout-brand-name{color:#fff;font-weight:600;font-size:15px;line-height:1.2;white-space:nowrap}.layout-brand-sub{color:#fff6;font-size:11px;margin-top:3px;white-space:nowrap}.side-menu{border-inline-end:none!important;background:transparent!important;padding:8px 0;flex:1}.side-menu .ant-menu-item,.side-menu .ant-menu-submenu-title{margin:4px 12px;height:44px!important;line-height:44px!important;border-radius:9px;color:#ffffffad!important;transition:background .2s ease,color .2s ease}.side-menu .ant-menu-item:hover,.side-menu .ant-menu-submenu-title:hover{background:#ffffff14!important;color:#fff!important}.side-menu .ant-menu-item-selected{background:linear-gradient(135deg,#2b5be3,#2450cf)!important;color:#fff!important;font-weight:600;box-shadow:0 4px 12px #2754d866}.side-menu .ant-menu-sub.ant-menu-inline{background:#ffffff0a!important;border-radius:9px;margin:0 12px 6px;padding:4px 0;box-shadow:inset 0 0 0 1px #ffffff0d}.side-menu .ant-menu-sub.ant-menu-inline .ant-menu-item{margin:4px 8px}.side-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important;font-weight:600}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:var(--pms-tabbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(128,128,128,.2);padding-bottom:env(safe-area-inset-bottom,0)}.tab-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:6px 2px 8px;font-size:11px;opacity:.78;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s ease;-webkit-user-select:none;user-select:none}.tab-item .anticon{font-size:20px;line-height:1}.tab-item>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.tab-item.is-active{color:var(--pms-link);opacity:1;font-weight:600}.ledger-row+.ledger-row{border-top:1px dashed rgba(128,128,128,.2)}.group-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;opacity:.78;padding:14px 4px 6px}.chip{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap}.chip-muted{background:#8080801f;color:var(--pms-muted-text)}.chip-ok{background:#0e9f8e21;color:var(--pms-success-text)}.chip-warn{background:#e8920c26;color:var(--pms-warn-text)}.chip-danger{background:#d630311f;color:var(--pms-danger-text)}@media(max-width:767px){.hidden-xs{display:none!important}}@media(max-width:767px){.form-row-stack{flex-direction:column!important;align-items:stretch!important}.form-row-stack>span:first-child{width:auto!important;margin-bottom:4px}}@media(max-width:767px),(pointer:coarse){.ant-btn{height:40px!important;font-size:14px!important}.ant-btn-sm,.ant-btn-lg{padding-inline:14px!important}}@media(max-width:767px){.ant-modal-root .ant-modal{width:100vw!important;max-width:100vw!important;margin:0!important;top:auto!important;bottom:0}.ant-modal-root .ant-modal-content{border-radius:16px 16px 0 0!important;max-height:90vh!important;max-height:min(90vh,calc(100dvh - 40px))!important;display:flex!important;flex-direction:column!important;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))!important}.ant-modal-root .ant-modal-body{overflow-y:auto!important;flex:1!important;min-height:0!important}}@media(max-width:767px),(pointer:coarse){.header-icon-btn{width:40px;height:40px}.user-info{padding:4px!important}.user-avatar{width:32px!important;height:32px!important}}@media print{.ant-layout-sider,.ant-layout-header,.ant-tabs-nav,.tabbar,.no-print{display:none!important}.ant-layout{background:#fff!important}.layout-content{padding:0!important;overflow:visible!important}body{background:#fff!important}}
