:root{--glass-bg:#ffffff8c;--glass-bg-strong:#ffffffb8;--glass-border:#ffffffa6;--glass-shadow:0 8px 32px #0056b314;--glass-blur:blur(18px);--brand:#0056b3;--brand-light:#0056b31a}html,body,#app{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.app-shell{background:linear-gradient(135deg,#dbeafe 0%,#e0e7ff 30%,#f0f9ff 65%,#ede9fe 100%);min-height:100vh;position:relative;overflow-x:hidden}.app-shell:before,.app-shell:after{content:"";filter:blur(90px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}.app-shell:before{background:#0056b324;width:520px;height:520px;top:-140px;right:-100px}.app-shell:after{background:#6366f11f;width:440px;height:440px;bottom:-120px;left:-80px}.app-shell>.app-inner{z-index:1;min-height:100vh;position:relative}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-panel-strong{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-layout,.glass-layout .n-layout,.glass-layout .n-layout-scroll-container{background:0 0!important}.glass-layout .n-layout-sider{-webkit-backdrop-filter:var(--glass-blur);box-shadow:4px 0 24px #0056b30a;border-right:1px solid var(--glass-border)!important}.glass-layout .n-layout-header{-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 2px 16px #0056b30a;border-bottom:1px solid var(--glass-border)!important}.glass-layout .n-layout-content{background:0 0!important}.glass-brand{border-bottom:1px solid var(--glass-border);color:var(--brand);padding:20px 16px;font-weight:600}.glass-brand-sub{color:#6b7f94;margin-top:4px;font-size:12px;font-weight:400;display:block}.glass-footer{border-top:1px solid var(--glass-border);color:#6b7f94;cursor:pointer;padding:12px 16px;font-size:12px;transition:color .2s,background .2s}.glass-footer:hover{color:#1677ff;background:#1677ff0f}.n-card{-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);border:1px solid var(--glass-border)!important}.n-card.n-card--bordered{border:1px solid var(--glass-border)!important}.n-modal .n-card{-webkit-backdrop-filter:blur(24px)}.n-data-table .n-data-table-wrapper{-webkit-backdrop-filter:var(--glass-blur);border-radius:12px}.n-input,.n-input-number,.n-select .n-base-selection,.n-date-picker{-webkit-backdrop-filter:blur(8px)}.n-button--default-type{-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border)!important;background:#ffffff8c!important}.n-tabs .n-tabs-nav{-webkit-backdrop-filter:blur(8px)}.n-spin-container{min-height:60px}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:420px;max-width:100%}.login-card.n-card{-webkit-backdrop-filter:blur(24px);box-shadow:0 16px 48px #0056b31f;background:#ffffff9e!important}.login-brand{align-items:center;gap:16px;margin-bottom:24px;display:flex}.login-logo{object-fit:contain;width:56px;height:56px}.login-title{color:var(--brand);font-size:20px;font-weight:700}.login-sub{color:#6b7f94;margin-top:4px;font-size:13px}.login-hint{color:#6b7f94;font-size:12px}
