.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration), transform .4s, top .4s, bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;inset:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}:root{--color-primary-700:#074a9c;--color-primary-600:#0a5ebd;--color-primary-500:#1473d4;--color-primary-100:#dfeeff;--color-primary-50:#f1f7fe;--color-brand-deep:#0b2948;--color-accent:#d97706;--color-page-bg:#f2f5f8;--color-surface:#fff;--color-surface-subtle:#f7f9fb;--color-border:#d9e3ed;--color-border-neutral:#ced9e4;--color-text-primary:#132238;--color-text-secondary:#53657a;--color-text-muted:#5f7085;--color-success:#16845b;--color-warning:#c66a06;--color-danger:#c33b42;--motion-immediate:.12s;--motion-routine:.18s;--motion-layout:.28s;--ease-arrive:cubic-bezier(.16, 1, .3, 1);--radius-control:8px;--radius-card:12px;--radius-kpi:14px;--font-size-caption:12px;--font-size-label:13px;--font-size-body:14px;--font-size-subtitle:19px;--font-size-title:28px;--shadow-card:0 10px 24px -18px #122b4659;--shadow-hover:0 14px 28px -22px #0a5ebd59;--el-color-primary:var(--color-primary-600);--el-color-primary-dark-2:var(--color-primary-700);--el-color-primary-light-3:#548ed1;--el-color-primary-light-5:#85aede;--el-color-primary-light-7:#b5cfeb;--el-color-primary-light-8:#cedff2;--el-color-primary-light-9:#e7eff8;color:var(--color-text-primary);background:var(--color-page-bg);font-synthesis:none;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--color-page-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-width:320px;margin:0;overflow-x:hidden}body:has(.admin-app--mobile-open){overflow:hidden}a{color:inherit;text-decoration:none}html{scrollbar-gutter:stable}body:is(.el-popup-parent--hidden,.el-message-box-parent--hidden){width:auto!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#c0cedd;background-clip:content-box;border:3px solid #0000;border-radius:9px}::-webkit-scrollbar-thumb:hover{background-color:#a9bccf}.admin-app :is(strong,.el-table,.el-pagination){font-variant-numeric:tabular-nums}.shell{min-height:100vh;padding:72px clamp(24px,6vw,96px)}.hero{max-width:760px}.eyebrow{color:var(--color-primary-500);letter-spacing:.08em;font-weight:700}h1{margin:8px 0 16px;font-size:clamp(28px,3vw,42px)}button,input,select,textarea{font:inherit}:focus-visible{outline-offset:2px;outline:3px solid #1473d447}.admin-app{background:var(--color-page-bg);min-height:100vh;transition:grid-template-columns var(--motion-routine) var(--ease-arrive);grid-template-columns:224px minmax(0,1fr);display:grid}.admin-app--collapsed{grid-template-columns:72px minmax(0,1fr)}.admin-sidebar{z-index:30;height:100vh;color:var(--color-text-secondary);border-right:1px solid var(--color-border);box-shadow:none;transition:transform var(--motion-layout) var(--ease-arrive);background-color:#eef4fa;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.admin-brand{min-height:72px;color:var(--color-text-primary);white-space:nowrap;border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:0 18px;display:flex}.admin-brand__symbol{color:#fff;width:36px;height:36px;transition:transform var(--motion-routine) var(--ease-arrive), box-shadow var(--motion-routine) ease;background:linear-gradient(140deg,#e05a4b,#b23530);border:1px solid #ffbaaf8c;border-radius:10px;flex:0 0 36px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff40,0 8px 18px -12px #7a180e99}.admin-brand__symbol svg{width:20px;height:20px}.admin-brand:hover .admin-brand__symbol{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff42,0 10px 20px -12px #000c1cd9}.admin-brand__copy{gap:3px;display:grid;overflow:hidden}.admin-brand__copy strong{font-size:16px}.admin-brand__copy small{color:var(--color-text-muted);letter-spacing:.15em;font-size:11px}.admin-navigation{scrollbar-color:#13223833 transparent;scrollbar-width:thin;flex:1;padding:14px 10px 20px;position:relative;overflow:hidden auto}.admin-navigation__group{margin-bottom:10px}.admin-navigation__group-toggle{width:100%;color:var(--color-text-primary);letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;margin:2px 0 3px;padding:6px 10px 6px 8px;font-size:15px;font-weight:700;display:flex}.admin-navigation__group-tick{background:linear-gradient(180deg, var(--color-primary-500), var(--color-primary-700));width:3px;height:15px;transition:background var(--motion-routine) ease;border-radius:2px;flex:0 0 3px}.admin-navigation__group.is-folded .admin-navigation__group-tick{background:#c3d2e0}.admin-navigation__group-rule{border-top:1px dashed #cddcea;flex:1;min-width:8px}.admin-navigation__group-toggle small{color:var(--color-text-muted);border:1px solid var(--color-border);background:#fff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.admin-navigation__group-toggle:hover{color:var(--color-primary-600);background:#fff}.admin-navigation__group-toggle b{transition:transform var(--motion-routine) var(--ease-arrive);font-size:10px;font-weight:700}.admin-navigation__group.is-folded .admin-navigation__group-toggle b{transform:rotate(-90deg)}.admin-navigation__group-items{transition:grid-template-rows var(--motion-layout) var(--ease-arrive);grid-template-rows:1fr;display:grid}.admin-navigation__group-items>div{min-height:0;overflow:hidden}.admin-navigation__group.is-folded .admin-navigation__group-items{grid-template-rows:0fr}.admin-navigation__item{min-height:41px;color:var(--color-text-secondary);white-space:nowrap;transition:color var(--motion-routine) ease, transform var(--motion-routine) var(--ease-arrive);border-radius:8px;align-items:center;gap:11px;margin:2px 0;padding:0 10px;font-size:15px;display:flex;position:relative;overflow:hidden}.admin-navigation__item:before{content:"";background:var(--color-primary-600);opacity:0;width:2px;transition:opacity var(--motion-immediate) ease, transform var(--motion-routine) var(--ease-arrive);border-radius:2px;position:absolute;top:9px;bottom:9px;left:0;transform:scaleY(.25)}.admin-navigation__item:hover{color:var(--color-primary-700);background:var(--color-primary-100);transform:translate(2px)}.admin-navigation__item.is-active{color:var(--color-primary-700);background:#cbe1fa;font-weight:600}.admin-navigation__item.is-active:before{opacity:1;transform:scaleY(1)}.admin-navigation__mark{background:var(--color-surface);width:30px;height:30px;transition:border-color var(--motion-routine) ease, background var(--motion-routine) ease, transform var(--motion-routine) var(--ease-arrive);border:1px solid #e3eaf3;border-radius:7px;flex:0 0 30px;place-items:center;font-size:12px;font-weight:700;display:grid}.admin-navigation__icon{width:18px;height:18px}.admin-navigation__item.is-active .admin-navigation__mark{background:var(--color-surface);border-color:#bcd6ff;transform:none}.admin-navigation__item:hover .admin-navigation__mark{border-color:#bcd6ff;transform:scale(1.06)}.admin-sidebar__toggle{min-height:46px;color:var(--color-text-muted);cursor:pointer;border:0;border-top:1px solid var(--color-border);background:0 0;justify-content:center;align-items:center;gap:8px;display:flex}.admin-sidebar__toggle:hover{color:var(--color-primary-600);background:#fff}.admin-sidebar__mobile-close,.admin-navigation-backdrop{display:none}.admin-app--collapsed .admin-brand{padding:0 18px}.admin-app--collapsed .admin-brand__copy,.admin-app--collapsed .admin-navigation__group>.admin-navigation__group-toggle,.admin-app--collapsed .admin-navigation__item>span:last-child{display:none}.admin-app--collapsed .admin-navigation__item{justify-content:center;padding:0}.admin-app--collapsed .admin-navigation__item:hover{transform:none}.admin-app__workspace{min-width:0;max-width:100%}.admin-topbar{z-index:25;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#fffffff5;justify-content:space-between;align-items:center;min-height:64px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 10px 24px -24px #122b46cc}.admin-topbar>div{align-items:center;min-width:0;display:flex}.admin-topbar__context{color:var(--color-text-muted);margin-right:10px;font-size:12px}.admin-topbar__context:after{color:#c0cad9;content:"/";margin-left:10px}.admin-topbar__actions{gap:10px}.admin-topbar__notice{color:var(--color-primary-700);background:var(--color-primary-50);border-radius:var(--radius-control);border:1px solid #c5d9ed;padding:7px 12px;font-size:13px;font-weight:600}.admin-user__avatar{color:#fff;background:var(--color-primary-600);border-radius:9px;place-items:center;width:34px;height:34px;margin-left:6px;font-weight:700;display:grid}.admin-user__copy{gap:2px;min-width:88px;display:grid}.admin-user__copy strong{font-size:13px}.admin-user__copy small{color:var(--color-text-muted);font-size:11px}.admin-logout{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:7px 10px}.admin-logout:hover{color:var(--color-primary-600)}.admin-mobile-menu{color:var(--color-primary-600);background:0 0;border:0;margin-right:10px;font-size:20px;display:none}.admin-app__content{min-width:0;min-height:calc(100vh - 64px)}.admin-app__content>main:not(.admin-workbench){width:min(100%,1600px);min-width:0;max-width:100%;margin-inline:auto}.admin-app__content>[class*=-page]{align-content:start;width:min(100%,1600px);min-width:0;margin-inline:auto;padding:28px}.admin-app__content>[class*=-page]>*{min-width:0;max-width:100%}.admin-app__content>[class*=-page]>:not(.el-loading-mask,.el-overlay),.admin-workbench>*{animation:admin-rise .36s var(--ease-arrive) both;animation-delay:.17s}.admin-app__content>[class*=-page]>:first-child,.admin-workbench>:first-child{animation-delay:0s}.admin-app__content>[class*=-page]>:nth-child(2),.admin-workbench>:nth-child(2){animation-delay:50ms}.admin-app__content>[class*=-page]>:nth-child(3),.admin-workbench>:nth-child(3){animation-delay:.1s}.admin-app__content>[class*=-page]>:nth-child(4),.admin-workbench>:nth-child(4){animation-delay:.14s}@keyframes admin-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-route-enter-active{transition:opacity var(--motion-routine) ease, transform var(--motion-routine) var(--ease-arrive)}.admin-route-leave-active{transition:opacity 90ms}.admin-route-enter-from{opacity:.72;transform:translate(6px)}.admin-route-leave-to{opacity:0}.admin-workbench{gap:18px;max-width:1600px;margin:0 auto;padding:24px;display:grid}.admin-workbench__hero{background:repeating-linear-gradient(0deg,#0a5ebd0a 0 1px,#0000 1px 44px),repeating-linear-gradient(90deg,#0a5ebd0a 0 1px,#0000 1px 44px),radial-gradient(circle at 5% 12%,#fffffff5 0%,#0000 42%),linear-gradient(110deg,#edf5ff,#dbeaff 55%,#cadcff);border-radius:16px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);min-height:240px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 38px -24px #1853a859}.admin-workbench__hero-copy{z-index:2;align-self:center;max-width:760px;padding:32px 40px;position:relative}.admin-workbench__hero-copy h1{margin:8px 0 14px;font-size:clamp(28px,3vw,40px);line-height:1.25}.admin-workbench__hero-copy>p:last-of-type{max-width:680px;color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.8}.admin-workbench__badges{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.admin-workbench__badges>:first-child{animation-delay:.22s}.admin-workbench__badges>:nth-child(2){animation-delay:.3s}.admin-workbench__badges>*{font:inherit;color:#145ec7;animation:admin-rise .42s var(--ease-arrive) both;background:#ffffffa8;border:1px solid #0066ff24;border-radius:999px;padding:7px 12px;font-size:12px}.admin-workbench__badges button{cursor:pointer;transition:background .15s,border-color .15s}.admin-workbench__badges button:hover:not(:disabled){background:#fff;border-color:#0066ff4d}.admin-workbench__badges button:disabled{cursor:wait;opacity:.7}.admin-workbench__visual{place-items:center;min-height:240px;display:grid;position:relative;overflow:hidden}.admin-workbench__visual-card{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #fffc;border-radius:22px;align-content:center;gap:8px;width:240px;min-height:154px;padding:24px;animation:7s ease-in-out infinite alternate admin-card-float;display:grid;position:relative;transform:rotate(-3deg);box-shadow:0 18px 42px -16px #2a58ab38}.admin-workbench__visual-card small{color:var(--color-primary-600)}.admin-workbench__visual-card strong{font-size:23px}.admin-workbench__visual-card p{min-height:38px;color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.55}.admin-workbench__visual-card>span{color:var(--color-primary-600);align-items:center;gap:8px;margin-top:5px;font-size:12px;font-weight:650;display:flex}.admin-workbench__visual-card>span:after{content:"";background:linear-gradient(90deg, var(--color-primary-500) 0 46%, #dbe8fb 46%);border-radius:99px;flex:1;order:-1;height:7px}.admin-workbench__orbit{border:1px solid #0066ff38;border-radius:50%;animation:7s ease-in-out infinite alternate admin-orbit-breathe;position:absolute}.admin-workbench__orbit--one{width:310px;height:310px}.admin-workbench__orbit--two{border-color:#754aff3d;width:220px;height:220px;animation-delay:-3.5s}@keyframes admin-orbit-breathe{0%{opacity:.5;transform:scale(.97)}to{opacity:1;transform:scale(1.04)}}@keyframes admin-card-float{0%{transform:rotate(-3deg)translateY(0)}to{transform:rotate(-3deg)translateY(-7px)}}.admin-workbench__facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-workbench__metric{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-kpi);align-items:center;gap:14px;min-width:0;min-height:100px;padding:16px 18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.admin-workbench__metric:hover{box-shadow:var(--shadow-hover);border-color:#bcd6ff;transform:translateY(-2px)}.admin-workbench__metric[data-tone=warning] .admin-workbench__fact-icon{color:#a76300;background:#fff4dd}.admin-workbench__metric[data-tone=danger] .admin-workbench__fact-icon{color:var(--color-danger);background:#fff0f0}.admin-workbench__fact-icon{width:42px;height:42px;color:var(--color-primary-600);background:var(--color-primary-100);border-radius:13px;flex:0 0 42px;place-items:center;font-weight:800;display:grid}.admin-workbench__fact-icon svg{width:20px;height:20px}.admin-workbench__metric>div{flex:1;gap:3px;min-width:0;display:grid}.admin-workbench__facts small{color:var(--color-text-secondary)}.admin-workbench__facts strong{text-overflow:ellipsis;white-space:nowrap;font-size:20px;overflow:hidden}.admin-workbench__facts em{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;overflow:hidden}.admin-workbench__metric>b{color:#9aa9bd;transition:transform .16s,color .16s}.admin-workbench__metric:hover>b{color:var(--color-primary-600);transform:translate(3px)}.admin-workbench__load-note{color:#8a5a00;border-radius:var(--radius-card);background:#fff9eb;border:1px solid #f4dfaa;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.admin-workbench__load-note button{font:inherit;color:var(--color-primary-600);cursor:pointer;background:0 0;border:0;padding:0}.admin-workbench__columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.admin-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-kpi);padding:22px}.admin-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.admin-panel__header p{margin:0 0 5px;font-size:11px}.admin-panel__header h2{font-size:var(--font-size-subtitle);margin:0}.admin-panel__header>span{color:var(--color-text-muted);font-size:12px}.admin-panel__header>a{color:var(--color-primary-600);font-size:12px}.admin-todo-panel{flex-direction:column;display:flex}.admin-todo-list{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;display:grid}.admin-todo-card{border-radius:var(--radius-card);background:#fbfdff;border:1px solid #edf2fa;grid-template-columns:40px minmax(0,1fr) auto 16px;align-items:center;gap:12px;min-height:78px;padding:12px 14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.admin-todo-card:hover{box-shadow:var(--shadow-hover);border-color:#bcd6ff;transform:translateY(-2px)}.admin-todo-card>span{width:40px;height:40px;color:var(--color-primary-600);background:var(--color-primary-100);border-radius:12px;place-items:center;display:grid}.admin-todo-card[data-tone=warning]>span{color:#a76300;background:#fff4dd}.admin-todo-card[data-tone=danger]>span{color:var(--color-danger);background:#fff0f0}.admin-todo-card>span svg{width:19px;height:19px}.admin-todo-card>div{gap:5px;min-width:0;display:grid}.admin-todo-card strong,.admin-todo-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-todo-card small{color:var(--color-text-secondary)}.admin-todo-card em{color:var(--color-primary-600);white-space:nowrap;background:var(--color-primary-50);border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal}.admin-todo-card[data-tone=warning] em{color:#915900;background:#fff4dd}.admin-todo-card[data-tone=danger] em{color:var(--color-danger);background:#fff0f0}.admin-todo-card>b{color:#9aa9bd;transition:transform .16s,color .16s}.admin-todo-card:hover>b{color:var(--color-primary-600);transform:translate(3px)}.admin-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-quick-panel .admin-priority-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-priority-card{border-radius:var(--radius-card);background:#fbfdff;border:1px solid #edf2fa;align-items:center;gap:12px;min-height:76px;padding:13px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.admin-priority-card:hover{box-shadow:var(--shadow-hover);border-color:#bcd6ff;transform:translateY(-2px)}.admin-priority-card>span{color:#fff;background:linear-gradient(135deg, var(--color-primary-600), #4b8cff);border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.admin-priority-card>span svg{width:19px;height:19px;transition:transform var(--motion-routine) var(--ease-arrive)}.admin-priority-card:hover>span svg{transform:translate(1px)scale(1.08)}.admin-priority-card>b{color:var(--color-primary-600);transition:transform var(--motion-routine) var(--ease-arrive), color var(--motion-routine) ease}.admin-priority-card:hover>b{color:var(--color-primary-600);transform:translate(3px)}.admin-priority-card div{flex:1;gap:5px;display:grid}.admin-priority-card small{color:var(--color-text-secondary)}.admin-business-flow ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.admin-business-flow li{gap:12px;padding:9px 0 14px;display:flex;position:relative}.admin-business-flow li:not(:last-child):after{content:"";transform-origin:top;width:1px;animation:admin-flow-trace .42s var(--ease-arrive) both;animation-delay:calc(.1s + var(--flow-index,0) * 90ms);background:#a9ccef;position:absolute;top:34px;bottom:-2px;left:16px}.admin-business-flow li>span{z-index:1;width:33px;height:33px;color:var(--color-primary-600);animation:admin-flow-confirm .32s var(--ease-arrive) both;animation-delay:calc(60ms + var(--flow-index,0) * 90ms);background:#fff;border:1px solid #c8dcff;border-radius:50%;flex:0 0 33px;place-items:center;font-size:11px;font-weight:700;display:grid}.admin-business-flow li:first-child{--flow-index:0}.admin-business-flow li:nth-child(2){--flow-index:1}.admin-business-flow li:nth-child(3){--flow-index:2}.admin-business-flow li:nth-child(4){--flow-index:3}.admin-business-flow li div{gap:4px;display:grid}.admin-business-flow li small{color:var(--color-text-secondary);line-height:1.5}.admin-project-stream li>div{grid-template-columns:minmax(0,1fr) auto;width:100%}.admin-project-stream li>div a,.admin-project-stream li>div small{grid-column:1}.admin-project-stream li em{color:var(--color-primary-600);background:var(--color-primary-50);border-radius:999px;grid-area:1/2;align-self:center;padding:3px 7px;font-size:10px;font-style:normal}.admin-project-stream li.is-risk>span{color:var(--color-danger);border-color:#ffcaca}.admin-project-stream li.is-risk em{color:var(--color-danger);background:#fff0f0}.admin-progress-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.admin-progress-stats span{color:var(--color-text-secondary);background:var(--color-primary-50);border-radius:10px;gap:2px;padding:9px 10px;font-size:10px;display:grid}.admin-progress-stats b{color:var(--color-primary-700);font-size:18px}.admin-progress-basis{color:var(--color-text-muted);margin:8px 0 9px;font-size:11px;line-height:1.45}.admin-project-progress__list{border-top:1px solid #edf2f9;max-height:510px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.admin-project-progress__list>li{border-bottom:1px solid #edf2f9;grid-template-columns:38px minmax(0,1fr);gap:9px;padding:7px 2px;display:grid}.admin-project-progress__list>li>span{width:36px;height:36px;color:var(--color-primary-600);background:var(--color-primary-100);border-radius:11px;place-items:center;display:grid}.admin-project-progress__list>li>span svg{width:18px;height:18px}.admin-project-progress__list>li.is-risk>span{color:var(--color-danger);background:#fff0f0}.admin-project-progress__list>li>div{grid-template-columns:minmax(0,1fr) minmax(130px,.65fr);align-items:center;gap:3px 9px;min-width:0;display:grid}.admin-project-progress__list header{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-project-progress__list header em{color:var(--color-primary-600);white-space:nowrap;background:var(--color-primary-50);border-radius:99px;padding:3px 7px;font-size:10px;font-style:normal}.admin-project-progress__list>li>div>small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-progress-warning{color:var(--color-danger);grid-column:1/-1;margin:0;font-size:11px}.admin-progress-report{background:#f8fafc;border-left:2px solid #bcd6ff;border-radius:0 9px 9px 0;grid-area:2/2;gap:1px;min-width:0;padding:4px 8px;display:grid}.admin-progress-report strong,.admin-progress-report small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-progress-report strong{font-size:11px;line-height:1.35}.admin-progress-report.is-empty{color:var(--color-text-muted);border-left-color:#dce5ef;font-size:11px}.admin-module-panel{padding:0;overflow:hidden}.admin-module-toggle{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.admin-module-toggle>span:first-child{gap:5px;display:grid}.admin-module-toggle small{font-size:11px}.admin-module-toggle strong{font-size:var(--font-size-subtitle)}.admin-module-toggle>span:last-child{color:var(--color-text-muted);font-size:12px}.admin-module-toggle b{margin-left:5px;font-size:18px;transition:transform .18s;display:inline-block}.admin-module-panel.is-expanded .admin-module-toggle b{transform:rotate(180deg)}.admin-module-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.admin-module-panel .admin-module-groups{border-top:1px solid #edf2f9;padding:0 22px 22px}.admin-module-panel .admin-module-groups>section{padding-top:18px}.admin-module-groups h3{color:var(--color-text-secondary);margin:0 0 10px;font-size:13px}.admin-module-groups section>div{gap:8px;display:grid}.admin-module-link{border-radius:var(--radius-card);border:1px solid #edf2f9;align-items:center;gap:11px;min-height:60px;padding:9px 12px;transition:border-color .15s,background .15s;display:flex}.admin-module-link:hover{background:var(--color-primary-50);border-color:#bcd6ff}.admin-module-link>span{width:34px;height:34px;color:var(--color-primary-600);background:var(--color-primary-100);border-radius:10px;flex:0 0 34px;place-items:center;font-weight:700;display:grid}.admin-module-link>span svg{width:17px;height:17px;transition:transform var(--motion-routine) var(--ease-arrive)}.admin-module-link:hover>span svg{transform:scale(1.1)}.admin-module-link>b{color:#9aa9bd;transition:transform var(--motion-routine) var(--ease-arrive), color var(--motion-routine) ease;font-size:20px}.admin-module-link:hover>b{color:var(--color-primary-600);transform:translate(3px)}.admin-module-link p{flex:1;gap:4px;margin:0;display:grid}.admin-module-link small{color:var(--color-text-secondary)}.admin-empty-copy{color:var(--color-text-secondary);text-align:center;border-radius:var(--radius-card);background:#f8fafc;justify-items:center;gap:10px;padding:26px 30px 30px;display:grid}.admin-empty-copy--compact{align-content:center;min-height:120px;padding:18px}.empty-sketch{color:#9fb3c8;width:64px}.empty-sketch path:not([stroke-dasharray]){stroke-dasharray:1;stroke-dashoffset:1px;animation:.7s ease-out forwards sketch-draw}.empty-sketch path:nth-child(2){animation-delay:.16s}.empty-sketch path:nth-child(3){animation-delay:.32s}@keyframes sketch-draw{to{stroke-dashoffset:0}}.admin-app [class*=-page]>:is(header,.page-heading,.page-hero,.cost-hero,.equipment-hero,.cashflow-hero):first-child{background:radial-gradient(circle at 88% 10%, #2b79f61a, transparent 40%), linear-gradient(120deg, var(--color-primary-50), #e6f0fa);border-radius:var(--radius-kpi);box-shadow:none;border:1px solid #cfe0f2;padding:24px 28px}.admin-app [class*=-page]>:first-child p:has(+h1){font-size:var(--font-size-caption);color:var(--color-primary-500);letter-spacing:.08em;margin:0 0 8px;font-weight:700}.admin-app [class*=-page]>:first-child h1{font-size:var(--font-size-title);color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 8px;font-weight:700;line-height:1.3}.admin-app [class*=-page]>:first-child h1~:is(p,span){max-width:82ch;color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.7}.admin-app .page-heading>div>p:last-child{color:var(--color-text-secondary);line-height:1.7}.admin-app :is(.el-card,.project-table){--el-card-border-color:var(--color-border);--el-card-border-radius:var(--radius-card)}.admin-app .el-card{box-shadow:none;transition:border-color var(--motion-routine) ease}.admin-app .el-card:hover{border-color:#bcd6ff}.dialog-fade-enter-active{animation:.18s ease-out admin-backdrop-in!important}.dialog-fade-leave-active{animation:.12s ease-in admin-backdrop-out!important}.dialog-fade-enter-active .el-overlay-dialog,.dialog-fade-leave-active .el-overlay-dialog{animation:none!important}.dialog-fade-enter-active .el-dialog{animation:admin-modal-content-in .18s var(--ease-arrive)}.dialog-fade-leave-active .el-dialog{animation:.12s ease-in admin-modal-content-out}.el-overlay.fade-in-linear-enter-active,.el-overlay.fade-in-linear-leave-active{transition:none!important}.el-overlay.fade-in-linear-enter-active{animation:.18s ease-out admin-backdrop-in!important}.el-overlay.fade-in-linear-leave-active{animation:.12s ease-in admin-backdrop-out!important}.el-overlay.fade-in-linear-enter-from,.el-overlay.fade-in-linear-leave-to{opacity:1}.el-overlay.fade-in-linear-enter-active .el-overlay-message-box,.el-overlay.fade-in-linear-leave-active .el-overlay-message-box{animation:none!important}.el-overlay.fade-in-linear-enter-active .el-message-box{animation:admin-modal-content-in .18s var(--ease-arrive)}.el-overlay.fade-in-linear-leave-active .el-message-box{animation:.12s ease-in admin-modal-content-out}.admin-app .el-card__header{border-bottom-color:var(--color-border);padding-block:15px}.admin-app .el-button{--el-border-radius-base:var(--radius-control);min-height:34px;font-weight:600}.admin-app .el-button:not(.is-disabled):active{transform:scale(.98)}.admin-app .el-button--primary:not(.is-plain,.is-link,.is-text){--el-button-bg-color:var(--color-primary-600);--el-button-border-color:var(--color-primary-600);--el-button-hover-bg-color:var(--color-primary-500);--el-button-hover-border-color:var(--color-primary-500);--el-button-active-bg-color:var(--color-primary-700);--el-button-active-border-color:var(--color-primary-700)}.admin-app .el-input__wrapper,.admin-app .el-select__wrapper,.login-card .el-input__wrapper{border-radius:var(--radius-control);box-shadow:0 0 0 1px var(--color-border-neutral) inset;transition:box-shadow var(--motion-routine) ease}.admin-app :is(.el-input__wrapper,.el-select__wrapper).is-focus,.login-card .el-input__wrapper.is-focus{box-shadow:0 0 0 1.5px var(--color-primary-500) inset}.admin-app .el-form-item.is-error :is(.el-input__wrapper,.el-select__wrapper){animation:admin-shake .36s var(--ease-arrive)}.admin-app .el-input__wrapper:hover,.admin-app .el-select__wrapper:hover,.login-card .el-input__wrapper:hover{box-shadow:inset 0 0 0 1px #9fb6cc}.admin-app .el-table{--el-table-header-bg-color:#edf3f8;--el-table-border-color:#e0e7ee;--el-table-row-hover-bg-color:#f1f7fe;color:var(--color-text-primary)}.admin-app .el-table th.el-table__cell{color:#41546a;height:44px;font-size:12px;font-weight:700}.admin-app .el-table td.el-table__cell{padding-block:11px;transition:background-color .14s}.admin-app .el-pagination{--el-pagination-hover-color:var(--color-primary-600)}.admin-app [class*=-page]{color:var(--color-text-primary)}.admin-app [class*=-page] :is(.page-hero,.page-heading) h1{color:var(--color-text-primary);letter-spacing:-.02em}.admin-app [class*=-page] :is(.page-hero,.page-heading) p{color:var(--color-text-secondary);line-height:1.7}.admin-app .cashflow-page .cashflow-hero:after{display:none}.admin-app :is(.payment-page,.material-page) .metric-grid article,.admin-app .equipment-page .equipment-kpis article,.admin-app .cashflow-page .cashflow-kpi,.admin-app .cost-page :is(.metrics article,.panel),.admin-app .approval-page .approval-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:none}.admin-app .payment-page .metric-grid .metric-paid{background:var(--color-primary-50);border-color:#c5d9ed}.admin-app .payment-page .metric-grid .metric-paid span{color:var(--color-text-secondary)}.admin-app .payment-page .metric-grid .metric-paid strong{color:var(--color-primary-700)}.admin-app :is(.payment-page,.material-page,.equipment-page,.cashflow-page,.cost-page) :is(.metric-grid,.equipment-kpis,.cashflow-kpis,.metrics) :is(span,small){color:var(--color-text-secondary)}.admin-app :is(.payment-page,.material-page,.equipment-page,.cashflow-page,.cost-page) :is(.metric-grid,.equipment-kpis,.cashflow-kpis,.metrics) strong{color:var(--color-text-primary)}.admin-app :is(.payment-page,.material-page,.equipment-page,.cashflow-page,.daily-page,.data-exchange-page) :is(.filter-card,.filters,.cashflow-filters,.operation-card),.admin-app .cost-page .breakdown div,.admin-app :is(.payment-page,.material-page,.approval-page,.daily-page) :is(.detail-hero,.payment-summary,.amount-grid article,.node-editor,.add-sign-panel){background:var(--color-surface-subtle);border-color:var(--color-border);border-radius:var(--radius-card);box-shadow:none}.admin-app .ai-page .review-section pre{color:var(--color-text-primary);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-control)}.admin-app .cashflow-page .cashflow-trend article:nth-child(odd){background:var(--color-surface-subtle)}.el-message{animation:admin-message-arrive var(--motion-routine) var(--ease-arrive) both}@keyframes admin-flow-trace{0%{opacity:.3;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes admin-flow-confirm{0%{clip-path:circle(34%);border-color:#0000;transform:scale(.88)}to{clip-path:circle(72%);border-color:#c8dcff;transform:scale(1)}}@keyframes admin-backdrop-in{0%{background-color:#0000}to{background-color:var(--el-overlay-color-lighter)}}@keyframes admin-backdrop-out{0%{background-color:var(--el-overlay-color-lighter)}to{background-color:#0000}}@keyframes admin-modal-content-in{0%{transform:translateY(-8px)scale(.995)}to{transform:translateY(0)scale(1)}}@keyframes admin-modal-content-out{0%{transform:translateY(0)scale(1)}to{transform:translateY(-6px)scale(.995)}}@keyframes admin-message-arrive{0%{clip-path:inset(0 0 36%);opacity:.65;transform:translateY(-6px)}to{clip-path:inset(0);opacity:1;transform:translateY(0)}}@keyframes login-ambient{0%{transform:translate(-1.5%,-1%)scale(1)}to{transform:translate(1.5%,2%)scale(1.05)}}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes login-line{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes login-node{0%{opacity:0;transform:rotate(45deg)scale(.4)}to{opacity:1;transform:rotate(45deg)scale(1)}}@keyframes login-error-in{0%{opacity:0}to{opacity:1}}@keyframes blueprint-draw{to{stroke-dashoffset:0}}@keyframes admin-shake{20%{transform:translate(-3px)}45%{transform:translate(3px)}70%{transform:translate(-2px)}90%{transform:translate(1px)}}.module-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:48px;display:grid}.module-card{background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:24px;font-weight:700;box-shadow:0 12px 28px #223d6314}.login-page{background:var(--color-brand-deep);place-items:center;min-height:100vh;padding:48px;display:grid;position:relative;overflow:hidden}.login-page:before{pointer-events:none;content:"";background:radial-gradient(460px 460px at 18% 22%,#1473d429,#0000 68%),radial-gradient(560px 560px at 46% 82%,#58a9e91a,#0000 72%),radial-gradient(520px 520px at 84% 30%,#1473d41f,#0000 70%);animation:26s ease-in-out infinite alternate login-ambient;position:absolute;inset:-20%}.login-brand{z-index:2;color:#fff;animation:login-rise .48s var(--ease-arrive) both;align-items:center;gap:12px;display:flex;position:absolute;top:34px;left:44px}.login-brand>span{background:linear-gradient(140deg,#e05a4b,#b23530);border:1px solid #ffbaaf8c;border-radius:11px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 22px -14px #000000bf}.login-brand>span svg{color:#fff;width:24px;height:24px}.login-brand__word{gap:5px;display:grid}.login-brand__title{align-items:baseline;gap:11px;display:flex}.login-brand__title b{color:#f2907c;letter-spacing:.03em;-webkit-text-fill-color:transparent;background:linear-gradient(125deg,#ffe3da 6%,#f2907c 50%,#e05a4b 92%);-webkit-background-clip:text;background-clip:text;font-family:STXingkai,华文行楷,STXinwei,华文新魏,LiSu,隶书,KaiTi,楷体,serif;font-size:40px;font-weight:400;line-height:1}.login-brand__title>span{color:#e8f2fb;letter-spacing:.42em;font-size:17px;font-weight:300}.login-brand__stroke{color:#e05a4b;transform-origin:0;width:158px;height:7px;animation:brand-stroke .7s var(--ease-arrive) both;animation-delay:.48s}@keyframes brand-stroke{0%{opacity:0;transform:scaleX(0)}to{opacity:.8;transform:scaleX(1)}}.login-brand small{color:#ffffff8c;letter-spacing:.22em;font-size:11px}.login-footer{z-index:2;color:#c6d9ea80;text-align:center;margin:0;font-size:12px;position:absolute;bottom:14px;left:0;right:0}.login-leaves{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-leaf{color:#e05a4b;opacity:0;width:20px;height:20px;animation:linear infinite login-leaf-fall;position:absolute;top:-6%}.login-leaf--1{animation-duration:17s;left:10%}.login-leaf--2{color:#d97748;width:15px;animation-duration:23s;animation-delay:7s;left:32%}.login-leaf--3{color:#c96a3f;width:13px;animation-duration:20s;animation-delay:12s;left:58%}.login-leaf--4{width:17px;animation-duration:26s;animation-delay:4s;left:82%}@keyframes login-leaf-fall{0%{opacity:0;transform:translateY(-4vh)rotate(0)}8%{opacity:.38}50%{transform:translate(4vw,48vh)rotate(170deg)}90%{opacity:.3}to{opacity:0;transform:translate(-3vw,106vh)rotate(330deg)}}.login-blueprint{color:#6db1e8;pointer-events:none;opacity:.4;width:min(30vw,430px);position:absolute;bottom:5%;left:2.5%}.login-blueprint path{stroke-dasharray:1;stroke-dashoffset:1px;animation:blueprint-draw 1.5s var(--ease-arrive) forwards}.login-blueprint path:first-child{animation-delay:.2s}.login-blueprint path:nth-child(2){animation-delay:.38s}.login-blueprint path:nth-child(3){animation-delay:.62s}.login-blueprint path:nth-child(4){animation-delay:.82s}.login-blueprint path:nth-child(5){animation-delay:1s}.login-blueprint path:nth-child(6){animation-delay:1.2s}.login-blueprint path:nth-child(7){animation-delay:1.4s}.login-blueprint path:nth-child(8){animation-delay:1.6s}.login-panel{z-index:1;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center;gap:clamp(64px,9vw,132px);width:min(1120px,100%);display:grid;position:relative}.login-copy{color:#fff;padding-left:28px;position:relative}.login-copy:before{content:"";transform-origin:top;width:1px;animation:login-line .62s var(--ease-arrive) both;background:#58a9e9;animation-delay:.3s;position:absolute;top:5px;bottom:4px;left:0}.login-copy:after{content:"";width:13px;height:13px;animation:login-node .36s var(--ease-arrive) both;background:#0a2744;border:1px solid #78c0f4;animation-delay:.82s;position:absolute;top:5px;left:-6px;transform:rotate(45deg)}.login-copy .eyebrow{color:#82c7f6;letter-spacing:.12em;animation:login-rise .46s var(--ease-arrive) both;margin:0 0 22px;font-size:13px;animation-delay:60ms}.login-copy h1{color:#fff;text-wrap:balance;letter-spacing:-.025em;max-width:12ch;animation:login-rise .52s var(--ease-arrive) both;margin:0 0 24px;font-size:clamp(38px,4.2vw,58px);font-weight:700;line-height:1.25;animation-delay:.14s}.login-copy>p:last-child{color:#c6d9ea;max-width:42ch;animation:login-rise .52s var(--ease-arrive) both;margin:0;font-size:15px;line-height:1.9;animation-delay:.22s}.login-card{animation:login-rise .56s var(--ease-arrive) both;background:#fff;border:0;border-radius:14px;padding:38px 36px;animation-delay:.18s;position:relative;box-shadow:0 34px 80px -42px #000814d9}.login-card:before{content:"";background:linear-gradient(90deg, var(--color-primary-600) 0 58%, #8fc3ee 58% 84%, #e05a4b 84%);height:3px;position:absolute;top:0;left:36px;right:36px}.login-card h2{color:var(--color-text-primary);letter-spacing:-.02em;margin:4px 0 28px;font-size:24px}.login-card .el-form-item{margin-bottom:20px}.login-card .el-form-item__label{color:#41546a;font-weight:600}.login-card .el-input__wrapper{min-height:43px;padding-inline:13px}.login-card .el-button--primary{background:var(--color-primary-600);border-color:var(--color-primary-600);border-radius:var(--radius-control);min-height:44px;transition:transform var(--motion-immediate) ease, box-shadow var(--motion-routine) ease, background-color var(--motion-routine) ease, border-color var(--motion-routine) ease;font-weight:700}.login-card .el-button--primary:hover{background:var(--color-primary-500);border-color:var(--color-primary-500);box-shadow:0 12px 22px -14px #0a5ebd8c}.login-error{animation:login-error-in .22s ease both, admin-shake .36s 40ms var(--ease-arrive);margin:-4px 0 18px}.login-error .el-alert__title{line-height:1.55}.full-button{width:100%}.form-note{color:var(--color-text-muted);margin:18px 0 0;font-size:12px;line-height:1.7}.identity-page{min-height:100vh;padding:32px clamp(20px,4vw,64px)}.page-heading{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.inline-form,.role-form{background:var(--color-surface-subtle);border-radius:12px;margin-bottom:20px;padding:20px}.role-form{max-width:900px}.tenant-card{margin-bottom:20px}.identity-heading>div>p:last-child{max-width:68ch;color:var(--color-text-secondary);margin:0}.identity-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.identity-summary article{background:var(--color-surface);border:1px solid var(--color-border-neutral);border-radius:var(--radius-card);grid-template-columns:1fr auto;gap:5px 16px;min-width:0;padding:16px 18px;display:grid}.identity-summary span{color:var(--color-text-secondary);font-size:13px}.identity-summary strong{color:var(--color-primary-600);grid-area:1/2/3;align-self:center;font-size:28px}.identity-summary small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.identity-tenant-card .el-card__header{padding-block:15px}.identity-tenant-card .el-form-item{margin-bottom:0}.identity-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.identity-section-heading>div{gap:4px;display:grid}.identity-section-heading small{color:var(--color-text-muted)}.identity-tabs{border-radius:var(--radius-card);overflow:hidden}.identity-tabs>.el-tabs__content{padding:22px}.identity-tab-intro{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.identity-tab-intro h2{font-size:var(--font-size-subtitle);margin:0 0 6px}.identity-tab-intro p{max-width:72ch;color:var(--color-text-secondary);margin:0;line-height:1.6}.identity-create-form{flex-wrap:wrap;align-items:end;display:flex}.identity-create-form .el-form-item{margin-right:12px}.identity-create-form .el-select{min-width:150px}.identity-user-cell{gap:5px;min-width:0;display:grid}.identity-user-cell :is(span,strong,small){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.identity-user-cell small{color:var(--color-text-muted)}.identity-status-stack{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.identity-permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 12px;width:100%;display:grid}.identity-dialog-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.identity-dialog-grid .el-select,.identity-full-width{width:100%}.identity-invitation-link{margin-top:18px}.invitation-accept-panel{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:64px;width:min(1040px,100%);display:grid}.invitation-accept-copy h1{max-width:560px}.invitation-accept-copy>p:last-child{max-width:60ch;color:var(--color-text-secondary);line-height:1.8}.invitation-result{text-align:center}.invitation-result__mark{color:#fff;background:var(--color-success);border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 18px;font-size:26px;font-weight:700;display:grid}.invitation-result h2{margin:0 0 18px}.invitation-result p{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-neutral);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.invitation-result .full-button{margin-top:18px}.counterparty-page{min-height:100vh;padding:32px clamp(20px,4vw,64px)}.page-actions{gap:12px;display:flex}.filter-card{margin-bottom:20px}.filter-card .el-form-item{margin-bottom:0}.filter-card .el-input{width:280px}.filter-card .el-select{width:150px}.table-pagination{justify-content:flex-end;margin-top:20px}.muted{color:var(--color-text-muted);font-size:13px}.counterparty-form-grid{grid-template-columns:1fr 1fr;column-gap:20px;display:grid}.counterparty-form-grid .full-row{grid-column:1/-1}.project-page{min-height:100vh;padding:32px clamp(20px,4vw,64px)}.heading-actions,.status-action{align-items:center;gap:12px;display:flex}.project-filter{margin-bottom:20px}.project-filter-form{align-items:flex-start;gap:12px;display:flex}.project-filter-form .el-form-item{margin-bottom:0;margin-right:0}.project-filter-form .el-input{width:220px}.project-filter-form .el-select{width:150px}.project-filter-form>.el-button{flex:none;margin-left:0}.project-table{border-radius:12px}.project-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.project-form-grid .span-2{grid-column:1/-1}.project-form-grid .el-select,.project-form-grid .el-date-editor{width:100%}.project-title-row{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.project-title-row span{color:var(--color-text-muted)}.project-title-row h2{margin:6px 0 0}.status-action{background:var(--color-surface-subtle);border-radius:12px;margin:28px 0;padding:18px}.status-action h3{margin:0 auto 0 0}.el-timeline-item p{color:var(--color-text-muted);margin:6px 0}.settings-page{min-height:100vh;padding:32px clamp(20px,4vw,64px)}.settings-summary{margin-bottom:20px}.settings-summary .el-card{height:100%}.settings-card{margin-top:20px}.audit-filters{background:var(--color-surface-subtle);border-radius:12px;margin-bottom:12px;padding:16px}.audit-pagination{justify-content:flex-end;margin-top:20px}.contract-page{min-height:100vh;padding:32px clamp(20px,4vw,64px)}.contract-filter{margin-bottom:20px}.contract-filter .el-input{width:220px}.contract-filter .el-select{width:170px}.contract-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.contract-form-grid .span-2{grid-column:1/-1}.contract-form-grid .el-select,.contract-form-grid .el-date-editor,.contract-form-grid .el-input-number{width:100%}.contract-title-row,.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.contract-title-row span,.contract-title-row p{color:var(--color-text-muted)}.contract-title-row h2{margin:6px 0}.amount-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.amount-grid div{background:var(--color-surface-subtle);border-radius:12px;gap:8px;padding:18px;display:grid}.amount-grid span{color:var(--color-text-muted);font-size:13px}.amount-grid strong{font-size:20px}.amount-grid .dynamic{color:var(--color-primary-700);background:var(--color-primary-50);border:1px solid #c5d9ed}.amount-grid .dynamic span{color:var(--color-primary-600)}.contract-actions{background:var(--color-surface-subtle);border-radius:12px;align-items:center;gap:10px;margin:22px 0;padding:16px;display:flex}.contract-actions strong{margin-right:auto}.attachment-section,.change-section{margin-top:28px}.section-heading{align-items:center;margin-bottom:12px}.file-page{min-height:100vh;padding:32px clamp(20px,4vw,64px)}.file-filter{margin-bottom:16px}.file-filter .el-select{min-width:210px}.file-summary{margin-bottom:16px}.file-tag{margin-right:5px}.version-upload{align-items:center;gap:16px;display:flex}.version-list{margin-top:28px}.version-list p{color:var(--color-text-muted);margin:6px 0;font-size:13px}.file-page input[type=file]{max-width:100%}.invoice-page{min-height:100vh;padding:32px clamp(20px,4vw,64px)}.invoice-filter{margin-bottom:16px}.invoice-filter .el-input{width:210px}.invoice-filter .el-select{width:170px}.invoice-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.invoice-form-grid .span-2{grid-column:1/-1}.invoice-form-grid .el-select,.invoice-form-grid .el-date-editor,.invoice-form-grid .el-input-number{width:100%}.invoice-title-row,.invoice-actions{align-items:center;gap:12px;display:flex}.invoice-title-row{justify-content:space-between;align-items:flex-start}.invoice-title-row span,.invoice-title-row p{color:var(--color-text-muted)}.invoice-title-row h2{margin:6px 0}.invoice-amount-grid{grid-template-columns:1fr 1fr;gap:0 12px;margin:20px 0;display:grid}.invoice-amount-grid div{background:var(--color-surface-subtle);border-radius:12px;gap:8px;padding:18px;display:grid}.invoice-amount-grid span{color:var(--color-text-muted);font-size:13px}.invoice-amount-grid strong{font-size:18px}.invoice-actions{background:var(--color-surface-subtle);border-radius:12px;margin:22px 0;padding:16px}.invoice-actions strong{margin-right:auto}.red-history{margin-top:28px}.red-form{margin-top:18px}.invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.invoice-summary .el-card__body{gap:8px;display:grid}.invoice-summary span{color:var(--color-text-muted)}.invoice-summary strong{font-size:24px}.receivable-page{min-height:100vh}.receivable-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.receivable-summary .el-card__body{align-content:center;gap:8px;min-height:92px;display:grid}.receivable-summary span{color:var(--color-text-secondary);font-size:13px}.receivable-summary strong{color:var(--color-text-primary);font-size:24px}.receivable-summary .overdue-card strong{color:var(--color-danger)}.receivable-filter{margin-bottom:18px}.invoice-attachment-picker{gap:10px;margin-bottom:12px;display:flex}@media (width<=760px){.login-page{background:var(--color-brand-deep);min-height:100dvh;padding:32px 20px}.login-page:before{inset:0}.login-blueprint{display:none}.login-brand{margin:18px 0 0 20px;position:static}.login-panel{grid-template-columns:1fr;gap:32px;width:min(440px,100%)}.login-copy{padding-left:20px}.login-copy h1{max-width:14ch;font-size:clamp(32px,10vw,42px)}.login-card{padding:32px 24px}.invitation-accept-panel{grid-template-columns:1fr;gap:24px}.invitation-accept-copy h1{font-size:34px}.page-heading{flex-direction:column;align-items:flex-start;gap:16px}.counterparty-form-grid{grid-template-columns:1fr}.counterparty-form-grid .full-row{grid-column:auto}.project-form-grid{grid-template-columns:1fr}.project-form-grid .span-2{grid-column:auto}.contract-form-grid{grid-template-columns:1fr}.contract-form-grid .span-2{grid-column:auto}.amount-grid,.invoice-form-grid{grid-template-columns:1fr}.invoice-form-grid .span-2{grid-column:auto}.invoice-amount-grid,.identity-summary,.identity-dialog-grid,.identity-permission-grid{grid-template-columns:1fr}}@media (width<=1280px){.admin-workbench__hero{grid-template-columns:minmax(0,1fr) 320px}.admin-module-groups,.identity-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1199px){.admin-app,.admin-app--collapsed{display:block}.admin-sidebar{width:min(288px,100vw - 48px);height:100dvh;position:fixed;left:0;right:auto;transform:translate(-102%)}.admin-app--mobile-open .admin-sidebar{transform:translate(0)}.admin-app--collapsed .admin-brand{padding:0 18px}.admin-app--collapsed .admin-brand__copy,.admin-app--collapsed .admin-navigation__group>.admin-navigation__group-toggle,.admin-app--collapsed .admin-navigation__item>span:last-child{display:grid}.admin-app--collapsed .admin-navigation__item{justify-content:flex-start;padding:0 10px}.admin-sidebar__toggle{display:none}.admin-sidebar__mobile-close{width:42px;height:42px;color:var(--color-text-secondary);cursor:pointer;background:var(--color-surface-subtle);border:0;border-radius:10px;place-items:center;font-size:25px;display:grid;position:absolute;top:15px;right:12px}.admin-navigation-backdrop{z-index:29;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#07192c8f;border:0;display:block;position:fixed;inset:0}.admin-mobile-menu{cursor:pointer;border-radius:10px;flex:0 0 44px;place-items:center;width:44px;height:44px;margin-left:-8px;display:inline-grid}.admin-mobile-menu:hover{background:var(--color-primary-50)}.admin-workbench__hero{grid-template-columns:1fr}.admin-workbench__visual{display:none}.admin-workbench__columns{grid-template-columns:1fr}.admin-app :is(.receivable-summary,.invoice-summary,.identity-summary,.metric-grid,.metrics,.summary,.equipment-kpis,.cashflow-kpis,.payroll-summary,.detail-metrics,.amount-grid){grid-template-columns:repeat(2,minmax(0,1fr))}.admin-app :is(.page-heading,.page-hero,.equipment-hero,.cashflow-hero,.cost-hero),.admin-app :is(.dashboard-page,.reminder-page,.labor-page,.data-exchange-page)>header:first-child{min-width:0}.admin-app :is(.heading-actions,.page-actions,.hero-actions,.cashflow-hero__actions,.section-heading,.section-head,.section-title,.detail-actions,.contract-actions,.invoice-actions,.status-action,.version-upload,.toolbar,.filters,.cashflow-filters,.cashflow-month-filters,.identity-section-heading,.identity-tab-intro){flex-wrap:wrap}.admin-app :is(.el-card,.el-card__body,.el-tabs,.el-tabs__content,.el-tab-pane){min-width:0;max-width:100%}.admin-app .el-table{width:100%;min-width:0;max-width:100%}}@media (width<=760px){.admin-topbar{min-height:60px;padding:0 14px}.admin-topbar>div:first-child{flex:1}.admin-topbar>div:first-child>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-topbar__context,.admin-topbar__notice,.admin-user__copy{display:none}.admin-topbar__actions{flex:none;gap:4px}.admin-app__content{min-height:calc(100vh - 60px);overflow-x:hidden}.admin-workbench,.admin-app__content>[class*=-page]{padding:16px}.admin-workbench__hero-copy{padding:28px 22px}.admin-workbench__facts,.admin-priority-grid,.admin-module-groups{grid-template-columns:1fr}.admin-app :is(.page-heading,.page-hero,.equipment-hero,.cashflow-hero,.cost-hero),.admin-app :is(.dashboard-page,.reminder-page,.labor-page,.data-exchange-page)>header:first-child{flex-direction:column;align-items:stretch;gap:16px}.admin-app [class*=-page]>:is(header,.page-heading,.page-hero,.cost-hero,.equipment-hero,.cashflow-hero):first-child{padding:18px 16px}.admin-app :is(.page-heading,.page-hero,.equipment-hero,.cashflow-hero,.cost-hero) h1,.admin-app :is(.dashboard-page,.reminder-page,.labor-page,.data-exchange-page)>header:first-child h1{font-size:clamp(25px,8vw,30px);line-height:1.25}.admin-app :is(.heading-actions,.page-actions,.hero-actions,.cashflow-hero__actions){align-items:stretch;width:100%}.admin-app :is(.heading-actions,.page-actions,.hero-actions,.cashflow-hero__actions)>*{flex:auto}.admin-app :is(.receivable-summary,.invoice-summary,.identity-summary,.metric-grid,.metrics,.summary,.equipment-kpis,.cashflow-kpis,.payroll-summary,.detail-metrics,.amount-grid,.breakdown){grid-template-columns:1fr}.admin-app :is(.filter-card,.project-filter,.contract-filter,.invoice-filter,.file-filter,.receivable-filter,.audit-filters,.filters,.cashflow-filters,.operation-card) .el-form--inline{grid-template-columns:1fr;gap:12px;display:grid}.admin-app :is(.filter-card,.project-filter,.contract-filter,.invoice-filter,.file-filter,.receivable-filter,.audit-filters,.filters,.cashflow-filters,.operation-card) :is(.el-form-item,.el-input,.el-select,.el-date-editor,.el-input-number){width:100%;max-width:100%;margin-right:0}.admin-app :is(.filter-card,.project-filter,.contract-filter,.invoice-filter,.file-filter,.receivable-filter,.audit-filters,.filters,.cashflow-filters,.operation-card) .el-form--inline>.el-button{width:100%;min-height:42px}.admin-app :is(.section-heading,.section-head,.section-title,.detail-hero,.detail-summary,.contract-actions,.invoice-actions,.status-action,.detail-actions,.actions,.version-upload,.toolbar,.identity-section-heading,.identity-tab-intro){flex-direction:column;align-items:stretch}.admin-app :is(.filters,.cashflow-filters,.cashflow-month-filters){width:100%;min-width:0;max-width:100%}.admin-app :is(.filters,.cashflow-filters,.cashflow-month-filters) :is(.el-select,.el-date-editor,.el-input,.el-input-number),.admin-app :is(.labor-page,.dashboard-page,.reminder-page)>header:first-child .el-select{min-width:0;max-width:100%;width:100%!important}.admin-app .el-table .el-table-fixed-column--right{position:static!important;right:auto!important}.admin-app .el-pagination{flex-wrap:wrap;justify-content:flex-start;gap:8px}.admin-app .el-dialog{max-width:calc(100vw - 24px);margin-top:7vh;width:calc(100vw - 24px)!important}.admin-app .el-drawer{max-width:94vw}}@media (width<=480px){.admin-sidebar{width:min(280px,100vw - 32px)}.admin-user__avatar{margin-left:0}.admin-logout{padding-inline:6px}.admin-app .el-dialog .el-form-item{display:block}.admin-app .el-dialog .el-form-item__label{height:auto;margin-bottom:6px;padding:0;line-height:1.5;width:auto!important}.admin-app .el-dialog .el-form-item__content{margin-left:0!important}}@media (pointer:coarse){.admin-app :is(button,.el-button,.el-radio-button__inner,.el-checkbox){min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.platform-login-page{color:#14263d;background:#f4f7fb;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.platform-login-intro{color:#edf5ff;background:#0d2947;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(36px,6vw,76px);display:flex;position:relative;overflow:hidden}.platform-login-intro:after{pointer-events:none;content:"";filter:blur(2px);opacity:.45;background:#164f82;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-120px}.platform-login-brand{z-index:1;color:#fff;align-items:center;gap:12px;width:fit-content;display:flex;position:relative}.platform-login-brand>span,.platform-console__brand>span{color:#fff;background:#d95545;border-radius:12px;place-items:center;width:42px;height:42px;font-size:18px;font-weight:800;display:grid}.platform-login-intro>div{z-index:1;max-width:720px;margin-block:clamp(48px,10vh,120px);position:relative}.platform-login-intro>div>p:first-child{color:#85baf0;letter-spacing:.16em;margin:0 0 16px;font-size:12px;font-weight:700}.platform-login-intro h1{text-wrap:balance;letter-spacing:-.025em;max-width:14ch;margin:0 0 24px;font-size:clamp(38px,5vw,66px);line-height:1.08}.platform-login-intro>div>p:last-child{color:#c8dbef;max-width:58ch;margin:0;font-size:16px;line-height:1.9}.platform-login-intro ol{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid;position:relative}.platform-login-intro li{border-top:1px solid #b7d8f752;gap:12px;min-width:0;padding-top:14px;display:flex}.platform-login-intro li>b{color:#75b7f4}.platform-login-intro li>span{gap:5px;display:grid}.platform-login-intro li small{color:#a9c5df;line-height:1.55}.platform-login-form{place-items:center;min-height:100vh;padding:40px clamp(28px,6vw,80px);display:grid}.platform-login-form__inner{width:min(100%,420px)}.platform-login-form__heading{margin-bottom:34px}.platform-login-form__heading>span{color:#155b91;background:#e4f0fb;border-radius:6px;margin-bottom:16px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-block}.platform-login-form h2{letter-spacing:-.02em;margin:0 0 10px;font-size:30px}.platform-login-form__heading p{color:#64758a;margin:0}.platform-login-form .el-form-item{margin-bottom:22px}.platform-login-form .el-input__wrapper{min-height:48px}.platform-login-error{margin-bottom:18px}.platform-login-switch{color:#24689d;text-align:center;margin-top:24px;font-size:14px;display:block}.platform-login-switch:hover{color:#164d77;text-decoration:underline}.platform-console{color:#14263d;background:#f3f6fa;grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.platform-console__rail{color:#dce9f6;background:#102d4b;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.platform-console__brand{color:#fff;align-items:center;gap:11px;padding:3px 6px 24px;display:flex}.platform-console__brand>span{border-radius:10px;width:38px;height:38px}.platform-console__brand>div{gap:3px;display:grid}.platform-console__brand small{color:#89a8c5;letter-spacing:.12em;font-size:10px}.platform-console__rail nav{border-top:1px solid #bed8f02e;gap:5px;padding-top:16px;display:grid}.platform-console__rail nav a{color:#bcd0e3;border-radius:9px;align-items:center;gap:11px;min-height:44px;padding:0 12px;display:flex}.platform-console__rail nav a>span{color:#d9ebfb;background:#ffffff14;border-radius:7px;place-items:center;width:27px;height:27px;font-size:12px;display:grid}.platform-console__rail nav a:hover,.platform-console__rail nav a.is-active{color:#fff;background:#1c4b77}.platform-console__boundary{background:#173b5f;border-radius:12px;margin-top:auto;padding:16px}.platform-console__boundary strong{color:#fff;font-size:13px}.platform-console__boundary p{color:#b5cce1;margin:8px 0 0;font-size:12px;line-height:1.7}.platform-console__workspace{min-width:0}.platform-console__topbar{z-index:10;background:#fffffff5;border-bottom:1px solid #dce4ee;justify-content:space-between;align-items:center;min-height:68px;padding:0 28px;display:flex;position:sticky;top:0}.platform-console__topbar>div:first-child,.platform-console__account>div{gap:3px;display:grid}.platform-console__topbar small{color:#687b90}.platform-console__account{align-items:center;gap:10px;display:flex}.platform-console__account>span{color:#fff;background:#1c5e95;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.platform-console__account>div{min-width:110px}.platform-console__account button{color:#5d7085;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:34px;padding:0 10px}.platform-console__account button:hover{color:#174f7a;background:#e9f1f8}.platform-console__content{gap:22px;width:min(100%,1500px);margin-inline:auto;padding:32px;display:grid}.platform-console__heading{justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 2px 6px;display:flex}.platform-console__heading p{color:#1b6aa4;margin:0 0 10px;font-size:12px;font-weight:700}.platform-console__heading h1{text-wrap:balance;letter-spacing:-.025em;max-width:24ch;margin:0 0 12px;font-size:clamp(28px,3vw,42px);line-height:1.2}.platform-console__heading div>span{color:#627489;line-height:1.7}.platform-console__status{background:#fff;border:1px solid #dce4ee;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.platform-console__status button{color:#5b6d80;cursor:pointer;background:0 0;border:0;border-right:1px solid #e3e9f0;justify-content:space-between;align-items:center;min-height:62px;padding:0 20px;display:flex}.platform-console__status button:last-child{border-right:0}.platform-console__status button:hover{background:#f5f9fc}.platform-console__status button.is-active{color:#15598d;background:#e9f3fb}.platform-console__status strong{font-size:20px}.platform-tenant-ledger{background:#fff;border:1px solid #dce4ee;border-radius:14px;min-height:360px;overflow:hidden}.platform-tenant-ledger__header{justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px 18px;display:flex}.platform-tenant-ledger__header h2{margin:0 0 7px;font-size:20px}.platform-tenant-ledger__header p,.platform-tenant-ledger__header>span{color:#6b7d90;margin:0}.platform-tenant-ledger .el-table{border-top:1px solid #e5eaf0}.platform-tenant-actions{flex-wrap:wrap;align-items:center;gap:2px 4px;display:flex}.platform-tenant-actions .el-button+.el-button{margin-left:0}.platform-tenant-actions>span{color:#8796a6}.platform-tenant-operation-form{padding-top:18px}.platform-tenant-operation-form .el-select,.platform-quota-form .el-input-number{width:100%}.platform-quota-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.platform-ai-gateway-panel{background:#fff;border:1px solid #dce4ee;border-radius:14px;min-height:430px;padding:24px}.platform-ai-gateway-panel__header{border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.platform-ai-gateway-panel__header h2{margin:0 0 7px;font-size:20px}.platform-ai-gateway-panel__header p,.platform-ai-gateway-panel__header>span{color:#6b7d90;margin:0}.platform-ai-gateway-panel__selector{grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:14px;max-width:820px;padding:24px 0;display:grid}.platform-ai-gateway-panel__selector .el-select{width:100%}.platform-ai-gateway-tenant{background:#f4f8fc;border:1px solid #d8e5f0;border-radius:12px;grid-template-columns:minmax(240px,1fr) minmax(280px,1fr);gap:24px;max-width:820px;padding:22px;display:grid}.platform-ai-gateway-tenant>div{gap:6px;display:grid}.platform-ai-gateway-tenant small,.platform-ai-gateway-tenant dt{color:#6b7d90}.platform-ai-gateway-tenant strong{font-size:18px}.platform-ai-gateway-tenant code{color:#1f608f;background:#e5f1fa;border-radius:5px;width:fit-content;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.platform-ai-gateway-tenant dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.platform-ai-gateway-tenant dl>div{align-content:start;gap:7px;display:grid}.platform-ai-gateway-tenant dd{margin:0;font-weight:600}.platform-tenant-name{gap:6px;padding-block:5px;display:grid}.platform-tenant-name code,.platform-access-result code{color:#1f608f;background:#edf5fb;border-radius:5px;width:fit-content;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.platform-tenant-name code{padding:2px 6px;font-size:12px}.platform-provision-intro{color:#35546f;background:#edf5fb;border-radius:9px;margin:0 0 20px;padding:13px 15px;line-height:1.7}.platform-provision-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.platform-provision-form .el-select{width:100%}.platform-provision-form small{color:#738599;padding-top:6px;line-height:1.5;display:block}.platform-provision-form__password{grid-column:1/-1}.platform-access-result{gap:18px;display:grid}.platform-access-result__mark{color:#fff;background:#27835c;border-radius:50%;place-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:grid}.platform-access-result>p{color:#53677c;margin:0;line-height:1.75}.platform-access-result dl{border-top:1px solid #e1e8ef;margin:0;display:grid}.platform-access-result dl>div{border-bottom:1px solid #e1e8ef;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px;min-height:58px;display:grid}.platform-access-result dt{color:#6a7b8e}.platform-access-result dd{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin:0;display:flex}.platform-access-result code{text-overflow:ellipsis;max-width:100%;padding:4px 7px;overflow:hidden}.platform-access-result dd button{color:#1d6295;cursor:pointer;background:#fff;border:1px solid #b9cee0;border-radius:7px;flex:none;min-height:32px;padding:0 9px}.platform-access-result dd button:hover{background:#edf5fb}@media (width<=980px){.platform-login-page{grid-template-columns:1fr}.platform-login-intro{min-height:auto;padding:38px 28px}.platform-login-intro>div{margin-block:58px}.platform-login-form{min-height:auto;padding-block:64px}.platform-console{grid-template-columns:1fr}.platform-console__rail{grid-template-columns:auto 1fr;align-items:center;gap:24px;height:auto;padding:14px 20px;display:grid;position:static}.platform-console__brand{padding:0}.platform-console__rail nav{border:0;justify-self:end;padding:0}.platform-console__boundary{display:none}}@media (width<=700px){.platform-login-intro ol{grid-template-columns:1fr}.platform-login-form{padding:48px 22px}.platform-console__rail{grid-template-columns:1fr}.platform-console__rail nav{justify-self:stretch}.platform-console__topbar{padding:0 16px}.platform-console__topbar>div:first-child,.platform-console__account>div{display:none}.platform-console__content{padding:22px 16px}.platform-console__heading,.platform-tenant-ledger__header,.platform-ai-gateway-panel__header{flex-direction:column;align-items:stretch}.platform-console__heading .el-button{width:100%}.platform-console__status{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-console__status button:nth-child(2){border-right:0}.platform-console__status button:nth-child(-n+2){border-bottom:1px solid #e3e9f0}.platform-provision-form__grid,.platform-quota-form,.platform-ai-gateway-panel__selector,.platform-ai-gateway-tenant{grid-template-columns:1fr}.platform-provision-form__password{grid-column:auto}.platform-console .el-dialog{max-width:calc(100vw - 24px);width:calc(100vw - 24px)!important}.platform-access-result dl>div{grid-template-columns:1fr;gap:6px;padding-block:12px}}.admin-app :where(.el-form--inline) .el-select{--el-select-width:160px;max-width:100%}.admin-app .el-button{flex-shrink:0;max-width:100%}.admin-app .el-button>span{white-space:nowrap;min-width:0}.admin-app :where(.el-form--inline)>.el-button{vertical-align:top;margin-left:0}.admin-app :where(.filter-card,.project-filter,.contract-filter,.invoice-filter,.file-filter,.receivable-filter,.audit-filters,.filters,.cashflow-filters,.operation-card) .el-form--inline{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.admin-app :where(.filter-card,.project-filter,.contract-filter,.invoice-filter,.file-filter,.receivable-filter,.audit-filters,.filters,.cashflow-filters,.operation-card) .el-form--inline>.el-form-item{margin-bottom:0;margin-right:0}.admin-app .el-form--inline.inline-form{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.admin-app .el-form--inline.inline-form>.el-form-item{margin-bottom:0;margin-right:0}.admin-app :where(.page-actions,.heading-actions,.hero-actions,.cashflow-hero__actions,.detail-actions,.contract-actions,.invoice-actions,.status-action,.toolbar)>.el-button+.el-button{margin-left:0}.admin-app .module-workspace{background:var(--color-surface);border-color:var(--color-border);border-radius:var(--radius-card);min-width:0;overflow:hidden}.admin-app .module-workspace>.el-card__body{min-width:0;padding:20px 22px 22px}.admin-app .module-workspace__filters{border-bottom:1px solid var(--color-border);margin-bottom:18px;padding-bottom:18px}.admin-app .module-workspace__filters.el-form--inline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-app .module-workspace__filters.el-form--inline>.el-form-item{margin-bottom:0;margin-right:0}.admin-app .module-workspace__filters.el-form--inline>.el-button{margin-left:0}.admin-app .module-workspace .el-tabs__header{margin-bottom:16px}.admin-app .module-workspace .el-table{min-width:0}.admin-app .module-workspace .el-pagination{justify-content:flex-end;margin-top:18px}@media (width<=760px){:where(.admin-app .el-form--inline)>.el-form-item{width:100%;max-width:100%;margin-right:0}.admin-app :where(.el-form--inline) .el-select{--el-select-width:100%}.admin-app :where(.el-form--inline)>.el-button{width:100%;min-height:42px}.admin-app .module-workspace>.el-card__body{padding:16px}.admin-app .module-workspace__filters{margin-bottom:14px;padding-bottom:14px}.admin-app .module-workspace__filters.el-form--inline{grid-template-columns:1fr;display:grid}.admin-app .module-workspace__filters.el-form--inline :is(.el-form-item,.el-input,.el-select,.el-date-editor,.el-input-number){width:100%;max-width:100%}.admin-app .module-workspace__filters.el-form--inline>.el-button{width:100%;min-height:42px}}@media (width<=480px){.admin-app :where(.page-actions,.heading-actions,.hero-actions,.cashflow-hero__actions,.detail-actions,.contract-actions,.invoice-actions,.status-action){grid-template-columns:minmax(0,1fr);width:100%;display:grid}.admin-app :where(.page-actions,.heading-actions,.hero-actions,.cashflow-hero__actions,.detail-actions,.contract-actions,.invoice-actions,.status-action)>.el-button{width:100%;margin-left:0}}:root{--el-overlay-color-lighter:#0006}body .el-form-item__label{overflow-wrap:anywhere;white-space:normal;height:auto;line-height:1.35}body .el-form:not(.el-form--label-top) .el-form-item__label{min-height:var(--el-component-size,32px);align-items:center;padding-right:12px}body .el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,body .el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{flex:none;align-self:center;line-height:1}body .el-overlay-dialog{overscroll-behavior:contain;justify-content:center;align-items:flex-start;padding:clamp(28px,6vh,64px) 20px;display:flex;overflow:hidden auto}body .el-overlay-dialog>.el-dialog{background:var(--color-surface);border-radius:16px;flex-direction:column;max-width:calc(100vw - 40px);max-height:calc(100dvh - clamp(56px,12vh,128px));display:flex;overflow:hidden;box-shadow:0 28px 72px -30px #081c3494;margin:0 auto!important}body .el-dialog__header{border-bottom:1px solid var(--color-border);flex:none;align-items:center;min-height:62px;margin-right:0;padding:18px 64px 16px 24px;display:flex;position:relative}body .el-dialog__title{min-width:0;color:var(--color-text-primary);overflow-wrap:anywhere;font-size:18px;font-weight:650;line-height:1.4}body .el-dialog__headerbtn{border-radius:var(--radius-control);width:40px;height:40px;transition:color var(--motion-routine) ease, background-color var(--motion-routine) ease;place-items:center;display:grid;top:11px;right:12px}body .el-dialog__headerbtn:hover,body .el-dialog__headerbtn:focus-visible{color:var(--color-primary-700);background:var(--color-primary-50)}body .el-dialog__headerbtn .el-dialog__close{color:currentColor;font-size:18px}body .el-dialog__body{overscroll-behavior:contain;min-height:0;color:var(--color-text-primary);scrollbar-gutter:stable;flex:auto;padding:22px 24px 24px;overflow:hidden auto}body .el-dialog__body>:first-child{margin-top:0}body .el-dialog__body>:last-child{margin-bottom:0}body .el-dialog__footer{background:var(--color-surface-subtle);border-top:1px solid var(--color-border);flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;min-height:66px;padding:14px 24px 16px;display:flex}body .el-dialog__footer>:is(.dialog-footer,.footer-actions){flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}body .el-dialog__footer .el-button+.el-button,body .el-message-box__btns .el-button+.el-button{margin-left:0}body .el-message-box{background:var(--color-surface);border:0;border-radius:16px;width:min(520px,100vw - 40px);max-width:calc(100vw - 40px);padding:0;overflow:hidden;box-shadow:0 28px 72px -30px #081c3494}body .el-message-box__header{min-height:58px;padding:18px 56px 12px 24px}body .el-message-box__title{color:var(--color-text-primary);font-size:17px;font-weight:650;line-height:1.4}body .el-message-box__headerbtn{border-radius:var(--radius-control);width:40px;height:40px;top:9px;right:10px}body .el-message-box__headerbtn:hover,body .el-message-box__headerbtn:focus-visible{background:var(--color-primary-50)}body .el-message-box__content{color:var(--color-text-secondary);padding:4px 24px 22px;line-height:1.65}body .el-message-box__btns{background:var(--color-surface-subtle);border-top:1px solid var(--color-border);gap:10px;padding:14px 24px 16px}@media (width<=760px){body .el-overlay-dialog{padding:12px}body .el-overlay-dialog>.el-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);width:calc(100vw - 24px)!important}body .el-dialog__header{min-height:58px;padding:16px 56px 14px 18px}body .el-dialog__body{padding:18px}body .el-dialog .el-form-item__content :is(.el-input,.el-select,.el-date-editor,.el-input-number){max-width:100%;width:100%!important}body .el-dialog__footer{min-height:62px;padding:12px 18px 14px}body .el-message-box{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}}@media (width<=480px){body .el-dialog .el-form-item{display:block}body .el-dialog .el-form:not(.el-form--label-top) .el-form-item__label{text-align:left;justify-content:flex-start;min-height:0;padding:0 0 6px;width:auto!important}body .el-dialog .el-form-item__content{margin-left:0!important}body .el-dialog__footer,body .el-dialog__footer>:is(.dialog-footer,.footer-actions){grid-template-columns:minmax(0,1fr);width:100%;display:grid}body .el-dialog__footer .el-button{width:100%;margin-left:0}}
